first commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# 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
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
cd api
|
||||
python -m venv .venv
|
||||
source .venv/bin/activate
|
||||
pip install -e ".[dev]"
|
||||
python -m pytest
|
||||
python -m ruff check .
|
||||
```
|
||||
Reference in New Issue
Block a user