Это официальные привязки Python с https://github.com/openvenues/libpostal, быстрый статистический анализатор/нормализатор для уличных адресов в любой точке мира.
from postal . expand import expand_address
expand_address ( 'Quatre vingt douze Ave des Champs-Élysées' )
from postal . parser import parse_address
parse_address ( 'The Book Club 100-106 Leonard St, Shoreditch, London, Greater London, EC2A 4RH, United Kingdom' )Перед использованием привязки Python вы должны установить библиотеку Libpostal C. Убедитесь, что у вас есть следующие предпосылки:
На Ubuntu/Debian
sudo apt-get install curl autoconf automake libtool python-dev pkg-config
На Centos/Rhel
sudo yum install curl autoconf automake libtool python-devel pkgconfig
На Mac Osx
brew install curl autoconf automake libtool pkg-config
Установка Libpostal
git clone https://github.com/openvenues/libpostal
cd libpostal
./bootstrap.sh
./configure --datadir=[...some dir with a few GB of space...]
make
sudo make install
# On Linux it's probably a good idea to run
sudo ldconfig
Чтобы установить библиотеку Python, просто запустите:
pip install postal
Pypostal поддерживает Python 2.7+ и Python 3.4+. Эти привязки записываются с использованием API Python C и, таким образом, поддерживают только CPYTHON. Поскольку Libpostal является автономной библиотекой C, поддержка PYPY все еще возможна с оберткой CFFI, но не является целью для этого репо.
Убедитесь, что у вас установлен нос, затем запустите:
python setup.py build_ext --inplace
nosetests postal/tests
Необходим бизнес build_ext --inplace , чтобы расширения C строили в каталоге исходной проверки и доступны/импортируются модулями Python.