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.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 devaci 1.0.0
File Size Uploaded
devaci-1.0.0.tar.gz 25.3 kB Details

Built distribution (wheel)

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

Total release size: 49.5 kB

Release files / devaci-1.0.0.tar.gz

Download URL devaci-1.0.0.tar.gz
Size 25.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8abad9dbc0505760173ef0b173f5df161477df66a197eafaae769269def566b9
BLAKE2b-256 checksum
How to use checksums
af7b405da04cc7f8b2aa8ed4d6d7e715cf2db4e25628d862db681922ab3c175f
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.0-py3-none-any.whl

Download URL devaci-1.0.0-py3-none-any.whl
Size 24.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
73986a3752e080c7f5566644e7bcf413d19913f8573cfdc0821e002a6b37303e
BLAKE2b-256 checksum
How to use checksums
e1870ee3c86cb95e3158d44a4e83465c40ca6ae1f8e819d5f2ba27517b247973
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

1.0.1

2 release files

This release

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