semvec/pypi-packages huggingface dataset:
aionet 0.0.43
async networking SDK

aionet
******

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:

.. code-block:: python

    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())
ml-crypto 0.7.811
pyCrypto wrapper, used by various MissingLink.ai libraries

### ML-Crypto
This library is `pycrypto` / `pycryptodome` wrapper that standardises the MissingLink.ai-s encryption and allows easy extentions to support additional encryption schemes.

 ## Overview
 * This library contains a set of `Cipher`s.  Each `Cipher` has 
   * `encrpyt` and `decrypt` functions that *MUST* return/accept byte array and 
   * `encrpyt_string` / `decrypt_string` that work with string objects that will be a `base64` representation of the encrypted byte output of the underlying `[en|de]crypt functions`
   * If your cipher returns structured data (such as `IV` and other data), you SHOULD use `namedtuples` and extend them with `MsgPackNamedTuple` mixin. This will allow you to easly dump the named tuple into optimised byterarray, in order to be flexable with the object, currently we are converting the named tuple into `dict` in order to be able to add fields in the feature 
   * You SHOULD provide key generation function as part of the cipher that will generate key (the function may perform external calls in case of cloud kms and etc.) 
 ## Current Ciphers
   * Symmetric - `AES-CTR` encryption with `256` bits (32 bytes) key length
   * Asymmetric - `PKCS1_OAEP` encryption with `SHA512` hashAlgo
   * Envelope - Envelope encryption where the body is encrypted with the `Symmetric` cipher. the `DEK` (data encryption key) is encrypted using non-specific cipher provided during init

  ## PyCryptoDome vs PyCrypto vs None
  * When installing, no cryptography package is provided by default. Use `ml-crypto[pycryptodome]` or `ml-crypto[pycrypto]` to ensure one is installed or use the default if you know you have one installed
  * As `pycrypto` is dead, prefer using `pycryptodome` and expect some issues (The main one is encrypted ssh private keys) not to work