GA4GH Categorical Variation Representation Python Implementation
- Pydantic implementation of Cat-VRS models
You are encouraged to browse issues. All known issues are listed there. Please report any issues you find.
This section is intended for developers who contribute to Cat-VRS-Python.
- Python >= 3.10
- Note: Python 3.12 is required for developers contributing to Cat-VRS-Python
Fork the repo at https://github.com/ga4gh/cat-vrs-python/.
Install development dependencies and pre-commit
:
git clone --recurse-submodules [email protected]:YOUR_GITHUB_ID/cat-vrs-python.git
cd cat-vrs-python
make devready
source venv/3.12/bin/activate
pre-commit install
Check style with ruff
:
make format; make lint
cat-vrs-python embeds cat-vrs as a submodule, only for testing purposes. When checking
out cat-vrs-python and switching branches, it is important to make sure that the
submodule tracks cat-vrs-python correctly. The recommended way to do this is
git config --global submodule.recurse true
. If you don't set submodule.recurse,
developers and reviewers must be extremely careful to not accidentally upgrade or
downgrade schemas with respect to cat-vrs-python.
If you already cloned the repo, but forgot to include --recurse-submodules
you can run:
git submodule update --init --recursive
To run tests:
make test
A stand-alone security review has been performed on the specification itself. This implementation is offered as-is, and without any security guarantees. It will need an independent security review before it can be considered ready for use in security-critical applications. If you integrate this code into your application it is AT YOUR OWN RISK AND RESPONSIBILITY to arrange for a security audit.