Prepare for making release and update project config
This Merge Request updates the packaging config to:
-
Prepare to generate release packages:
- Fix versioneer setup:
cmdclass=versioneer.get_cmdclass(),
was missing insetup.py
which prevented making releases. - Add a
MANIFEST.in
file to control the content of the release archive: as it is it does not include the test files (To be discussed)
- Fix versioneer setup:
-
Use the pyproject.toml configuration file as much as possible instead of
setup.py
,setup.cfg
and.coveragerc
.pyproject.toml
is the current standard for storing Python project configuration. This change is not required to prepare for making releases for pypi.
I also updated the minimum required version of Python from >=2.7 and >=3.4 to >=3.8. Is it OK for you?
With this Merge request, it is possible to prepare releases by:
- Adding a tag to git:
git tag v0.0.1
. The tag should be pushed to gitlab with:git push --tags
- Building the packages:
pip install build
and thenpython -m build
(best to run in a fresh git clone to make sure not to embed unwanted/modified files): This generates the tar.gz archive and a wheel in thedist/
folder. - And to deploy it:
pip install twine
andtwine upload dist/pytxs*.tar.gz dist/pytxs*.whl
(this requires issuing a token from pypi.org)
The release process can be automated with gitlab-ci.
Edited by Thomas Vincent