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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file pyserval-0.5.tar.gz.

File metadata

  • Download URL: pyserval-0.5.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for pyserval-0.5.tar.gz
Algorithm Hash digest
SHA256 6c00f4fd63485e40e2babc769451a5f4bbcc8a39f469a2b5be5f3f252afe331f
MD5 eb525ccccd6858c25c938747eb126d67
BLAKE2b-256 9af86109dbe5a21f3c68fdc277cdb033562a99270d304d5d5fd2ad53ca2afff0

See more details on using hashes here.

File details

Details for the file pyserval-0.5-py3-none-any.whl.

File metadata

  • Download URL: pyserval-0.5-py3-none-any.whl
  • Upload date:
  • Size: 33.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1

File hashes

Hashes for pyserval-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e6e0c91618ff0e93815d9687303f487ddffd54a6a75073bcaa38b410b9baa443
MD5 2aee8700d6c5dd1ff12d5ab1a077cff8
BLAKE2b-256 0f1a8f61f1158ff0326bb259917521ff2d8d59030899ce0d5bb7946c305566bd

See more details on using hashes here.

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