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
implementation that accepts any number of integer arguments.
5
+
Pure-Python `extended Euclidean algorithm <https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm>`__ implementation that accepts any number of integer arguments.
8
6
9
7
|pypi| |readthedocs| |actions| |coveralls|
10
8
@@ -86,15 +84,15 @@ All installation and development dependencies are fully specified in ``pyproject
86
84
87
85
.. code-block:: bash
88
86
89
-
python -m pip install .[docs,lint]
87
+
python -m pip install ".[docs,lint]"
90
88
91
89
Documentation
92
90
^^^^^^^^^^^^^
93
91
The documentation can be generated automatically from the source files using `Sphinx <https://www.sphinx-doc.org>`__:
94
92
95
93
.. code-block:: bash
96
94
97
-
python -m pip install .[docs]
95
+
python -m pip install ".[docs]"
98
96
cd docs
99
97
sphinx-apidoc -f -E --templatedir=_templates -o _source .. && make html
100
98
@@ -104,7 +102,7 @@ All unit tests are executed and their coverage is measured when using `pytest <h
104
102
105
103
.. code-block:: bash
106
104
107
-
python -m pip install .[test]
105
+
python -m pip install ".[test]"
108
106
python -m pytest
109
107
110
108
Alternatively, all unit tests are included in the module itself and can be executed using `doctest <https://docs.python.org/3/library/doctest.html>`__:
@@ -117,7 +115,7 @@ Style conventions are enforced using `Pylint <https://pylint.readthedocs.io>`__:
117
115
118
116
.. code-block:: bash
119
117
120
-
python -m pip install .[lint]
118
+
python -m pip install ".[lint]"
121
119
python -m pylint src/egcd
122
120
123
121
Contributions
@@ -130,28 +128,13 @@ Beginning with version 0.1.0, the version number format for this library and the
130
128
131
129
Publishing
132
130
^^^^^^^^^^
133
-
This library can be published as a `package on PyPI <https://pypi.org/project/egcd>`__ by a package maintainer. First, install the dependencies required for packaging and publishing:
131
+
This library can be published as a `package on PyPI <https://pypi.org/project/egcd>`__ via the GitHub Actions workflow found in ``.github/workflows/build-publish-sign-release.yml`` that follows the `recommendations found in the Python Packaging User Guide <https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/>`__.
134
132
135
-
.. code-block:: bash
136
-
137
-
python -m pip install .[publish]
133
+
Ensure that the correct version number appears in ``pyproject.toml``, and that any links in this README document to the Read the Docs documentation of this package (or its dependencies) have appropriate version numbers. Also ensure that the Read the Docs project for this library has an `automation rule <https://docs.readthedocs.io/en/stable/automation-rules.html>`__ that activates and sets as the default all tagged versions.
138
134
139
-
Ensure that the correct version number appears in ``pyproject.toml``, and that any links in this README document to the Read the Docs documentation of this package (or its dependencies) have appropriate version numbers. Also ensure that the Read the Docs project for this library has an `automation rule <https://docs.readthedocs.io/en/stable/automation-rules.html>`__ that activates and sets as the default all tagged versions. Create and push a tag for this version (replacing ``?.?.?`` with the version number):
135
+
To publish the package, create and push a tag for the version being published (replacing ``?.?.?`` with the version number):
140
136
141
137
.. code-block:: bash
142
138
143
139
git tag ?.?.?
144
140
git push origin ?.?.?
145
-
146
-
Remove any old build/distribution files. Then, package the source into a distribution archive:
147
-
148
-
.. code-block:: bash
149
-
150
-
rm -rf build dist src/*.egg-info
151
-
python -m build --sdist --wheel .
152
-
153
-
Finally, upload the package distribution archive to `PyPI <https://pypi.org>`__:
0 commit comments