git clone https://github.com/MineralsCloud/litcurate.git
cd litcurate
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -e ".[dev,openalex]"Run the test suite and linter before opening a pull request:
pytest
ruff check src testsSmoke test (no API keys):
litcurate run configs/config.yamlUser-facing changes belong in CHANGELOG.md under Unreleased.
This project follows Semantic Versioning:
| Increment | When |
|---|---|
MAJOR (1.0.0) |
Breaking CLI, config, or Python API changes |
MINOR (0.2.0) |
Backward-compatible features |
PATCH (0.1.1) |
Backward-compatible bug fixes |
The package version lives in src/litcurate/__init__.py (__version__). Hatch reads it at build time.
-
CI on
mainis green. -
Move items from Unreleased in
CHANGELOG.mdinto a new## [X.Y.Z] - YYYY-MM-DDsection and update the compare links at the bottom. -
Set
__version__ = "X.Y.Z"insrc/litcurate/__init__.py. -
Commit on
main:git add CHANGELOG.md src/litcurate/__init__.py git commit -m "Release vX.Y.Z" git push origin main -
Tag and push the tag (this publishes the GitHub Release and attaches
sdist/ wheel artifacts):git tag -a vX.Y.Z -m "vX.Y.Z" git push origin vX.Y.Z
Do not retag a published version. If a release needs a fix, cut X.Y.Z+1.