Skip to main content

🏠 Addok

A blazing fast address search engine. Made for addresses, optimized for addresses, nothing but addresses.

Addok is a powerful geocoding engine that indexes your address data and exposes it through a clean HTTP API. Built with performance in mind, it handles typos, autocomplete, and filters with ease.

PyPi version Coverage Status

Requirements: Python 3.9–3.14 • Redis 7.2–8.0


✨ Features

  • 🚀 Fast: Handles thousands of requests per second
  • 🔍 Smart search: Fuzzy matching, typo-tolerant, autocomplete
  • 🌍 Geocoding & Reverse geocoding: From text to coordinates and back
  • 📦 Batch processing: Import and geocode CSV files
  • 🔌 Extensible: Plugin system for custom needs
  • 🎯 Filtered search: Query by postcode, city, region, or custom filters
  • 🗺️ Geographic bias: Prioritize results near a location
  • 🛠️ Debug shell: Interactive shell for testing and debugging
  • 📊 GeoJSON output: Standard compliant API responses

🎬 Quick Example

Once installed and your data imported, searching for an address is as simple as:

curl "http://localhost:7878/search/?q=baker+street+221b"
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [-0.158434, 51.523767]
      },
      "properties": {
        "label": "221B Baker Street, London NW1 6XE",
        "score": 0.95,
        "housenumber": "221B",
        "street": "Baker Street",
        "postcode": "NW1 6XE",
        "city": "London"
      }
    }
  ]
}

🚀 Getting Started

Installation

pip install addok

Import your data

addok batch your_addresses.ndjson
addok ngrams

Start the server

addok serve

Your API is now running at http://localhost:7878 🎉

Check out the full documentation for detailed instructions, configuration options, and advanced features.


🔌 Plugins

Extend Addok with plugins for your specific needs:

Discover all plugins


🌟 Production Ready

Addok powers the official French national address database with:

  • 26+ million addresses indexed
  • ~2000 searches/second throughput
  • ~15 minutes full import time

👉 See it in action with the French address database demo


💡 Learn More


📄 License

Addok is released under the MIT License. Free to use, modify, and distribute.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

addok-1.3.0.tar.gz (57.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

addok-1.3.0-py3-none-any.whl (48.2 kB view details)

Uploaded Python 3

File details

Details for the file addok-1.3.0.tar.gz.

File metadata

  • Download URL: addok-1.3.0.tar.gz
  • Upload date:
  • Size: 57.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for addok-1.3.0.tar.gz
Algorithm Hash digest
SHA256 b9a43f58648ddb6a5fe20976373d73971418ac68a2d29289971e7669acab2586
MD5 10e99ece9e58cce231ec956d6628d947
BLAKE2b-256 4ac36cf70501402527b803e1d24eac255d826e504cd9bc9378302bea3f77f3da

See more details on using hashes here.

File details

Details for the file addok-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: addok-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 48.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for addok-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21ee02e2a7b861e761a34a8a1c8e01b27a310912630e484bd18bf7eb411ba299
MD5 252755509ed1a1dbe8b876926e4870a1
BLAKE2b-256 0badac9d994e91a89206c2dfa14c9be8559e0639b5c5ea252ca35038bf6c7d90

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page