Metadata-Version: 2.4
Name: infrahub-sync
Version: 1.5.2
Summary: Infrahub-Sync is a versatile Python package that synchronizes data between a source and a destination system
Project-URL: Homepage, https://opsmill.com
Project-URL: Repository, https://github.com/opsmill/infrahub
Project-URL: Documentation, https://docs.infrahub.app/sync/
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
Requires-Python: <3.14,>=3.10
Requires-Dist: diffsync[redis]<3.0,>=2.1
Requires-Dist: infrahub-sdk[all]<2,>=1.17
Requires-Dist: netutils<2.0,>=1.9
Requires-Dist: structlog<26.0,>=25.1
Requires-Dist: tqdm>=4.67
Provides-Extra: dev
Requires-Dist: invoke>=2.2.1; extra == 'dev'
Requires-Dist: ipython; extra == 'dev'
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pre-commit<5.0,>=4.0; extra == 'dev'
Requires-Dist: pylint; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: pytest-clarity>=1.0.1; extra == 'dev'
Requires-Dist: pytest-cov<8,>=7; extra == 'dev'
Requires-Dist: pytest-httpx; extra == 'dev'
Requires-Dist: pytest-xdist>=3.8; extra == 'dev'
Requires-Dist: requests; extra == 'dev'
Requires-Dist: ruff<0.15,>=0.14; extra == 'dev'
Requires-Dist: typer-cli; extra == 'dev'
Requires-Dist: types-python-slugify>=8.0.2.20240310; extra == 'dev'
Requires-Dist: types-pyyaml; extra == 'dev'
Requires-Dist: types-toml; extra == 'dev'
Requires-Dist: types-ujson; extra == 'dev'
Requires-Dist: yamllint>=1.37.1; extra == 'dev'
Description-Content-Type: text/markdown

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

# Infrahub Sync

[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.

## Introduction

Infrahub Sync is a versatile Python package that synchronizes data between a source and a destination system. It builds on the robust capabilities of `diffsync` to offer flexible and efficient data synchronization across different platforms, including Netbox, Nautobot, and Infrahub. This package features a Typer-based CLI for ease of use, supporting operations such as listing available sync projects, generating diffs, and executing sync processes.

For comprehensive documentation on using Infrahub Sync, visit the [official Infrahub Sync documentation](https://docs.infrahub.app/sync/)

## Contributing

For information on setting up a development environment, running tests, and publishing releases, see the [Development guide](https://docs.infrahub.app/sync/development).
