pyap
Pyap is an MIT Licensed text processing library, written in Python, for detecting and parsing addresses. Currently it supports USA, Canadian and British addresses.
Decision gist · record as of 2026-08-14
Yes, if you need fast regex-based address detection for US, Canadian, or British addresses in bulk text processing and can tolerate occasional false positives. No, if you require high accuracy, active maintenance, or support for additional countries—consider a geocoding service or maintained alternative instead. The lack of dependencies and dormant status make it a low-risk, lightweight choice for specific use cases.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Installation is straightforward with no runtime dependencies.
- The project is dormant (last commit 2023-12-13, latest release 2020-09-30), so expect no active maintenance or bug fixes, though the codebase remains available and archived.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; you must include the license notice in distributions.
last release 2020-09-30 (2144 days) · last repo commit 2023-12-13 · 213 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 460,845 downloads/mo, #6,537 on PyPI
Alternatives
Verify before relying
pip install pyap
import pyap
text = "225 E. John Carpenter Freeway, Suite 1500 Irving, Texas 75062"
addresses = pyap.parse(text, country='US')
for addr in addresses:
print(addr.as_dict())- Whether false-positive rate remains acceptable for production use cases beyond the 'quite rare' claim in the description
- Current compatibility with modern Python versions beyond the declared support range
- Whether regex patterns have been updated to handle modern address formats or postal code standards
What it is and what it does
Pyap is a lightweight text-processing library that finds and extracts postal addresses from unstructured text using regular expressions. It targets US, Canadian, and British address formats, breaking them into structured components (street, city, state, postal code) that you can access programmatically.
The library trades accuracy for speed: it uses pattern matching rather than gazetteers or machine learning, so it can process large volumes of text quickly in real time. This makes it useful for initial address detection in web scraping or bulk text processing, though the description notes that false positives can occur when text happens to match the address pattern structure. The project is dormant but has no runtime dependencies, making it lightweight to deploy.
Use it for
- Extract addresses from web-scraped content or document text during initial data collection before validation
- Batch-process large volumes of unstructured text to identify and isolate address-like patterns quickly
- Pre-filter text for geocoding services to reduce the volume of strings sent to paid APIs
- Parse addresses embedded in email bodies, PDFs, or other documents for contact database population
- Detect mailing addresses in user-submitted forms or comments for location-based features
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need fast regex-based address detection for US, Canadian, or British addresses in bulk text processing and can tolerate occasional false positives.
No, if you require high accuracy, active maintenance, or support for additional countries—consider a geocoding service or maintained alternative instead. The lack of dependencies and dormant status make it a low-risk, lightweight choice for specific use cases.
Install
pyap on PyPI
Before you install
Installation is straightforward with no runtime dependencies. The project is dormant (last commit 2023-12-13, latest release 2020-09-30), so expect no active maintenance or bug fixes, though the codebase remains available and archived.
License in practice
MIT license permits commercial and private use with minimal restrictions; you must include the license notice in distributions.
Quickstart
pip install pyap
import pyap
text = "225 E. John Carpenter Freeway, Suite 1500 Irving, Texas 75062"
addresses = pyap.parse(text, country='US')
for addr in addresses:
print(addr.as_dict())
Verify before relying
- Whether false-positive rate remains acceptable for production use cases beyond the 'quite rare' claim in the description
- Current compatibility with modern Python versions beyond the declared support range
- Whether regex patterns have been updated to handle modern address formats or postal code standards
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=2.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 2,144 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 460,845 / month, #6,537 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8 |
Evidence: pyap-0.3.1-py2.py3-none-any.whl
Tags
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 Canadian British addresses”
- pyapPyap detects and parses postal addresses from unstructured text,…
- pyap2Pyap2 detects and parses postal addresses from unstructured text…
- usaddressusaddress parses unstructured US address strings into labeled…
Give your agent the search over MCP, or paste the wish link into any chat.
More Text Processing packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyparsing provides a library for building text parsers directly in Python code using composable grammar classes, handling quoted strings, whitespace variation, and embedded comments without regex or lex/yacc.
Install it if you need to parse text or define grammars programmatically.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.
RapidFuzz provides fast fuzzy string matching using Levenshtein Distance and related metrics, implemented mostly in C++ with Python bindings for rapid similarity scoring and approximate string matching.
Install it if you need fuzzy string matching; it's a solid replacement for FuzzyWuzzy with better licensing and performance.
tinycss2 parses CSS strings into token and block objects, and generates CSS strings from those objects, following the CSS Syntax Level 3 specification without enforcing specific properties or values.
Install it if your project requires CSS tokenization or syntax manipulation.
See also pyap2 · postal · usaddress · usaddress-scourgify · lob · pypostalcode · xknxproject · mailbits · geotext · google-i18n-address