Metadata-Version: 2.4
Name: nautobot-frequency-management
Version: 0.1.0a3
Summary: Track and manage radio frequencies, frequency sets, and device assignments through all bands.
License: Apache-2.0
License-File: LICENSE
Keywords: nautobot,nautobot-app,nautobot-plugin
Author: Dwayne Camacho
Author-email: dwayne.a.camacho@gmail.com
Requires-Python: >=3.10,<3.15
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Provides-Extra: all
Requires-Dist: mgrs (>=1.5.4,<2.0.0)
Requires-Dist: nautobot (>=3.0.0,<4.0.0)
Project-URL: Documentation, https://docs.nautobot.com/projects/frequency-management/en/latest/
Project-URL: Homepage, https://github.com/d-camacho/nautobot-app-frequency-management
Project-URL: Repository, https://github.com/d-camacho/nautobot-app-frequency-management
Description-Content-Type: text/markdown

# Frequency Management


<p align="center">
  <img src="https://github.com/d-camacho/nautobot-app-frequency-management/blob/main/docs/images/icon-nautobot-frequency-management.png" class="logo" height="200px">
  <br>
  <a href="https://github.com/dwaynecamacho/nautobot-app-frequency-management/actions"><img src="https://github.com/dwaynecamacho/nautobot-app-frequency-management/actions/workflows/ci.yml/badge.svg?branch=main"></a>
  <a href="https://docs.nautobot.com/projects/frequency-management/en/latest/"><img src="https://readthedocs.org/projects/nautobot-app-frequency-management/badge/"></a>
  <a href="https://pypi.org/project/frequency-management/"><img src="https://img.shields.io/pypi/v/frequency-management"></a>
  <a href="https://pypi.org/project/frequency-management/"><img src="https://img.shields.io/pypi/dm/frequency-management"></a>
  <br>
  An <a href="https://networktocode.com/nautobot-apps/">App</a> for <a href="https://nautobot.com/">Nautobot</a>.
</p>

## Overview

**PRE-RELEASE**: This app is in early development and is not yet considered production-ready. Please see the [Release Notes](https://docs.nautobot.com/projects/frequency-management/en/latest/admin/release_notes/) for details.

**Frequency Management** is a Nautobot app for planning, tracking, and deconflicting radio frequency (RF) assignments across missions and devices. It provides a structured source of truth for TX/RX frequency pairs, a catalog of approved frequencies per RF band, and automated conflict detection to prevent duplicate assignments within the same band and satellite scope.

## Key Features

- **Frequency Bands** — Seven standard RF bands (UHF, L, S, C, X, Ku, Ka) with auto-enforced frequency boundaries. Tracks the total frequency catalog size, active assignment count, and utilization percentage.
- **Frequency Catalog** — A per-band registry of approved frequency values (MHz). Catalog entries can be created individually or auto-created when new TX/RX values are saved on a frequency set, keeping the catalog in sync with operational use.
- **Frequency Sets** — The core planning object. Each record captures a TX/RX frequency pair along with device, satellite, band, provider, transport type, and optional SATCOM-specific fields (access method, modulation, polarization). Status-tracked with conflict detection.
- **Conflict Detection** — Blocks duplicate TX/RX frequency assignments within the same band and satellite scope for Active, Planned, and Maintenance sets. Decommissioned sets surface a visual conflict badge to warn against re-activation.
- **Satellites** — Pre-seeded with 85 common satellites on install. Each satellite's detail page lists all frequency sets assigned to it. Satellite operators are added/updated as Providers in Nautobot, allowing for filtering and reporting by operator.


## Installation

```shell
pip install frequency-management
```

Add to your `nautobot_config.py`:

```python
PLUGINS = ["nautobot_frequency_management"]
```

Run post-upgrade to apply migrations and seed the satellite catalog:

```shell
nautobot-server post_upgrade
```

See the [Installation Guide](https://github.com/d-camacho/nautobot-app-frequency-management/blob/main/docs/admin/install.md) for full details.

## Documentation

Full documentation is available on the [Nautobot Docs](https://docs.nautobot.com) website:

- [User Guide](https://github.com/d-camacho/nautobot-app-frequency-management/blob/main/docs/user/app_overview.md) — Overview, Getting Started, Use Cases, Data Models.
- [Administrator Guide](https://github.com/d-camacho/nautobot-app-frequency-management/blob/main/docs/admin/install.md) — Installation, Configuration, Upgrade, Uninstall.
- [Developer Guide](https://github.com/d-camacho/nautobot-app-frequency-management/blob/main/docs/dev/dev_environment.md) — Development Environment, Code Reference.
- [Release Notes](https://github.com/d-camacho/nautobot-app-frequency-management/blob/main/docs/admin/release_notes/version_1.0.md).

## Questions & Contributions

Open an issue or pull request in this repository. See the [Contributing Guide](https://docs.nautobot.com/projects/frequency-management/en/latest/dev/contributing/) for more information.

