RepoNVIDIANVIDIApublished Dec 1, 2025seen Jun 26

NVIDIA/nautobot-app-nvdatamodels

Python

Open original ↗

Captured source

source ↗
published Dec 1, 2025seen Jun 26captured Aug 29http 200method plain

NVIDIA/nautobot-app-nvdatamodels

Description: A Nautobot plugin which provides data models for NVIDIA products

Language: Python

License: NOASSERTION

Stars: 7

Forks: 4

Open issues: 0

Created: 2025-12-01T21:12:13Z

Pushed: 2026-07-22T17:37:15Z

Default branch: dev

Fork: no

Archived: no

README:

NVDataModels Nautobot App

Features

This app provides the tools necessary to model NVIDIA components in Nautobot.

This app provides the following models:

  • NVLinkDomain
  • NVLinkDomainMembership
  • ResourceBlock
  • ResourceBlockMembership

Installation

Once the project is mature, installing this app will follow the standard process for installing any Nautobot app:

1. Add nautobot-nvdatamodels to Nautobot's pyproject.toml 1. Add nautobot_nvdatamodels to PLUGINS in nautobot_config.py

Currently, there are no plugin configuration options to add to PLUGINS_CONFIG in nautobot_config.py.

Development Environment Setup

Prerequisites

This project requires Docker, Docker Compose, and uv.

On macOS, use homebrew to install Docker, Docker Compose, and uv:

brew install --cask docker
brew install docker-compose uv

Setup

1. Clone this project locally.

1. Install dependencies.

uv sync --all-extras

1. Build image.

invoke build

1. Start containers.

invoke start

The first time you start the containers with a fresh database, it will take 1-2 minutes for the Nautobot container to come up. Check progress by tailing the logs:

invoke logs -f # to stop

To enable automatic linting and formatting on file save, install the `ruff` VSCode plugin.

Once it's up, access the development server at .

Tips

Changes to code will auto-reload the worker for quick iteration. Tail the worker's logs for easier debugging:

invoke logs -f -s worker # to stop

If you're working with jobs, it's convenient to enable all jobs (which are disabled by default):

invoke enable-jobs # Idempotently enables all disabled jobs, if any

If you're developing a job and need to re-run it often for testing, consider this approach:

1. Run the job once in the GUI.

1. Copy the JobResult's UUID.

1. Re-run the job with the same parameters from the CLI:

invoke rerun-job

This is not only faster than the GUI-only method, but also gives you the option to feed debug output directly into AI agents, if you use an AI-assisted IDE like Cursor.

It's often helpful to populate Nautobot with dummy data for testing:

invoke cli
nautobot-server generate_test_data

See all available commands with:

invoke --help

Excerpt shown — open the source for the full document.

Notability

Scored, but no written rationale attached yet.

NVIDIA has a repo signal matching data demand, product and customer.