mainis protected.- Feature branches:
feat/<module>-<description>. - Fix branches:
fix/<description>.
Use Conventional Commits, for example:
feat(ingestion): add jsonl streaming readerfix(quality): handle empty text scoredocs: update bootstrap instructions
- Python 3.11+
- Type hints in public APIs
- Google-style docstrings in English
rufffor lint and formattingmypyfor static typing
- Use
structlogwith structured key-value events. - Do not log full document text.
- Raise custom exceptions from
corpuslab.core.exceptions.
uv run ruff format src/ tests/
uv run ruff check --fix src/ tests/
uv run mypy src/
uv run pytest