Skip to main content

Build Status Docs

NS1 Python SDK

This project is in active development.

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

About

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.

Python 3.8+ is supported. Automated tests are currently run against 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13

Installation

$ pip install ns1_python

Dependencies

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

Examples

See the examples directory

Documentation

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.

Tests

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.

Contributions

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

Editing the docs

You can create or edit NS1-python documentation by downloading the repo onto your machine and using an editor such as VSCode.

Creating Pull Requests

  1. When you're ready to submit your changes, add a descriptive title and comments to summarize the changes made.
  2. Select Create a new branch for this commit and start a pull request.
  3. Check the Propose file change button.
  4. Scroll down to compare changes with the original document.
  5. Select Create pull request.

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

NOTE

This package was originally named ns1-python, but to comply with PEP 625 it was renamed to ns1_python via this PR.

You can still install the ns1-python package as normal.

Metadata

Release files for ns1-python 0.29.0

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

Source distribution (sdist)

Source distribution for ns1-python 0.29.0
File Size Uploaded
ns1_python-0.29.0.tar.gz 33.6 kB Details

Built distribution (wheel)

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

Total release size: 81.0 kB

Release files / ns1_python-0.29.0.tar.gz

Download URL ns1_python-0.29.0.tar.gz
Size 33.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cd3db956d1503542e6cd21237d6f61ebbf6888545ebedb8ea2265905fc90aa1a
BLAKE2b-256 checksum
How to use checksums
922c95b6daa53159a691ad7eb9e000e8bc68308b85de503b17ad1a1ffbf19823
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / ns1_python-0.29.0-py2.py3-none-any.whl

Download URL ns1_python-0.29.0-py2.py3-none-any.whl
Size 47.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
d7915097998db165caf3cffa04b889fb00a89d7687bf541e54fda190dcea5e05
BLAKE2b-256 checksum
How to use checksums
74b88719f2bed1492686f62e7e35414eb7ebcb342b56fed7cb354efbb40a1929
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7
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