--- id: pynautobot version: "3.1.1" license: Apache-2.0 license_treatment: permissive maintenance: active --- # pynautobot — Nautobot API client library License: permissive · Maintenance: active · Downloads: 125.8K/mo ## 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 above — 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 pip install pynautobot uv add pynautobot 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_current - Install friction: low - Maintenance: active - Downloads: 125.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags nautobot api client, network infrastructure automation, nautobot python library, rest api client networking, device management api, nautobot integration, network-automation, nautobot-integration [View on SkillFed](https://skillfed.io/packages/pynautobot) · [View on PyPI](https://pypi.org/project/pynautobot/)