Skip to main content

Python bindings for libpostal C library.

Reason this release was yanked:

pre-release

Project description

libpypostal

Python bindings for libpostal, an open-source address parsing library.

Why another Python library for libpostal?

There are currently two Python packages available on PyPI that provide bindings for the libpostal C library.

  1. pypostal (official)
  2. pylibpostal (fork of pypostal)

Due to lack of development in either project for a number of years, here is yet another (non-forked) Python package to address some challenges in usability.

Note that this package reuses the C extension code to avoid reinventing the wheel with some minor changes (e.g. remove Python 2 support). The Python API has also changed slightly in some cases for usability purposes as well.

Installation

If a wheel is not available for your architecture and/or Python version, you need to first install libpostal.

pip install libpypostal

Usage

Libpostal data configuration

Required to use the library. Use the following utility to download the data.

NOTE: This function will also automatically set the LIBPOSTAL_DATA_DIR to the output directory specified.

from libpypostal import data_utils

output_dir = "/tmp/libpostal_data_dir"
data_utils.download_libpostal_data(output_dir)

Alternatively, if you have already downloaded the data, you only need to run:

from libpypostal import data_utils

output_dir = "/tmp/libpostal_data_dir"
data_utils.set_data_dir_env_var(output_dir)

Address parser

from libpypostal import parser

parser.parse_address("123 Main St, Somewhere, DC 00000")

Versioning

Each release of libpypostal depends on a specific version of libpostal when building wheels to release.

The version used to build the Python wheels for a given release can be found as follows:

from libpypostal import version

version.LIBPOSTAL_VERSION

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

libpypostal-0.0.5.tar.gz (8.8 kB view hashes)

Uploaded Source

Built Distributions

libpypostal-0.0.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

libpypostal-0.0.5-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (2.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

libpypostal-0.0.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

libpypostal-0.0.5-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (1.2 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

libpypostal-0.0.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

libpypostal-0.0.5-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (2.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

libpypostal-0.0.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

libpypostal-0.0.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (1.2 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

libpypostal-0.0.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

libpypostal-0.0.5-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (2.2 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

libpypostal-0.0.5-pp38-pypy38_pp73-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

libpypostal-0.0.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (1.2 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

libpypostal-0.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

libpypostal-0.0.5-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (2.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

libpypostal-0.0.5-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

libpypostal-0.0.5-cp312-cp312-macosx_10_9_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

libpypostal-0.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

libpypostal-0.0.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (2.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

libpypostal-0.0.5-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

libpypostal-0.0.5-cp311-cp311-macosx_10_9_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

libpypostal-0.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

libpypostal-0.0.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (2.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

libpypostal-0.0.5-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

libpypostal-0.0.5-cp310-cp310-macosx_10_9_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

libpypostal-0.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

libpypostal-0.0.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (2.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

libpypostal-0.0.5-cp39-cp39-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

libpypostal-0.0.5-cp39-cp39-macosx_10_9_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

libpypostal-0.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

libpypostal-0.0.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (2.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

libpypostal-0.0.5-cp38-cp38-macosx_11_0_arm64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

libpypostal-0.0.5-cp38-cp38-macosx_10_9_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

Supported by

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