47e8fb3f8707f6d032d7d5f40e08af2793ebbbcd
RF Propagation API
HTTP API for radio visibility, terrain profiles, Fresnel/LOS checks, link budget, viewshed, and coverage calculations.
This repository follows SPEC.md. The first implementation pass creates the full
service skeleton and the pure RF/math kernels. Integrations that require real DEM,
PostGIS data, pycraf, ITM/P.1812, or external viewshed binaries are exposed through
stable interfaces and return explicit "not implemented" responses until the
corresponding data pipeline is connected.
Layout
api/- FastAPI service, core calculations, service orchestration, tests.scripts/- data bootstrap/import entry points.data/- mounted data volume for DEM, landcover, and canopy rasters.docker-compose.yml- local stack with API, worker, Redis, PostGIS, optional tiler.
Quick Start
cp .env.example .env
docker compose up --build api redis postgis
The API is served at http://localhost:8000, with OpenAPI docs at /docs.
For local Python development:
cd api
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
python -m pytest
python -m ruff check .
Description
Languages
Python
96.4%
Shell
2.1%
Lua
1.3%
Dockerfile
0.2%