$npx skillfedfor your agent

usaddress

Parse US addresses using conditional random fields

With conditionsPyPI Scientific/EngineeringReleased Aug 20255.2M downloads / moMIT LicensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — usaddress-0.5.16-py3-none-any.whl
v0.5.16 · released 2025-08-07 · Python >=3.9 · 2 runtime deps: python-crfsuite, probableparsing

Yes, if you need to parse unstructured US addresses at scale. The library is mature, permissively licensed, has low install friction, and sees heavy real-world use. The aging maintenance status (372 days since last release) is not a blocker—the repo is active and the model is stable—but be aware that accuracy is probabilistic, not perfect, and you should test on your own address patterns before relying on it in production.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.9 or later.
  • Low install friction with a pure-Python wheel distribution.
  • The package is aging (372 days since last release) but remains actively maintained with recent commits; it has accumulated 1633 stars and sees substantial real-world use (5.2M monthly downloads).

License · maintenance · safety

MIT License (permissive) — Released under the MIT License (permissive), so you can use, modify, and distribute usaddress freely in both open-source and commercial projects with minimal restrictions.

last release 2025-08-07 (372 days) · last repo commit 2025-08-07 · 1,633 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 5,229,162 downloads/mo, #2,135 on PyPI

Verify before relying

pip install usaddress

import usaddress
addr = '123 Main St. Suite 100 Chicago, IL'
usaddress.parse(addr)  # Returns list of (component, label) tuples
usaddress.tag(addr)    # Returns OrderedDict of labels and address type
  • Accuracy rates and typical error patterns on real-world address datasets remain undocumented in the fact sheet.
  • Performance characteristics (latency, throughput) for batch address parsing are not specified.
  • Whether the pre-trained model is regularly updated or retraining is required for new address patterns.
Same gist for agents: .md · .json

What it is and what it does

usaddress is a Python library that breaks down unstructured US address strings into their component parts—street number, street name, city, state, ZIP code, and more—using a probabilistic model based on conditional random fields. It handles messy, real-world addresses that don't follow strict formatting rules, making educated guesses when components are ambiguous or malformed. The library provides two main methods: `parse()` returns a flat list of labeled components, while `tag()` merges consecutive components and returns a cleaner dictionary structure.

The package depends on python-crfsuite for its machine-learning backbone and probableparsing for feature extraction. It does not normalize addresses or verify their correctness—it only identifies and labels the parts. If you need normalized output, the documentation points to usaddress-scourgify as a complementary tool. The library is built on Parserator, a framework for training and improving probabilistic parsers, so you can add new training data if the model consistently fails on particular address patterns.

Use it for

  • Bulk import of address data from unstructured sources (web forms, PDFs, scanned documents) into a database with labeled fields.
  • Data cleaning and standardization pipelines where addresses arrive in inconsistent formats from multiple sources.
  • Building a web service or API that accepts free-form address input and returns structured components for downstream processing.
  • Geocoding workflows where address components must be extracted before lookup in a geographic database.
  • Training data generation for machine-learning models that require structured address features as input.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to parse unstructured US addresses at scale.

The library is mature, permissively licensed, has low install friction, and sees heavy real-world use. The aging maintenance status (372 days since last release) is not a blocker—the repo is active and the model is stable—but be aware that accuracy is probabilistic, not perfect, and you should test on your own address patterns before relying on it in production.

Install

usaddress on PyPI

Before you install

Low install friction with a pure-Python wheel distribution. The package is aging (372 days since last release) but remains actively maintained with recent commits; it has accumulated 1633 stars and sees substantial real-world use (5.2M monthly downloads).

Requires Python 3.9 or later.

License in practice

Released under the MIT License (permissive), so you can use, modify, and distribute usaddress freely in both open-source and commercial projects with minimal restrictions.

Quickstart

pip install usaddress

import usaddress
addr = '123 Main St. Suite 100 Chicago, IL'
usaddress.parse(addr)  # Returns list of (component, label) tuples
usaddress.tag(addr)    # Returns OrderedDict of labels and address type

Verify before relying

  • Accuracy rates and typical error patterns on real-world address datasets remain undocumented in the fact sheet.
  • Performance characteristics (latency, throughput) for batch address parsing are not specified.
  • Whether the pre-trained model is regularly updated or retraining is required for new address patterns.

Package facts

LicenseMIT License permissive
Python supportSupports the current Python release >=3.9
Install frictionLow. Pure-Python wheel
Runtime dependencies
2 packages
python-crfsuiteprobableparsing
MaintenanceAging 372 days since the last release
Last repo commit
First released
Downloads5,229,162 / month, #2,135 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 3 - AlphaIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXTopic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Information AnalysisTopic :: Software Development :: Libraries :: Python Modules

Evidence: usaddress-0.5.16-py3-none-any.whl

Tags

Capabilities
parse US addressesaddress parsing NLPunstructured address extractionaddress component labelingUS address parserconditional random fields addressaddress string parsing
Topics
nlpaddress-parsingdata-cleaning

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “parse US addresses”

  • usaddressusaddress parses unstructured US address strings into labeled…
  • pyap2Pyap2 detects and parses postal addresses from unstructured text…
  • pyapPyap detects and parses postal addresses from unstructured text,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Scientific/Engineering packages

numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
pandas Worth it
PyPI · Scientific/Engineering · released Jul 2026

pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.

BSD-3-Clausecompiled wheel · 3.11+
769.1Mdownloads / mo
scipy Worth it
PyPI · Libraries · released Jun 2026

scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.

BSD-3-Clausecompiled wheel · 3.12+
449.0Mdownloads / mo
scikit-learn Worth it
PyPI · Software Development · released Jun 2026

scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.

Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.

BSD-3-Clausecompiled wheel · 3.11+
235.5Mdownloads / mo
dill Worth it
PyPI · Software Development · released Jan 2026

dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.

BSD-3-Clausepure Python · 3.9+
208.1Mdownloads / mo
multiprocess Worth it
PyPI · Software Development · released Jan 2026

Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.

Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.

BSD-3-Clausepure Python · 3.9+
202.7Mdownloads / mo

See also probablepeople · usaddress-scourgify · pyap2 · pyap · random-address · google-i18n-address · multiaddr · postal · xknxproject · email-validator