Skip to main content

nac-analytics

In development — install from source today; PyPI release planned. Formerly nac-nd. Today it covers Cisco ACI via Nexus Dashboard 4.2.1+; the intent is to grow beyond Nexus Dashboard and add support for additional Cisco products, so one tool can drive change analytics across platforms.

CLI for change analysis on Cisco ACI fabrics via Nexus Dashboard 4.2.1+.

Commands are grouped per Cisco product: nac-analytics <product> <command>. Today the product is nexus-dashboard (alias nd); more products are planned.

Documentation

Topic Link
Documentation hub docs/README.md
Nexus Dashboard docs/nexus-dashboard.md
Command reference docs/commands/README.md
Exit codes docs/exit-codes.md
Configuration docs/configuration.md
Examples & CI examples/README.md
Development docs/development.md

Nexus Dashboard Examples - delta & compliance

delta — compare snapshots after a change:

$ nac-analytics nd delta -output text

command: delta
fabric: FABRIC-A
pre_snapshot: snap-pre
post_snapshot: snap-post

=== Summary (/deltaAnalysis/summary) ===

New anomalies by severity:
  major     2

FAIL: New anomalies at or above the failure threshold: 2 major.

=== Resources (/deltaAnalysis/resources) ===
resourceType           new       removed       earlier         later
      tenant             1             0            12            13

=== Anomalies (/anomalies/details) ===
  severity     mnemonic                         resource              reason
  major        ENDPOINT_DUPLICATE_IP            web-epg              duplicate ip detected

compliance — rule status for the latest snapshot (by default, latest snapshot is used):

$ nac-analytics nd compliance -output text

command: compliance
fabric: FABRIC-A
snapshot: latest

Compliance:
  scope: latest snapshot
  enforced_rules: 42
  violated_rules: 1
  violating_rules:
    ruleName=no-open-tenant  ruleType=configuration  violationsCount=1

See prechange, delta, and compliance for usage.

Installation

Requirements: Nexus Dashboard 4.2.1+, Python 3.10+, an ACI fabric registered in Nexus Dashboard.

Install from PyPI:

pip install nac-analytics
nac-analytics --help

Or with uv:

uv tool install nac-analytics
nac-analytics --help

For development from source:

git clone https://github.com/netascode/nac-analytics.git
cd nac-analytics
uv sync --extra dev
uv run nac-analytics --help

Quick start

cp config.example.yaml nac-analytics.yaml   # edit host, fabric, domain
cp .env.example .env                 # set ND_USER and ND_PASSWORD
nac-analytics nd doctor

When working from a source checkout, prefix commands with uv run (for example uv run nac-analytics nd doctor).

Configuration

Precedence: CLI flags → environment variables → YAML → .env in cwd.

Settings are scoped per product. See config.example.yaml and Configuration.

Development

Contributors: see Development.

Metadata

Release files for nac-analytics 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nac-analytics 0.1.0
File Size Uploaded
nac_analytics-0.1.0.tar.gz 139.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nac-analytics 0.1.0
File Interpreter ABI Platform
nac_analytics-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 197.3 kB

Release files / nac_analytics-0.1.0.tar.gz

Download URL nac_analytics-0.1.0.tar.gz
Size 139.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ad2be28301cf4b570eda9177dc8abf241cf01ac40a3175dcee5d8043cd5f46c2
BLAKE2b-256 checksum
How to use checksums
6db08ad44cce132e05393eb55f8755e6f4a88988453ab85b42d67b2874b11125
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / nac_analytics-0.1.0-py3-none-any.whl

Download URL nac_analytics-0.1.0-py3-none-any.whl
Size 58.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9394cbcd6993407e19338080dfa1124e51581095b03cfb41ab64a7c6576608d3
BLAKE2b-256 checksum
How to use checksums
7cb530ac11e1c57fd38f46c06072501567a081b85dedc87f58c98401dc09b889
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.2.0

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page