Metadata-Version: 2.1
Name: asyncnetfsm
Version: 0.0.14
Summary: simply its Netdev with textFSM 
Home-page: https://github.com/omaralghussein/asyncnetfsm
Author: Omar Al-Ghussein
Author-email: z3@live.it
License: UNKNOWN
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',
                         '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())
        
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
