You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* bump version refs to `1.9.0`
* docs: some simplifications in the rational points docs
* refactor: simplify constructor signatures in rational point class and superclasses
* chore: remove trackgit badge from README
* docs: tweak some rational points docstrings
* docs: simplifications
* refactor: rename the `RationalPoint` lattice method (to `is_integral_lattice_point`)
* docs: further simplifications in the rational points docs
* feat: add non-zero scalar division to `RationalPoint`
* docs: clean up contributions page + MD + other fixes and clarifications
* chore(deps): update all dev. + docs deps
* docs: fix some comments in `lib` and `sequences`
* docs: some more fixes + update citation file
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+19-41Lines changed: 19 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,27 +5,29 @@ google-site-verification
5
5
6
6
Contributors and contributions are welcome. Please read these guidelines first.
7
7
8
-
## Git
8
+
## Git`github`
9
9
10
10
The project homepage is on [GitHub](https://github.com/sr-murthy/continuedfractions).
11
11
12
-
Contributors can open pull requests from a fork targeting the parent `main`[branch](https://github.com/sr-murthy/continuedfractions/tree/main). But it may be a good first step to create an
13
-
[issue](https://github.com/sr-murthy/continuedfractions/issues) or open a [discussion topic](https://github.com/sr-murthy/continuedfractions/discussions).
12
+
Contributors can open pull requests from a fork targeting the parent `main`[branch](https://github.com/sr-murthy/continuedfractions/tree/main). But it may be a good first step to create an[issue](https://github.com/sr-murthy/continuedfractions/issues) or open
13
+
a [discussion topic](https://github.com/sr-murthy/continuedfractions/discussions).
14
14
15
-
## Repo
15
+
## Repo`folder`
16
16
17
17
You will need to clone the repository first. As there are no dependencies there isn't much to set up, so this should be pretty simple. The minimum recommended version of Python is 3.10 as some of the type hinting may be incompatible with earlier versions.
18
18
19
-
## Dependencies & PDM
19
+
## Dependencies `cubes`
20
20
21
-
The package uses only standard libraries, and no third party libraries are used. See the [project TOML](https://github.com/sr-murthy/continuedfractions/blob/main/pyproject.toml) for more information.
21
+
Only standard libraries are used. See the [project TOML](https://github.com/sr-murthy/continuedfractions/blob/main/pyproject.toml)
22
+
for more information.
22
23
23
-
Some development dependencies are specified in the `[tool.pdm.dev-dependencies]` section of the TOML including some
24
-
`'test'` dependencies, such as [pytest](https://docs.pytest.org/en/8.0.x/) and [pytest-cov](https://pytest-cov.readthedocs.io/).
24
+
Development dependencies are specified in the `[tool.pdm.dev-dependencies]` section of the TOML but these are purely indicative.
25
25
26
-
[PDM](https://pdm-project.org/latest) is used to manage all dependencies and publish packages to PyPI. It is also used to automate certain tasks, such as running tests, as described in the section.
26
+
[PDM](https://pdm-project.org/latest) is used to manage all dependencies. It is also used to automate certain tasks, such as running
27
+
tests, as described in the section.
27
28
28
-
There are no root-level `requirements*.txt` files - but only a single (default, version-controlled, cross-platform) [pdm.lock](https://github.com/sr-murthy/continuedfractions/blob/main/pdm.lock) lockfile, which defines metadata for all TOML-defined development dependencies, including the currently empty set of production dependencies, and their sub-dependencies etc. This can be used to install all development dependencies, including the project itself, in editable mode where available:
29
+
There are no root-level `requirements*.txt` files - but only a single (default, version-controlled, cross-platform)
30
+
[pdm.lock](https://github.com/sr-murthy/continuedfractions/blob/main/pdm.lock) lockfile. The lockfile is used with PDM to install all development dependencies, including the project itself, in editable mode where available:
For more information on PDM lockfiles and installing requirements see the [PDM documentation](https://pdm-project.org/latest/).
58
60
59
-
## Tests
61
+
## Tests`microscope`
60
62
61
-
Tests are defined in the `tests` folder, and should be run with [pytest](https://pytest-cov.readthedocs.io/en/latest/).
63
+
Tests are defined in the `tests` folder and can be run directly or via the [Makefile](https://github.com/sr-murthy/continuedfractions/blob/main/Makefile), e.g. `make unitests` will run the unit tests. Linting can be performed with `make lint`, which requires [ruff](https://docs.astral.sh/ruff/) (specified in the dev. dependencies in the TOML). The doctests can be run with `make doctests`.
62
64
63
-
There is a [Makefile](https://github.com/sr-murthy/continuedfractions/blob/main/Makefile) with different targets for linting (`lint`), running doctests (`doctests`) and unit tests (`unittests`):
65
+
## Documentation `book`
64
66
65
-
```shell
66
-
make lint
67
-
make unittests
68
-
make doctests
69
-
```
70
-
71
-
Unit tests can be run all at once using `make unittests` or individually using `pytest`, e.g. running the test class for the `~continuedfractions.lib.continued_fraction_rational` function:
The doctests are intended to test the docstring code examples, but can also be considered a form of acceptance tests. They can be run all at once using `make doctests`, or individually by library using `python -m doctest`, e.g. running all the doctests in
78
-
`~continuedfractions.sequences` (from the repo root):
[Project documentation](https://continuedfractions.readthedocs.io/en/latest/) is defined and built using [Sphinx](https://www.sphinx-doc.org/en/master/), and deployed to [Read The Docs](https://readthedocs.org). Currently, the building and deployment steps for documentation are manual, and not automated in a CI pipeline.
67
+
[Project documentation](https://continuedfractions.readthedocs.io/en/latest/) is written and built using [Sphinx](https://www.sphinx-doc.org/en/master/), and deployed to [Read The Docs](https://readthedocs.org).
87
68
88
69
The Sphinx documentation source pages and assets are contained in the `docs/` subfolder. The HTML pages can be built locally on any branch (from the project root) using:
89
70
@@ -105,14 +86,11 @@ or via [PDM](https://pdm.fming.dev/latest/):
105
86
pdm install -v --dev --no-editable --no-self
106
87
```
107
88
108
-
## CI
89
+
## CI`circle-play`
109
90
110
91
The main CI workflows are defined in the [CI YML](https://github.com/sr-murthy/continuedfractions/blob/main/.github/workflows/ci.yml)
111
92
and the [CodeQL Analysis YML](https://github.com/sr-murthy/continuedfractions/blob/main/.github/workflows/codeql-analysis.yml).
112
-
Currently, pipelines for all branches include a tests stage that includes Ruff linting, unit tests,and doctests, in that order.
113
-
114
-
## Versioning and Releases
115
93
116
-
The latest release is `1.8.0`.
94
+
## Versioning and Releases `upload`
117
95
118
-
There is currently no dedicated pipeline for releases - both [GitHub releases](https://github.com/sr-murthy/continuedfractions/releases)and [PyPI packages](https://pypi.org/project/continuedfractions) are published manually, but both have the same version tag.
96
+
The latest release is `1.9.0`, and releases are created, tagged and published manually, not via a workflow.
0 commit comments