[ ~/netbox-sdk/releases/v0.0.1 ]tty0
emerson@netdevops:~/netbox-sdk$ gh release view v0.0.1 --repo emersonfelipesp/netbox-sdk
back to releases / back to project
netbox-sdk v0.0.1
tag=v0.0.1state=stablepublished=2026-03-21synced=2026-05-07 07:04 UTC
- author
- emersonfelipesp
- created
- 2026-03-21 15:44 UTC
- target
- main
- downloads
- 0
emerson@netdevops:~/netbox-sdk$ cat RELEASE_NOTES.md
First versioned release
API-first NetBox CLI and Textual TUI built on aiohttp, Typer, Rich, and Textual, driven entirely by the bundled NetBox OpenAPI schema.
CLI and schema-driven API access
- Dynamic command routing from OpenAPI schema:
nbx <group> <resource> list|get|create|update|delete- Example:
nbx dcim devices list - Example:
nbx ipam prefixes get --id 1
- Example:
--filter key=valueflags resolved against schema-indexed query parameters- Structured table output with
--json/--yamlflags and a loading spinner --body-file <path>for POST/PATCH payloads- Cable trace:
--trace--trace-only- Available for DCIM interfaces and circuit terminations
- ASCII box-drawing renderer with Unicode line styles
- Config management:
nbx config setupnbx config shownbx config --show-token
- Schema discovery:
nbx schema groupsnbx schema resourcesnbx schema fields
TUI features
- NetBox-style shell layout:
- top search bar
- collapsible left navigation tree (
group → resource) - main tabbed workspace (
Results / Details / Filters) - footer
- Async, non-blocking data loading with instant navigation and HTTP response cache
- Results
DataTablewith row selection, keyboard navigation, and incremental refresh - Details panel:
- paginated key/value attribute view
- semantic cell rendering:
- status badges
- label chips
- color swatches
- linked-object chips
- Dependent-object navigation:
- click a related object in the Details panel to jump directly to its detail view
- Filters panel:
- field picker built from OpenAPI schema
- active filters persist across navigations
- Cable trace panel inline in Details for
dcim/interfaces created/last_updatedcolumns always sort to the end of tables- Hex color fields rendered as colored block swatches
Themes
- Themes are JSON files auto-discovered from
netbox_cli/themes/ - Built-in themes:
default(NetBox dark)dracula(official palette)
- Strict schema validation on load:
- required color and variable keys
#RRGGBBcolor format- alias/name collision detection
- Live theme switching in TUI, persisted in
~/.config/netbox-cli/tui_state.json - Theme commands:
nbx tui --theme <name>nbx tui --theme(list available themes)
Demo environment support
nbx demo init- Playwright-based browser automation to authenticate against
demo.netbox.dev - stores an API token
- supports
--headless,--username, and--passwordflags for CI use
- Playwright-based browser automation to authenticate against
nbx demo tui- launches TUI against
demo.netbox.dev
- launches TUI against
nbx demo <group> <resource> ...- full dynamic command tree against demo
- v1 token fallback:
- automatic retry with
Authorization: Tokenon401/403when a v2 token is rejected
- automatic retry with
Security and hardening
- Base URL validation rejects:
- non-HTTP(S) schemes
- embedded credentials
- query strings
- fragments
- implemented in
config.py
- Relative-path enforcement:
- all outbound requests are scoped to the configured NetBox base URL
- absolute URLs and paths with query/fragment are rejected
- implemented in
api.py
- Private filesystem permissions:
- config directory/files at
0700/0600 - HTTP cache directory/entries at
0700/0600 - writes use explicit mode, not
umask
- config directory/files at
- Cache key privacy:
- auth token is fingerprinted with SHA-256
- never stored in plaintext in cache file names
- Terminal output sanitization strips:
- ANSI ESC sequences (
CSI,OSC, two-character forms) - C1 control characters
U+0080–U+009F - including C1
CSI(U+009B) and C1OSC(U+009D) - raw C0 controls except newline, carriage return, and tab
- ANSI ESC sequences (
125automated tests covering all hardening paths
Documentation and automation
- Material for MkDocs site with:
- Getting Started
- CLI Reference
- TUI
- Developer Guide
nbx docs generate-capture- captures every CLI command via Typer
CliRunner - generates Markdown and per-command JSON artifacts for the docs site
- captures every CLI command via Typer
- GitHub Actions:
- CI (
pytestmatrix) - docs deploy to GitHub Pages
- automated docs capture with Playwright against
demo.netbox.dev
- CI (
- One-liner curl installer:
curl -fsSL .../install.sh | bash- installs
uvif needed - installs
netbox-cliviauv tool install git+... - installs Playwright Chromium
- POSIX-compatible
- installs
- Per-directory
CLAUDE.mddeveloper context documentation for every package, test, docs, workflow, and reference folder
emerson@netdevops:~/netbox-sdk$ gh release download --pattern '*'