Skip to content

Commit ae84dec

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

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

doc/development.rst

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,57 @@ Python compatibility
2424
--------------------
2525

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

0 commit comments

Comments
 (0)