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)