simply its Netdev with textFSM
Project description
AsyncNetFSM
Asynchronous multi-vendor library for interacting with network devices
Inspired by netdev
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:
.. code-block:: python
import asyncio
import asyncnetfsm
async def task(param):
async with asyncnetfsm.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
asyncnetfsm-0.0.10.tar.gz
(19.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file asyncnetfsm-0.0.10.tar.gz.
File metadata
- Download URL: asyncnetfsm-0.0.10.tar.gz
- Upload date:
- Size: 19.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2df40e80d252d339da8b86d8a0bde7b0217c1ea49bd4fce8e0b58d58ab6a1607
|
|
| MD5 |
e5477b47c0c9c5e1dd7fe1d746d85b2b
|
|
| BLAKE2b-256 |
88657a84c628797d97675a33477753cce0dc60dcdf58ed439131cd3c465d4adf
|
File details
Details for the file asyncnetfsm-0.0.10-py3-none-any.whl.
File metadata
- Download URL: asyncnetfsm-0.0.10-py3-none-any.whl
- Upload date:
- Size: 37.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f39e4df4ef7f5e5cbf294e1a9553fa84a9764dec4dd716b16e639fcbfa2a08b
|
|
| MD5 |
02b598dcb78580cdb40a77ed58d5d324
|
|
| BLAKE2b-256 |
d9f19bb4e0e7c62ef660b1ddd84fc3e7e0d71dd08ade2fb8e63999b2fae50754
|