Skip to main content

Python client for serval-dna REST interface

Project description

Python client for the serval-dna REST-interface

Provides a client to interact with serval-dna's REST-interface in python

Functionality

The following REST-functionality is supported:

  • Keyring
  • Rhizome
  • MeshMS
  • MeshMB
  • Route

For documentation on the specific endpoints, please consult The serval-dna documentation

Dependencies

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

Installation

As of v0.4, releases are uploaded to PyPi, so you can just install it by name

pip install pyserval

Development

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.

  1. Clone Project
  2. 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 .
  3. Install development dependencies with pip install -r requirements.txt
  4. Install git pre-commit hook with pre-commit install
  5. For testing: In the project root run pytest --cov=pyserval

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyserval-0.5.tar.gz (26.4 kB view hashes)

Uploaded Source

Built Distribution

pyserval-0.5-py3-none-any.whl (33.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page