StyleCheck provides the splinter3d_style CLI and a published pre-commit hook.
Use Poetry for local development so the CLI, test dependencies, and release tooling stay aligned with the project metadata.
poetry install
poetry run splinter3d_style
poetry run pytestIf you need to enter the virtual environment directly:
poetry shell
splinter3d_style
pytestBuild the distribution files locally before creating a release:
poetry run python -m build
ls dist/Test the built wheel rather than running from the source tree:
uv tool install ./dist/splinter3d_style-X.Y.Z-py3-none-any.whl
splinter3d_style
uv tool uninstall splinter3d_styleor
pipx install ./dist/splinter3d_style-X.Y.Z-py3-none-any.whl
splinter3d_style
pipx uninstall splinter3d_styleYou can also validate the source distribution or wheel with a throwaway virtualenv:
python3 -m venv .venv-build-test
. .venv-build-test/bin/activate
pip install ./dist/splinter3d_style-X.Y.Z-py3-none-any.whl
splinter3d_style
deactivateX.Y.Z is a placeholder. Use the actual filename created in dist/, or install the first built wheel directly:
uv tool install "$(ls dist/*.whl | head -n 1)"or
pipx install "$(ls dist/*.whl | head -n 1)"uvx --from git+https://github.com/Splinter3D/StyleCheck splinter3d_styleor
pipx run --spec git+https://github.com/Splinter3D/StyleCheck splinter3d_styleuv tool install git+https://github.com/Splinter3D/StyleCheckor
pipx install git+https://github.com/Splinter3D/StyleCheckthen
splinter3d_styleUpdate a the package with the package manager you chose for install
uv tool upgrade splinter3d_styleor
pipx upgrade splinter3d_styleuv tool uninstall splinter3d_styleor
pipx uninstall splinter3d_styleAdd this repository and a release tag to your .pre-commit-config.yaml:
repos:
- repo: https://github.com/Splinter3D/StyleCheck
rev: vX.Y.Z
hooks:
- id: splinter3d-styleThen install and run:
pre-commit install
pre-commit run --all-filesReleases are driven by pull requests and tags created by GitHub Actions:
- Pull requests into
mainare only valid when they come fromdevorhotfix/*. - When a pull request is merged into
dev, CI creates avX.Y.Z-rc.Ntag. - When a pull request is merged into
main, CI creates avX.Y.Ztag. - Tag creation uses Commitizen to determine the next base version and defaults to
0.1.0when no stable tag exists. - Every pushed release tag triggers the packaging workflow, which builds the distribution files and attaches them to a GitHub release.
Protected GitHub environments can be applied to the release-rc and release jobs to gate prerelease and production publication independently.