Skip to main content

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.

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. See LICENSE-DICTIONARY.md.

Project details


Download files

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

Source Distribution

waddr-0.2.1.tar.gz (133.2 kB view details)

Uploaded Source

Built Distribution

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

waddr-0.2.1-py3-none-any.whl (127.8 kB view details)

Uploaded Python 3

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

Hashes for waddr-0.2.1.tar.gz
Algorithm Hash digest
SHA256 cbe8e542c246daff31c15addfa46098a8c81091955d371cd104eaad3000f6300
MD5 9d2bc953539b991a81942555f37b7d73
BLAKE2b-256 ea5f97c238a1d9d6db0b5b93e0afa8b9898b21985b37e0f47299c682bad14fc9

See more details on using hashes here.

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

Hashes for waddr-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 230f278d2c46eb70192f5926eb3a28cd103f748a473b395d6e5390f5871f5657
MD5 b237973df48e26c202671ef593dd752e
BLAKE2b-256 e4e09963e73ffec610271f98ee179e71660ecb15e399a622191a04ef2fa98cb3

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 Pingdom Monitoring Sentry Error logging StatusPage Status page