nornir-automation/nornir

Pluggable multi-threaded framework with inventory management to help operate collections of devices

Python

1,629

876 commits

updated Oct 14, 2026

See the code

README

Build Status Ruff Coverage Status

Nornir

logo

Nornir is a pure Python automation framework intented to be used directly from Python. While most automation frameworks use their own Domain Specific Language (DSL) which you use to describe what you want to have done, Nornir lets you control everything from Python.

One of the benefits we want to highlight with this approach is the ease of troubleshooting, if something goes wrong you can just use your existing debug tools directly from Python (just add a line of import pdb & pdb.set_trace() and you're good to go). Doing the same using a DSL can be quite time consuming.

What Nornir brings to the table is that it takes care of dealing with your inventory and manages the job of dispatching the tasks you want to run against your nodes and devices. The framework provides a very simple way to write plugins if you aren't happy with the ones we ship. Of course if you have written a plugin you think can be useful to others, please send us your code and test cases as a pull request.

Install

Install Nornir with pip.

pip install nornir

Plugins

Since version 3.0.0 nornir doesn't ship with plugins, instead you can rely on pip to install them for you. You can find a non-exhaustive list of plugins here: https://nornir.readthedocs.io/en/latest/community/plugin_list.html

If you wrote a plugin and want to add it to the list don't hesitate to add it yourself

Development version

If you want to clone the repo and install it from there you will need to use uv.

Documentation

Read the Nornir documentation online or review its code here

External Resources

Below you can find links to talks, blog posts, podcasts and other resources:

Bugs & New features

If you think you have bug or would like to request a new feature, please register a GitHub account and open an issue.

Contact & Support

Official channel for communicating issues is via GitHub issues and you can use GitHub discussions for general discussions around nornir.

In addition, you can join the community in our #nornir channel in the OpsMill Discord server.

There's also a Slack channel in the networktoCode Slack team that's being monitored.

Contributing to Nornir

If you want to help the project, the Contribution Guidelines is the best place to start.

nornir-automation/nornir

Pluggable multi-threaded framework with inventory management to help operate collections of devices

Python

1,629

876 commits

updated Oct 14, 2026

See the code

README

Build Status Ruff Coverage Status

Nornir

logo

Nornir is a pure Python automation framework intented to be used directly from Python. While most automation frameworks use their own Domain Specific Language (DSL) which you use to describe what you want to have done, Nornir lets you control everything from Python.

One of the benefits we want to highlight with this approach is the ease of troubleshooting, if something goes wrong you can just use your existing debug tools directly from Python (just add a line of import pdb & pdb.set_trace() and you're good to go). Doing the same using a DSL can be quite time consuming.

What Nornir brings to the table is that it takes care of dealing with your inventory and manages the job of dispatching the tasks you want to run against your nodes and devices. The framework provides a very simple way to write plugins if you aren't happy with the ones we ship. Of course if you have written a plugin you think can be useful to others, please send us your code and test cases as a pull request.

Install

Install Nornir with pip.

pip install nornir

Plugins

Since version 3.0.0 nornir doesn't ship with plugins, instead you can rely on pip to install them for you. You can find a non-exhaustive list of plugins here: https://nornir.readthedocs.io/en/latest/community/plugin_list.html

If you wrote a plugin and want to add it to the list don't hesitate to add it yourself

Development version

If you want to clone the repo and install it from there you will need to use uv.

Documentation

Read the Nornir documentation online or review its code here

External Resources

Below you can find links to talks, blog posts, podcasts and other resources:

Bugs & New features

If you think you have bug or would like to request a new feature, please register a GitHub account and open an issue.

Contact & Support

Official channel for communicating issues is via GitHub issues and you can use GitHub discussions for general discussions around nornir.

In addition, you can join the community in our #nornir channel in the OpsMill Discord server.

There's also a Slack channel in the networktoCode Slack team that's being monitored.

Contributing to Nornir

If you want to help the project, the Contribution Guidelines is the best place to start.

Project health

Overall

6.2/10

Maintained

10/10

Code review

10/10
OpenSSF Scorecard

PyPI

Latest release

3.6.0 · Aug 2, 2026

Releases this year

1

Significant stargazers

Bruno Rocha

4,690 followers · starred Feb 2026

Joan Touzet

228 followers · starred Dec 2024

netixx

11 followers · starred Sep 2019

J0J0 Todos

75 followers · starred Oct 2025