Ce sont les liaisons Python officielles à https://github.com/openvenues/libpostal, un analyseur / normalisateur statistique rapide pour les adresses de rue partout dans le monde.
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' )Avant d'utiliser les liaisons Python, vous devez installer la bibliothèque C Libpostal C. Assurez-vous d'avoir les conditions suivantes:
Sur Ubuntu / Debian
sudo apt-get install curl autoconf automake libtool python-dev pkg-config
Sur Centos / Rhel
sudo yum install curl autoconf automake libtool python-devel pkgconfig
Sur Mac OSX
brew install curl autoconf automake libtool pkg-config
Installation de 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
Pour installer la bibliothèque Python, il suffit d'exécuter:
pip install postal
Pypostal prend en charge Python 2.7+ et Python 3.4+. Ces liaisons sont écrites à l'aide de l'API Python C et prennent donc en charge Cpython uniquement. Étant donné que LibPostal est une bibliothèque C autonome, la prise en charge de Pypy est toujours possible avec un wrapper CFFI, mais n'est pas un objectif pour ce repo.
Assurez-vous que vous avez installé le nez, puis exécutez:
python setup.py build_ext --inplace
nosetests postal/tests
L'activité build_ext --inplace est nécessaire pour que les extensions C construisent dans le répertoire de caisse source et sont accessibles / importalbe par les modules Python.