Skip to main content

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

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:

  1. Restart NetBox:

    sudo systemctl restart netbox
    
  2. Ensure that netbox-plugin-reloader is included in your local_requirements.txt if 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:

  1. Scans all enabled plugins for models that aren't properly registered in NetBox's feature registry
  2. Registers any missed models with NetBox's registration system
  3. Deduplicates view registrations (e.g. Journal, Changelog tabs) that may have accumulated due to dynamic model plugins regenerating model classes during startup
  4. Refreshes custom field form definitions to ensure they include all registered models
  5. 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_plugin_reloader-4.6.0.2.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_plugin_reloader-4.6.0.2-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file netbox_plugin_reloader-4.6.0.2.tar.gz.

File metadata

File hashes

Hashes for netbox_plugin_reloader-4.6.0.2.tar.gz
Algorithm Hash digest
SHA256 b54539c1906d97992534ac609c88c76be109d6be4c84e6a4b33c82247b33df6b
MD5 86514211a0969d818e6811a0055459a4
BLAKE2b-256 bb3488b17dd58b9a73bb37ac1d60bb6b14924405ef61044f0c9fcdc4d819972d

See more details on using hashes here.

File details

Details for the file netbox_plugin_reloader-4.6.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_plugin_reloader-4.6.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 28429ac1fddc539e11f80e230e59441c271a3e48246fd8df70e3033d2a6cf560
MD5 7fedb0e9bd1439eabea62f211281f050
BLAKE2b-256 7a6ce59e8547f30494c2ca91f8185ee6ec1a372c35aa268e53ec213baf218f9d

See more details on using hashes here.

Release history Release notifications | RSS feed

4.7.0.1

2 files

This release

4.6.0.2 This release

2 files

4.6.0.1

1 file

4.5.4.1

2 files

4.5.0.1

1 file

4.4.0.1

1 file

4.4.0

1 file

4.3.1

1 file

4.3.0

1 file

0.0.2

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page