For Developers¶
This package uses uv for project management.
Development is easiest with the just
command runner; running just -l will list all available recipes, while just
-n <recipe> will print the commands that the recipe would run.
Running checks and tests¶
-
just checkwill run ruff (linter and formatter), mypy, and some other pre-commit hooks on all files in the repo.just install-hookswill install pre-commit hooks so they run on every attempted commit.
-
just test-allwill run all tests except for tests that run on the full Anthology data.just test NAMEwill only run test functions withNAMEin them.just test-integrationwill run tests on the full Anthology data.
-
just fix-and-test(orjust ftfor short) will run all checks and tests, additionally re-running the checks on failure, so that the checking and testing will continue even if some hooks have modified files. -
just pywill launch a Python REPL with an Anthology object already instantiated. -
The justfile defines several more useful recipes; list them with
just -l!
Running benchmarks¶
There are some benchmark scripts intended to be run with
richbench via uv run richbench
benchmarks/ or just benchmark. They were mostly used to inform design
decisions during development and are currently not actively maintained.
Generating and writing documentation¶
just docsgenerates the documentation in thesite/folder.just docs-serveserves the documentation for local browsing.
Docstrings are written in Google style as this supports the most features with the mkdocstrings handler (particularly compared to Sphinx/reST).
Project layout¶
acl_anthology/ # Main package directory.
benchmarks/ # Benchmark scripts.
docs/ # The mkdocs documentation.
tests/ # Pytest tests.