{ "info": { "author": "Datos Argentina", "author_email": "datos@modernizacion.gob.ar", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Libraries", "Topic :: Text Processing" ], "description": "# georef-ar-address\n[![Build Status](https://travis-ci.org/datosgobar/georef-ar-address.svg?branch=master)](https://travis-ci.org/datosgobar/georef-ar-address)\n[![Coverage Status](https://coveralls.io/repos/github/datosgobar/georef-ar-address/badge.svg?branch=master)](https://coveralls.io/github/datosgobar/georef-ar-address?branch=master)\n![](https://img.shields.io/github/license/datosgobar/georef-ar-address.svg)\n![https://pypi.org/project/georef-ar-address/](https://img.shields.io/pypi/v/georef-ar-address.svg)\n![](https://img.shields.io/badge/python-3-blue.svg)\n\nLibrer\u00eda escrita en Python 3 para la identificaci\u00f3n de componentes de direcciones argentinas.\n\n## Objetivo\n\nEl objetivo de la librer\u00eda `georef-ar-address` es, dada una direcci\u00f3n en forma de string como entrada, extraer todas las componentes que la componen. **Todo el procesamiento se hace de forma local, sin consultar recursos externos.** Con la librer\u00eda se intenta cubrir la mayor cantidad de tipos de direcciones posibles, teniendo en cuenta las distintas estructuras que pueden tomar las mismas, as\u00ed tambi\u00e9n como errores comunes de escritura, presencia de datos innecesarios y ambig\u00fcedades.\n\nComo ejemplo, utilizar la librer\u00eda sobre la direcci\u00f3n:\n\n`Av. Libertador N1331 2ndo A e/25 de Mayo y Bartolom\u00e9 Mitre`\n\nResultar\u00eda en la siguiente extracci\u00f3n de componentes:\n```\nstreet_names: [\"Av. Libertador\", \"25 de Mayo\", \"Bartolom\u00e9 Mitre\"]\ndoor_number.value: \"1331\"\ndoor_number.unit: \"N\"\nfloor: \"2ndo A\"\ntype: \"between\"\n```\n\n## Instalaci\u00f3n\n\nLa librer\u00eda se encuentra publicada en [`PyPI`](https://pypi.org/project/georef-ar-address/), y puede ser instalada utilizando `pip`:\n\n```bash\n$ pip3 install georef-ar-address\n```\n\n## Uso R\u00e1pido\n\nPara probar ejemplos de extracci\u00f3n de componentes de forma interactiva, utilizar el siguiente comando:\n```bash\n$ python -m georef_ar_address\n```\n\nUna vez ejecutado el comando se puede escribir una direcci\u00f3n y presionar ENTER para obtener las componentes de la misma.\n\n## Documentaci\u00f3n\n\nPara utilizar la librer\u00eda desde Python, se debe instanciar un objeto de tipo `AddressParser` y utilizar su m\u00e9todo `parse`, pasando una direcci\u00f3n como argumento:\n\n```python\n>>> from georef_ar_address import AddressParser\n>>> parser = AddressParser()\n>>> parser.parse('Sarmiento N\u00b0 1100')\nAddressData({\n \"street_names\": [\n \"Sarmiento\"\n ],\n \"door_number\": {\n \"value\": \"1100\",\n \"unit\": \"N\u00b0\"\n },\n \"floor\": None,\n \"type\": \"simple\"\n})\n```\n\nEl valor de retorno de `parse` es una instancia de `AddressData` conteniendo cada componente de la direcci\u00f3n, en caso de una extracci\u00f3n exitosa. Los campos del objeto `AddressData` son los siguientes:\n\n- `.street_names` *(list)*: Lista de nombres de calles contenidos en la direcci\u00f3n (e.g. `Santa Fe`, `Ruta 4`).\n- `.door_number_value` *(str)*: Valor de la altura de la direcci\u00f3n (e.g. `132`, `400/401`, `S/N`)\n- `.door_number_unit` *(str)*: Unidad de la altura de la direcci\u00f3n (e.g. `N\u00b0`, `nro.`, `Km`).\n- `.floor` *(str)*: Piso de la direcci\u00f3n (e.g. `2ndo B`, `PB`).\n- `.type` *(str)*: Tipo de direcci\u00f3n detectado. Los valores posibles son:\n - `simple`: Direcci\u00f3n compuesta de un nombre de calle y una altura opcional.\n - `intersection`: Direcci\u00f3n compuesta de dos nombres de calles en forma de intersecci\u00f3n, con altura opcional.\n - `between`: Direcci\u00f3n compuesta de tres nombres de calles, especificando una posici\u00f3n sobre una entre otras dos, con altura opcional.\n\nEl inicializador de la clase `AddressParser` acepta un par\u00e1metro `cache` de tipo `dict` (o equivalente), que le permite cachear internamente resultados de parseos para acelerar el procesamiento de direcci\u00f3nes con estructuras similares.\n\n## Precisi\u00f3n\n\nLa librer\u00eda `georef-ar-address` (versi\u00f3n `0.0.5`) fue utilizada sobre varios listados de direcciones para poder estimar su precisi\u00f3n al momento de extraer componentes. A continuaci\u00f3n, se explica el origen de cada listado y la fidelidad de los datos devueltos por la liber\u00eda en cada caso:\n\n### Listado de datos abiertos\n\nEl primer listado de direcciones que se construy\u00f3 utiliza varias fuentes provenientes de distintos portales de datos abiertos del pa\u00eds, incluyendo el [Portal Nacional de Datos Abiertos](https://datos.gob.ar/). Se verific\u00f3 que cada archivo utilizado posea un solo campo de direcci\u00f3n, sin tener la calle separada de la altura.\n\nEl listado construido tiene aproximadamente 91000 direcciones. Se utiliz\u00f3 la librer\u00eda sobre cada una, y los resultados fueron los siguientes:\n\n - Direcciones categorizadas (no `None`): 95.1%\n - **Aproximado de categorizaciones correctas: 88%**\n\nPara calcular el aproximado de categorizaciones correctas, se tomaron tres muestras de cien direcciones cada una, y se inspeccion\u00f3 manualmente el resultado brindado por la librer\u00eda para comprobar que la extraci\u00f3n de datos fue correcta. El porcentaje aproximado de 88% categorizaciones correctas es esperado ya que el listado de direcciones construido es muy irregular y contiene grandes cantidades de direcciones escritas de formas impredecibles (es poco uniforme). Esto se debe a que el listado se construy\u00f3 a partir de datos provenientes de m\u00e1s de 60 archivos distintos, cada uno potencialmente de una fuente distinta.\n\n### Listado de supermercados\n\nEl segundo listado de direcciones probado fue el archivo [carrefour.csv](https://gist.github.com/mgaitan/9677204), que contiene la direcci\u00f3n de 325 sucursales del supermercado Carrefour. Los resultados fueron los siguientes:\n\n - Direcciones categorizadas (no `None`): 99.3%\n - **Categorizaciones correctas: 97.5%**\n\nEn este caso, se categorizaron correctamente el 97.5% de las direcciones. El resultado fue comprobado manualmente.\n\n### Listado de sucursales del Banco Naci\u00f3n\n\nEl tercer listado de direcciones probado fue el de las [sucursales del Banco de la Naci\u00f3n Argentina](http://www.agencia.mincyt.gob.ar/upload/listado_de_sucursales_bna_web.xls), con 617 elementos. Los resultados fueron los siguientes:\n\n - Direcciones categorizadas (no `None`): 100%\n - **Categorizaciones correctas: 97.7%**\n\nEn este caso, se categorizaron correctamente el 97.7% de las direcciones. El resultado fue comprobado manualmente.\n\n## Dise\u00f1o\n\nPara leer sobre las desiciones de dise\u00f1o y funcionamiento de `georef-ar-address`, ver el archivo [**design.md**](docs/design.md).\n\nPara consultar el historial de versiones de `georef-ar-address`, ver el archivo [**history.md**](docs/history.md).\n\n## Soporte\nEn caso de que encuentres alg\u00fan bug, tengas problemas con la instalaci\u00f3n, o tengas comentarios de alguna parte de `georef-ar-address`, pod\u00e9s mandarnos un mail a [datos@modernizacion.gob.ar](mailto:datos@modernizacion.gob.ar) o [crear un issue](https://github.com/datosgobar/georef-ar-address/issues/new?title=Encontre-un-bug-en-georef-ar-address).", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/datosgobar/georef-ar-address/archive/0.0.9.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/datosgobar/georef-ar-address", "keywords": "georef,datos,argentina,direccion,calle,altura,json,nltk", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "georef-ar-address", "package_url": "https://pypi.org/project/georef-ar-address/", "platform": "", "project_url": "https://pypi.org/project/georef-ar-address/", "project_urls": { "Download": "https://github.com/datosgobar/georef-ar-address/archive/0.0.9.tar.gz", "Homepage": "https://github.com/datosgobar/georef-ar-address" }, "release_url": "https://pypi.org/project/georef-ar-address/0.0.9/", "requires_dist": null, "requires_python": "", "summary": "Librer\u00eda escrita en Python para la identificaci\u00f3n de componentes de direcciones argentinas", "version": "0.0.9" }, "last_serial": 5238710, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "744f47a09f7887635eb80c129bb19ec7", "sha256": "daddc58930f004062b6972f20f7d85994a49db2b8b7f15bd872486c5df0d3840" }, "downloads": -1, "filename": "georef-ar-address-0.0.1.tar.gz", "has_sig": false, "md5_digest": "744f47a09f7887635eb80c129bb19ec7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5869, "upload_time": "2019-01-04T14:29:16", "url": "https://files.pythonhosted.org/packages/29/90/a4e01925c4b76954e40ebc84daeb1924b18856e4e50737647f81874c6595/georef-ar-address-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "310e07331a1b6c5a3b641c1189f24d48", "sha256": "3acf64bb92fd4a017eda76d40f3c1715b7654ddda640df3f2bede8cedbe29ca6" }, "downloads": -1, "filename": "georef-ar-address-0.0.2.tar.gz", "has_sig": false, "md5_digest": "310e07331a1b6c5a3b641c1189f24d48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10709, "upload_time": "2019-01-07T13:50:56", "url": "https://files.pythonhosted.org/packages/94/0f/49be903b650b4c92846195bd37447c60d5fb3a2891998a62d680d95551e2/georef-ar-address-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "cc5df780083d9d9e4fafe86b606a881e", "sha256": "5dc66c5a796c34733ae2cacb455ebf0faf6bdde92734c881ea1f00973abddea3" }, "downloads": -1, "filename": "georef-ar-address-0.0.3.tar.gz", "has_sig": false, "md5_digest": "cc5df780083d9d9e4fafe86b606a881e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10706, "upload_time": "2019-01-09T13:22:52", "url": "https://files.pythonhosted.org/packages/64/44/ab6c1e83633e7f0fc8a2a49a2dd961d2502de8bdb709be08d8f44259a33d/georef-ar-address-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "faefc5d261cdf5cd4de45a490843c374", "sha256": "754fb7808f5ff50608a2fdb98f40ee46a5fcdb0cb2546322fa12566a6f19c3c2" }, "downloads": -1, "filename": "georef-ar-address-0.0.4.tar.gz", "has_sig": false, "md5_digest": "faefc5d261cdf5cd4de45a490843c374", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10706, "upload_time": "2019-01-10T13:25:57", "url": "https://files.pythonhosted.org/packages/e1/ac/f1d3a97855475c9d16636fb7999262721050bc994fc86e3134e2bd815c38/georef-ar-address-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "599c3893e23f0090fb8595d78c2517e3", "sha256": "45330a3399e7b7849d93736d5a6bbc1e1facbf4bd40a52930ff19613c5a52174" }, "downloads": -1, "filename": "georef-ar-address-0.0.5.tar.gz", "has_sig": false, "md5_digest": "599c3893e23f0090fb8595d78c2517e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10732, "upload_time": "2019-01-14T19:49:50", "url": "https://files.pythonhosted.org/packages/04/a4/40d0868e41975060a2145178b72c5a7d0acf677635c7b1a181fe7d56647c/georef-ar-address-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "edc5fea32409d30258b392d2609defc2", "sha256": "44f1c372e036bb187e0d7bb2ec828f198ca83fa901570f3b7500c874c4c283f9" }, "downloads": -1, "filename": "georef-ar-address-0.0.6.tar.gz", "has_sig": false, "md5_digest": "edc5fea32409d30258b392d2609defc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12462, "upload_time": "2019-01-18T12:45:13", "url": "https://files.pythonhosted.org/packages/26/58/e6d418351e4c5fb9e2fa730400d7a40e0538495c58c75b3fe440d9d0de36/georef-ar-address-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "14142a90b54f48373823fea32ef73ac1", "sha256": "7033ee88308b57258ce0e069722521052f08c1444fcaf6f2f911fde2936662d7" }, "downloads": -1, "filename": "georef-ar-address-0.0.7.tar.gz", "has_sig": false, "md5_digest": "14142a90b54f48373823fea32ef73ac1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12534, "upload_time": "2019-01-29T15:07:34", "url": "https://files.pythonhosted.org/packages/92/aa/06e220b1dff5063193575bb58b9afcdb080efbfb608c3eb90511e04765f3/georef-ar-address-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "4717d7b4a6830314398460dccff0d458", "sha256": "7977bd2726e39dd62114221dbc69801d3e502b4ba228e0b1269a5c09b7217471" }, "downloads": -1, "filename": "georef-ar-address-0.0.8.tar.gz", "has_sig": false, "md5_digest": "4717d7b4a6830314398460dccff0d458", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13234, "upload_time": "2019-04-09T19:17:31", "url": "https://files.pythonhosted.org/packages/50/14/31fee2f685ad8bcc4410bea1711e6d954001e592f5f53f275b962e66fd0e/georef-ar-address-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "0fe8e8100f1bdf0a874f2bf015f80c4e", "sha256": "b1de46e7ebc0c96bff9971ffca0d04bf6fddb3bddfa9c38e226583379ada52c5" }, "downloads": -1, "filename": "georef-ar-address-0.0.9.tar.gz", "has_sig": false, "md5_digest": "0fe8e8100f1bdf0a874f2bf015f80c4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13307, "upload_time": "2019-05-07T15:15:13", "url": "https://files.pythonhosted.org/packages/c2/02/6378345c2398afd6407657d6dc5966b5030bbe2ccb92defd7490637e0ab4/georef-ar-address-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0fe8e8100f1bdf0a874f2bf015f80c4e", "sha256": "b1de46e7ebc0c96bff9971ffca0d04bf6fddb3bddfa9c38e226583379ada52c5" }, "downloads": -1, "filename": "georef-ar-address-0.0.9.tar.gz", "has_sig": false, "md5_digest": "0fe8e8100f1bdf0a874f2bf015f80c4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13307, "upload_time": "2019-05-07T15:15:13", "url": "https://files.pythonhosted.org/packages/c2/02/6378345c2398afd6407657d6dc5966b5030bbe2ccb92defd7490637e0ab4/georef-ar-address-0.0.9.tar.gz" } ] }