Python bindings for libpostal C library.
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.
- pypostal (official)
- 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", merge_multiple_matches=True)
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for libpypostal-0.0.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2badb885572f7336a98d3b1e05304917f523e2306bc665608bade38321b9e775 |
|
MD5 | 45fbd4c3c420db890d0ac6952e22cd0d |
|
BLAKE2b-256 | 55765cc5f2dc61abaa60daf8224e930b72f2272f81d72a5e740d6c1301627b92 |
Hashes for libpypostal-0.0.6-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d94a1e039c01fa6df0932e90882922c9e664226b3c4a762b3c26b71e9c50472 |
|
MD5 | aee0bbb7e9361fe3cd81f20d872b49db |
|
BLAKE2b-256 | d7009c9c79918af4ab9028dc0408aaf34d52229f17b29fea4a50f97bf9e75293 |
Hashes for libpypostal-0.0.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 461e5dfb3fb4854f59d1f05b8c897546fbaff0a266eacbd41c8998fa9afd13e9 |
|
MD5 | 71fe0fb22c57fb0d9ed061dae4973802 |
|
BLAKE2b-256 | 8053671da493c70f6e1010cd532d4d7cbd6aebfa9720af828bfb8f7ea225ffd0 |
Hashes for libpypostal-0.0.6-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a865219399874b555fc7303dc9f0b7f561061b648f41dc76cb779ed10641d332 |
|
MD5 | 83ed7340fc799ab6df3f6ed8e64bda24 |
|
BLAKE2b-256 | 6d134759a6c2de6ea70058b05dbe4419482e042d3f855c1840464ad9e96a4666 |
Hashes for libpypostal-0.0.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0379fe6bdd3689f01323de660e6e096783b22fa9b633e25026c62bfe13936c3 |
|
MD5 | aeba17ba323933d09b0b387c139bd285 |
|
BLAKE2b-256 | a3ba6e1df08c7409854ecaf117294a21c7c1c3da345cc1095e7eadc8151c39fe |
Hashes for libpypostal-0.0.6-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c7860d86bd592dd959b42a8ea21e15084be4854de860d5968a5b81f0a28376e |
|
MD5 | e277d09de8d96652d0381fc780476496 |
|
BLAKE2b-256 | ea4507ffe0ba83c7855df39fdeedc72f89e08056b2db40a9b54b0ac49fff2fe5 |
Hashes for libpypostal-0.0.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 791ccac06f7f04a12a175a225c8dcd5be3e11e5e29c46e73f5944216ec01add8 |
|
MD5 | 8fd70ccf49b8c3598c25052e7226add5 |
|
BLAKE2b-256 | 984769817bcc32d6004784765199da2ea8c88df96d35ec2b3531f560108c2c7b |
Hashes for libpypostal-0.0.6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 308af1fb9cc3cf941231278846835e056927a1b5aac83a995508faf671c8aff3 |
|
MD5 | 3424d1328dbe86d4b8ab8d43cf64cc3f |
|
BLAKE2b-256 | 9b117d7a27cb1b66be4e235397491afd38251cd46b5fe10a1b5cea212fb72be2 |
Hashes for libpypostal-0.0.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b4bddc82a4d233e0eb3b510ba3095625627a30ccf5f62c6da44e171561a5d11 |
|
MD5 | 47c5631318accea4583f25ee6e6c09a9 |
|
BLAKE2b-256 | 43a45265b5c5fb3986f1bb96295cb3f3d7c88dca08c4c2011a665388f74f6788 |
Hashes for libpypostal-0.0.6-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a16a0fc9cc430c8a679708b768b2506eb9adbe4cc34b1ce20eebf7efdf8f20c7 |
|
MD5 | 83c142aff3aca5ec9fa0022e1ae299de |
|
BLAKE2b-256 | 37f88a0d0f6bca08bcd704435e773c96227d7bf66289be3af2c7ceaf6ef341e1 |
Hashes for libpypostal-0.0.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eca3c38d0e1883c80879383ce9cc5d8a674ffad6361aeb7c939ca10d1ffad1b |
|
MD5 | 4289507b9f2212b96732b7a4bccfcc05 |
|
BLAKE2b-256 | ed90c5d55dd4ce0896ce979eacf41df4ebb10372e04d6294765ee6641893f9a3 |
Hashes for libpypostal-0.0.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae10e4286697b183081e343feadaaa3f652b3bd295dd01f2e71aeddb2c8d0a69 |
|
MD5 | 922e6e4a2cc1f532bcd8a2bb98d9b575 |
|
BLAKE2b-256 | ffc912c8ac5f7f72a48db843a77e59d4ad6ca13e5a4eeda40140a1a9f0e5bb13 |
Hashes for libpypostal-0.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a7897ccbde0e636556ec76be78a0680adc6d91dfdb82913633810665be0bfce |
|
MD5 | b1f7c12fc03ed2d58ab787ae51216eff |
|
BLAKE2b-256 | 9539843d3b40ef772d9ba4636b27d6af550b4cf20460e26ec5cf99b5f8fd8443 |
Hashes for libpypostal-0.0.6-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5855d7c8b3dbe377b0d91797c1fafe0af4e94a219fd1cd84b3f4b5c9ac1d074d |
|
MD5 | 80605f4661557ed9bdb71e9128f64607 |
|
BLAKE2b-256 | e4bc5d68b9b19d934648edca9c99722b5c723736c4abf4508f8c456a4046365e |
Hashes for libpypostal-0.0.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0443fdf402e12ee0a11b41f35fb3a7fcd1d19a631c291c79a028a61f9c4d5113 |
|
MD5 | aaebb5248ffa832fe3d92e825bf303ea |
|
BLAKE2b-256 | 7e0c6bfed65fd89549ed634405384ff010c22b603378cf02fe7d82237ea092fb |
Hashes for libpypostal-0.0.6-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b5a115818519a675b8d206cd7015b0a267e0646298bc967b4ebc883abaa1ef2 |
|
MD5 | 14090d20c0027d925510577a9611212f |
|
BLAKE2b-256 | 48e2ee1ad2b2369f1c906d65d7de478d4e95616c342f71ed12db0fb192fc4108 |
Hashes for libpypostal-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fcc5cffa3deb5b047083f44b44334fd235d23e7e5adca93faa07364fa21b412 |
|
MD5 | fae85e8c413a1f8fe5d4973d570beb9d |
|
BLAKE2b-256 | 6877fde42b1b0c647531159c6e9abeba106182d953b62c01b7f8d6a39c53857d |
Hashes for libpypostal-0.0.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9b32783a4a44703dd8e92b0806f51fc5cfa3bbab3e345b7320e998ea33df8a4 |
|
MD5 | e4b0e60818b7bbcf143805a6c08bf9fc |
|
BLAKE2b-256 | 1d4ec4ec4a8cee3c955ff905cf39b57c7d56e1e334f3f5384727a96a3ffea14d |
Hashes for libpypostal-0.0.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ee1e819a0b8b9f162b4709637b91e0888cda860c3f30facd799c656e8eefd97 |
|
MD5 | 87843c0f6869c43712dbe71090a9e6f4 |
|
BLAKE2b-256 | 4464cfca4931f9e6b8e95734ae3867fc8a88c05fbebc33122ee2269947eda181 |
Hashes for libpypostal-0.0.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d3ead7428cf663b6023fe84f0423c1852a7f554a728c5c62ca6506591556f1f |
|
MD5 | 71999017a4c0364b3b9142ce20f5b366 |
|
BLAKE2b-256 | 5be17f52945b4ee9a5a2427453c76aa710a18c307d139bb994f360bab0fc0ac4 |
Hashes for libpypostal-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ada934e04838cab6ac3b214fb144ee51b5274256284b4a8782bf3bebae8a0a7d |
|
MD5 | 70647e69f17afe187c16b97066004b8a |
|
BLAKE2b-256 | d5ca28521c89866302940d9ae31f95eecae63c6707161e2787e22003250dd2f6 |
Hashes for libpypostal-0.0.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26de5c9c300d2831cb043782a9552a5638f0d7094272ab1b10d31be1769bed77 |
|
MD5 | 4880951382adf21dfdb1a81f14f532a6 |
|
BLAKE2b-256 | 26428bd262c4b83451960543e9537515245bcce7efb22be342feedd621260b6a |
Hashes for libpypostal-0.0.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ec716bd07e2c54ca1c8543896d4b1855bcf737667516fff7d38d6a80bb1cb3b |
|
MD5 | 6fef5b24ef96638c21aedea6c3a3a60a |
|
BLAKE2b-256 | ce18b099331bbb5e242c35a271d8754bf0c70db4a8c1bb0975d8626437ceae0f |
Hashes for libpypostal-0.0.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54dd3ba1e6c804419bd48d5133c8cd089277858b6c430eb9311ef99cef6819b6 |
|
MD5 | 548513cb9b185d699347f4352bf6e87d |
|
BLAKE2b-256 | fa58428972a1a03ac3b544ba279232b30cad46184e4759005a024201e5f6430b |
Hashes for libpypostal-0.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d075548d6a0b8404d93df8d84ec4d140f7a0decd19bfd17732f9ba847893e8e5 |
|
MD5 | 01ef52c4bc880c27b27401be9a00c78a |
|
BLAKE2b-256 | d191e21b22c4afb645b6486692dc99633dd30bcec60e632bc29e76a3bdd4feed |
Hashes for libpypostal-0.0.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1763c7e62f6fe57d271277e2456a12e29daa68808aa488f615eb914c9a35ba60 |
|
MD5 | 089014be73b315d9a714d3fa49a55ec0 |
|
BLAKE2b-256 | 72d2deaf387eb3feebb8e9da8bebd35ccdac50d84748d555408d186d5cc5c99e |
Hashes for libpypostal-0.0.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a06dbf38d377f9bb3fdd86dba2f3a9f4ee118f4202746879c7d76e085cc11b08 |
|
MD5 | e48293ae4ef64e9721a72f40eabefdfa |
|
BLAKE2b-256 | 54bfd7efc450ebda708d8747b62472500c4a159e27d1b2c4c26d60f1ff74b798 |
Hashes for libpypostal-0.0.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e7ef9ec54c0d9dc008f89dd46102d31ce7b7de7d35817e8a68551f96938ec12 |
|
MD5 | 0c48da1a1da06d3db1fd4f29c3c5ca6b |
|
BLAKE2b-256 | c0a8fe323caed1e481cde350dd85975fd0024047deb3d5ab2dca0187743708c7 |
Hashes for libpypostal-0.0.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c8941563debac82ad8f46e3fb8a8692083b91eda0f8ed9cd221cffc77339062 |
|
MD5 | 9b62aac0cc0747d283ca76c4942bdc9a |
|
BLAKE2b-256 | 4ecdeb5bc1def8be4cb278eb4d703d2acfc92b1ba1432c8f197b182b80ebd04e |
Hashes for libpypostal-0.0.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe90e4c0bce406df75ff820eb418e0fb5810124eee3d58ccb66af3d42cd83580 |
|
MD5 | 41d832ff62903be5dfb847191acc9864 |
|
BLAKE2b-256 | 6f158809c0660e69dba262cc7506fe143597a1bc910ded29d435247940b58496 |
Hashes for libpypostal-0.0.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd556d22bb2c87d8244882226ba665c1aa80bd936f2202898feaa3ae285b6f87 |
|
MD5 | 15aa7a18d0e9741c4b761a0387186af2 |
|
BLAKE2b-256 | 19a86103b270af2d4f5ff30690b4d341dbb027117d102769cd900a395a0c3efd |
Hashes for libpypostal-0.0.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d87ea18dc7ac778595779eec0bfc29b5205b6bf9940fcde803d163d04c40a3b0 |
|
MD5 | dd32cff7528e6d41600a354e15cc7064 |
|
BLAKE2b-256 | b3783471af86fccba831cc2ea776bff33d62ef797e90dd7e5acfab72b88ab46f |