Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sweetiq/expostal
Elixir binding for Libpostal - a library for parsing/normalizing street addresses around the world. Powered by statistical NLP and open geo data.
https://github.com/sweetiq/expostal
address binding elixir geocoding libpostal nif parser
Last synced: 15 days ago
JSON representation
Elixir binding for Libpostal - a library for parsing/normalizing street addresses around the world. Powered by statistical NLP and open geo data.
- Host: GitHub
- URL: https://github.com/sweetiq/expostal
- Owner: SweetIQ
- License: mit
- Created: 2017-05-26T16:42:12.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-07-23T09:55:31.000Z (over 1 year ago)
- Last Synced: 2024-10-29T08:42:21.250Z (22 days ago)
- Topics: address, binding, elixir, geocoding, libpostal, nif, parser
- Language: Elixir
- Homepage:
- Size: 35.2 KB
- Stars: 97
- Watchers: 6
- Forks: 17
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ![Elixir](https://hexdocs.pm/ex_unit/assets/logo.png) expostal
[![Build Status](https://travis-ci.org/SweetIQ/expostal.svg?branch=master)](https://travis-ci.org/SweetIQ/expostal)
[![Hex.pm](https://img.shields.io/hexpm/v/expostal.svg)](https://hex.pm/packages/expostal)
[![license](https://img.shields.io/github/license/sweetiq/expostal.svg)](https://github.com/SweetIQ/expostal/blob/master/LICENSE)Elixir binding for [Libpostal] - a library for parsing/normalizing street addresses around the world.
Powered by statistical NLP and open geo data.Tutorial on how to write Elixir/Erlang NIF: http://cs.mcgill.ca/~mxia3/2017/06/18/tutorial-extending-elixir-with-c-using-NIF/
## Installation
The package can be installed by adding `expostal` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[{:expostal, "~> 0.2.0"}]
end
```### Dependencies
Depends on [system-wide installation of libpostal](https://github.com/openvenues/libpostal#installation).
[Libpostal]: https://github.com/openvenues/libpostal
## Usage
Parsing an address:
```
iex> Expostal.parse_address("615 Rene Levesque Ouest, Montreal, QC, Canada")%{city: "montreal", country: "canada", house_number: "615",
road: "rene levesque ouest", state: "qc"}```
Expanding an address:
```
iex> Expostal.expand_address("781 Franklin Ave Crown Hts Brooklyn NY")["781 franklin avenue crown heights brooklyn new york",
"781 franklin avenue crown heights brooklyn ny"]
```## Documentation
View the docs on [https://hexdocs.pm/expostal](https://hexdocs.pm/expostal), or
generate the docs locally with `mix docs`.