Skip to main content

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

Project description

Build Status Code style: black 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

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:

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nornir-3.4.1.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

nornir-3.4.1-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file nornir-3.4.1.tar.gz.

File metadata

  • Download URL: nornir-3.4.1.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for nornir-3.4.1.tar.gz
Algorithm Hash digest
SHA256 82a90a3478a3890bef8ad51b256fa966e6e4ca326cbe20a230918ef907cf68c3
MD5 7de01cc6a7ff3dc1018164d68d717047
BLAKE2b-256 4809a8c30d645d6b5fd2e2a9b027eb60e6a2ac203e1686e14c22ff77fde01f3c

See more details on using hashes here.

File details

Details for the file nornir-3.4.1-py3-none-any.whl.

File metadata

  • Download URL: nornir-3.4.1-py3-none-any.whl
  • Upload date:
  • Size: 30.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for nornir-3.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 db079cb95e3baf855530f4f40cb6ee93f93e1bf3cb74ac08180546adb1b987b8
MD5 3e8a72aa20f46301e9842c25bc75e9be
BLAKE2b-256 a8d537cd8193061916a023f17d5cff70a9bfc8a7dfff1b075828eb5888f72c95

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page