Skip to content

Latest commit

 

History

History
39 lines (27 loc) · 791 Bytes

File metadata and controls

39 lines (27 loc) · 791 Bytes

Contributing

Branching

  • main is protected.
  • Feature branches: feat/<module>-<description>.
  • Fix branches: fix/<description>.

Commits

Use Conventional Commits, for example:

  • feat(ingestion): add jsonl streaming reader
  • fix(quality): handle empty text score
  • docs: update bootstrap instructions

Code style

  • Python 3.11+
  • Type hints in public APIs
  • Google-style docstrings in English
  • ruff for lint and formatting
  • mypy for static typing

Logging and errors

  • Use structlog with structured key-value events.
  • Do not log full document text.
  • Raise custom exceptions from corpuslab.core.exceptions.

Local validation workflow

uv run ruff format src/ tests/
uv run ruff check --fix src/ tests/
uv run mypy src/
uv run pytest