Skip to main content

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

Release files for vinyldns-python 0.9.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vinyldns-python 0.9.10
File Size Uploaded
vinyldns_python-0.9.10.tar.gz 30.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vinyldns-python 0.9.10
File Interpreter ABI Platform
vinyldns_python-0.9.10-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 58.3 kB

Release files / vinyldns_python-0.9.10.tar.gz

Download URL vinyldns_python-0.9.10.tar.gz
Size 30.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ee7d39f187cbac6182a9d257ec983a4d9c6becdc1c005d1244c2c8b32e856dfe
BLAKE2b-256 checksum
How to use checksums
687cd00a57a215b9bab9e4fb5bbff578a013329246225363ddbbe846340a3c6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / vinyldns_python-0.9.10-py2.py3-none-any.whl

Download URL vinyldns_python-0.9.10-py2.py3-none-any.whl
Size 27.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
789798250ffdbf9f126d5b2531229db520e2966fec4942843e12219df9e8a793
BLAKE2b-256 checksum
How to use checksums
b4fa94f3e2a8ec808494efd73eef5d844e9efc76a1166197a214a5fa88ffd1e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

0.9.10 This release

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page