Skip to content

Commit 38ee050

Browse files
committed
Update developer's guide
1 parent ec58463 commit 38ee050

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

doc/development.rst

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Versioning
77
We use `Semantic Versioning <http://semver.org/>`_ with the modifications
88
described under :ref:`deprecation_policy`.
99

10+
11+
1012
.. _deprecation_policy:
1113

1214
Deprecation policy
@@ -24,3 +26,53 @@ Python compatibility
2426
--------------------
2527

2628
We follow `numpy's Python support policy <https://numpy.org/neps/nep-0029-deprecation_policy.html>`_.
29+
30+
Release process
31+
---------------
32+
33+
1. Update the version number in ``petab/version.py``.
34+
2. Update the changelog in ``doc/CHANGELOG.md``.
35+
4. Create a pull request with the changes to the main branch.
36+
5. Once the pull request is merged, create a new release on GitHub.
37+
Make sure to set the tag to the version number prefixed with 'v'
38+
(e.g., `v1.0.0`), and the release title to `libpetab-python $RELEASE_TAG`
39+
(e.g., `libpetab-python v1.0.0`).
40+
6. The release will be automatically uploaded to PyPI through a GitHub action
41+
workflow.
42+
43+
44+
Style guide
45+
-----------
46+
47+
Code style
48+
~~~~~~~~~~
49+
50+
We use pre-commit with ruff to enforce code style. To install pre-commit and
51+
the pre-commit hooks, run:
52+
53+
.. code-block:: bash
54+
55+
pip install pre-commit
56+
pre-commit install
57+
58+
To run the pre-commit checks manually on all, not just the modified files, run:
59+
60+
.. code-block:: bash
61+
62+
pre-commit run --all-files
63+
64+
Documentation style
65+
~~~~~~~~~~~~~~~~~~~
66+
67+
We use `Sphinx <https://www.sphinx-doc.org/>`_ to generate the documentation.
68+
The documentation is written in `reStructuredText <https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html>`_.
69+
70+
We use the `sphinx docstring-style <https://sphinx-rtd-tutorial.readthedocs.io/en/latest/docstrings.html>`__ for new code.
71+
72+
To build the documentation, run:
73+
74+
.. code-block:: bash
75+
76+
cd doc
77+
make html
78+
# then open `build/html/index.html` in a browser

0 commit comments

Comments
 (0)