Cable Extension
Cable Extension is a plugin for NetBox that enhances cable-related data and provides optional integration with device inventories. With this plugin, you can create and manage cables using a custom form, optionally create InventoryItems on both ends, and store extended information (such as manufacturer or custom comments) in a linked model.
Features
- Extended Cable Creation: A dedicated form (
CableCreateForm) to create cables between one or two Interfaces, capturing extra details (serial, part ID, etc.). - Inventory Item Integration: Automatically creates
InventoryItemrecords for each device end if desired. - Manufacturer/Comments: Supports additional cable metadata (manufacturer, comments) through the
CableExtensionmodel. - NetBox UI Integration: Provides a clear user interface under the plugin’s menu for creating cables and editing extended data.
Requirements
- NetBox: version
4.1.6 - Python: version
3.10.12or higher
These are the versions used during development and testing. If you run into compatibility issues on other versions, please open an issue.
Installation
Step 1: Install using pip
pip install cable_extension
Step 2: Add the plugin into PLUGINS array in configuration.py
PLUGINS = [
'cable_extension',
# Other plugins...
]
Step 3: Apply migrations(don't forget activating virtual enviroment)
python manage.py migrate cable_extension
Step 4: Run netbox(for example)
python manage.py runserver
Usage
###Creating a Cable
-
In NetBox, navigate to Plugins → Cable Extension → Create Cable (or your chosen URL path).
-
Fill out details like:
- Interfaces for end A and B
- Cable serial, part ID, label, description, length
- Check “Create InventoryItem for both ends?” to add inventory entries on both devices
-
Click Save. The plugin:
- Creates a new cable in NetBox
- Sets up cable terminations on the specified interfaces
- Optionally creates InventoryItem objects for each end
- Stores any extra details (like manufacturer, comments) in its own CableExtension model
Project Structure
cable_extension/
├── models.py # CableExtension model for extended cable data
├── forms.py # CableCreateForm for cable + inventory creation
├── views.py # View classes for creating/editing cables
├── templates/ # HTML templates
│ └── cable_extension/
│ ├── cable_create.html
│ └── cable_extension_edit.html
├── urls.py # URL definitions for the plugin
Changelog
v1.0.1
- Added headers in each file, fixed some comments
v1.0
- Initial release with custom cable creation form
- Optional InventoryItem creation on both ends
- Extended cable data stored in CableExtension model
Notes
-
Non-Invasive: The plugin does not modify NetBox’s core cable logic – it simply provides an alternate creation flow and extension points.
-
Customization: Feel free to adapt the forms or models to suit your environment. The plugin is designed to be extendable without impacting NetBox’s base code.
-
License/Contributions: Contributions and forks are welcome. Please see the repository for more details on licensing.
Author
Viktor Kubec
BUT FIT Brno student
MIT License
GitHub: vubeckubec/cable_extension
Metadata
Release files for cable-extension 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 |
|---|---|---|---|---|
| cable_extension-1.0.1.tar.gz | 10.5 kB | Without provenance | Details for cable_extension-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cable_extension-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for cable_extension-1.0.1-py3-none-any.whl |
Total release size: 23.0 kB
Release files / cable_extension-1.0.1.tar.gz
| Download URL | cable_extension-1.0.1.tar.gz |
|---|---|
| Size | 10.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5aeebd3476e6e4f826edf058f75991ddfe6e5704e1162e62fad6d603d07c0778
|
|
BLAKE2b-256 checksum How to use checksums |
aebbeb9c94e938e2d1c91f23abf9eb135e9c3fec714f81e33eaf7357b3ca1a7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.10.12
|
Release files / cable_extension-1.0.1-py3-none-any.whl
| Download URL | cable_extension-1.0.1-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49ed090fe79f2b2b5660e2d90775d6324e07193c93f88c62bce69af1d13acb91
|
|
BLAKE2b-256 checksum How to use checksums |
58e793a6e41f68bfee9cb5d8505372f5bfdafc1ccc6dfb5d11411dc9e6bfb5e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.10.12
|
Security for cable-extension 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.