We are measuring the coverage of the unit tests & expect a minimum coverage of 95% - otherwise the pipeline job for the unit test execution will fail accordingly.
Please ensure you've added unit tests whenever adding new source code to the project.
- You are required to have an account for PyPi.
- Additionally, check that you have required permissions for the projects at
PyPi & GitHub! - Check that all pipeline-checks did pass, your code changes are ready and everything is already merged to the main branch!
- Your local git configuration must work - check your authentication!
In the root directory of this repository you will find a script called create_release.sh.
When executing this script, it expects exactly one argument: the new name of the release / tag.
Here you need to provide always the syntax X.X.X, e.g. 0.1.9, 0.5.0 or 1.0.0.
The script will do two things automatically for you:
- Updating the version string in the __about__.py
- Creating & Pushing a new tag to GitHub.
Execute the following command to create a new release:
cd <project-root-directory>
./create_release.sh 1.0.0
After executing the script, three pipeline jobs are getting triggered automatically:
- First job creates a new
Releasein github with the name of the createdTag. - Second job uploads the new wheel package to
PyPiwith the__version__from the__about__.pyfile. - Third job generates a new keyword documentation via
libdocon the main branch, but pushes it to thegh_pageswhere it is available as publicGitHub Page.
If the preferred way using the create_release.sh script does not work, you can also manually create a new release.
Therefore, execute the following steps.
Open the file __about__.py and increase the version (0.0.5 = major.minor.path) before building & uploading the new python wheel package!
The new version must be unique & not already existing in PyPi & GitHub Releases!!!
Commit & push the changed version into the main branch of the repository.
Now, create a new tag from the main branch with the syntax vX.X.X -> example: v1.0.5.
Use the following commands to create & push the tag:
git tag v0.0.5
git push origin v0.0.5
After pushing the new tag, three pipeline jobs are getting triggered automatically:
- First job creates a new
Releasein github with the name of the createdTag. - Second job uploads the new wheel package to
PyPiwith the__version__from the__about__.pyfile. - Third job generates a new keyword documentation via
libdocon the main branch, but pushes it to thegh_pageswhere it is available as publicGitHub Page.
Contributing to this project & working with it locally, requires you to install some dev dependencies - use the following command in the project root directory:
pip install -e .[dev]
Afterwards, the table library gets installed in editable mode & you will have a dev dependencies installed.
You will need the python package tool hatch for several operations in this repository.
Hatch can be used to execute the linter, the tests or to build a wheel package.
Use the following command:
pip install hatchhatch run dev:linthatch run dev:atest
hatch run dev:utesthatch run dev:docsWhen starting to work on this library, please ensure you have installed the development requirements from the readme.md.
Once you have them installed, please execute the following shell command:
pre-commit installThis will activate the .pre-commit-config.yaml from your rootdirectory.
You can run the configured pre-commit hook manually with the following shell command:
pre-commit run --all-files