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.
- 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
pip install nsotOr with uv:
uv add nsot# 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 startThen browse the API at http://localhost:8990/api/ or the admin at http://localhost:8990/admin/.
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/