#parser

japanese-address-parser

A Rust Library to parse japanese addresses

54 releases

new 0.1.23 Nov 5, 2024
0.1.21 Oct 29, 2024
0.1.5 Jul 13, 2024
0.1.0-beta.11 Mar 31, 2024
0.1.0-alpha.2 Nov 30, 2023

#32 in Geospatial

Download history 11/week @ 2024-07-15 46/week @ 2024-07-29 77/week @ 2024-08-05 341/week @ 2024-08-12 296/week @ 2024-08-19 228/week @ 2024-08-26 134/week @ 2024-09-02 115/week @ 2024-09-09 329/week @ 2024-09-16 300/week @ 2024-09-23 182/week @ 2024-09-30 28/week @ 2024-10-07 130/week @ 2024-10-14 23/week @ 2024-10-21 407/week @ 2024-10-28

596 downloads per month

MIT license

175KB
4K SLoC

japanese-address-parser

Docs Crates.io (latest) Rust Version Unit test & Integration test

A Rust library for parsing Japanese addresses.

Usage

Add the following to your Cargo.toml.

[dependencies]
japanese-address-parser = "0.1"

Async Version

use japanese_address_parser::parser::Parser;

#[tokio::main]
async fn main() {
    let parser: Parser = Default::default();
    let parse_result = parser.parse("東京都千代田区丸の内1-1-1").await;
    println!("{:?}", parse_result);
}

Blocking Version

use japanese_address_parser::parser::Parser;

fn main() {
    let parser: Parser = Default::default();
    let parse_result = parser.parse_blocking("東京都千代田区丸の内1-1-1"); // `parse_blocking()` is available on `blocking` feature only
    println!("{:?}", parse_result);
}

Wasm support

npmjs

This crate is designed to be buildable for wasm32-unknown-unknown with wasm-pack. Pre-compiled wasm module is available on npmjs.com

npm install @toriyama/japanese-address-parser
import init, {Parser} from "@toriyama/japanese-address-parser"

init().then(() => {
    const parser = new Parser()
    parser.parse("東京都千代田区丸の内1-1-1").then(parseResult => {
        console.log(JSON.stringify(parseResult, null, "\t"))
    })
})

Python support(experimental)

PyPI - Version

This library can be called from the Python world. For more details, see python module's README.

Road to v1

The goals of this library are as follows.

  • Supports not only wasm but also multiple platforms and architectures.
  • Enables more advanced normalization. For example, provides more detailed analysis than town level.
  • Returns the location of the given address.
  • Enables processing of town names that no longer exist due to municipal mergers.

Support

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

Acknowledgements

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

License

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

Dependencies

~9–22MB
~298K SLoC