NSoT
Network Source of Truth (NSoT) is a source of truth database and repository for tracking inventory and metadata of network entities to ease management and automation of network infrastructure.
NSoT is an API-first application that provides a REST API for managing IP addresses (IPAM), network devices, and network interfaces.
NSoT was originally created at Dropbox and is now maintained by Jathan McCollum.
What's New in v2.0.0
- Upgraded to Django 5.2 and Django REST Framework 3.16
- Requires Python 3.10+ (dropped Python 2.7 / 3.x < 3.10)
- Modern tooling: uv for dependency management, ruff for linting/formatting
- CI/CD via GitHub Actions with python-semantic-release
Installation
pip install nsot
Or with uv:
uv add nsot
Quick Start
# Initialize the config (~/.nsot/nsot.conf.py)
nsot-server init
# Create a superuser
nsot-server createsuperuser --email admin@localhost
# Start the server on 8990/tcp
nsot-server start
Then browse the API at http://localhost:8990/api/ or the admin at http://localhost:8990/admin/.
Development
git clone https://github.com/jathanism/nsot.git
cd nsot
uv sync --all-extras
# Run tests
NSOT_API_VERSION=1.0 uv run pytest -vv tests/
# Lint / format
uv run ruff check nsot/ tests/
uv run ruff format nsot/ tests/
Resources
Release files for nsot 2.14.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nsot-2.14.2.tar.gz | 95.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nsot-2.14.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 226.4 kB
Release files / nsot-2.14.2.tar.gz
| Download URL | nsot-2.14.2.tar.gz |
|---|---|
| Size | 95.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b5e7f118d90fc24279be97bdca1f5aad316be52a8bf73f75452c1e5ca4e58aba
|
|
BLAKE2b-256 checksum How to use checksums |
c544e56e2608a3d6d4c4c1db22fcfa5812146abe567c5820b9ce092ce3df7103
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.
Transparency logRelease files / nsot-2.14.2-py3-none-any.whl
| Download URL | nsot-2.14.2-py3-none-any.whl |
|---|---|
| Size | 130.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c048909f869a7adf212d3d57834b1b46f52a95767a987fbc4eb65db5c048d3b9
|
|
BLAKE2b-256 checksum How to use checksums |
a1328753fe4adab4f57d39bfe10d3a703666952271617b36bf5012191d66dacd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.
Transparency log