Nornir
What it is
Nornir is a free, open-source Python framework for automating work across network hosts and devices. Used directly from Python, it organizes inventory into hosts, groups, and defaults, then dispatches tasks. Each task is reusable code for one host that accepts a Task and returns a Result. Its included ThreadedRunner runs tasks across hosts using threads and defaults to 20 workers. Plugin options cover inventory, transformations, connections, runners, and processors, while community integrations include NAPALM, Netmiko, NetBox, Ansible inventories, Scrapli, and Nautobot. Nornir supports configuration management, workflow orchestration, and network testing, with listed platforms including Cisco IOS, Cisco NX-OS, Arista EOS, Junos, and Palo Alto PAN-OS. It is self-hosted and available for Linux and macOS. The package is published on PyPI and installed with pip; the current package requires Python 3.10 or later. Nornir uses the Apache-2.0 license. The project is stewarded by OpsMill and remains community-led.
For and against
For
- Free and open source under Apache-2.0.
- ThreadedRunner defaults to 20 workers.
- Supports configuration management and workflow orchestration.
- Community plugins connect with network tools and systems.
Against
- Requires Python 3.10 or later.
- Requires basic Python and package installation skills.
- Self-hosted deployment.
The verdict
Nornir provides a Python-centered way to manage inventory and dispatch network tasks. Its plugin ecosystem and threaded execution are useful for users comfortable working in Python.
Who it suits
Nornir suits users who can work with basic Python, including variables, functions, imports, and package installation. It is intended for network automation across supported devices and systems.
Plans and prices
Nornir
open source · Apache 2 license · public repositories
Read 30 Sep 2026 · opsmill.com
On the record
- Core responsibilities
- Nornir manages inventory and dispatches tasks to nodes and devices.nornir.readthedocs.io · read 30 Sep 2026
- Execution
- The included ThreadedRunner executes tasks over hosts using threads and defaults to 20 workers.nornir.readthedocs.io · read 30 Sep 2026
- Execution characteristics
- OpsMill describes Nornir as a pure Python, multi-vendor execution engine with parallel writes, idempotence, and dry-run safety.opsmill.com · read 30 Sep 2026
- Installation
- Nornir is published to PyPI and can be installed with pip install nornir.nornir.readthedocs.io · read 30 Sep 2026
- Integrations
- Community plugins support NAPALM, Netmiko, NetBox, Ansible inventories, Scrapli, Nautobot, and other systems and libraries.nornir.readthedocs.io · read 30 Sep 2026
- Intended users
- Users need basic Python knowledge, package installation skills, and familiarity with variables, functions, and imports.nornir.readthedocs.io · read 30 Sep 2026
- Inventory
- The inventory consists of hosts, groups, and defaults.nornir.readthedocs.io · read 30 Sep 2026
- License
- Nornir is distributed under the Apache-2.0 license.pypi.org · read 30 Sep 2026
- Plugin architecture
- Nornir supports inventory plugins, transform functions, connection plugins, runners, and processors.nornir.readthedocs.io · read 30 Sep 2026
- Project stewardship
- OpsMill states that it stewards, funds, and maintains Nornir while keeping it community-led and open source.opsmill.com · read 30 Sep 2026
- Python requirement
- The current PyPI package requires Python >=3.10 and provides classifiers through Python 3.14.pypi.org · read 30 Sep 2026
- Support
- Official support channels include GitHub issues and discussions, the OpsMill Discord #nornir channel, and a monitored Network to Code Slack channel.github.com · read 30 Sep 2026
- Task model
- A task is reusable code for a single host that takes a Task and returns a Result.nornir.readthedocs.io · read 30 Sep 2026
- What it does
- Nornir is a pure Python automation framework intended to be used directly from Python.github.com · read 30 Sep 2026