Skip to content

Fixes: #160 - Rewrite the README with installation, usage, data model and API documentation - #170

Open
jsenecal wants to merge 2 commits into
DanSheps:mainfrom
jsenecal:docs/160-readme-install
Open

Fixes: #160 - Rewrite the README with installation, usage, data model and API documentation#170
jsenecal wants to merge 2 commits into
DanSheps:mainfrom
jsenecal:docs/160-readme-install

Conversation

@jsenecal

@jsenecal jsenecal commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

The README's installation section only showed the PLUGINS configuration change, which leaves NetBox unable to start since the package itself is never installed (#160). This rewrites the README: the complete installation procedure, plus the sections a new user needs to get productive.

Changes

  • Installation: full procedure (pip install into the venv, local_requirements.txt, PLUGINS, migrate, restart), with a pointer to the netbox-docker plugin instructions for Docker users. The restart method is left to the reader since it varies by deployment.
  • Upgrading: package upgrade plus migrate, and a pointer to the GitHub releases page
  • Requirements: updated to match the current code (min_version = 4.5.0, requires-python >= 3.12)
  • Compatibility matrix: reoriented by NetBox version as proposed by @cruse1977 in Update Compatibility Matrix #150, and extended with a NetBox 4.6.x row (what CI now tests against)
  • Usage: a quickstart walking through hardware lifecycle records, the vendor/SKU/contract/assignment chain and license assignments
  • Data model: overview of the seven models, including the distinction between NetBox manufacturers and the plugin's Vendor model
  • API: the REST endpoints under /api/plugins/lifecycle/ and a note on the GraphQL schema
  • Configuration: documented the license_card_position setting and the Licenses card, and added the Module page to the Support Contracts card description
  • Added PyPI and CI badges, removed the empty "Usage" and "Additional Notes" placeholder sections

Incorporates #150.

Fixes: #160

@jsenecal
jsenecal force-pushed the docs/160-readme-install branch from 5c294b1 to 553901b Compare August 20, 2026 20:33
@jsenecal jsenecal changed the title Fixes: #160 - Document the full installation procedure in the README Fixes: #160 - Rewrite the README with installation, usage, data model and API documentation Aug 20, 2026
@jsenecal
jsenecal requested a review from DanSheps August 20, 2026 20:40
… README

The installation section only showed the PLUGINS configuration change,
which is not enough to get the plugin running. Document the complete
procedure: pip install, local_requirements.txt, PLUGINS, migrations and
a restart, with a pointer for netbox-docker users. The restart method
is left to the reader since it varies by deployment.

Also refresh the rest of the README while in there:

- Update the requirements to match the current code (NetBox 4.5+,
  Python 3.12+)
- Reorient the compatibility matrix by NetBox version, as proposed by
  cruse1977 in DanSheps#150, and extend it with NetBox 4.6.x
- Document the license_card_position setting and the Licenses card
- Add the Module page to the Support Contracts card description
- Drop the empty Usage and Additional Notes sections
Document how the pieces fit together for new users:

- A quickstart walking through hardware lifecycle records, the
  vendor/SKU/contract/assignment chain and license assignments
- A data model overview, including the distinction between NetBox
  manufacturers and the plugin's Vendor model
- The REST API endpoints and a note on the GraphQL schema
- An upgrading section and a pointer to the GitHub releases page
- PyPI and CI badges
@jsenecal
jsenecal force-pushed the docs/160-readme-install branch from df4ab70 to a376906 Compare August 20, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Install instructions don't work as-is

1 participant