Registry / http-networking / catalystwan

catalystwan

JSON →
library0.41.5pypypi✓ verified 88d ago

Official Python SDK for automating Cisco Catalyst SD-WAN (Viptela) solutions. Current version 0.41.5, released monthly. Supports Python 3.8+ and provides both synchronous and asynchronous clients to interact with vManage API endpoints, including device configuration, policy management, templates, and monitoring.

pip install catalystwan
INSTALL
IMPORT
SIG · CATALYSTWAN
C
catalystwan
http-networkingpythonv0.41.5
Install
9.2s avg
Import
1135ms
Disk
57MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v0.41.5 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 1.184s · 54.1MB
glibc
py 3.10–3.95 runs
installs and imports cleanly · install 9.2s · import 1.086s · 54MB
57MB installed
● package 57MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ManagerSession
✓ from catalystwan.session import ManagerSession
✗ from catalystwan import ManagerSession
ManagerSession is not exposed at package root; must import from submodule.
create_manager_session
✓ from catalystwan.session import create_manager_session
✗ from catalystwan import create_manager_session
Same as above - function is in session module.

Authenticate and list devices using synchronous session.

from catalystwan.session import create_manager_session import os url = os.environ.get('VMANAGE_URL', 'https://10.0.0.1') username = os.environ.get('VMANAGE_USERNAME', 'admin') password = os.environ.get('VMANAGE_PASSWORD', 'admin') with create_manager_session(url=url, username=username, password=password) as session: devices = session.api.devices.get() print(len(devices))
catalystwan --version
Debug
Known issues
breakingIn v0.41.0, the import path for session functions changed. Use 'catalystwan.session' instead of 'catalystwan'.
fix
Update imports: from catalystwan.session import ManagerSession, create_manager_session
affects: >=0.41.0
deprecatedThe 'ManagerSession' class is deprecated in favor of 'create_manager_session' context manager.
fix
Replace ManagerSession() with create_manager_session() in a with statement.
affects: >=0.41.0
gotchavManage API requires port 443; do not include port in URL if default, but if custom port needed, include it as :port.
fix
Use full URL like 'https://vmanage.example.com:8443' if non-default port.
affects: all
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'catalystwan'
Package not installed.
fix
Run: pip install catalystwan
ImportError: cannot import name 'ManagerSession' from 'catalystwan'
Incorrect import path - ManagerSession is not at package root.
fix
Use: from catalystwan.session import ManagerSession
catalystwan.exceptions.CatalystWanError: Login failed. Check your credentials.
Invalid username, password, or vManage URL.
fix
Verify VMANAGE_URL, VMANAGE_USERNAME, VMANAGE_PASSWORD environment variables or arguments.
Upgrade
Version history
0.41.5latest on PyPI · released Apr 7, 2026
Audit
Dependencies
httpxrequiredHTTP client used by async session
requestsrequiredHTTP client used by synchronous session
Agent activity
33 hits · last 30 days
node
30
Amazon
1
OpenAI (training)
1
Resources
catalystwan — pip install catalystwan · libregistry