# japanese-address-parser-py
A Python toolkit for processing Japanese addresses
[](https://pypi.org/project/japanese-address-parser-py/)
[](https://pypi.org/project/japanese-address-parser-py/#history)
[](https://github.com/YuukiToriyama/japanese-address-parser/actions/workflows/run-test.yaml)
## 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
```bash
pip install japanese-address-parser-py
```
## Usage
```python
from japanese_address_parser_py import Parser
address_list = [
"埼玉県さいたま市浦和区高砂3-15-1",
"千葉県千葉市中央区市場町1-1",
"東京都新宿区西新宿2-8-1",
"神奈川県横浜市中区日本大通1"
]
parser = Parser()
for address in address_list:
parse_result = parser.parse(address)
print(parse_result.address)
```
```text
{'prefecture': '埼玉県', 'town': '高砂三丁目', 'rest': '15-1', 'city': 'さいたま市浦和区'}
{'rest': '1-1', 'town': '市場町', 'prefecture': '千葉県', 'city': '千葉市中央区'}
{'prefecture': '東京都', 'rest': '8-1', 'town': '西新宿二丁目', 'city': '新宿区'}
{'town': '日本大通', 'city': '横浜市中区', 'prefecture': '神奈川県', 'rest': '1'}
```
```python
from japanese_address_parser_py import Parser
parser = Parser()
address = "神奈川県横浜市中区本町6丁目50-10"
parse_result = parser.parse(address)
print(parse_result.address["prefecture"])
print(parse_result.address["city"])
print(parse_result.address["town"])
print(parse_result.address["rest"])
```
```text
神奈川県
横浜市中区
本町六丁目
50-10
```
## 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.
```bash
# 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](https://github.com/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](https://github.com/geolonia/normalize-japanese-addresses).
In addition, the parsing process uses [Geolonia 住所データ](https://github.com/geolonia/japanese-addresses) which is
provided by [株式会社Geolonia](https://www.geolonia.com/company/).
## License
This crate is distributed under the terms of the MIT license.
Raw data
{
"_id": null,
"home_page": null,
"name": "japanese-address-parser-py",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "converter, utility, geo, rust",
"author": "Yuuki Toriyama <github@toriyama.dev>",
"author_email": "Yuuki Toriyama <github@toriyama.dev>",
"download_url": "https://files.pythonhosted.org/packages/60/b5/5c6c16918d90c9a9423c145a65d5e78aad66a8de426cdadffa918a5e2e4d/japanese_address_parser_py-0.2.9.tar.gz",
"platform": null,
"description": "# japanese-address-parser-py\n\nA Python toolkit for processing Japanese addresses\n\n[](https://pypi.org/project/japanese-address-parser-py/)\n[](https://pypi.org/project/japanese-address-parser-py/#history)\n[](https://github.com/YuukiToriyama/japanese-address-parser/actions/workflows/run-test.yaml)\n\n## What is it?\n\n**japanese-address-parser-py** is a Python package for parsing Japanese addresses.\nAny address can be parsed into structured data.\n\n## Installation from PyPI\n\n```bash\npip install japanese-address-parser-py\n```\n\n## Usage\n\n```python\nfrom japanese_address_parser_py import Parser\n\naddress_list = [\n \"\u57fc\u7389\u770c\u3055\u3044\u305f\u307e\u5e02\u6d66\u548c\u533a\u9ad8\u78023-15-1\",\n \"\u5343\u8449\u770c\u5343\u8449\u5e02\u4e2d\u592e\u533a\u5e02\u5834\u753a1-1\",\n \"\u6771\u4eac\u90fd\u65b0\u5bbf\u533a\u897f\u65b0\u5bbf2-8-1\",\n \"\u795e\u5948\u5ddd\u770c\u6a2a\u6d5c\u5e02\u4e2d\u533a\u65e5\u672c\u5927\u901a1\"\n]\nparser = Parser()\nfor address in address_list:\n parse_result = parser.parse(address)\n print(parse_result.address)\n```\n\n```text\n{'prefecture': '\u57fc\u7389\u770c', 'town': '\u9ad8\u7802\u4e09\u4e01\u76ee', 'rest': '15-1', 'city': '\u3055\u3044\u305f\u307e\u5e02\u6d66\u548c\u533a'}\n{'rest': '1-1', 'town': '\u5e02\u5834\u753a', 'prefecture': '\u5343\u8449\u770c', 'city': '\u5343\u8449\u5e02\u4e2d\u592e\u533a'}\n{'prefecture': '\u6771\u4eac\u90fd', 'rest': '8-1', 'town': '\u897f\u65b0\u5bbf\u4e8c\u4e01\u76ee', 'city': '\u65b0\u5bbf\u533a'}\n{'town': '\u65e5\u672c\u5927\u901a', 'city': '\u6a2a\u6d5c\u5e02\u4e2d\u533a', 'prefecture': '\u795e\u5948\u5ddd\u770c', 'rest': '1'}\n```\n\n```python\nfrom japanese_address_parser_py import Parser\n\nparser = Parser()\naddress = \"\u795e\u5948\u5ddd\u770c\u6a2a\u6d5c\u5e02\u4e2d\u533a\u672c\u753a6\u4e01\u76ee50-10\"\nparse_result = parser.parse(address)\nprint(parse_result.address[\"prefecture\"])\nprint(parse_result.address[\"city\"])\nprint(parse_result.address[\"town\"])\nprint(parse_result.address[\"rest\"])\n```\n\n```text\n\u795e\u5948\u5ddd\u770c\n\u6a2a\u6d5c\u5e02\u4e2d\u533a\n\u672c\u753a\u516d\u4e01\u76ee\n50-10\n```\n\n## Development\n\nThis library is written in Rust. You need to set up a Rust development environment to build this library.\nAlso, you need to install `maturin` as this library uses it in order to generate Python bindings.\n\n```bash\n# Install maturin\ncargo install --locked maturin\n# Clone repository\ngit clone https://github.com/YuukiToriyama/japanese-address-parser.git\n# Build python module\ncd japanse-address-parser/python\nmaturin build --release --out dist --find-interpreter\n# Install the built library\npython3 -m venv .venv\npip3 install dist/japanese_address_parser_py-[version]-cp37-abi3-[arch].whl\n```\n\n## Support\n\nThis software is maintained by [YuukiToriyama](https://github.com/yuukitoriyama).\nIf you have any questions, please create a new issue.\n\n## Where to get source code\n\nThe source code is hosted on GitHub at:\nhttps://github.com/YuukiToriyama/japanese-address-parser\n\n## Acknowledgements\n\nThis software was inspired\nby [@geolonia/normalize-japanese-addresses](https://github.com/geolonia/normalize-japanese-addresses). \nIn addition, the parsing process uses [Geolonia \u4f4f\u6240\u30c7\u30fc\u30bf](https://github.com/geolonia/japanese-addresses) which is\nprovided by [\u682a\u5f0f\u4f1a\u793eGeolonia](https://www.geolonia.com/company/).\n\n## License\n\nThis crate is distributed under the terms of the MIT license.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A library for processing addresses of Japan",
"version": "0.2.9",
"project_urls": {
"Source Code": "https://github.com/YuukiToriyama/japanese-address-parser"
},
"split_keywords": [
"converter",
" utility",
" geo",
" rust"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c00971bad60ea5aef00b543aea5aff88a12a1c3aa9e06eb12e4e8af1abd0995f",
"md5": "5fa306bd56fd08342d49d12a2c10127e",
"sha256": "a54f90fd99350f6a4b14683604429fd7eb4e7f1b07e411468d345ea3d4eb8c15"
},
"downloads": -1,
"filename": "japanese_address_parser_py-0.2.9-cp37-abi3-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "5fa306bd56fd08342d49d12a2c10127e",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 2162386,
"upload_time": "2025-09-13T07:38:11",
"upload_time_iso_8601": "2025-09-13T07:38:11.287899Z",
"url": "https://files.pythonhosted.org/packages/c0/09/71bad60ea5aef00b543aea5aff88a12a1c3aa9e06eb12e4e8af1abd0995f/japanese_address_parser_py-0.2.9-cp37-abi3-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9df7c502abff6a7b9a024d151e834d08333177bb8ae34ac2bb0a931c4925d548",
"md5": "cf8483c1ed59e5f225b215d12a80f0e4",
"sha256": "833c70f2dcb72e859ff6d4580738c3df4d364a0a8923aa72e0805627a35b7d60"
},
"downloads": -1,
"filename": "japanese_address_parser_py-0.2.9-cp37-abi3-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "cf8483c1ed59e5f225b215d12a80f0e4",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 2073939,
"upload_time": "2025-09-13T07:38:09",
"upload_time_iso_8601": "2025-09-13T07:38:09.585124Z",
"url": "https://files.pythonhosted.org/packages/9d/f7/c502abff6a7b9a024d151e834d08333177bb8ae34ac2bb0a931c4925d548/japanese_address_parser_py-0.2.9-cp37-abi3-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8fde5db31efd18c90b14a8521074f2877767b510e0f9f8e5ae2ff5d11f958937",
"md5": "485aa8811735f914d607ee5ad1f74e45",
"sha256": "d2863f134254ef84e2e09dec7597c01e4cccd424a555385580eaef8515e73bbf"
},
"downloads": -1,
"filename": "japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "485aa8811735f914d607ee5ad1f74e45",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 1885075,
"upload_time": "2025-09-13T07:38:00",
"upload_time_iso_8601": "2025-09-13T07:38:00.678058Z",
"url": "https://files.pythonhosted.org/packages/8f/de/5db31efd18c90b14a8521074f2877767b510e0f9f8e5ae2ff5d11f958937/japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cbefe09587b712b25da3dfc11b822358045a9081650ca6e2d887f3efc0fce431",
"md5": "9b925d0bfe781e092e79b4288a57872b",
"sha256": "d4f3582ff4f7800fac90be611a4417dfe0c662243bbb94ab2045f86b5989900c"
},
"downloads": -1,
"filename": "japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "9b925d0bfe781e092e79b4288a57872b",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 1664722,
"upload_time": "2025-09-13T07:38:02",
"upload_time_iso_8601": "2025-09-13T07:38:02.603766Z",
"url": "https://files.pythonhosted.org/packages/cb/ef/e09587b712b25da3dfc11b822358045a9081650ca6e2d887f3efc0fce431/japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a03d3035d7085f95b052bc3e6385b236ea6fca5cb230756a0234300229821e34",
"md5": "80eb8fee0ce757476fb2ecc68af86868",
"sha256": "edf683961c0f02ccac4b92d9db0122da91d799eaa013d9bb2d69739089720ec4"
},
"downloads": -1,
"filename": "japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "80eb8fee0ce757476fb2ecc68af86868",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 2001636,
"upload_time": "2025-09-13T07:38:07",
"upload_time_iso_8601": "2025-09-13T07:38:07.112348Z",
"url": "https://files.pythonhosted.org/packages/a0/3d/3035d7085f95b052bc3e6385b236ea6fca5cb230756a0234300229821e34/japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a16eb3acd3cc8a93339367dbfb5983114de5a33efa3b65732cf03070cb473634",
"md5": "4074bff381d8c1ff45d2f0834928297e",
"sha256": "197cd1e9553b48f8a95b5eb08de813da2857840cb4ef7cc5e5d0c5d93272302f"
},
"downloads": -1,
"filename": "japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"has_sig": false,
"md5_digest": "4074bff381d8c1ff45d2f0834928297e",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 2199505,
"upload_time": "2025-09-13T07:38:04",
"upload_time_iso_8601": "2025-09-13T07:38:04.060441Z",
"url": "https://files.pythonhosted.org/packages/a1/6e/b3acd3cc8a93339367dbfb5983114de5a33efa3b65732cf03070cb473634/japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f06dce9ad0be9764d14f0fafcc9f9503be8a3d4f2bd8c35668c6741ad6172bfc",
"md5": "5d35c4ed6f957977f7804ba259792023",
"sha256": "792ca76883f29a03853e28d9b68e03be4beeedda9eaf83e19c7aa2bbf1962938"
},
"downloads": -1,
"filename": "japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"has_sig": false,
"md5_digest": "5d35c4ed6f957977f7804ba259792023",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 2253782,
"upload_time": "2025-09-13T07:38:05",
"upload_time_iso_8601": "2025-09-13T07:38:05.576709Z",
"url": "https://files.pythonhosted.org/packages/f0/6d/ce9ad0be9764d14f0fafcc9f9503be8a3d4f2bd8c35668c6741ad6172bfc/japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4d4485bba5b0810fce10059adca21ba64d3b7a59cb59e0184ef1d777be168ae3",
"md5": "6b6944c1fc080ab649dfa889ecd0d4db",
"sha256": "6f912b8db78ef96683061ab667a5d075c15bf79fb9e881fe8a7940ee7e67bbfc"
},
"downloads": -1,
"filename": "japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "6b6944c1fc080ab649dfa889ecd0d4db",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 2022709,
"upload_time": "2025-09-13T07:38:08",
"upload_time_iso_8601": "2025-09-13T07:38:08.385982Z",
"url": "https://files.pythonhosted.org/packages/4d/44/85bba5b0810fce10059adca21ba64d3b7a59cb59e0184ef1d777be168ae3/japanese_address_parser_py-0.2.9-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "47b69f7d7f88ae397a0db7264cbdfa7a9fbe1e23a4230ae5dc7e2739223e3549",
"md5": "2218a90f74e4a9732ae73cc72918bff2",
"sha256": "abf8fab71a110388fbe6a82170ab3073b0943d3c921b4f81684f4ee1989bac26"
},
"downloads": -1,
"filename": "japanese_address_parser_py-0.2.9-cp37-abi3-win32.whl",
"has_sig": false,
"md5_digest": "2218a90f74e4a9732ae73cc72918bff2",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 1575468,
"upload_time": "2025-09-13T07:38:15",
"upload_time_iso_8601": "2025-09-13T07:38:15.258600Z",
"url": "https://files.pythonhosted.org/packages/47/b6/9f7d7f88ae397a0db7264cbdfa7a9fbe1e23a4230ae5dc7e2739223e3549/japanese_address_parser_py-0.2.9-cp37-abi3-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5faefdefada352e35d2a81d657fa0d3aa2ddc7bdab16e81584b68062cfcdceed",
"md5": "94f215ed0b7ec047fcf21ab1c0ebc548",
"sha256": "c0150df043cbb46f49a8ac8080df459dab37c7afd6db8d718dff46f82ae43d5e"
},
"downloads": -1,
"filename": "japanese_address_parser_py-0.2.9-cp37-abi3-win_amd64.whl",
"has_sig": false,
"md5_digest": "94f215ed0b7ec047fcf21ab1c0ebc548",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 1867893,
"upload_time": "2025-09-13T07:38:13",
"upload_time_iso_8601": "2025-09-13T07:38:13.874465Z",
"url": "https://files.pythonhosted.org/packages/5f/ae/fdefada352e35d2a81d657fa0d3aa2ddc7bdab16e81584b68062cfcdceed/japanese_address_parser_py-0.2.9-cp37-abi3-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "60b55c6c16918d90c9a9423c145a65d5e78aad66a8de426cdadffa918a5e2e4d",
"md5": "fd895dcaa8c3d38248508cfd8c46c022",
"sha256": "005faa9579d5a8f3206c92cc4a4d0e1076f962a28a5f7fe9cd2cba2420b8f315"
},
"downloads": -1,
"filename": "japanese_address_parser_py-0.2.9.tar.gz",
"has_sig": false,
"md5_digest": "fd895dcaa8c3d38248508cfd8c46c022",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 48832,
"upload_time": "2025-09-13T07:38:12",
"upload_time_iso_8601": "2025-09-13T07:38:12.704338Z",
"url": "https://files.pythonhosted.org/packages/60/b5/5c6c16918d90c9a9423c145a65d5e78aad66a8de426cdadffa918a5e2e4d/japanese_address_parser_py-0.2.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-13 07:38:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "YuukiToriyama",
"github_project": "japanese-address-parser",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "japanese-address-parser-py"
}