Skip to main content

A library for processing addresses of Japan

Project description

japanese-address-parser-py

A Python toolkit for processing Japanese addresses

PyPI - Version PyPI - Downloads Unit test & Integration test

What is it?

japanese-address-parser-py is a Python package for parsing Japanese addresses. Any address can be parsed into structured data.

Installation from PyPI

pip install japanese-address-parser-py

Usage

Sequential execution

from japanese_address_parser_py import Parser

addresses = [
    "埼玉県さいたま市浦和区高砂3-15-1",
    "千葉県千葉市中央区市場町1-1",
    "東京都新宿区西新宿2-8-1",
    "神奈川県横浜市中区日本大通1",
]
parser = Parser()
for address in addresses:
    parse_result = parser.parse(address)
    print(parse_result.address)
{'prefecture': '埼玉県', 'town': '高砂三丁目', 'rest': '15-1', 'city': 'さいたま市浦和区'}
{'rest': '1-1', 'town': '市場町', 'prefecture': '千葉県', 'city': '千葉市中央区'}
{'prefecture': '東京都', 'rest': '8-1', 'town': '西新宿二丁目', 'city': '新宿区'}
{'town': '日本大通', 'city': '横浜市中区', 'prefecture': '神奈川県', 'rest': '1'}

Parallel execution

from concurrent.futures import ThreadPoolExecutor

from japanese_address_parser_py import Parser

addresses = [
    "徳島県徳島市万代町1-1",
    "香川県高松市番町4-1-10",
    "愛媛県松山市一番町4-4-2",
    "高知県高知市丸ノ内1-2-20",
]

parser = Parser()
with ThreadPoolExecutor(max_workers=4) as executor:
    results = executor.map(parser.parse, addresses)

for result in results:
    print(result.address)
{'prefecture': '徳島県', 'rest': '1', 'city': '徳島市', 'town': '万代町一丁目'}
{'prefecture': '香川県', 'city': '高松市', 'town': '番町四丁目', 'rest': '1-10'}
{'city': '松山市', 'rest': '4-2', 'town': '一番町四丁目', 'prefecture': '愛媛県'}
{'city': '高知市', 'town': '丸ノ内一丁目', 'rest': '2-20', 'prefecture': '高知県'}

Development

This library is written in Rust. You need to set up a Rust development environment to build this library. We recommend uv for Python dependency management and development.

# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone repository
git clone https://github.com/YuukiToriyama/japanese-address-parser.git
cd japanese-address-parser/python
# Setup environment and install dependencies
uv sync
# Run tests
uv run pytest tests/test_parser.py

If you want to build the wheel manually:

uv tool run maturin build --release --out dist

Support

This software is maintained by YuukiToriyama. If you have any questions, please create a new issue.

Where to get source code

The source code is hosted on GitHub at: https://github.com/YuukiToriyama/japanese-address-parser

Acknowledgements

This software was inspired by @geolonia/normalize-japanese-addresses.
In addition, the parsing process uses Geolonia 住所データ which is provided by 株式会社Geolonia.

License

This library is distributed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

