Development notes
How to set up a virtual env
Create it:
python3.11 -m venv ged2dot-env
Activate it:
. ged2dot-env/bin/activate
Install requirements:
pip install -r requirements.txt
Development cycle
A typical flow is:
... hack hack hack ...
make check-mypy
ged2dot --input test.ged --output test.dot && dot -Tsvg -o test.svg test.dot # test the changes
Once you're happy with your change:
make check # run all tests
... write new tests if coverage regressed ...
Python debugging
To run a single test:
env PYTHONPATH=.:tests python3 -m unittest tests.test_ged2dot.TestMain.test_happy
Maintenance
Ideally CI checks everything before a commit hits master, but here are a few things which are not part of CI:
- Run
tools/requirements.py
once a month and make sure Python dependencies are reasonably up to date.