3D word-based address protocol — the pure encoding/decoding engine
Project description
waddr — 3D word-address engine
The pure encoding/decoding core of the 3D word-based address protocol. Maps any point in the near-Earth shell (≈13 km underground to 2,000 km altitude) to a short, human-readable word address and back. No web dependencies — numpy only.
Addresses are stable forever: the dictionary and geometry are frozen, so a valid address decodes to the same place in every version and every install.
- 🌐 Try the web app: address.kervian.com
- 📦 Source & self-hosting: github.com/Raylu42x/3d-address
Install
pip install waddr
Only dependency is numpy. The official 27,000-word dictionary (words.txt)
ships inside the wheel and loads automatically — nothing else to download.
Quickstart
from waddr import encode_all, decode
info = encode_all(51.5074, -0.1278, alt_km=0.1, words=5)
print(info["words"]) # e.g. dinosaur-epidural-usable-bingo-dusty-C
print(info["transfer"]) # e.g. C-4452-12644-6220-4824-5130
loc = decode(info["words"])
print(loc["lat"], loc["lon"], loc["alt_km"]) # back to coordinates
More or fewer words trade precision for length — 3 words ≈ a city block, 5 ≈ a doorway, 7 ≈ sub-millimeter:
from waddr import encode_words
encode_words(47.6205, -122.3493, alt_km=0.0, words=3) # ~460 m cell
encode_words(47.6205, -122.3493, alt_km=0.0, words=7) # ~0.6 mm cell
Public API
| function | purpose |
|---|---|
encode_all(lat, lon, alt_km=0.0, words=5) |
full result: words, transfer, indices, decoded center, cell size |
encode_words(...) |
just the word-word-...-C string |
encode_transfer(...) |
just the C-num-num-... machine string |
decode(text) |
auto-detects word/transfer format → location |
alternatives(text) |
nearby checksum-valid addresses one confusable word away |
encode_* return None for points outside the addressable shell (altitude
below −13 km or above +2,000 km). Word addresses carry a checksum letter that
catches typos, and decode auto-corrects a single mistyped word when it can.
License
Split license:
- Code — MIT.
words.txt(the dictionary) — CC BY-ND 4.0. Redistribute freely, but modified versions may not be distributed: every implementation must share the identical dictionary or addresses silently break between installs. SeeLICENSE-DICTIONARY.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file waddr-0.2.1.tar.gz.
File metadata
- Download URL: waddr-0.2.1.tar.gz
- Upload date:
- Size: 133.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbe8e542c246daff31c15addfa46098a8c81091955d371cd104eaad3000f6300
|
|
| MD5 |
9d2bc953539b991a81942555f37b7d73
|
|
| BLAKE2b-256 |
ea5f97c238a1d9d6db0b5b93e0afa8b9898b21985b37e0f47299c682bad14fc9
|
File details
Details for the file waddr-0.2.1-py3-none-any.whl.
File metadata
- Download URL: waddr-0.2.1-py3-none-any.whl
- Upload date:
- Size: 127.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
230f278d2c46eb70192f5926eb3a28cd103f748a473b395d6e5390f5871f5657
|
|
| MD5 |
b237973df48e26c202671ef593dd752e
|
|
| BLAKE2b-256 |
e4e09963e73ffec610271f98ee179e71660ecb15e399a622191a04ef2fa98cb3
|