Skip to content

Commit

Permalink
GitHub action for docs
Browse files Browse the repository at this point in the history
  • Loading branch information
tovrstra committed Jun 8, 2024
1 parent c7a7469 commit 744b58a
Show file tree
Hide file tree
Showing 55 changed files with 3,359 additions and 945 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/sphinx.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Base on examples in https://github.com/actions/starter-workflows/blob/main/pages/
# For this workflow, you need to enable GitHub pages in the repository settings,
# using the "GitHub Actions" option.

name: sphinx
on: push

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Create the sphinx site
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Install development version
run: pip install -e .[dev]
- name: Run sphix
run: cd docs; python -m sphinx -M html . _build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./docs/_build/html/

# Deploy site
deploy:
# Only deploy if we're on the main branch.
if: github.ref == 'refs/heads/main'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
10 changes: 5 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ iodata/_version.py
iodata/overlap_accel.c

# Documentation files
doc/_build
doc/pyapi
doc/formats.rst
doc/inputs.rst
doc/formats_tab.inc
docs/_build
docs/pyapi
docs/formats.rst
docs/inputs.rst
docs/formats_tab.inc

# Distribution / packaging
.Python
Expand Down
4 changes: 2 additions & 2 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ build:

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: doc/conf.py
configuration: docs/conf.py
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
# builder: "dirhtml"
# Fail on all warnings to avoid broken references
Expand All @@ -25,4 +25,4 @@ sphinx:
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: doc/requirements.txt
- requirements: docs/requirements.txt
16 changes: 8 additions & 8 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -341,29 +341,29 @@ classes.)
The following ``attrs`` functions could be convenient when working with these
classes:

- The data can be turned into plain Python data types with the ``attr.asdict``
- The data can be turned into plain Python data types with the ``attrs.asdict``
function. Make sure you add the ``retain_collection_types=True`` option, to
avoid the following issue: https://github.com/python-attrs/attrs/issues/646
For example.

.. code-block:: python
from iodata import load_one
import attr
import attrs
iodata = load_one("example.xyz")
fields = attr.asdict(iodata, retain_collection_types=True)
fields = attrs.asdict(iodata, retain_collection_types=True)
A similar ``astuple`` function works as you would expect.

- A `shallow copy`_ with a few modified attributes can be created with the
evolve method, which is a wrapper for ``attr.evolve``:
evolve method, which is a wrapper for ``attrs.evolve``:

.. code-block:: python
from iodata import load_one
import attr
import attrs
iodata1 = load_one("example.xyz")
iodata2 = attr.evolve(iodata1, title="another title")
iodata2 = attrs.evolve(iodata1, title="another title")
The usage of evolve becomes mandatory when you want to change two or more
attributes whose shape need to be consistent. For example, the following
Expand All @@ -383,9 +383,9 @@ classes:
.. code-block:: python
from iodata import IOData
import attr
import attrs
iodata1 = IOData(atnums=[7, 7], atcoords=[[0, 0, 0], [2, 0, 0]])
iodata2 = attr.evolve(
iodata2 = attrs.evolve(
iodata1,
atnums=[8, 8, 8],
atcoords=[[0, 0, 0], [2, 0, 1], [4, 0, 0]],
Expand Down
14 changes: 0 additions & 14 deletions doc/.readthedocs.yaml

This file was deleted.

Empty file removed doc/_static/.keep
Empty file.
43 changes: 0 additions & 43 deletions doc/_static/css/override.css

This file was deleted.

Loading

0 comments on commit 744b58a

Please sign in to comment.