This repository contains pure Python implementation of the gNMI client to interact with the network functions.
Project description
pyGNMI: Python gNMI client
This repository contains pure Python implementation of the gNMI client to interact with the network functions.
Usage
Sample code example:
# Modules
from pygnmi.client import gNMIclient
# Variables
host = ('169.254.255.64', '57400')
# Body
if __name__ == '__main__':
with gNMIclient(target=host, username='admin', password='admin', insecure=True) as gc:
result = gc.get(path=['openconfig-interfaces:interfaces', 'openconfig-acl:acl'])
print(result)
Supported requests
Capabilities
Get
Set
Supported operation modes
insecure gRPC channel (without encryption)
Tested Network Operating Systems (NOS)
Arista EOS
Nokia SR OS
Network Operating Systems (NOS) in test
Nokia SRLinux
License
By using the pyGNMI tool you agree with the license.
Dev Log
Release 0.2.3:
Added support for IPv6 transport (now you can connect to the network function over IPv6).
Release 0.2.2:
Added conversion of the collected information over the gNMI into a Python dictionary for Set operation.
Release 0.2.1:
Fixing the bugs with improper Protobuf paths generation.
Now all Set operations (delete, replace, and update) are working properly.
Releast 0.2.0:
Added the Set operation from gNMI specification.
Releast 0.1.9:
Added the property datatype='all' to the get() request. The values are per the gNMI specification: all, config, state, operatonal.
Release 0.1.8:
Added conversion of the collected information over the gNMI into a Python dictionary for Get operation
Release 0.1.7:
Changing packages modules
Release 0.1.6:
Restructuring internal context
Release 0.1.5:
Minor bugfixing
Release 0.1.4:
Minor bugfixing
Release 0.1.3:
Minor bugfixing
Release 0.1.2:
The gNMIClient is recreated as context manger.
Tests with Nokia SR OS done, the module is working nice for insecure channel.
Release 0.1.1:
Added the Get operation out of gNMI specification.
Release 0.1.0:
The first release.
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.