japanese_address_parser_py-0.3.2.tar.gz (55.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

japanese_address_parser_py-0.3.2-cp37-abi3-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.7+Windows x86-64

japanese_address_parser_py-0.3.2-cp37-abi3-win32.whl (1.9 MB view details)

Uploaded CPython 3.7+Windows x86

japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ x86-64

japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.6 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ s390x

japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.8 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ppc64le

japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (2.4 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ i686

japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARMv7l

japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

japanese_address_parser_py-0.3.2-cp37-abi3-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.7+macOS 11.0+ ARM64

japanese_address_parser_py-0.3.2-cp37-abi3-macosx_10_12_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.7+macOS 10.12+ x86-64

File details

Details for the file japanese_address_parser_py-0.3.2.tar.gz.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.2.tar.gz
Algorithm Hash digest
SHA256 f4394dfa175d1bc8f91b39c06ebce049de300bc52fad5ce2990f1ab38641c771
MD5 51f8c438b9c864d56bf35f60746af40f
BLAKE2b-256 db28630776f2535fa7434be16180d90cdeaedddccf75586ff84ea83a4ea6f518

See more details on using hashes here.

File details

Details for the file japanese_address_parser_py-0.3.2-cp37-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.2-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2a1165cbb9503f86a12fe0b72af476a58ca502e54b5ab1d0b8cbf66589ba9295
MD5 f4904c9ffe02f4a643010280f50c4fac
BLAKE2b-256 366a169eb3a62f818551d9472f7578d1bd5ea004b14cdc516ba5963631805661

See more details on using hashes here.

File details

Details for the file japanese_address_parser_py-0.3.2-cp37-abi3-win32.whl.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.2-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 90d883e5a444627c275e791ac3d806165814b9bcf3e4327971b3fc5caffa3703
MD5 8e115692ddcae472ff70ca8ba290e0ef
BLAKE2b-256 0df6c4bf921a2f47ab4d2794f2d09f68ff524e8948af0dfb9e0d1493ef2210d3

See more details on using hashes here.

File details

Details for the file japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 00e5eef2850064dd4501443ff6a960863d418d66f38d20386712448e00e37983
MD5 2f50fd58d67321b748581b3049d5e78f
BLAKE2b-256 d4d9e0f38ebd5f3d2e5266b18c33f7660519718b74db298403f7fde7e083fb75

See more details on using hashes here.

File details

Details for the file japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 711f9042d66ef53155c6496a3c769d6ed00a479d2f0dc079d28ffd6b0ad3c559
MD5 b9d683107ac04c31926512fee7de9c88
BLAKE2b-256 9bb2165d4f6ccec05770a29b6da6e04f461f14aa4878caf0d050ecd3072ce106

See more details on using hashes here.

File details

Details for the file japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 55c7d189565c31b7c32722107c33915070ea5c5920b9fbab243c5abdc34a0a35
MD5 76830200742b6197d1b15b2d197c0096
BLAKE2b-256 0945962ac3c0b22c030d087249485f5851bffa7e38fae7ac17b0191384a54e10

See more details on using hashes here.

File details

Details for the file japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2d1c3645e8da2062faeb3522d9afa0bba124a726c049c35225d02ee49efef7a2
MD5 fa05817e7852eab8dc3168b1de616b5a
BLAKE2b-256 277a85c3955799c2899f0c254ef7eb4a8e1c80da1803615dc52c60c7cbf17262

See more details on using hashes here.

File details

Details for the file japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 cab4c863fe53821a91487862064622a90ae961a5c3030107ef1c2d650bc0dc70
MD5 7736893425a592deba1a69376ed694ff
BLAKE2b-256 87daa418dd6671d8fe8ea7b9f25fd99043bd286e4c2b8b6f6e64bde91b2c8e8a

See more details on using hashes here.

File details

Details for the file japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9036689c88377c5cf5150c0a40006bec31e1151e7ec690d797a13b6063c0d373
MD5 5159d20c9c3186eca4681002b72ab5b1
BLAKE2b-256 8e9c1988082ed9819ec5f266477e43c127c1c16c37ce95105ab1306c1dc6b0ee

See more details on using hashes here.

File details

Details for the file japanese_address_parser_py-0.3.2-cp37-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.2-cp37-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 87b79352f1fcb3a7565a6497725a147632b0eae842df6d39f1ce5c490b5195dd
MD5 236cb4320b3832295f0d6bd71a20e249
BLAKE2b-256 b0f31c716275bf96cd0b6e4db25c077b10605d62ca7cde1a4485108c00955648

See more details on using hashes here.

File details

Details for the file japanese_address_parser_py-0.3.2-cp37-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.2-cp37-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3eb1ba2ccdf171243946c0882cf2a62a7a845d052a62fc8d5b74bba3d9e97427
MD5 664181c305eff48ae169a0f8ade8ef61
BLAKE2b-256 dcb61078cdba9743308fbfcb5d4e8dd9b612845b2b75a6fae739cfb73fda1886

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page