This project uses uv for dependency management. Install dev dependencies with:
make install/devTo install all dependencies including core and extras:
make installRun make with no arguments to see all available targets.
Run all checks (format, lint, types) before submitting a PR:
make checkIndividual checks:
make check/format # ruff format --check
make check/lint # ruff check
make check/types # pyrightAuto-fix formatting and linting issues:
make fixThe pip_dependencies field in the library JSON is kept in sync with pyproject.toml. Run this after adding or removing dependencies:
make deps/syncThis is also run automatically as part of make install/core and make install/all.
The CI workflow runs make check on every pull request and push to main. PRs must pass all checks before merging.
Library versions follow semantic versioning. The version is stored in the library JSON file under metadata.library_version.
To check the current version:
make version/getTo set a specific version:
make version/set v=1.2.3-
Merge your changes to
main. -
Run Actions > Version Bump (Patch) or Actions > Version Bump (Minor) on
main. This increments the version in the library JSON and commits the change.Or bump locally and push:
make version/patch # 1.2.3 → 1.2.4 make version/minor # 1.2.3 → 1.3.0 make version/major # 1.2.3 → 2.0.0
-
Run Actions > Version Publish on
main. This creates and pushes the version tag (e.g.v1.2.3), updates thestabletag, and creates a GitHub release with auto-generated release notes.
To release a fix without including all commits on main, use a release branch:
-
Create a branch from the tag you want to patch:
git checkout -b release/v0.50 v0.50.0 git push -u origin release/v0.50
-
Cherry-pick the fix commit(s) you want to include:
git cherry-pick <commit-sha> git push
-
Run Actions > Version Bump (Patch) and set the branch to
release/v0.50. -
Run Actions > Version Publish and set the branch to
release/v0.50.