💢🔍 breaking change detection in Python - Compatible with Semantic Version and Semantic Release
MIT License
PyPI | |
---|---|
Quality | |
Format | |
Legal |
💢🔍 breaking change detection in Python - Compatible with Semantic Version and Semantic Release
Use the --help flag for detailed options:
pycracks --help
Pycracks can be used in different ways, the most straightforward one is:
pycracks --paths "tests" --target-version "<to-be-release-version>" --test-command "pytest tests"
The test-command
could be any command and does not need to be Python specific
It is also possible to simplify the test-command
by always using something like pipenv scripts
or npm scripts
So in the project.json
/ Pipfile
, one could define the test command and use pycracks with npm run test
or pipenv run test
instead:
pycracks --paths "tests" --target-version "<to-be-release-version>" --test-command "pipenv run test"
pycracks --paths "tests" --target-version "<to-be-release-version>" --test-command "npm run test"
If using the Python-Semantic-Release module, installable with:
pipx install python-semantic-release
One can integrate it with PyCracks by using:
pycracks -t "$(semantic-release -v version --print)"
Recommended instalation for CICD is through pipx
with a pinned version:
pip install pipx==1.2.0
pipx run pycracks==0.18.0 --paths "tests" --target-version "<to-be-release-version>" --test-command "pytest tests"
That command will create a virtual environment just for pycracks and run the test command from there.
Instalation can be done with pip as usual:
pip install pycracks
Pipenv and poetry equivalents can be used as well.