Inventory Viewer
Inventory Viewer is a plugin for NetBox that displays modules (NetBox dcim.Module objects) in tables, grouped by their module types. This plugin is especially helpful if you need a quick overview of installed modules and their properties (like serial numbers, asset tags, location, cable connections, notes, and custom fields).
Features
- Grouped Module Tables: Displays modules organized by module type on a dedicated page.
- Custom Fields Integration: Shows data from custom fields (e.g., “rok_zavedeni” or “merici_bod”) if present.
- Cable Connections: Prints out cable termination endpoints for each module, indicating how they’re connected.
- Site & Location Overviews: For each module, provides an at-a-glance view of where it resides (site, location, device).
- Easy Navigation: Integrated into NetBox’s main menu (under “Plugins”) for fast access to the module tables.
Requirements
This plugin has been developed and tested on:
- NetBox: version
4.1.6 - Python: version
3.10.12or higher
While it may work on later NetBox versions, these are the ones used during development and testing. If you encounter any incompatibility, please open an issue.
Installation
Step 1: Install using pip
pip install inventory_viewer
Step 2: Add the plugin into PLUGINS array in configuration.py
PLUGINS = [
'inventory_viewer',
# Other plugins...
]
Step 3: Run netbox(for example)
python manage.py runserver
Usage
View Modules
-
In the NetBox main menu, find “Inventory Viewer” under the Plugins section.
-
The plugin automatically lists all modules in NetBox, grouped by module type (e.g., Silicom N5010, Silicom N6010, etc.).
-
Each module’s entry shows:
- Serial (SN)
- Custom Fields like “rok_zavedeni,” “merici_bod,” etc.
- Asset Tag (Ev. č.)
- Location (site, location, device)
- Cable Connections (includes connected interfaces or ports and where they lead)
- Notes (comments field)
Cable Connections
When a module is connected via front/rear ports or interfaces, the plugin displays a short summary describing each cable’s endpoints, for example:
DeviceA/Eth1 <-> DeviceB/Eth3
Custom Fields
If your NetBox instance has custom fields like “rok_zavedeni” or “merici_bod” defined for the dcim.Module model, those values automatically appear as columns in the module table.
Project Structure
inventory_viewer/
├── views.py # Transfer and linking logic
├── templates/ # HTML templates
├── urls.py # Plugin URLs
├── navigation.py # Plugin menu entries
└── tables.py/ # Custom table
Changelog
v1.0.1
- Plugin now shows cables which have only one termination (termination A)
- Added headers to each file
v1.0
- Initial release: Displays modules grouped by module type in tables
- Shows cable connections, device location, and custom fields
- Integrates directly into NetBox’s plugin menu
Notes
-
Non-Intrusive: This plugin does not override NetBox’s core behavior or templates. It only adds new pages and logic within the plugin framework.
-
Custom Fields: If you have not defined the custom fields (“rok_zavedeni”/“merici_bod”), you have to define them in your netbox instance, i tried to make this via python script but it didn't work. I defined rok_zavedeni as integer and merici_bod as text.
-
Cable Data: The plugin relies on standard dcim.Module relationships (frontports, rearports, interfaces). If a module’s device or ports are not set properly, the cable connection info may appear incomplete.
Author
Viktor Kubec
BUT FIT Brno student
MIT License
GitHub: vubeckubec/inventory_viewer
Metadata
Release files for inventory-viewer 1.0.1
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 |
|---|---|---|---|---|
| inventory_viewer-1.0.1.tar.gz | 9.0 kB | Without provenance | Details for inventory_viewer-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| inventory_viewer-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for inventory_viewer-1.0.1-py3-none-any.whl |
Total release size: 18.3 kB
Release files / inventory_viewer-1.0.1.tar.gz
| Download URL | inventory_viewer-1.0.1.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cdf301c4b0cb535acda0344f1bc80b2c7ab04fbc554f806f902576cea801fcf7
|
|
BLAKE2b-256 checksum How to use checksums |
442a9ce5a1bac91acc380445668e7239337f12f8e853a5e8d23e01f20c9477af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.10.12
|
Release files / inventory_viewer-1.0.1-py3-none-any.whl
| Download URL | inventory_viewer-1.0.1-py3-none-any.whl |
|---|---|
| Size | 9.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ab74b948ce3d0a3bac6da890b298213480b27daa32fd217d8a84181495c77b3b
|
|
BLAKE2b-256 checksum How to use checksums |
b536fa6bcc380217e19e84078d27b44131dce37e4db06db84d4435fc7ceaf1c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.10.12
|
Security for inventory-viewer 1.0.1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A 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.