Skip to main content

Asynchronous multi-vendor library for interacting with network devices

Project description

Asynchronous multi-vendor library for interacting with network devices

Inspired by netmiko

Requires:

  • asyncio

  • AsyncSSH

  • Python >=3.5

  • pyYAML

Supports:

  • Cisco IOS

  • Cisco IOS XE

  • Cisco IOS XR

  • Cisco ASA

  • Cisco NX-OS

  • HP Comware (like V1910 too)

  • Fujitsu Blade Switches

  • Mikrotik RouterOS

  • Arista EOS

  • Juniper JunOS

  • Aruba AOS 6.X

  • Aruba AOS 8.X

  • Terminal

Examples:

Example of interacting with Cisco IOS devices:

import asyncio
import netdev

async def task(param):
    async with netdev.create(**param) as ios:
        # Testing sending simple command
        out = await ios.send_command("show ver")
        print(out)
        # Testing sending configuration set
        commands = ["line console 0", "exit"]
        out = await ios.send_config_set(commands)
        print(out)
        # Testing sending simple command with long output
        out = await ios.send_command("show run")
        print(out)
        # Testing interactive dialog
        out = await ios.send_command("conf", pattern=r'\[terminal\]\?', strip_command=False)
        out += await ios.send_command("term", strip_command=False)
        out += await ios.send_command("exit", strip_command=False, strip_prompt=False)
        print(out)


async def run():
    dev1 = { 'username' : 'user',
             'password' : 'pass',
             'device_type': 'cisco_ios',
             'host': 'ip address',
    }
    dev2 = { 'username' : 'user',
             'password' : 'pass',
             'device_type': 'cisco_ios',
             'host': 'ip address',
    }
    devices = [dev1, dev2]
    tasks = [task(dev) for dev in devices]
    await asyncio.wait(tasks)


loop = asyncio.get_event_loop()
loop.run_until_complete(run())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netdev-0.9.3.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

netdev-0.9.3-py3-none-any.whl (37.1 kB view details)

Uploaded Python 3

File details

Details for the file netdev-0.9.3.tar.gz.

File metadata

  • Download URL: netdev-0.9.3.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.15 CPython/3.7.3 Linux/4.4.0-17134-Microsoft

File hashes

Hashes for netdev-0.9.3.tar.gz
Algorithm Hash digest
SHA256 b15a011e865450445427df5ea36b7a791d7e30fa4f3656b42548e47726961da8
MD5 cf67ca99d9d06db205235d80bbfa0a6c
BLAKE2b-256 a6ec79a95a59f8b101250f0c98a265dc3a862b3afd7ff750ae58b1a5ec18f0fd

See more details on using hashes here.

File details

Details for the file netdev-0.9.3-py3-none-any.whl.

File metadata

  • Download URL: netdev-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 37.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.15 CPython/3.7.3 Linux/4.4.0-17134-Microsoft

File hashes

Hashes for netdev-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c7508fde9ffbb5bb181d84ce20f9c66c2da7ed99fdccf6b59129bcca1365e675
MD5 5f88fc30ae5720c6afceb0272c6a2ed1
BLAKE2b-256 150a4313e30381e6c9dfd7988de62b0b6b392af4bfe993afaef9c4c8c2507eda

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page