Observed since 20 Oct, 19:20 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
addok
Search engine for address. Only address.
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.
Requirements: Python 3.9–3.14 • Redis 7.2–8.0
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"
}
}
]
}
pip install addok
addok batch your_addresses.ndjson
addok ngrams
addok serve
Your API is now running at http://localhost:7878 🎉
Check out the full documentation for detailed instructions, configuration options, and advanced features.
Extend Addok with plugins for your specific needs:
Addok powers the official French national address database with:
👉 See it in action with the French address database demo
Addok is released under the MIT License. Free to use, modify, and distribute.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
falconEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | falcon==4.0.2 | runtime |
hashidsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | hashids==1.3.1 | runtime |
editdistanceEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | editdistance==0.8.1 | runtime |
ngramEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | ngram==4.0.3 | runtime |
progressistEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | progressist==0.1.0 | runtime |
python-geohashEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | python-geohash==0.8.5 | runtime |
redisEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | redis==6.4.0 | runtime |
unidecodeEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | unidecode==1.4.0 | runtime |
gnureadlineEnvironment{
"extras": "",
"marker": "sys_platform == \"darwin\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | gnureadline==8.2.13; sys_platform == "darwin" | runtime |
hiredisEnvironment{
"extras": "",
"marker": "extra == \"perf\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | hiredis==3.3.0; extra == "perf" | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest~=8.3; extra == "dev" | runtime |
pytest-covEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-cov~=6.1; extra == "dev" | runtime |
mkdocsEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | mkdocs==1.4.3; extra == "dev" | runtime |
buildEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | build~=1.2; extra == "dev" | runtime |
twineEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | twine==6.1.0; extra == "dev" | runtime |
hiredisEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | hiredis==3.3.0; extra == "dev" | runtime |
bdist_wheel · 48.69 KB · Python py3
sdist · 60.32 KB · Python source
Observed since 20 Oct, 19:20 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:3387dd065e0ae652cff79e5108c0e6626c920b4ae536b3f43c8ced45ac3dad7a