skillfed

pynautobot

Nautobot API client library

pynautobot v3.1.1 125.8K downloads/30d#11,802 on PyPI55
Permissive license Apache-2.0 Active released

What it is and what it does

pynautobot is a Python client library that bridges your code to a Nautobot network infrastructure management platform via its REST API. It abstracts the HTTP layer, allowing you to query devices, sites, jobs, and other Nautobot objects as Python objects with familiar method calls like .get(), .filter(), and .all(). The library was originally forked from pynetbox and provides a structured way to read and manipulate network infrastructure data programmatically.

The package handles common REST API patterns—pagination, versioning, retry logic, and optional multithreading—so you don't have to. It exposes Nautobot's Apps and Models through an Endpoint abstraction, and includes a specialized JobsEndpoint class for executing Nautobot jobs with inputs and retrieving results. This makes it suitable for automation scripts, integration workflows, and tools that need to interact with a Nautobot instance.

Use it for:

  • Query device inventory and network topology from Nautobot in automation scripts or monitoring tools.
  • Execute Nautobot jobs programmatically with custom inputs and retrieve job results.
  • Build integration layers between Nautobot and other network management or ticketing systems.
  • Retrieve site, device, and tag data for reporting or compliance audits.
  • Automate bulk operations on network infrastructure by querying and updating Nautobot objects.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

pynautobot is a Python API client library for Nautobot, providing programmatic access to network infrastructure data stored in a Nautobot instance via REST API calls.

Yes. pynautobot is actively maintained, has low install friction, carries no known vulnerabilities, and is licensed permissively. Install it if you need to programmatically interact with a Nautobot instance; skip it if you don't have a Nautobot deployment or don't need API-level access to its data.

Install

pynautobot on PyPI

pip

pip install pynautobot

uv

uv add pynautobot

poetry

poetry add pynautobot

Installing pynautobot

Before you install

Low install friction with a pure-wheel distribution and only three runtime dependencies (packaging, requests, urllib3). Active maintenance with a release 39 days ago and recent commits; supports modern Python versions from 3.10 through 3.14.

License in practice

Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions—suitable for most production and internal projects.

Quickstart

pip install pynautobot

import pynautobot
nautobot = pynautobot.api(
    url="http://localhost:8000",
    token="d6f4e314a5b5fefd164995169f28ae32d987704f"
)
devices = nautobot.dcim.devices
switch = devices.get(name="hq-access-01")

Requires a running Nautobot instance with a valid API token; minimum Python 3.10.

Verify before relying

  • Whether threading support for .filter() and .all() queries requires specific Nautobot MAX_PAGE_SIZE configuration beyond the documented recommendation.
  • Performance characteristics and scalability limits for large-scale device or object queries.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (<4.0,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 3 — packaging, requests, urllib3
Maintenance actively maintained — 39 days since the last release
Last repo commit
First released
Downloads 125,753/month — #11,802 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pynautobot-3.1.1-py3-none-any.whl

Keywords: Nautobot

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

nautobot api clientnetwork infrastructure automationnautobot python libraryrest api client networkingdevice management apinautobot integration
network-automationnautobot-integration

More WWW/HTTP packages