As networks Infra become increasingly API-driven, multi-vendor, and automated, the traditional methods of interacting with network devices are reaching their limits.
Network tools that are scalable, maintainable, and designed for modern Python automation needed.
Scrapli offers a modern, extensible, and scalable approach that aligns well with today's NetDevOps and platform engineering practices.
Scrapli's layered architecture (Driver → Channel → Transport) and native async capabilities make it a compelling option for building next-generation network automation platforms.
What is Scrapli?
Scrapli is a Python library that enables connectivity to network devices using:
- SSH
- Telnet
- NETCONF
Scrapli typically sits between our Python automation applications and the network infrastructure, providing a unified interface for multi-vendor device communication.
Similar to Netmiko, Scrapli provides a simple and consistent interface for interacting with multi-vendor network devices while offering enhanced flexibility, asynchronous capabilities, and a clean architecture.
Scrapli Reference Architecture:
Core Components of Scrapli :
1- Transport Layer:
Responsible for establishing the connection to network devices.
2- Channel Layer:
Acts as an abstraction over the transport and handles:
- Sending commands
- Receiving output
- Prompt management
- Interactive sessions
- Error handling
3- Driver Layer:
Provides device-specific intelligence.
Examples:
IOSXEDriver
IOSXRDriver
NXOSDriver
EOSDriver
GenericDriver
The driver understands device prompts, privilege levels, and command execution requirements.
For teams building automation around NetBox, Infrahub, Ansible, GitLab, and AI-driven operations, Scrapli deserves serious evaluation.
0 Comments