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.1:
Fixing the bugs with improper Protobuf paths generation
Now all Set operations (delete, replace, and update) are working properly.
Releast 0.2.0:
Adding the Set operation from gNMI specification.
Releast 0.1.9:
Adding the property datatype='all' to the get() request. The values are per the gNMI specification: all, config, state, operatonal.
Release 0.1.8:
Adding conversion of the collected information over the gNMI into a Python dictionary
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.