NetBox Plugin Reloader
A NetBox plugin that dynamically reloads plugins without requiring a server restart. This plugin ensures that NetBox properly registers all plugin models and form fields that might have been missed during the initial application startup.
Features
- Dynamically registers plugin models that were missed during server startup
- Refreshes custom field form definitions to include newly registered models
- Refreshes tag form definitions to include newly registered models
- Prevents duplicate view tab registrations caused by dynamic model plugins
- Helps solve integration issues between NetBox and other plugins
- No configuration required - works out of the box
Compatibility Matrix
| NetBox Version | Plugin Version |
|---|---|
| 4.2.x | 0.0.2 |
| 4.3.x | 4.3.x |
| 4.4.x | 4.4.x |
| 4.5.0 - 4.5.3 | 4.5.0.1 |
| 4.5.4+ | 4.5.4.x |
| 4.6.x | 4.6.x |
| 4.7.x | 4.7.x |
Version Format: X.X.Y.Z where X.X = NetBox major.minor version (e.g., 4.5), Y = NetBox patch version (e.g., 0), and Z = plugin release increment
Installation
The plugin is available as a Python package on PyPI and can be installed with pip:
pip install netbox-plugin-reloader
To enable the plugin, add it to the PLUGINS list in your configuration.py:
PLUGINS = [
'other_plugin',
'another_plugin',
'netbox_plugin_reloader', # Always add netbox_plugin_reloader last!
]
After installing the plugin:
-
Restart NetBox:
sudo systemctl restart netbox
-
Ensure that
netbox-plugin-reloaderis included in yourlocal_requirements.txtif you're using the official NetBox installation method.
For more details, see the NetBox Documentation.
Important Note
netbox_plugin_reloader must be the last item in your PLUGINS list! This ensures that it can properly detect and register all models from other plugins that may have been missed during the initial startup process.
How It Works
When NetBox starts, Plugin Reloader:
- Scans all enabled plugins for models that aren't properly registered in NetBox's feature registry
- Registers any missed models with NetBox's registration system
- Deduplicates view registrations (e.g. Journal, Changelog tabs) that may have accumulated due to dynamic model plugins regenerating model classes during startup
- Refreshes custom field form definitions to ensure they include all registered models
- Refreshes tag form definitions to ensure they include all registered models
This helps resolve issues where plugins might not fully integrate with NetBox due to load order problems without requiring a server restart. The reloader specifically updates custom field choices and tag choices to include newly registered plugin models.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Author
Jan Krupa jan.krupa@cesnet.cz
Links
Metadata
Release files for netbox-plugin-reloader 4.7.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 |
|---|---|---|---|---|
| netbox_plugin_reloader-4.7.0.1.tar.gz | 12.1 kB | With provenance | Details for netbox_plugin_reloader-4.7.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| netbox_plugin_reloader-4.7.0.1-py3-none-any.whl | Python 3 | none | any | Details for netbox_plugin_reloader-4.7.0.1-py3-none-any.whl |
Total release size: 25.0 kB
Release files / netbox_plugin_reloader-4.7.0.1.tar.gz
| Download URL | netbox_plugin_reloader-4.7.0.1.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
71e3a126d0a066b73ccb72cb46fa78d1b72708e9377e8cb6163e9b141dba9377
|
|
BLAKE2b-256 checksum How to use checksums |
32290ef2788803ead156d7a41e7ecbd322da596704a9f42f58c6fb9e21b9b4b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 4, 2026.
Transparency logRelease files / netbox_plugin_reloader-4.7.0.1-py3-none-any.whl
| Download URL | netbox_plugin_reloader-4.7.0.1-py3-none-any.whl |
|---|---|
| Size | 13.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e5d4c43cf5e2bfde81c55ab16ecd47d394d8cbaf92889b9e581b633a3b4dfa95
|
|
BLAKE2b-256 checksum How to use checksums |
78ecf3972d0e6313d5f550292447fb1639b306a1f370af07766f12f2efa0d859
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 4, 2026.
Transparency logSecurity for netbox-plugin-reloader 4.7.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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for netbox_plugin_reloader-4.7.0.1.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 Sep 4, 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.