Skip to main content

nac-analytics

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.1

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.1
File Size Uploaded
nac_analytics-0.1.1.tar.gz 139.3 kB Details

Built distribution (wheel)

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

Total release size: 197.3 kB

Release files / nac_analytics-0.1.1.tar.gz

Download URL nac_analytics-0.1.1.tar.gz
Size 139.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2da964af96fe93b4c85210faceba684d5dbb15143edb55dae6bfeba1491de57d
BLAKE2b-256 checksum
How to use checksums
c20ec445ef8cb736757d9236922be94537b50f5e5b50a9a069565081a5b9a5d0
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.1-py3-none-any.whl

Download URL nac_analytics-0.1.1-py3-none-any.whl
Size 58.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
047eacd8f25582424672d3ed29228911479f9ef3bfd00516b5d5d37d4c2619c3
BLAKE2b-256 checksum
How to use checksums
7912273a9aebfcd49de92f5cb88608a9b5046f340e4188ed0386a0f4f89457f5
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

This release

0.1.1 This release

2 release files

0.1.0

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