Chat-file
Install
- TODO | How to install this project
Usage
- TODO | How to use this project
Development
To list available commands for your convenience:
make help
Local environment setup
python3 -m venv ./venv
source ./venv/bin/activate # Linux and MacOS
venv\Scripts\activate # Windows
pip install --editable .[dev]
Run tests
make pytest # Run pytest
make style # Run lint formatting and type check
make test-all # Run all tests with tox
make auto-fix # Auto-fix possible style issues
Pre-commit hooks
To install optional pre-commit hooks; after
environment set-up run:
pre-commit install
Project maintenance
Intended for project maintainers
Release
Bump my version is used
to bump the semantic version of the project.
For details see:
bump-my-version bump --help
Bump my version is configured to create a new commit
and tag
it with the
new version when a version is bumped.
When a new tag is pushed to github the
publish-pypi workflow is triggered and
will build and publish the new version to PyPi. You will need to configure
Trusted Publishing for this to
work. There is also an option to trigger the workflow manually and publish to
the test instance of PyPi.
To manually publish to PyPi run:
make publish-test # Publish pkg to PyPi test instance
make publish # Publish pkg to PyPi
This will build the project and publish to PyPi with help of
Twine. For authentication and
additional target repositories refer to your
.pypirc
configuration file.
Documentation
Sphinx is used to create documentation for the
project. To generate:
cd docs
make apidocs # Generates API reference documentation for the code of the project
make html # Generates HTML that can be viwed in the browser
This documentation can be hosted on eg. Read The
Docs for easy accessibility.