Skip to main content

Python client library for VinylDNS

Project description

PyPI version Travis build GitHub

vinyldns-python

Python client library for VinylDNS

This project is a work in progress! If you would like to help us get this where it needs to be, please reach out to us in gitter.

To run, pip install vinyldns-python and then:

>>> from vinyldns.client import VinylDNSClient
>>> local_client = VinylDNSClient("ApiEndpoint", "UserAccessKey", "UserSecretKey")
>>> local_client.list_zones()
>>>
>>> # If all of the following environments are set
>>> # - VINYLDNS_API_URL
>>> # - VINYLDNS_ACCESS_KEY_ID
>>> # - VINYLDNS_SECRET_ACCESS_KEY
>>> from vinyldns.client import VinylDNSClient
>>> local_client = VinylDNSClient.from_env()
>>> local_client.list_zones()

Contributing

Requirements

  • python3
  • pip
  • virtualenv

To get started, you will want to setup your virtual environment.

  1. Ensure that you have virtualenv installed > pip install virtualenv
  2. Run ./bootstrap.sh to setup your environment (unless you really want all these dependencies to be installed locally, which we do not recommend).
  3. Activate your virtual environment > source .virtualenv/bin/activate and you will be ready to go!

Unit Tests

Unit tests are developed using pytest. We use Responses, which allows for simple mocking of HTTP endpoints.

To run unit tests, you can simply run python3 setup.py test. To target a specific test, you can run python3 setup.py test -a "-k my_test"

Functional Tests

Functional tests are also developed with pytest. These tests run against a local instance of VinylDNS. Note that for now they are not tied into our travis build, so they must be run locally for validation.

From your virtualenv, run tox -e func_test

Running a full build

When you are finished writing your code you will want to run everything including linters. The simplest way to do this is to run tox -e check,py36, which will run static checks and run unit tests.

If you see any failures / warnings, correct them until tox runs successfully.

If you do not have tox in your environment, pip install tox to add it. For more information you can read the tox docs.

Local Development

See the quickstart in the VinylDNS api for details on how to start up a local instance of the api in docker. With that running, you can make requests with the following client details:

local_client = VinylDNSClient("http://localhost:9000", "okAccessKey", "okSecretKey")

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

vinyldns-python-0.9.7.tar.gz (25.7 kB view details)

Uploaded Source

Built Distribution

vinyldns_python-0.9.7-py2.py3-none-any.whl (24.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file vinyldns-python-0.9.7.tar.gz.

File metadata

  • Download URL: vinyldns-python-0.9.7.tar.gz
  • Upload date:
  • Size: 25.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for vinyldns-python-0.9.7.tar.gz
Algorithm Hash digest
SHA256 d7efe92dcb8e5aa6b6a1385a91dc0c816b11cb605e73dcf195f9174d626a7d1a
MD5 1b9f28c673b7aa2155486f61cc7b972b
BLAKE2b-256 fbfa058a890111da8c8f573d92228e4f3cec64e6ae60e4ead7c2c8c903184478

See more details on using hashes here.

File details

Details for the file vinyldns_python-0.9.7-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for vinyldns_python-0.9.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 eacaf1bf173b2f3d5f08619bd53e851b56c4d62c27362eecee3e6525cc067714
MD5 73fe3634288a8c5d8fa580e0729c1daa
BLAKE2b-256 abb3fdfe6eab15b3336b935a77e5521d99b24979858021786d94b8c397e112be

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