Repository navigation
v4.2.0: Modernize Build System and Development Tooling
Release Notes:
This release modernizes the project's build system and development tooling. It migrates from legacy setup.py to modern Python packaging standards, adds automated linting and formatting, and updates CI/CD workflows.
There are no breaking changes to the CLI or database schema in this release.
What's New
-
Modern Python Packaging: Migrated from
setup.pytopyproject.tomlusing hatchling as the build backend. This removes the pypandoc dependency and enables native markdown README support on PyPI. -
UV Package Manager: Adopted UV for fast, reproducible dependency management. A
uv.lockfile is now included for consistent environments across development and CI. -
Ruff Linting and Formatting: Added Ruff for linting and code formatting. The codebase has been reformatted for consistency, imports are sorted, and string formatting modernized to f-strings.
-
Updated CI/CD Workflows: GitHub Actions workflows now use UV for installation and include Ruff checks. The release workflow uses reusable workflows to eliminate duplication. All actions updated to current versions (checkout v6, setup-uv v7, pypi-publish v1.13).
-
Dependabot Configuration: Added Dependabot for automated monthly updates to GitHub Actions and UV dependencies.
-
Justfile Task Runner: Added a Justfile for common development commands. Run
justto see available tasks includingtest,lint,format,build, andcheck. -
Python Version Support: Updated supported Python versions to 3.10–3.14. Dropped Python 3.8 and 3.9 which are in security-only maintenance.