single |
![Build Status] [![Code style: black]](https://github.com/ambv/black)
[Coverage Status]
Nornir
=======
![logo][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
=======
Please note that Nornir requires Python 3.7 or higher. 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 in the following URL:
https://nornir.tech/nornir/plugins/
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 [poetry].
Documentation
=============
Read the [Nornir documentation] online or review its [code here]
Examples
========
You can find some examples and already made tools [here]
External Resources
==================
Below you can find links to talks, blog posts, podcasts and other
resources:
* April 2019 - Packet Pushers podcast - [Heavy Networking 445: An
Introduction To The Nornir Automation Framework]
* May 2018 - Software Gone Wild podcast - [IPSpace podcast about nornir]
* Sep 2018 - IPSpace network automation solutions - [Nornir workshop]
([slides])
* May 2018 - Networklore - [Introducing Nornir - The Python automation
framework]
* May 2018 - Cisco blogs - [Exploring Nornir, the Python Automation
Framework]
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
[networktoCode Slack team].
Contributing to Nornir
=======================
If you want to help the project, the [Contribution Guidelines] is the best
place to start.
|