Skip to content

BharatAddress/api-server

CI CodeQL

Bharat Address API Server (Reference)

Minimal OGC API Features-like read API using FastAPI. Serves an addresses collection from memory now; swap to PostGIS later.

Website: https://bharataddress.github.io

At a glance

Item Details
Stack FastAPI + Uvicorn
Spec OGC API Features
Data In-memory sample collection

Quickstart

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
# Open http://localhost:8000/collections, /collections/addresses/items, /conformance
# API docs: Swagger UI at /docs, ReDoc at /redoc

CORS configuration

# Allow docs site and org landing page origins
export CORS_ALLOW_ORIGINS="https://bharataddress.github.io,https://example.com"
uvicorn main:app --reload --port 8000

OpenAPI export

python export_openapi.py  # writes openapi.json in repo root

Query parameters (items endpoint)

  • limit (default 100): maximum features returned.
  • offset (default 0): pagination index; response includes self/next/prev links.
  • bbox: minLon,minLat,maxLon,maxLat filter.
  • Optional attribute filters: pin, city (case-insensitive), ulb_lgd, digipin.

Docker

docker build -t ghcr.io/bharataddress/api-server:dev .
docker run -p 8000:8000 ghcr.io/bharataddress/api-server:dev

Repo layout

  • main.py: FastAPI app and routes.
  • export_openapi.py: OpenAPI export helper.
  • data/: sample data used in tests.

Contributor Guide

Releases

No releases published

Packages

No packages published