Skip to main content

devaci

Python library that generates Cisco ACI configuration and optionally pushes it to an APIC controller via Cisco's official Cobra SDK.

Structure

devaci/
├── LICENSE
├── README.md
├── pyproject.toml
├── pyrightconfig.json
├── uv.lock
├── src/
│   └── devaci/
│       ├── __init__.py        # public API
│       ├── console.py         # logging + rich console
│       ├── data.py            # xlsx/csv loading and filtering
│       ├── deploy.py          # DeployClass orchestrator
│       ├── exceptions.py
│       ├── filters.py         # Jinja filters + YAML loader
│       ├── jinja.py           # JinjaRenderer
│       ├── results.py         # result dataclasses
│       └── cobra/
│           ├── __init__.py    # CobraBuilder
│           ├── base.py
│           ├── builders.py    # registered ACI object handlers
│           └── registry.py
└── tests/
    ├── test_cobra.py
    ├── test_deploy.py
    ├── test_devaci.py
    └── test_outputs.py

Installation (development)

pip install uv          # if you don't have it yet
uv sync                 # creates .venv and installs devaci + dev dependencies
source .venv/bin/activate

To add/remove dependencies:

uv add requests         # runtime dependency
uv add --dev httpx      # development dependency
uv remove requests

External dependency: Cobra SDK

The Cisco ACI Cobra SDK (acicobra, acimodel, aciparser, acirpc) is not on PyPI. Download the .whl files from Cisco and place them in the vendor/ folder (not tracked by git), then:

uv pip install vendor/*.whl

Tests that depend on the Cobra SDK fail if it is not installed.

Tests

uv run pytest

Lint and type checking

uv run ruff check .
uv run mypy src

Publishing

uv build
uv publish

Metadata

Release files for devaci 1.0.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 devaci 1.0.1
File Size Uploaded
devaci-1.0.1.tar.gz 25.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for devaci 1.0.1
File Interpreter ABI Platform
devaci-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 49.6 kB

Release files / devaci-1.0.1.tar.gz

Download URL devaci-1.0.1.tar.gz
Size 25.3 kB
Tags Source
SHA-256 checksum
How to use checksums
96cb7d4c239e25f25605026d82410b68ccf20749c4de917385655bbddc27030a
BLAKE2b-256 checksum
How to use checksums
624deb468460c56131ab611673913c0034b59cfd9b34ca0688247fd875cc40b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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":null}

Release files / devaci-1.0.1-py3-none-any.whl

Download URL devaci-1.0.1-py3-none-any.whl
Size 24.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a03d68029fae44498666121a024c160ed9d74d80ef9531e4d29e8c37765e5f83
BLAKE2b-256 checksum
How to use checksums
549501086ea155aa288a922e4e5e23be5d19464949d1487f6c120f3204f0f4f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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":null}

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

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