Device Connections
Network automation means talking to devices — routers, switches, firewalls, controllers — across vendors, protocols, and connection libraries. The neops SDK provides a proxy/plugin architecture that decouples your automation logic from the specifics of how connections are established.
Write your function block once. It works across Cisco IOS, FRR, Junos, Arista EOS, or any other platform that has a registered plugin.
Quick Path
If you just want to connect and run a command:
Need a command that isn't a built-in capability? Use get_raw_connection() -- see Best Practices.
In This Section
| Guide | What you'll learn |
|---|---|
| Obtaining a Connection | get_connection(), the connect() context manager, and error handling |
| Proxies and Capabilities | Capability interfaces, proxy composition, and fallback methods |
| Plugins | Base plugins, platform plugins, and the registration decorator |
| Writing Capabilities | Creating new capability interfaces for custom operations |
| Writing Plugins | Implementing plugins for new vendors or connection libraries |
| Resolution and Defaults | The plugin resolution algorithm, defaults, and ambiguity handling |
| Architecture Deep Dive | ProxyMeta metaclass, method delegation, and fallback generation |
| Best Practices | Connection lifecycle, avoiding collisions, and cleanup patterns |
Quick start
For a hands-on introduction, see Connecting to Devices in the Getting Started guide.