{"categories":[{"label":"Scientific/Engineering","url":"https://skillfed.io/packages/category/scientific-engineering/2"},{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/4"},{"label":"Information Analysis","url":"https://skillfed.io/packages/category/scientific-engineering-information-analysis"}],"enrichment":{"capability":"usaddress parses unstructured US address strings into labeled components using a probabilistic model trained on conditional random fields, handling ambiguous cases where rule-based parsers fail.","skillfed_tags":["nlp","address-parsing","data-cleaning"],"use_cases":["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."],"what_it_does":"usaddress is a Python library that breaks down unstructured US address strings into their component parts\u2014street number, street name, city, state, ZIP code, and more\u2014using 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.\n\nThe package depends on python-crfsuite for its machine-learning backbone and probableparsing for feature extraction. It does not normalize addresses or verify their correctness\u2014it 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.","worth_installing":"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\u2014the repo is active and the model is stable\u2014but be aware that accuracy is probabilistic, not perfect, and you should test on your own address patterns before relying on it in production."},"id":"usaddress","links":{"html":"https://skillfed.io/packages/usaddress","md":"https://skillfed.io/packages/usaddress.md","pypi":"https://pypi.org/project/usaddress/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-08-07","license_spdx":null,"license_treatment":"permissive","name":"usaddress","python_support":"supports_current","summary":"Parse US addresses using conditional random fields"},"popularity":{"monthly_downloads":5229162,"position":2135,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.5.16"}
