Contributing¶
Installing dev tools¶
You need to install the dev extras.
For instance, to checkout the repository, create a virtual environment and install the dev tools:
git clone https://github.com/Open-Telecoms-Data/lib-cove-ofds.git
cd lib-cove-ofds
python3 -m venv .ve
source .ve/bin/activate
pip install -e .[dev]
Running tests¶
python -m pytest
For writing tests, look in make_expected_test_data.sh for a helper script.
Code linting¶
Then run:
isort libcoveofds/ libcove2/ tests/ setup.py
black libcoveofds/ libcove2/ tests/ setup.py
flake8 libcoveofds/ libcove2/ tests/ setup.py
mypy --install-types --non-interactive -p libcoveofds
Building new schema files¶
Check out the data standard repository. Make sure it is on the correct tag, branch or commit you want.
Install https://pypi.org/project/compiletojsonschema/ version 0.5 or ahove
At this stage you may need to edit the schema files by hand. The network-package-schema.json file may refer to a network-schema.json file on GitHub, not locally. In this case change the $id and $ref to refer to the correct tag you want, or to refer to the local file.
Change to the directory of the data standard repository, then run:
compiletojsonschema -c codelists/closed/ schema/network-package-schema.json > ~/WHEREVER/libcoveofds/data/schema-X-Y-Z.json
compiletojsonschema -c codelists/closed/ schema/network-schema.json > ~/WHEREVER/openfibre-lib-cove/libcoveofds/data/schema-X-Y-Z-network-only.json