Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitHub action for docs #330

Merged
merged 4 commits into from
Jun 11, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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