jeremyschulman / aio-ipfabric

Python 3.8 asycnio client for IP Fabric
Apache License 2.0
6 stars 3 forks source link

Python Asyncio Client for IP Fabric

This package contains a Python 3.8+ asyncio client for use wih the IP Fabric product.

Downloads Supported Python Version Contributors License

Installating aio-ipfabric and supported versions

aio-ipfabric is available on PyPI:

pip install aio-ipfabric

Direct installation

pip install git+https://github.com/jeremyschulman/aio-ipfabric@master#egg=aio-ipfabric

Requests officially supports Python 3.8+.

Quick Start

from aioipfabric import IPFabricClient

async def demo_1_devices_list():
    """
    Example code that uses IPFabricClient without contextmanager
    """

    # create a client using environment variables (see next section)
    ipf = IPFabricClient()

    # alternatively create instance with parameters
    # ipf = IPFabricClient(base_url='https://myipfserver.com', username='admin', password='admin12345')
    # ipf = IPFabricClient(base_url='https://myipfserver.com', token='TOKENFROMIPF')

    # login to IP Fabric system
    await ipf.login()

    # fetch the complete device inventory
    device_list = await ipf.fetch_devices()

    # close asyncio connection, otherwise you will see a warning.
    await ipf.logout()

    return device_list

async def demo_2_devices_list():
    """
    Example code that uses IPFabricClient as contextmanager
    """

    # create a client using environment variables (see next section)
    async with IPFabricClient() as ipf:
        return await ipf.fetch_devices()    

Environment Variables

The following environment variable can be used so that you do no need to provide them in your program:

You can use either the login credentials or the token to login.

If you prefer not to use environment variables, the call to IPFabricClient() accepts parameters; refer to the help(IPFabricClient) for details.

Documentation

See the docs directory.