netbox-osp v0.1.0
First functional release of netbox-osp — outside-plant fibre management for NetBox.
Highlights
- Full OSP data model —
OspCable/Tube/Strandwith TIA-598-C colour auto-assignment,SpliceClosure/SpliceTray/Splicewith measured per-strand loss,FibreLinkchaining strands through splices with computed loss budget banded ok/warn/fail,LocationGeoper-Location GPS markers. - Full-screen Leaflet plant map with seven online base layers and a bundled offline MBTiles layer, with automatic fallback after three tile errors in five seconds.
- Plant-boundary validation — set a polygon in
PLUGINS_CONFIGandOspCable.clean()rejects routes that fall outside. Pure-Python ray-casting; PostGIS not required. - GeoJSON cable-route editor with leaflet-geoman drag-to-edit.
- REST + GraphQL APIs, bulk import / bulk edit, per-Location GPS markers.
Install
pip install netbox-ospThen enable the plugin in configuration/plugins.py and run manage.py migrate + manage.py collectstatic. See Install for the full walk-through.
Compatibility
NetBox 4.6.x · Python 3.12 / 3.13 · Postgres 17 · Redis 7. CI exercises the full matrix on every PR. See COMPATIBILITY.md.
What's known
- GraphQL types register cleanly but
osp_<model>_listfields don't yet surface in the merged global/graphql/Query — REST API is fully functional in the meantime, GraphQL surface lands in v0.1.1. - Permission-matrix tests cover the SpliceClosure canary; remaining view sets and REST
APIViewTestCasepermission tests follow in v0.1.1. - README "Visual tour" screenshots land in v0.1.1.
Links
- Repo: https://github.com/iamjohnnymac/netbox-osp
- PyPI: https://pypi.org/project/netbox-osp/0.1.0/
- Docs: https://iamjohnnymac.github.io/netbox-osp/
- Full changelog: CHANGELOG.md
Apache-2.0 licensed. Bug reports and PRs welcome at https://github.com/iamjohnnymac/netbox-osp/issues.