- This project contains a
.tool-versionsto manage Python versions. - Make sure you have the correct Python version installed. You can use
miseto manage multiple Python versions.
This project uses poetry for dependency management.
- Install poetry if you haven't already. You can find the installation instructions here.
- To install the dependencies, run the following command:
poetry installMake sure to follow the Conventional Commits specification when making commits.
This project uses pre-commit to manage and maintain code quality. The pre-commit hooks are defined in the .pre-commit-config.yaml file.
This sets up ruff for linting and code formatting.
To install the pre-commit hooks, run the following command:
poetry run pre-commit installThis will set up the pre-commit hooks to run automatically before each commit.
You can also run the pre-commit hooks manually on all files by executing:
poetry run pre-commit run --all-filesRun the full test suite:
poetry run pytestThe suite includes performance regression tests (tests/test_perf.py) marked with @pytest.mark.perf. These load 50K rows and assert that key operations complete within a threshold derived from measured baselines.
# Run only perf tests
poetry run pytest -m perf
# Skip perf tests for a faster feedback loop
poetry run pytest -m "not perf"If you make changes that affect data processing performance, run the perf tests to verify there are no regressions. If a legitimate change makes an operation slower, update the corresponding baseline in _BASELINES inside tests/test_perf.py with a new measured value.