Centralise generic Python code use across all other project within Ensembl, more particularly database access layers and ORMs, reusable eHive components, etc.
python -m venv <VIRTUAL_ENVIRONMENT_NAME>
source <VIRTUAL_ENVIRONMENT_NAME>/bin/activate
git clone https://github.com/Ensembl/ensembl-py.git
cd ensembl-py
pip install -e .[cicd,dev,docs]
Run test suite from the root of the repository is as simple as to run:
pytest
To run tests, calculate and display testing coverage stats:
coverage run -m pytest
coverage report -m
mkdocs build
Open automatically generated documentation page at site/index.html
.
black --check .
Use --diff
to print a diff of what Black would change, without actually changing the files.
To actually reformat all files in the repository:
black .
pylint src/python/ensembl
pylint --recursive=y src/python/tests
mypy src/python/ensembl
mypy src/python/tests
pylint
will check the code for syntax, name errors and formatting style. mypy
will use type hints to statically type check the code.
It should be relatively easy (and definitely useful) to integrate both pylint
and mypy
in your IDE/Text editor.