📬 TheAddressor
Turn messy strings into structured addresses.
Supports U.S. and Canadian formats with fuzzy parsing, reference extraction, and more.
🚀 Features
- Parses unstructured address lines into clean components
- Supports:
- Street addresses
- Suite/unit numbers
- U.S. and Canadian cities, states/provinces, ZIP/postal codes
- Emails, phone numbers, URLs, and reference tags
- Handles noisy, shuffled, or incomplete input
- Easy to plug into shipping, billing, or CRM pipelines
🛠️ Installation
pip install theaddressor
🧠 Example
from theaddressor import AddressParser
lines = [
"DeepMind HQ",
"48 Innovation Way",
"Suite B",
"London ON N6A 3K7",
"contact@deep.ai",
"(519) 555-0188"
]
parsed = AddressParser(lines).get()
print(parsed['address1']) # '48 Innovation Way'
print(parsed['zipcode']) # 'N6A3K7'
print(parsed['country']) # 'Canada'
print(parsed['email'][0]) # 'contact@deep.ai'
🧪 Testing
Run unit tests with:
make test
Or manually:
python3 -m unittest discover tests
📦 Packaging
To build and upload to PyPI:
make build check upload
📄 License
BSD 3-Clause License © 2025 – Charles Watkins
Metadata
Release files for theaddressor 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| theaddressor-0.1.2.tar.gz | 9.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| theaddressor-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.3 kB
Release files / theaddressor-0.1.2.tar.gz
| Download URL | theaddressor-0.1.2.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
21cba4da495a1b0b3d1426b17c692ad61b417da9c1d4828c1cb0c7701f6f0ad8
|
|
BLAKE2b-256 checksum How to use checksums |
da11ee7c3854a8c875ba764bc554860485e6b6815ca361f0c1148ff8382483cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / theaddressor-0.1.2-py3-none-any.whl
| Download URL | theaddressor-0.1.2-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
09392b11ac44617b4a012077ec1a920d84855fa7ae926db01e259cf5dfa0f6c0
|
|
BLAKE2b-256 checksum How to use checksums |
fab4d5b50bc4f52f130626b1fd46f8f305d59bf9ede51d938881ef473b2f4cb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|