| Name | infrahub-sync JSON |
| Version |
0.4.1
JSON |
| download |
| home_page | https://opsmill.com |
| Summary | Infrahub-Sync is a versatile Python package that synchronizes data between a source and a destination system |
| upload_time | 2024-05-17 10:27:55 |
| maintainer | None |
| docs_url | None |
| author | OpsMill |
| requires_python | <3.13,>=3.9 |
| license | Apache-2.0 |
| keywords |
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
<!-- markdownlint-disable -->

<!-- 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.
### Features
- **Multiple Systems Support**: Synchronize data between Netbox, Nautobot, and Infrahub.
- **Flexible Configuration**: Define synchronization tasks with YAML configuration files.
- **CLI Interface**: Manage sync tasks directly from the command line.
- **Custom Sync Logic**: Generate Python code for custom sync adapters and models using provided Jinja templates.
### Requirements
Requirements
- The two latest Infrahub releases
- Python >=3.9, <3.13
- Python modules:
- infrahub-sdk >= 0.9.0
## Documentation
Please refer to the [Infrahub Sync](https://docs.infrahub.app/integrations/sync/) documentation.
## Project Structure
```bash
.
├── README.md
├── examples
│ ├── nautobot-v1_to_infrahub
│ │ ├── config.yml
│ │ ├── infrahub
│ │ │ ├── __init__.py
│ │ │ ├── sync_adapter.py
│ │ │ └── sync_models.py
│ │ └── nautobot
│ │ ├── __init__.py
│ │ ├── sync_adapter.py
│ │ └── sync_models.py
│ ├── nautobot-v2_to_infrahub
│ │ ├── config.yml
│ │ ├── infrahub
│ │ │ ├── __init__.py
│ │ │ ├── sync_adapter.py
│ │ │ └── sync_models.py
│ │ └── nautobot
│ │ ├── __init__.py
│ │ ├── sync_adapter.py
│ │ └── sync_models.py
│ └── netbox_to_infrahub
│ ├── config.yml
│ ├── infrahub
│ │ ├── __init__.py
│ │ ├── sync_adapter.py
│ │ └── sync_models.py
│ └── netbox
│ ├── __init__.py
│ ├── sync_adapter.py
│ └── sync_models.py
├── infrahub-sync
│ ├── infrahub_sync
│ │ ├── __init__.py
│ │ ├── adapters
│ │ │ ├── infrahub.py
│ │ │ ├── nautobot.py
│ │ │ └── netbox.py
│ │ ├── cli.py
│ │ ├── generator
│ │ │ ├── __init__.py
│ │ │ ├── templates
│ │ │ │ ├── diffsync_adapter.j2
│ │ │ │ └── diffsync_models.j2
│ │ │ └── utils.py
│ │ └── utils.py
│ └── tests
│ └── __init__.py
├── poetry.lock
├── potenda
│ └── potenda
│ └── __init__.py
└── pyproject.toml
```
Raw data
{
"_id": null,
"home_page": "https://opsmill.com",
"name": "infrahub-sync",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.9",
"maintainer_email": null,
"keywords": null,
"author": "OpsMill",
"author_email": "info@opsmill.com",
"download_url": "https://files.pythonhosted.org/packages/13/e6/4f4e097770bb5a65615d9ade2b63fd951a09fc4a32bdac282fec4d2f8645/infrahub_sync-0.4.1.tar.gz",
"platform": null,
"description": "<!-- markdownlint-disable -->\n\n<!-- markdownlint-restore -->\n\n# Infrahub Sync\n\n[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:\n\n- **A Flexible Schema**: A model of the infrastructure and the relation between the objects in the model, that's easily extensible.\n- **Version Control**: Natively integrated into the graph database which opens up some new capabilities like branching, diffing, and merging data directly in the database.\n- **Unified Storage**: By combining a graph database and git, Infrahub stores data and code needed to manage the infrastructure.\n\n## Introduction\n\nInfrahub 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.\n\n### Features\n\n- **Multiple Systems Support**: Synchronize data between Netbox, Nautobot, and Infrahub.\n- **Flexible Configuration**: Define synchronization tasks with YAML configuration files.\n- **CLI Interface**: Manage sync tasks directly from the command line.\n- **Custom Sync Logic**: Generate Python code for custom sync adapters and models using provided Jinja templates.\n\n### Requirements\n\nRequirements\n\n- The two latest Infrahub releases\n- Python >=3.9, <3.13\n- Python modules:\n - infrahub-sdk >= 0.9.0\n\n## Documentation\n\nPlease refer to the [Infrahub Sync](https://docs.infrahub.app/integrations/sync/) documentation.\n\n## Project Structure\n\n```bash\n.\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 examples\n\u2502 \u251c\u2500\u2500 nautobot-v1_to_infrahub\n\u2502 \u2502 \u251c\u2500\u2500 config.yml\n\u2502 \u2502 \u251c\u2500\u2500 infrahub\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 sync_adapter.py\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 sync_models.py\n\u2502 \u2502 \u2514\u2500\u2500 nautobot\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 sync_adapter.py\n\u2502 \u2502 \u2514\u2500\u2500 sync_models.py\n\u2502 \u251c\u2500\u2500 nautobot-v2_to_infrahub\n\u2502 \u2502 \u251c\u2500\u2500 config.yml\n\u2502 \u2502 \u251c\u2500\u2500 infrahub\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 sync_adapter.py\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 sync_models.py\n\u2502 \u2502 \u2514\u2500\u2500 nautobot\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 sync_adapter.py\n\u2502 \u2502 \u2514\u2500\u2500 sync_models.py\n\u2502 \u2514\u2500\u2500 netbox_to_infrahub\n\u2502 \u251c\u2500\u2500 config.yml\n\u2502 \u251c\u2500\u2500 infrahub\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 sync_adapter.py\n\u2502 \u2502 \u2514\u2500\u2500 sync_models.py\n\u2502 \u2514\u2500\u2500 netbox\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u251c\u2500\u2500 sync_adapter.py\n\u2502 \u2514\u2500\u2500 sync_models.py\n\u251c\u2500\u2500 infrahub-sync\n\u2502 \u251c\u2500\u2500 infrahub_sync\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 adapters\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 infrahub.py\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 nautobot.py\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 netbox.py\n\u2502 \u2502 \u251c\u2500\u2500 cli.py\n\u2502 \u2502 \u251c\u2500\u2500 generator\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 templates\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 diffsync_adapter.j2\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 diffsync_models.j2\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 utils.py\n\u2502 \u2502 \u2514\u2500\u2500 utils.py\n\u2502 \u2514\u2500\u2500 tests\n\u2502 \u2514\u2500\u2500 __init__.py\n\u251c\u2500\u2500 poetry.lock\n\u251c\u2500\u2500 potenda\n\u2502 \u2514\u2500\u2500 potenda\n\u2502 \u2514\u2500\u2500 __init__.py\n\u2514\u2500\u2500 pyproject.toml\n```\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Infrahub-Sync is a versatile Python package that synchronizes data between a source and a destination system",
"version": "0.4.1",
"project_urls": {
"Documentation": "https://docs.infrahub.app/integrations/sync/",
"Homepage": "https://opsmill.com",
"Repository": "https://github.com/opsmill/infrahub"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "23d05de81faa0a8f9db74b25aeae5bcc82286e221ed67bb1ec16ef32b8380c94",
"md5": "2ee3aeaa3264da1c3d24c58b1d8c45d2",
"sha256": "169a49c5f4e6a410f03b3eb52d20767d3bc58b262492a8c1042d4e20a16ca0d6"
},
"downloads": -1,
"filename": "infrahub_sync-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2ee3aeaa3264da1c3d24c58b1d8c45d2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.9",
"size": 16785,
"upload_time": "2024-05-17T10:27:53",
"upload_time_iso_8601": "2024-05-17T10:27:53.130460Z",
"url": "https://files.pythonhosted.org/packages/23/d0/5de81faa0a8f9db74b25aeae5bcc82286e221ed67bb1ec16ef32b8380c94/infrahub_sync-0.4.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "13e64f4e097770bb5a65615d9ade2b63fd951a09fc4a32bdac282fec4d2f8645",
"md5": "3fd14ec1f3d245b9b6653281057aea80",
"sha256": "cbaeafd8f510ff1ff401f4e0306a99fae600ebd9ede0e9efaa30beca008ab2f4"
},
"downloads": -1,
"filename": "infrahub_sync-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "3fd14ec1f3d245b9b6653281057aea80",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.9",
"size": 14686,
"upload_time": "2024-05-17T10:27:55",
"upload_time_iso_8601": "2024-05-17T10:27:55.978581Z",
"url": "https://files.pythonhosted.org/packages/13/e6/4f4e097770bb5a65615d9ade2b63fd951a09fc4a32bdac282fec4d2f8645/infrahub_sync-0.4.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-17 10:27:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "opsmill",
"github_project": "infrahub",
"github_not_found": true,
"lcname": "infrahub-sync"
}