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. Also, you need to install maturin as this library uses it in order to generate Python bindings.

# Install maturin
cargo install --locked maturin
# Clone repository
git clone https://github.com/YuukiToriyama/japanese-address-parser.git
# Build python module
cd japanse-address-parser/python
maturin build --release --out dist --find-interpreter
# Install the built library
python3 -m venv .venv
pip3 install dist/japanese_address_parser_py-[version]-cp37-abi3-[arch].whl

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.1.tar.gz (54.1 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.1-cp37-abi3-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.7+Windows x86-64

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

Uploaded CPython 3.7+Windows x86

japanese_address_parser_py-0.3.1-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.1-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.1-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.7 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ppc64le

japanese_address_parser_py-0.3.1-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.1-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.0 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARMv7l

japanese_address_parser_py-0.3.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.17+ ARM64

japanese_address_parser_py-0.3.1-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.1-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.1.tar.gz.

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.1.tar.gz
Algorithm Hash digest
SHA256 66b2c10ce840edeae854c066ed9b454920ea029a34f0b466d04ec31e5fc8b015
MD5 be4bce1f314f6d4253a657f917b8e2d6
BLAKE2b-256 5477eb8626481babeef5bfcad9748256f228229de4056a792267eb4f238ece1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.1-cp37-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fc8275cbd41da5ce37cd7d41e6dd49d6d9b64b371ec6ac9132dd1595ca9380a7
MD5 d931b15fff1e0f544b7195daf2a25399
BLAKE2b-256 0c7d46947059ce3d1d067761ceab69bd472803bbb0d439397563f001b532230a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.1-cp37-abi3-win32.whl
Algorithm Hash digest
SHA256 982d5449d704929ae95845a7db8b080cc26d851fe9cfe683a1a084cc26f8c1cb
MD5 8b1d03100e7a2ec44d063a2ef936ea72
BLAKE2b-256 1bc116136bff1ac8b74d61093623272173fdc38e58d5f77281ba5c7f26211f44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0808fc037b23e2b841a53a92964c82a7e47e5a88469935f016686998603089f8
MD5 87dff8bcf331904da2c60618deab2d99
BLAKE2b-256 a4282885ea706cb3e602c2ae469a4c25a999fbe18bdd726883bbb50ca917c8ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.1-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 3e16f3e3a257b09a28c7357870a86adbe7b9377ccf5e478f51bf386bf2a12054
MD5 484584a52711fb8b3da77beae59d3d1c
BLAKE2b-256 3f6adf9c697e69e4394658bc5b238acbd7b6c70a98de33bea2e3bbd0bcced27a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.1-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 204a94ebce22a1de9c104adfc22ab300a3ae33b2f38f46e960c710829acb11af
MD5 30042dcb9c277702a66566ac2d9ad0a4
BLAKE2b-256 a12d159fd109fa15e13dacc69a2e9f692796f8d7a5f5dfaf38557bf7b54eb226

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.1-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d03e0617a87dcb99b858d188ead480e327db82cbda11ae5edfb63e819899c911
MD5 533ef8cf526935e625e641d3c5f4d4bd
BLAKE2b-256 9810da84bc0843a1f7bf52138d3dd87487375a02e298e422f3f6f3cf761544d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.1-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 69795fa532344b7aefdd884b125163aae00336f293aefaf49aed8fc0622a6bfa
MD5 0b3fb07b2e2938c48ccdba58037b3239
BLAKE2b-256 af30b574674fc71973def23b38ac7ffc540d76af1f25f804eeb314c56fa14255

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4cbbe520fe1e806c17b41ff279e0754926742044b6a604b910ac59c0ddb6af6a
MD5 d2c616270b2c7e1e6a0bb2418bf3ec6e
BLAKE2b-256 8c17501ec23eb8fb1f0307b0153a659331c2d4a38b6a9667221a84b7e0de6481

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.1-cp37-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 978cc37c162e4a5508c366baffeb2eb24b29670094586f495df1480fca647ade
MD5 b06fc56062d83a28db034bfe6c799101
BLAKE2b-256 3e64de9af1ceda7c67a7338b562a5b1112a86c7f30e39b6f61925940dd3412ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for japanese_address_parser_py-0.3.1-cp37-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 17fcc160785a50b60f0217d00909932c2539a96f15c5f2e765b19e9d0fdbabdc
MD5 cd42e6d050b79e25d365fc79d068efda
BLAKE2b-256 2a6f86dc27c95ad58bb66481ab09d934e4d9c61eb8c078c9e770ecd8dd7aa79d

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