NAPALM alternatives and similar packages
Based on the "Networking" category.
Alternatively, view NAPALM alternatives based on common mentions on social networks and blogs.
uvloop8.8 6.8 L4 NAPALM VS uvloopUltra fast asyncio event loop.
Twisted8.3 9.8 L3 NAPALM VS TwistedEvent-driven networking engine written in Python.
trio8.0 8.3 NAPALM VS trioTrio – a friendly Python library for async concurrency and I/O
curio7.6 3.9 L3 NAPALM VS curioGood Curio!
pyzmq7.6 8.5 L4 NAPALM VS pyzmqPyZMQ: Python bindings for zeromq
IVRE7.4 8.1 NAPALM VS IVRENetwork recon framework. Build your own, self-hosted and fully-controlled alternatives to Shodan / ZoomEye / Censys and GreyNoise, run your Passive DNS service, collect and analyse network intelligence from your sensors, and much more!
pulsar6.3 0.0 L3 NAPALM VS pulsarEvent-driven concurrent framework for Python.
asyncio5.2 0.0 L4 NAPALM VS asyncio(Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
LDAP34.8 0.0 NAPALM VS LDAP3a strictly RFC 4510 conforming LDAP V3 pure Python client. The same codebase works with Python 2. Python 3, PyPy and PyPy3
diesel3.8 0.0 L4 NAPALM VS dieselGreenlet-based event I/O Framework for Python
amqpstorm2.6 4.6 L5 NAPALM VS amqpstormThread-safe Python RabbitMQ Client & Management library
txZMQ2.6 0.0 L4 NAPALM VS txZMQZeroMQ bindings for Twisted
🚀 IPpy1.3 0.0 NAPALM VS 🚀 IPpy:rocket: Ping IP addresses and domains in parallel to find the accessible and inaccessible ones.
quick-net0.7 0.0 NAPALM VS quick-netThis is a top level socket library, making servers and clients EASY!
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of NAPALM or a related project?
NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is a Python library that implements a set of functions to interact with different router vendor devices using a unified API.
[NAPALM logo](static/logo.png?raw=true "NAPALM logo")
NAPALM supports several methods to connect to the devices, to manipulate configurations or to retrieve data.
Supported Network Operating Systems
Please check the following link to see which devices are supported. Make sure you understand the caveats.
Before using the library, please read the documentation at: Read the Docs
You can also watch a live demo of NAPALM to see what it is and what it can do for you.
pip install napalm
Note: Beginning with release 4.0.0 and later, NAPALM offers support for Python 3.7+ only.
Note: Beginning with release 3.0.0 and later, NAPALM offers support for Python 3.6+ only.
We plan to upgrade napalm as fast as possible. Adding new methods and bugfixes. To upgrade napalm it's a simple as repeating the steps you performed while installing but adding the
-U flag. For example:
pip install napalm -U
We will be posting news on our slack channel and on Twitter.
Due to its flexibility, NAPALM can be integrated in widely used automation frameworks.
Please check napalm-ansible for existing Ansible modules leveraging the NAPALM API. Make sure you read the documentation and you understand how it works before trying to use it.
Beginning with release code named
Carbon (2016.11), NAPALM is fully integrated in SaltStack - no additional modules required. For setup recommendations, please see napalm-salt. For documentation and usage examples, you can check the modules documentation, starting from the release notes and this blog post.
NAPALM is usable from StackStorm using the NAPALM integration pack. See that repository for instructions on installing and configuring the pack to work with StackStorm. General StackStorm documentation can be found at https://docs.stackstorm.com/, and StackStorm can be easily spun up for testing using Vagrant or Docker.
Slack is probably the easiest way to get help with NAPALM. You can find us in the channel
napalm on the network.toCode() team.
If you have any issues using NAPALM or encounter any errors, before submitting any questions (directly by email or on Slack), please go through the following checklist:
- Make sure you have the latest release installed. We release very often, so upgrading to the latest version might help in many cases.
- Double check you are able to access the device using the credentials provided.
- Does your device meet the minimum requirements?
- Some operating systems have some specific constraints. (e.g. have you enabled the XML agent on IOS-XR, or the NXAPI feature on NXOS?)
- Are you able to connect to the device using NAPALM? Check using napalm CLI to get_facts:
$ napalm --vendor VENDOR --user USERNAME --password PASSWORD --optional_args OPTIONAL_ARGS HOSTNAME call get_facts
Where vendor, username, password and hostname are mandatory. Optional arguments are specified as comma separated values.
$ napalm --vendor junos --user napalm --password dbejmujz --optional_args 'port=12202, config_lock=False' edge01.bjm01 call get_facts
In case you have any errors, please review the steps above - this looks like a problem with your environment setup.
In order to get help faster, when submitting a bug/error make sure to include all the details requested.
- NAPALM, Ansible, and Cisco IOS by Kirk Byers
- Adding Cisco IOS support to NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) by Gabriele Gerbino
- Network orchestration with Salt and NAPALM by Mircea Ulinic
- Network Configuration Consistency with StackStorm and NAPALM by Matt Oswalt
- NANOG 64 Presentation & Demo by David Barroso and Elisa Jasinska
- Netnod Autumn Meeting 2015 Presentation by David Barroso
- Automating IXP Device Configurations with Ansible at the Euro-IX Forum by Elisa Jasinska
- Network Automation with Salt and NAPALM at NANOG 68; video; recorded demo by Mircea Ulinic
- NAPALM: Integrating Ansible with Network Devices on Software Gone Wild with David Barroso and Elisa Jasinska
- David Barroso ([email protected])
- Mircea Ulinic ([email protected])
- Kirk Byers ([email protected])
- Elisa Jasinska ([email protected])
- Many others, check the contributors page for details.
This project is maintained by David Barroso, Mircea Ulinic, and Kirk Byers and a set of other contributors.
Originally it was hosted by the Spotify organization but due to the many contributions received by third parties we agreed creating a dedicated organization for NAPALM and give a big thanks to Spotify for the support.