NetBox Attachments Plugin
NetBox plugin for attaching files to NetBox objects.
Overview
netbox-attachments adds an attachment model and UI/API workflows to upload, link, and manage files against NetBox models.
- Project documentation: docs/index.md
- Installation guide: docs/installation.md
- Configuration reference: docs/configuration.md
- Usage guide: docs/usage.md
- Compatibility policy: docs/compatibility.md
- Release process: docs/release-process.md
Compatibility
Supported now:
- NetBox:
4.7.x - Plugin:
12.x(use11.xfor NetBox 4.5–4.6) - Python:
3.12,3.13,3.14
Compatibility details and legacy version notes are documented in docs/compatibility.md.
Upgrading to NetBox 4.6 with existing attachments? A foreign-key error in migration
0007can occur because NetBox 4.6 populatescore_objecttypevia a post-migrate signal. See the NetBox 4.6 upgrade notes and thefix_attachment_object_typesmanagement command (issue #107).
Installation
Install from PyPI:
pip install netbox-attachments
Enable the plugin in configuration.py:
PLUGINS = ["netbox_attachments"]
Create storage directory and set permissions:
mkdir -p /opt/netbox/netbox/media/netbox-attachments
chown netbox /opt/netbox/netbox/media/netbox-attachments
Run migrations:
python3 manage.py migrate netbox_attachments
Full installation details: docs/installation.md.
Configuration
Plugin settings are configured via PLUGINS_CONFIG["netbox_attachments"].
PLUGINS_CONFIG = {
"netbox_attachments": {
"applied_scope": "model",
"scope_filter": ["dcim.device", "ipam.prefix", "tenancy"],
"display_default": "right_page",
"create_add_button": True, # show top "Attachments" dropdown in additional_tab mode
"display_setting": {"ipam.vlan": "left_page"},
}
}
Complete settings reference: docs/configuration.md.
API
Attachment APIs are exposed under:
/api/plugins/netbox-attachments/netbox-attachments//api/plugins/netbox-attachments/netbox-attachment-assignments/
Workflow:
- Upload/create attachment via
netbox-attachments. - Link it to an object via
netbox-attachment-assignments.
Additional usage details: docs/usage.md.
Testing
Primary local command:
make test
Packaging check:
python -m build
Support
- Bug reports and feature requests: GitHub Issues
- NetBox community support: NetDev Community Slack and GitHub Discussions in netbox-community
Contributing
Contribution workflow and expectations are documented in CONTRIBUTING.md.
Release Notes
Project release history follows Keep a Changelog:
Screenshots
- Attachment List
- Attachment Detail
- Object Attachments Tab
- Create Assignment
License
Licensed under Apache 2.0. See LICENSE.
Metadata
Release files for netbox-attachments 12.0.0
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 | |
|---|---|---|---|---|
| netbox_attachments-12.0.0.tar.gz | 375.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netbox_attachments-12.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 456.1 kB
Release files / netbox_attachments-12.0.0.tar.gz
| Download URL | netbox_attachments-12.0.0.tar.gz |
|---|---|
| Size | 375.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d4c66e8eba4a78db612a5e88618b7b9327d1584883ed14e7c245fdb0f314b633
|
|
BLAKE2b-256 checksum How to use checksums |
e819ed6c55fa0038c3291e4af5b2951930654ec1fc43f9005a13a2529c2415a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / netbox_attachments-12.0.0-py3-none-any.whl
| Download URL | netbox_attachments-12.0.0-py3-none-any.whl |
|---|---|
| Size | 80.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cbf50d01a4579515b25fabd888f464258a136ddf92d9472c63802056710a9e29
|
|
BLAKE2b-256 checksum How to use checksums |
e6f9f60d4d58d0c6c136b66cb603da442acf82c1c4bb41303c3a2d66a4ec351d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for netbox-attachments 12.0.0
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.