Skip to content

NetBox SDK

SDK-first NetBox toolkit for Python, the terminal, and Textual UIs.

netbox-sdk is built as three sibling packages:

  • netbox_sdk — standalone NetBox REST SDK
  • netbox_cli — Typer-powered CLI
  • netbox_tui — Textual-powered TUI

The repository ships three public surfaces:

  • netbox_sdk for Python integrations
  • nbx for CLI workflows
  • multiple Textual TUIs for browsing, debugging, and guided command execution

The SDK package itself exposes three layers:

  • NetBoxApiClient for low-level async HTTP control
  • api() / Api for the async facade layer
  • typed_api() for the versioned typed client backed by committed Pydantic models

The current typed SDK release lines are NetBox 4.6, 4.5, 4.4, and 4.3. Continuous integration exercises the live-NetBox suite against v4.6.0, v4.5.9, and v4.5.8.

Documented release

This site documents netbox-sdk 0.0.9. Use unpinned installs for the latest PyPI release; pin with ==0.0.9 to match the documented version.

  • SDK

    from netbox_sdk import api, typed_api
    

    SDK Guide

  • CLI

    nbx dcim devices list
    nbx dcim devices get --id 1
    

    CLI Guide

  • TUI

    nbx tui
    nbx demo tui --theme dracula
    

    TUI Guide

  • Quick Start

    pip install 'netbox-sdk[all]'
    pip install 'netbox-sdk[all]==0.0.9'
    
    nbx init
    nbx dcim devices list
    

    Quick Start

Product split

  • SDK docs focus on importable Python APIs, request layers, authentication, and versioned typed clients.
  • CLI docs focus on the nbx command tree, dynamic commands, GraphQL, demo profile, and captured command examples.
  • TUI docs focus on the main browser, developer workbench, CLI builder, logs viewer, and Django model browser.

Contributor standard

uv sync --dev --extra cli --extra tui --extra demo
uv run pre-commit install --hook-type pre-commit --hook-type pre-push
uv run pre-commit run --all-files
uv run pytest