Skip to main content

async networking SDK

Project description

Asynchronous multi-vendor library for interacting with network devices

this is a fork from netdev, with code refactor and new features added.

Requires:

  • asyncio

  • AsyncSSH

  • Python >=3.5

  • pyYAML

  • asyncssh

Supports:

  • Cisco IOS

  • Cisco IOS XE

  • Cisco IOS XR

  • Cisco ASA

  • Cisco NX-OS

  • HP Comware

  • Fujitsu Blade Switches

  • Mikrotik RouterOS

  • Arista EOS

  • Juniper JunOS

  • Aruba AOS 6.X

  • Aruba AOS 8.X

  • Terminal

Features:

  • SSH

  • Telnet

  • TextFSM

Examples:

Example of interacting with Cisco IOS devices:

import asyncio
import aionet

async def task(device):
    async with aionet.ConnectionHandler(**device) as conn:

        out = await conn.send_command("show ver")
        print(out)

        commands = ["interface vlan2", "no shut"]
        out = await conn.send_config_set(commands)



async def run():
    dev1 = { 'username' : 'user',
             'password' : 'pass',
             'device_type': 'cisco_ios',
             'ip': 'ip address',
    }
    dev2 = { 'username' : 'user',
             'password' : 'pass',
             'device_type': 'cisco_ios',
             'ip': '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

aionet-0.0.43.tar.gz (18.6 kB view hashes)

Uploaded Source

Built Distribution

aionet-0.0.43-py3-none-any.whl (38.6 kB view hashes)

Uploaded Python 3

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