@@ -7,6 +7,8 @@ Versioning
77We use `Semantic Versioning <http://semver.org/ >`_ with the modifications
88described under :ref: `deprecation_policy `.
99
10+
11+
1012.. _deprecation_policy :
1113
1214Deprecation policy
@@ -24,3 +26,53 @@ Python compatibility
2426--------------------
2527
2628We 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