Nornir
nornir.readthedocs.io
What it is
Nornir is a free, open-source Python automation framework for managing inventory and dispatching tasks to network nodes and devices. It is used directly from Python: inventories contain hosts, groups, and defaults, while reusable tasks accept a Task and return a Result. The included ThreadedRunner runs tasks across hosts with threads and defaults to 20 workers. Plugins cover inventories, transforms, connections, runners, and processors, with community integrations for NAPALM, Netmiko, NetBox, Ansible inventories, Scrapli, Nautobot, and other systems. Nornir supports configuration management, workflow orchestration, and network testing across platforms including Cisco IOS, Cisco NX-OS, Arista EOS, Junos, and Palo Alto PAN-OS. OpsMill describes parallel writes, idempotence, and dry-run safety. The package is published on PyPI and installs with pip; the current package requires Python 3.10 or later. It is self-hosted under Apache-2.0.
Spec sheet
- What it does
- Nornir is a pure Python automation framework intended to be used directly from Python.Read 30 Sep 2026 · github.com
- Intended users
- Users need basic Python knowledge, package installation skills, and familiarity with variables, functions, and imports.Read 30 Sep 2026 · nornir.readthedocs.io
- Integrations
- Community plugins support NAPALM, Netmiko, NetBox, Ansible inventories, Scrapli, Nautobot, and other systems and libraries.Read 30 Sep 2026 · nornir.readthedocs.io
- Support
- Official support channels include GitHub issues and discussions, the OpsMill Discord #nornir channel, and a monitored Network to Code Slack channel.Read 30 Sep 2026 · github.com
- License
- Nornir is distributed under the Apache-2.0 license.Read 30 Sep 2026 · pypi.org
- Core responsibilities
- Nornir manages inventory and dispatches tasks to nodes and devices.Read 30 Sep 2026 · nornir.readthedocs.io
- Execution
- The included ThreadedRunner executes tasks over hosts using threads and defaults to 20 workers.Read 30 Sep 2026 · nornir.readthedocs.io
- Execution characteristics
- OpsMill describes Nornir as a pure Python, multi-vendor execution engine with parallel writes, idempotence, and dry-run safety.Read 30 Sep 2026 · opsmill.com
- Installation
- Nornir is published to PyPI and can be installed with pip install nornir.Read 30 Sep 2026 · nornir.readthedocs.io
- Inventory
- The inventory consists of hosts, groups, and defaults.Read 30 Sep 2026 · nornir.readthedocs.io
- Plugin architecture
- Nornir supports inventory plugins, transform functions, connection plugins, runners, and processors.Read 30 Sep 2026 · nornir.readthedocs.io
- Project stewardship
- OpsMill states that it stewards, funds, and maintains Nornir while keeping it community-led and open source.Read 30 Sep 2026 · opsmill.com
- Python requirement
- The current PyPI package requires Python >=3.10 and provides classifiers through Python 3.14.Read 30 Sep 2026 · pypi.org
- Task model
- A task is reusable code for a single host that takes a Task and returns a Result.Read 30 Sep 2026 · nornir.readthedocs.io
Plans and prices
Strong points and limits
Strong points
- Free open-source Apache-2.0 license
- Threaded execution defaults to 20 workers
- Extensible plugin architecture
- Community integrations with network tools
- Supports configuration and network testing
Limits
- Requires Python 3.10 or later
- Requires basic Python knowledge
- Self-hosted deployment
Who it suits
It suits users comfortable with basic Python, package installation, variables, functions, and imports who need self-hosted network automation. Support is available through GitHub, Discord, and Network to Code Slack.
Verdict
Nornir provides Python-native inventory and task execution with threading and a broad plugin ecosystem. Its self-hosted model and Python requirement make it most appropriate for technically prepared network automation users.
Where Specifiction places it
- Data Center Networking Solutions#8 of 177.5
- Network Automation Software#17 of 297.3