Nautobot Digital Twin
An app for Nautobot that creates and manages disposable lab environments ("digital twins") from Nautobot source-of-truth data.
What this app does
- Builds topology definitions from Nautobot
Location,Device,Interface, andCabledata. - Deploys and destroys labs using containerlab (SSH to a lab host).
- Supports Golden Config integration:
- deploy with intended config files,
- push intended config to running labs,
- execute "generate intended config" and push in one workflow.
- Adds Location Job Buttons for quick start/stop operations.
Installation
Install from PyPI:
pip install nautobot-app-digital-twin
Enable it in nautobot_config.py:
PLUGINS = [
"nautobot_digital_twin",
]
PLUGINS_CONFIG = {
"nautobot_digital_twin": {
"BACKEND": "containerlab",
"CONTAINERLAB_SSH_HOST": "172.16.6.128",
"CONTAINERLAB_SSH_PORT": 22,
"CONTAINERLAB_SSH_USER": "clab",
"CONTAINERLAB_SSH_PASSWORD": "clab",
}
}
Run post-upgrade and restart services:
nautobot-server post_upgrade
Optional: create/update Location job buttons:
nautobot-server ensure_digital_twin_job_buttons
Key settings
Common PLUGINS_CONFIG["nautobot_digital_twin"] settings:
BACKEND: must becontainerlab(only supported backend)LOCATION_TYPE_NAME: Location type where Start/Stop buttons are shownCONTAINERLAB_SSH_*: credentials/host for remote containerlab serverCONTAINERLAB_PLATFORM_MAP: map platform names to node kind/imageREMOVE_CONFIG_LINES/REPLACE_CONFIG_PATTERNS/PLATFORM_ADD_CONFIG_LINES: intended-config filtering pipelineDIGITAL_TWIN_AUTO_DESTROY_MINUTES: automatic cleanup timer
See the full docs for all available options.
Documentation
- User Guide: User Guide
- Admin Guide: Admin Guide
- Developer Guide: Developer Guide
- Release Notes: Release Notes
Development
This repository includes:
- GitHub CI and release workflows (lint, test, docs build, PyPI publish).
- MkDocs configuration (
mkdocs.yml) and Read the Docs config (.readthedocs.yaml).
Run docs locally:
poetry install --with docs
poetry run mkdocs serve
Support
- Open an issue in this repository.
- For Nautobot community help, join
#nautoboton Network to Code Slack.
Metadata
Release files for nautobot-app-digital-twin 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| nautobot_app_digital_twin-0.1.0.tar.gz | 2.3 MB | With provenance | Details for nautobot_app_digital_twin-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| nautobot_app_digital_twin-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for nautobot_app_digital_twin-0.1.0-py3-none-any.whl |
Total release size: 4.7 MB
Release files / nautobot_app_digital_twin-0.1.0.tar.gz
| Download URL | nautobot_app_digital_twin-0.1.0.tar.gz |
|---|---|
| Size | 2.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
28a03bf9d01758b7efd97bbce8db58d2c1ae8e7f8247bfa53efb5db1c7d514aa
|
|
BLAKE2b-256 checksum How to use checksums |
461c64aa3ee4ff77b403e6760f53d64c03ded3e73e5e167aff8d6be6b6e59db8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 3, 2026.
Transparency logRelease files / nautobot_app_digital_twin-0.1.0-py3-none-any.whl
| Download URL | nautobot_app_digital_twin-0.1.0-py3-none-any.whl |
|---|---|
| Size | 2.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a25a64e38c7ec1056a15f54c945324c95dffe54c7985ceefb99a98ac2cc2006c
|
|
BLAKE2b-256 checksum How to use checksums |
3f820abc03106a23a0c47ef0ad6463fcfa917694c76e28c399911ff12277feae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 3, 2026.
Transparency logSecurity for nautobot-app-digital-twin 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for nautobot_app_digital_twin-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 3, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.