Lightweight geospatial resolver for informal Rwanda delivery addresses using OpenStreetMap gazetteers, fuzzy landmark matching, text parsing, and offline-first logic.
---
title: T1.2 Informal Address Resolver
sdk: gradio
app_file: app.py
license: mit
pinned: false
---
# T1.2 Informal Address Resolver
This project resolves informal delivery address descriptions into usable GPS coordinates. It is designed for Kigali-style logistics settings where addresses often mix English, French, and Kinyarwanda, and may describe places by nearby landmarks instead of formal street addresses.
The resolver uses a local landmark gazetteer, fuzzy matching, simple direction rules, and geospatial offsets. For each input, it returns latitude, longitude, confidence, the matched landmark, and a short rationale explaining the decision.
## Output Shape
```python
{
"lat": float | None,
"lon": float | None,
"confidence": float,
"matched_landmark": str | None,
"rationale": str
}
```
## Setup
Clone the repository and enter the project folder:
```bash
git clone
github.com
cd Informal-address-resolver
```
If you are using the Hugging Face Space repository instead:
```bash
git clone
huggingface.co
cd Informal-address-resolver
```
Create a virtual environment:
```bash
python -m venv .venv
```
Activate it using the command for your terminal:
```bash
# Windows Git Bash
source .venv/Scripts/activate
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
# Linux, macOS, or Colab
source .venv/bin/activate
```
Install packages:
```bash
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
```
If PowerShell blocks activation, run the same commands through the environment Python:
```powershell
& .\.venv\Scripts\python.exe -m pip install --upgrade pip
& .\.venv\Scripts\python.exe -m pip install -r requirements.txt
```
## Required Demo
```bash
python -c "from resolver import resolve; print(resolve('inyuma ya big pharmacy on RN3, red gate'))"
```
Example output:
```python
{
"lat": -1.9584,
"lon": 30.1129,
"confidence": 1.0,
"matched_l …