Skip to content

Prepare for making release and update project config

Thomas Vincent requested to merge tvincent/txs:pyproject into master

This Merge Request updates the packaging config to:

  • Prepare to generate release packages:

    • Fix versioneer setup: cmdclass=versioneer.get_cmdclass(), was missing in setup.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)
  • 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 then python -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 the dist/ folder.
  • And to deploy it: pip install twine and twine 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

Merge request reports

Loading