Metadata-Version: 2.4
Name: nornir-infrahub
Version: 1.2.0
Summary: Nornir plugin for Infrahub
Project-URL: Homepage, https://opsmill.com
Project-URL: Repository, https://github.com/opsmill/nornir-infrahub
Project-URL: Documentation, https://docs.infrahub.app/
Author-email: OpsMill <info@opsmill.com>
License-Expression: Apache-2.0
License-File: LICENSE.txt
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <3.15,>=3.10
Requires-Dist: infrahub-sdk<2,>=1.20.1
Requires-Dist: nornir-utils<0.3,>=0.2.0
Requires-Dist: nornir<4,>=3.5.0
Requires-Dist: pydantic<3,>=2.0.0
Requires-Dist: python-slugify<9,>=8.0.4
Requires-Dist: ruamel-yaml<0.20,>=0.18.17
Description-Content-Type: text/markdown

<!-- rumdl-disable -->
![Infrahub Logo](https://assets-global.website-files.com/657aff4a26dd8afbab24944b/657b0e0678f7fd35ce130776_Logo%20INFRAHUB.svg)
<!-- rumdl-enable -->

# Nornir plugin for Infrahub

[Infrahub](https://github.com/opsmill/infrahub) by [OpsMill](https://opsmill.com) acts as a central hub to manage the data, templates and playbooks that powers your infrastructure. At its heart, Infrahub is built on 3 fundamental pillars:

- **A Flexible Schema**: A model of the infrastructure and the relation between the objects in the model, that's easily extensible.
- **Version Control**: Natively integrated into the graph database which opens up some new capabilities like branching, diffing, and merging data directly in the database.
- **Unified Storage**: By combining a graph database and git, Infrahub stores data and code needed to manage the infrastructure.

## Nornir

A [Nornir](https://github.com/nornir-automation/nornir) plugin for Infrahub. Infrahub can be used as an inventory source for Nornir.

## Installation

```console
pip install nornir-infrahub
```

## Documentation

Documentation for using Nornir is available in the [Nornir-Infrahub documentation](https://docs.infrahub.app/nornir/).

## Development

### Setup

```console
uv sync
```

### Linting and Formatting

```console
invoke lint          # Run all linters (yaml, ruff, pylint, ty)
invoke format        # Auto-format code with ruff
```

### Documentation

```console
invoke docs-install  # Install npm dependencies for docs
invoke docs-serve    # Start dev server at http://localhost:3000
invoke docs-build    # Build production documentation
invoke generate-docs # Generate plugin reference docs from docstrings
```

### Testing

```console
pytest               # Run all tests
```
