Skip to main content

📬 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)

Source distribution for theaddressor 0.1.2
File Size Uploaded
theaddressor-0.1.2.tar.gz 9.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for theaddressor 0.1.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page