Skip to content

Installation

netbox-sdk requires Python 3.11 or newer.

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.

From PyPI

SDK only:

pip install netbox-sdk

The base package already includes the dependencies required by the async SDK and the versioned typed SDK, including pydantic and email-validator.

CLI:

pip install 'netbox-sdk[cli]'

TUI:

pip install 'netbox-sdk[tui]'

Everything:

pip install 'netbox-sdk[all]'

Pinned installs for the documented release (same extras, exact version):

pip install netbox-sdk==0.0.9

pip install 'netbox-sdk[cli]==0.0.9'

pip install 'netbox-sdk[tui]==0.0.9'

pip install 'netbox-sdk[all]==0.0.9'

With uv tool

uv tool install --force 'netbox-sdk[cli]'
nbx --help

Pinned to the documented release:

uv tool install --force 'netbox-sdk[cli]==0.0.9'

nbx --help

From source

git clone https://github.com/emersonfelipesp/netbox-sdk.git
cd netbox-sdk
uv sync --dev --extra cli --extra tui --extra demo
uv run nbx --help

Typed SDK support

The repository ships committed OpenAPI bundles and generated Pydantic models for NetBox 4.6, 4.5, 4.4, and 4.3. Users do not need to run code generation locally. CI live-tests the SDK against v4.6.0, v4.5.9, and v4.5.8.

IDE type hints

All three installed packages (netbox_sdk, netbox_cli, netbox_tui) ship PEP 561 py.typed markers. Pylance, Pyright, and other PEP 561-aware editors resolve types automatically from the installed wheel — no extra setup. See the IDE Support developer guide for the contributor workspace and dual-checker pre-commit gates.

Which install should I pick?

  • pip install netbox-sdk if you only need the Python SDK
  • pip install 'netbox-sdk[cli]' if you want the nbx command
  • pip install 'netbox-sdk[tui]' if you want to launch Textual TUIs from the package in an existing Python environment
  • pip install 'netbox-sdk[all]' if you want every interface available locally

Contributor workflow

uv run pre-commit install --hook-type pre-commit --hook-type pre-push
uv run pre-commit run --all-files
uv run pytest

Optional demo automation

nbx demo init uses Playwright. The browser runtime must be installed separately:

uv tool run --from playwright playwright install chromium --with-deps