skillfed

catalystwan

Cisco Catalyst WAN SDK for Python

catalystwan v0.41.6 213.9K downloads/30d#9,425 on PyPI11
License unclear Active released

What it is and what it does

Catalystwan is a Python SDK for automating Cisco Catalyst SD-WAN Manager operations via REST API. It abstracts authentication, session lifecycle, and concurrent request handling, supporting multiple deployment modes (provider, tenant, provider-as-tenant) and API Gateway authentication. The package wraps the official SD-WAN Manager API and extends requests.Session, so all standard HTTP capabilities are available alongside SDK-specific methods for device management, alarms, software upgrades, and diagnostics.

The SDK is designed for parallel request execution with built-in request limiting (default 50 concurrent requests) to prevent server overload. It provides context manager support for automatic resource cleanup and includes threading examples for multi-threaded workloads. However, the package is in early beta and explicitly not recommended for production environments; it is intended for development and testing against SD-WAN Manager instances.

Use it for:

  • Automate device inventory queries and status checks across SD-WAN fabric from a Python application.
  • Orchestrate software upgrades and configuration changes on multiple controllers and vSmarts in parallel.
  • Generate and retrieve diagnostic files (admin tech) from SD-WAN devices for troubleshooting.
  • Build multi-tenant management workflows where a provider manages multiple tenant SD-WAN domains.
  • Integrate SD-WAN alarms and monitoring data into external dashboards or ticketing systems.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a Python SDK for programmatic interaction with Cisco Catalyst SD-WAN Manager via its REST API, handling authentication, session management, and API calls across provider, tenant, and provider-as-tenant deployment modes.

Yes, if you are developing against Cisco Catalyst SD-WAN Manager and can tolerate early-beta stability. The low install friction, active maintenance, and lack of known vulnerabilities make it a reasonable choice for non-production automation. Do not use in production until the package exits beta. Verify the license terms before integrating into commercial software.

Install

catalystwan on PyPI

pip

pip install catalystwan

uv

uv add catalystwan

poetry

poetry add catalystwan

Installing catalystwan

Before you install

Low install friction with a pure-wheel distribution. The package is in active development with a recent release (14 days old) and an active repository, though it is explicitly marked as early beta and not recommended for production use.

License in practice

License status is unclear; no SPDX identifier or raw license text is available in the package metadata. Verify the actual license terms before use, particularly if integrating into proprietary or commercially distributed software.

Quickstart

from catalystwan.session import create_manager_session

with create_manager_session(url="example.com", username="admin", password="password123") as session:
    devices = session.api.devices.get()
    print(devices)

Requires network connectivity to a Cisco Catalyst SD-WAN Manager instance; credentials and manager URL must be provided.

Verify before relying

  • Stability and backward-compatibility guarantees during beta phase remain unclear.
  • Production readiness timeline and support escalation process for early beta issues.
  • Thread-safety guarantees beyond the documented recommendation to use one session per thread.

Package facts

License not declared (unclear)
Python support supports the current Python release (<4.0.0,>=3.8.0)
Install friction low — pure-Python wheel
Runtime dependencies 12 — requests, python-dateutil, attrs, ciscoconfparse, tenacity, Jinja2, flake8-quotes, clint, requests-toolbelt, packaging, pydantic, typing-extensions
Maintenance actively maintained — 14 days since the last release
Last repo commit
First released
Downloads 213,905/month — #9,425 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: catalystwan-0.41.6-py3-none-any.whl

Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

cisco sd-wan api pythoncatalyst wan sdkcisco vmanage python clientsd-wan manager automationcisco network api sdkcatalyst wan manager apivmanage python library
cisco-networkingsd-wanapi-client

More Networking packages