A Belated Scrapli Intro

I’m a proud parent! Well… kinda? No human children, just a cat and a Python library, but that is more than enough for me!

This is old news at this point, but figured a blog post for it was necessary and very over due! I wrote a Python library called scrapli. Really it is more a “family” of libraries – some plugins for scrapli “core”, a nornir plugin, and a NETCONF add on that is built on top of scrapli “core”.

scrapli is a Python telnet and SSH client library that provides the same API for both synchronous and asyncio code. It is “pluggable” so that it can be easily extended, it is well typed, tested, and documented, and if I don’t say so myself, it is pretty damn cool!

The scrapli README doc is pretty verbose and goes into a lot of detail about how scrapli works, and some of the design considerations that made scrapli into what it is today. You can find that doc here.

The additional libraries in the scrapli family are:

  • scrapli-paramiko - the paramiko transport plugin for scrapli
  • scrapli-ssh2 - the ssh2-python transport plugin for scrapli
  • scrapli-asyncssh - the asyncssh transport plugin for scrapli
  • scrapli-netconf - NETCONF client library built on top of scrapli “core”
  • scrapli-community - Community repo where users can contribute “platforms” to help make it easy to run scrapli on all sorts of different devices/platforms!
  • nornir-scrapli - scrapli’s nornir plugin - so you can have all the goodness of scrapli combined with the goodness of nornir! (double whammy!)

There have also been some pretty fantastic folks who have written/vlogged/streamed about scrapli over the past year or so, here are some of those (if you have written/blogged/vlogged/whatever about anything scrapli and you are not here - just send me an email/linkedin message/tweet/dm on twitter/slack!):

And some older posts/things from yours truly: