Skip to main content

Python SDK for the NS1 DNS platform

Project description

> This project is in [active development](

Info:A Python SDK for accessing NS1, the Data Driven DNS platform.


This package provides a python SDK for accessing the NS1 DNS platform and includes both a simple NS1 REST API wrapper as well as a higher level interface for managing zones, records, data feeds, and more. It supports synchronous and asynchronous transports.

Both python 2.7 and 3.3+ are supported. Automated tests are currently run against 2.7 and 3.6.


$ pip install ns1-python


None, but supports different transport backends. Currently supported:

  • requests (synchronous, the default if available)
  • urllib (synchronous, the default if requests isn’t available)
  • twisted (asynchronous, requires 2.7 or 3.5+)

Other transports are easy to add, see transport


See the examples directory


If you don’t yet have an NS1 account, signup here (free)

You’ll need an API Key. To create one, login to the portal and click on the Account button in the top right. Select Settings & Users, then add a new API Key at the bottom.


Unit tests use pytest (pip install pytest). 2.7 also requires mock to be installed (pip install mock).

Tests should, of course, run and pass under python 2 and 3. We use tox to automate test runs and virtualenv setup, see tox.ini for config.


Pull Requests and issues are welcome. See the [NS1 Contribution Guidelines]( for more information.

Our CI process will lint and check for formatting issues with flake8 and black. It is suggested to run these checks prior to submitting a pull request and fix any issues: ` pip install flake8 black flake8 . --count --show-source --statistics --extend-ignore=E501 black . --check -l 79 --diff `

Project details

Download files

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

Files for ns1-python, version 0.16.0
Filename, size File type Python version Upload date Hashes
Filename, size ns1_python-0.16.0-py2.py3-none-any.whl (39.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size ns1-python-0.16.0.tar.gz (29.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page