Skip to main content

Cisco NX-API asyncio Client

This repository contains a Cisco NX-API asyncio based client that uses the httpx as an underlying transport and lxml as the basis for handling XML.

Note: This client does not support the NETCONF interface.

WORK IN PROGESS

Quick Example

Thie following shows how to create a Device instance and run a list of commands.

By default the Device instance will use HTTPS transport. The Device instance supports the following settings:

  • host - The device hostname or IP address
  • username - The login user-name
  • password - The login password
  • proto - (Optional) Choose either "https" or "http", defaults to "https"
  • port - (Optional) Chose the protocol port to override proto default

The result of command execution is a list of CommandResults (namedtuple). The output field will be:

  • lxml.Element when output format is 'xml'
  • dict when output format is 'json'
  • str when output format is 'text'
from asyncnxapi import Device

username = 'dummy-user'
password = 'dummy-password'

async def run_test(host):
    dev = Device(host=host, creds=(username, password))
    res = await dev.exec(['show hostname', 'show version'], ofmt='json')
    for cmd in res:
       if not cmd.ok:
          print(f"{cmd.command} failed")
          continue

       # do something with cmd.output as dict since ofmt was 'json'

Limitations

  • Chunking is not currently supported. If anyone has need of this feature please open an issue requesting support.

References

Cisco DevNet NX-API Rerefence:

Cisco platform specific NX-API references:

Metadata

Release files for aio-nxapi 0.6.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 aio-nxapi 0.6.0
File Size Uploaded
aio_nxapi-0.6.0.tar.gz 9.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aio-nxapi 0.6.0
File Interpreter ABI Platform
aio_nxapi-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 22.1 kB

Release files / aio_nxapi-0.6.0.tar.gz

Download URL aio_nxapi-0.6.0.tar.gz
Size 9.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b81e2190951d46b558e27b5f50fcfa1a61c2db6cc2d44ee138b3402ac7ecae3a
BLAKE2b-256 checksum
How to use checksums
1752fb0e35e013002f820e88d7e153c5941e10850b88396e9242347c2313e16a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Darwin/23.6.0

Release files / aio_nxapi-0.6.0-py3-none-any.whl

Download URL aio_nxapi-0.6.0-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c8199b33cf7b4850a9705cd54c3f1c163f2d82ce19b87adcac03597661b941d
BLAKE2b-256 checksum
How to use checksums
d8da6f01b7e7488947aabb3340f4bd4d1fc48c1831327b8839383214713d347b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Darwin/23.6.0

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.2

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

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