Skip to content

Fast and flexible Python 3.7+ netconf client specifically for network devices

License

Notifications You must be signed in to change notification settings

scrapli/scrapli_netconf

Folders and files

NameName
Last commit message
Last commit date
Jan 31, 2025
Apr 9, 2024
Apr 9, 2024
Jan 31, 2025
Jul 28, 2024
Jan 28, 2023
Jan 31, 2025
Feb 11, 2021
Feb 26, 2022
Aug 9, 2024
Jan 29, 2022
Feb 11, 2021
May 13, 2023
Jan 31, 2025
Jan 31, 2025
Jul 30, 2021
Aug 9, 2024
Jan 28, 2023
Jan 31, 2025
Jul 8, 2023
Jan 31, 2025
Sep 3, 2022

Repository files navigation

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)