This file is meant for developers. It provides instructions on how to work with the repository.
This section explains how to setup your development environment upon cloning this repository.
- Run
lefthook install
pipenv install --dev
This section explains how to build a wheel of this package on your local machine.
- Run
python -m build --wheel
This builds a wheel file and saves it in dist/
.
A version release consists of producing the following artifacts:
- Tagging a commit with a version string (
vx.y.z
). - Uploading the package's wheels and an sdist archive to:
- PyPI
- GitHub Releases
To create a release, run the following steps:
- Run
dev/bin/release-new-version-tag
- Run the build GitHub action.
- Fetch the built artifacts and unpack.
- Run
twine upload pycodec2-$VERSION*
. - Run
gh release create v$VERSION pycodec2-$VERSION*
.
This project uses Pipenv to simplify managing development environment dependencies. It does not use Poetry, because Poetry does not support building impure Python wheels (those with Cython), so it would be quite surprising to have Poetry AND use setuptools directly to build this package.