Skip to main content

Fast, flexible, sync/async, Python 3.7+ NETCONF client built on scrapli

Project description

Supported Versions PyPI version Weekly Build Code Style License: MIT

scrapli_netconf


Documentation: https://scrapli.github.io/scrapli_netconf

Source Code: https://github.com/scrapli/scrapli_netconf

Examples: https://github.com/scrapli/scrapli_netconf/tree/master/examples


scrapli_netconf is a NETCONF driver built on top of scrapli, giving you all the scrapli behaviour you know and love, but for NETCONF connections.

Key Features:

  • Easy: Just like scrapli, scrapli_netconf is easy to get going with, and looks and feels just like "normal" scrapli -- check out the documentation and example links above, and you'll be connecting to devices in no time.
  • Fast: Do you like to go fast? Of course you do! scrapli_netconf supports all of the ssh transports that scrapli core supports; check out the ssh2 transport if you've got the need for speed!
  • Great Developer Experience: scrapli_netconf has great editor support thanks to being fully typed; that plus thorough docs make developing with scrapli a breeze.
  • Well Tested: Perhaps out of paranoia, but regardless of the reason, scrapli_netconf has lots of tests! Unit tests cover the basics, regularly ran functional tests connect to virtual routers to ensure that everything works IRL!
  • Concurrency on Easy Mode: Nornir's scrapli plugin gives you all the normal benefits of scrapli plus all the great features of Nornir.

Requirements

MacOS or *nix1, Python 3.7+

scrapli_netconf's only requirements are scrapli, of course, and lxml.

1 Although many parts of scrapli do run on Windows, Windows is not officially supported

Installation

pip install scrapli_netconf

See the docs for other installation methods/details.

A Simple Example

from scrapli_netconf.driver import NetconfDriver

my_device = {
    "host": "172.18.0.13",
    "auth_username": "scrapli",
    "auth_password": "scrapli",
    "auth_strict_key": False,
    "port": 830
}

conn = NetconfDriver(**my_device)
conn.open()
response = conn.get_config(source="running")
print(response.result)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scrapli_netconf-2024.1.30.tar.gz (31.1 kB view hashes)

Uploaded Source

Built Distribution

scrapli_netconf-2024.1.30-py3-none-any.whl (37.5 kB view hashes)

Uploaded Python 3

Supported by

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