14
[ ~/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

[open on GitHub]
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
  • --filter key=value flags resolved against schema-indexed query parameters
  • Structured table output with --json / --yaml flags 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 setup
    • nbx config show
    • nbx config --show-token
  • Schema discovery:
    • nbx schema groups
    • nbx schema resources
    • nbx 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 DataTable with 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_updated columns 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
    • #RRGGBB color 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 --password flags for CI use
  • nbx demo tui
    • launches TUI against demo.netbox.dev
  • nbx demo <group> <resource> ...
    • full dynamic command tree against demo
  • v1 token fallback:
    • automatic retry with Authorization: Token on 401/403 when a v2 token is rejected

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
  • 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 C1 OSC (U+009D)
    • raw C0 controls except newline, carriage return, and tab
  • 125 automated 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
  • GitHub Actions:
    • CI (pytest matrix)
    • docs deploy to GitHub Pages
    • automated docs capture with Playwright against demo.netbox.dev
  • One-liner curl installer:
    curl -fsSL .../install.sh | bash
    • installs uv if needed
    • installs netbox-cli via uv tool install git+...
    • installs Playwright Chromium
    • POSIX-compatible
  • Per-directory CLAUDE.md developer context documentation for every package, test, docs, workflow, and reference folder

emerson@netdevops:~/netbox-sdk$ gh release download --pattern '*'

assets

no binary assets attached

source code