NetSight
NetSight is a read-only, multi-vendor network device query SDK written in Python 3.14. It connects to devices over vendor-native APIs (currently PAN-OS XML; more vendors planned), enforces a deny-all command allowlist, and returns structured data parsed from declarative YAML parser specs.
For users
See the User Guide for installation, configuration, and day-to-day SDK usage — connecting to a device, running an operation, handling results, writing a template workflow.
from netsight import NetSight
ns = NetSight(config="config/devices.yaml")
device = ns.device("fw-01")
info = device.show_system_info()
routes = device.show_routing_table()
Installing the core SDK
# Minimal SDK install — just the device-query core
pip install netsight-sdk
# With the dev MCP server (for Claude Code contributors)
pip install 'netsight-sdk[dev]'
Or, to track the development branch directly:
pip install git+https://github.com/magicboxlab-ai/netsight-sdk.git
First-time setup
After installing the core SDK, run netsight init to create your device
configuration file:
# Create ~/.config/netsight/devices.yaml with a template
netsight init
# Edit the file to add your devices, then verify
netsight doctor
The config file search order is: $NETSIGHT_CONFIG_DIR → ./config/
(cwd, for project-local dev workflows) → $XDG_CONFIG_HOME/netsight/
→ ~/.config/netsight/.
Installing vendor packs
The core SDK is vendor-agnostic. Vendor support ships as separate pack packages installed alongside the core. Use the netsight pack CLI to discover and install packs:
# List packs available in the bundled catalog
netsight pack list --available
# Install a pack
netsight pack install paloalto-firewall-xml
# Verify everything loaded correctly
netsight doctor
Packs can also be installed directly from their source repositories:
pip install git+https://github.com/magicboxlab-ai/netsight-packs-paloalto.git#subdirectory=packs/paloalto-firewall-xml
After installation, the pack is auto-discovered at startup via the netsight.packs entry-point group — no config change required.
See User Guide → Vendor packs for the full install and configuration flow.
For contributors
NetSight ships a purpose-built MCP server (netsight-dev) that exposes the codebase to Claude Code as structured resources and validation tools. The bootstrap flow for a new clone is documented end-to-end in the developer guide:
See Developer Guide → Getting Started for Development.
TL;DR:
git clone <repo-url> netsight
cd netsight
python3.14 -m venv .venv
source .venv/bin/activate
pip install -e .
netsight init --local # creates ./config/devices.yaml from the template
netsight doctor # verifies the dev env end-to-end
claude # approve the netsight-dev MCP server when prompted
The rest of the developer guide covers adding vendor packs, writing parser specs, custom types and transforms, registry wiring, self-documentation conventions, testing, and the release workflow.
Project layout at a glance
netsight/— SDK source (pack registry, parsers, config management, security module, dev MCP server).UNITTEST/— pytest test suite (nottests/).TOOLS/— shell utilities (full_test_cycle.sh,security_check.sh).docs/guides/— user guide and developer guide.
Metadata
Release files for netsight-sdk 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| netsight_sdk-1.1.1.tar.gz | 212.9 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netsight_sdk-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 482.2 kB
Release files / netsight_sdk-1.1.1.tar.gz
| Download URL | netsight_sdk-1.1.1.tar.gz |
|---|---|
| Size | 212.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
959b2ec67d1001c4c4772f7aaa5b1dfdef3f65edda6b1776e85f73aacf0bd1f4
|
|
BLAKE2b-256 checksum How to use checksums |
da2ec5dffcb6387783cd66e9f2c979c57a1a4b9c94fb61594aeaca17fbfd69bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.
Transparency logRelease files / netsight_sdk-1.1.1-py3-none-any.whl
| Download URL | netsight_sdk-1.1.1-py3-none-any.whl |
|---|---|
| Size | 269.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
65742c1b706117804b76011a4b207ce39e6f170e5ca3a71b4924c2d822c466da
|
|
BLAKE2b-256 checksum How to use checksums |
4a9c34bdc670ef9db68b0cc04d0cd64390ddc9638e65257f686fa3bb3fd6cbfa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.
Transparency logSecurity for netsight-sdk 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for netsight_sdk-1.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.