Metadata-Version: 2.5
Name: netbox-permissions-matrix-plugin
Version: 0.2.0
Summary: Show and edit NetBox object permissions as a matrix of object types and groups.
Project-URL: Homepage, https://github.com/thomaschristory/netbox-permissions-matrix-plugin
Project-URL: Documentation, https://thomaschristory.github.io/netbox-permissions-matrix-plugin/
Project-URL: Repository, https://github.com/thomaschristory/netbox-permissions-matrix-plugin
Project-URL: Changelog, https://github.com/thomaschristory/netbox-permissions-matrix-plugin/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/thomaschristory/netbox-permissions-matrix-plugin/issues
Author: Thomas Christory
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: access-control,netbox,netbox-plugin,permissions,rbac
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Django
Classifier: Intended Audience :: System Administrators
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration :: Authentication/Directory
Requires-Python: >=3.12
Description-Content-Type: text/markdown

# netbox-permissions-matrix-plugin

[![ci](https://github.com/thomaschristory/netbox-permissions-matrix-plugin/actions/workflows/ci.yml/badge.svg)](https://github.com/thomaschristory/netbox-permissions-matrix-plugin/actions/workflows/ci.yml)
[![PyPI](https://img.shields.io/pypi/v/netbox-permissions-matrix-plugin)](https://pypi.org/project/netbox-permissions-matrix-plugin/)
[![Python](https://img.shields.io/pypi/pyversions/netbox-permissions-matrix-plugin)](https://pypi.org/project/netbox-permissions-matrix-plugin/)

A NetBox plugin that shows NetBox's object permissions as a matrix: object types down the side, groups (and
optionally users) across the top, and in each cell one lettered chip per action (V, A, C, D, and custom actions).
Clicking chips edits NetBox's own permissions, with a review of every change before it is written.

**Documentation: https://thomaschristory.github.io/netbox-permissions-matrix-plugin/**

> **Status: pre-release.** Below 1.0, read the review dialog before applying changes.

## Features

- One page answers "what can this group do?" and "who can change prefixes?".
- Every action on one page, as lettered chips (V, A, C, D, R, S), with optional tabs per action; bulk toggles per row, app
  and column.
- New permissions are named after their actions: `noc_va` for view and add.
- Edits native `ObjectPermission` records only. No models, no migrations; uninstalling leaves a normal setup.
- Safe with shared permissions: a change for one group never changes another group's access.
- Stage, review, apply: every created, changed or deleted permission is shown first and written in one transaction.
- Who can page per object type, and a Permissions Matrix tab on each group.
- Export to YAML and import back, on the same NetBox or another one, through the same review.

## Compatibility

| Plugin | NetBox | Python |
|--------|--------|--------|
| 0.2 | 4.7.0 and later | 3.12 to 3.14 |
| 0.1 | 4.7.0 and later | 3.12 to 3.14 |

## Quick start

```bash
pip install netbox-permissions-matrix-plugin
```

```python
# configuration.py
PLUGINS = ["netbox_permissions_matrix_plugin"]
```

Run `python manage.py collectstatic --no-input`, restart NetBox and open **Admin > Authentication > Permissions
Matrix**.

## Documentation

- [Installation](https://thomaschristory.github.io/netbox-permissions-matrix-plugin/installation/)
- [Quick start](https://thomaschristory.github.io/netbox-permissions-matrix-plugin/quickstart/)
- [Configuration](https://thomaschristory.github.io/netbox-permissions-matrix-plugin/configuration/)
- [Design](https://thomaschristory.github.io/netbox-permissions-matrix-plugin/DESIGN/)

## Development

```bash
make dev           # NetBox 4.7 with the plugin on http://localhost:8000 (admin / admin)
make seed          # sample groups, users and overlapping permissions
make test          # unit tests, no NetBox needed
make test-netbox   # integration tests inside the dev stack
make lint          # ruff
make docs          # build the documentation site
```

## License

Apache-2.0, see [LICENSE](https://github.com/thomaschristory/netbox-permissions-matrix-plugin/blob/main/LICENSE).
