Skip to main content

This repository contains pure Python implementation of the gNMI client to interact with the network functions.

Project description

pyGNMI: Python gNMI client

project version tag license

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.

Source Distribution

pygnmi-0.2.1.tar.gz (16.9 kB view details)

Uploaded Source

File details

Details for the file pygnmi-0.2.1.tar.gz.

File metadata

  • Download URL: pygnmi-0.2.1.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for pygnmi-0.2.1.tar.gz
Algorithm Hash digest
SHA256 9a838d765acecf4fb7942d38d500964d0f90f3fd134cb69d97262fbd5fbd69ab
MD5 188fdd654f2c827c7e971fc8bc6fad1e
BLAKE2b-256 ff195181866cd61cc6dc5d7a17a5c13a9a0b6af2559d32b7eb5178a2d041e950

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page