Provides a client to interact with serval-dna's REST-interface in python
The following REST-functionality is supported:
- Keyring
- Rhizome
- MeshMS
- MeshMB
- Route
For documentation on the specific endpoints, please consult The serval-dna documentation
Up to v0.4
, the code is compatible with both Python 2.7 & 3.4+. As of v0.5
, you will need Python 3.6+
The only external runtime-dependency is requests. This should be automatically installed by pip based on the package metadata.
Development dependencies are the following:
Automatic format checking is done using black and pre-commit.
In order to run the tests, you will need hypothesis, pytest, and pytest-cov for coverage-reports.
To install all dependencies (both runtime and development/testing) run pip install -r requirements.txt
As of v0.4
, releases are uploaded to PyPi, so you can just install it by name
pip install pyserval
In order to have reasonably well formatted code, a format-checking pre-commit hook is supplied. The tool used for checking/reformatting is black. Note that the hook itself does not do any reformatting, it merely informs you that a file is not properly formatted. You need to do the reformatting yourself using black $FILEPATH
.
The tests require you to have the servald
binary from serval-dna installed and available in your $PATH
. In order to have a consistent testing enviroment, /tmp/pyserval-tests/
will be used as the $SERVALINSTANCE_PATH
.
- Clone Project
- Install project to python-path
- You might want to use a virtualenv
- You might also want to do an editable install with
pip install -e .
- Install development dependencies with
pip install -r requirements.txt
- Install git pre-commit hook with
pre-commit install
- For testing: In the project root run
pytest --cov=pyserval