frapars


Namefrapars JSON
Version 0.2.6 PyPI version JSON
download
home_pagehttps://github.com/ieCecchetti/frapars
SummarySimple script that permits to parse addresses in France format.
upload_time2024-09-06 17:21:14
maintainerNone
docs_urlNone
authorEnrico Cecchetti
requires_python<4.0,>=3.9
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # FRAPARS (France-parse-addresses)

Simple script that permits to parse addresses in France format.

## Install

To install the package from pypl use the command

`pip install frapars`

or with Poetry:
`poetry add frapars`


## Example of usage
The package can be used to process multiple or single addresses. Here few example.

Use this to import the library:
```
from frapars.functions.addresses import parse_from_address, parse_all_parallel
```

Then, for single usage:
```python
address = "3 Rue Industrie (De l')"
result = parse_from_address(address)
print(result)
```
Obtaining
```terminal
[{'raw': 'Jaures (128, Avenue Jean)', 'urba_names': ['avenue'], 'city': [], 'address_num': ['128'], 'department': [], 'street_name': ['jaures', 'jean'], 'formatted': '128 Avenue Jaures Jean'}, {'raw': 'Ferdinand Buisson (42, Rue)', 'urba_names': ['rue'], 'city': ['buisson'], 'address_num': ['42'], 'department': [], 'street_name': ['ferdinand'], 'formatted': '42 Rue Ferdinand Buisson'}]
```

Use the fields `.raw` and `.formatted` and `.details` to retrieve the specifica value that you need.

For List of addresses:
```python
adresses_list = ["Hommelet (31, rue de l'), 59512, ROUBAIX", ' Allée Combes (Des)', " 3 Rue Industrie (De l')", ' Route Départementale 49', ' 02210 Rozet Saint Albin', ' Pont Romain, 12, Rue Du', ' Chaussée (11, Rue de la )', ' Jaures (128, Avenue Jean) et Ferdinand Buisson (42, Rue)', ' Jacquart (50, 52 Rue) ', ' Lecat (50, Rue)', ' Deguise Olivier (3, Rue)   Rd360', " Lieu Dit 'L'Italie"]

parsed_addresses = parse_all_parallel(adresses_list)
for entry in result:
    print(f"Raw: {entry.raw} --> Formatted: {entry.formatted}")
```

This will print something like:
```terminal
Raw: Hommelet (31, rue de l'), 59512, ROUBAIX --> Formatted: 31 Rue De L Hommelet Roubaix 59512
Raw:  Allée Combes (Des) --> Formatted: Allée Des Combes
Raw:  3 Rue Industrie (De l') --> Formatted: 3 Rue De L Industrie
Raw:  Route Départementale 49 --> Formatted: 49 Route Départementale
Raw:  02210 Rozet Saint Albin --> Formatted: Rozet Saint Albin 02210
Raw:  Pont Romain, 12, Rue Du --> Formatted: 12 Rue Du Pont Romain
Raw:  Chaussée (11, Rue de la ) --> Formatted: 11 Rue De La Chaussée
Raw:  Jaures (128, Avenue Jean) et Ferdinand Buisson (42, Rue) --> Formatted: 128 Avenue Jaures Jean et 42 Rue Ferdinand Buisson
Raw:  Jacquart (50, 52 Rue)  --> Formatted: 50-52 Rue Jacquart
Raw:  Lecat (50, Rue) --> Formatted: 50 Rue Lecat
Raw:  Deguise Olivier (3, Rue)   Rd360 --> Formatted: 3 Rue Deguise Olivier
Raw:  Lieu Dit 'L'Italie --> Formatted: Lieu Dit L Italie
```

In case you want a specific format template there is a Format() object to do so.
```python
from frapars.helper.formatter import Formatter, AddressFields

address = "Jaures (128, Avenue Jean) 10141, France, FR"
result = parse_from_address(address, Formatter(
    template=f"{AddressFields.ADDRESS_NUM.value} - {AddressFields.CITY.value} - {AddressFields.POSTCODE.value}"
))
print(result.formatted)
print('/n')
print(result)
```

Returning:
```shell
42 - Ferdinand - Buisson

[{'raw': 'Jaures (128, Avenue Jean)', 'urba_names': ['avenue'], 'city': [], 'address_num': ['128'], 'department': [], 'street_name': ['jaures', 'jean'], 'formatted': '128 - Jaures Jean -'}, {'raw': 'Ferdinand Buisson (42, Rue)', 'urba_names': ['rue'], 'city': ['buisson'], 'address_num': ['42'], 'department': [], 'street_name': ['ferdinand'], 'formatted': '42 - Ferdinand - Buisson'}]
```


## To-Do List

- [ ] Write junit tests
- [ ] More example
- [ ] Update insee file - create a task that do it 

Enjoy and Rate!!

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ieCecchetti/frapars",
    "name": "frapars",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Enrico Cecchetti",
    "author_email": "enrico.cecchetti@kcitylabs.fr",
    "download_url": "https://files.pythonhosted.org/packages/9b/5f/c4b9760ae6b9c8e796b71b3c2caa68934c0c10e34a1805a663b918dee8c7/frapars-0.2.6.tar.gz",
    "platform": null,
    "description": "# FRAPARS (France-parse-addresses)\n\nSimple script that permits to parse addresses in France format.\n\n## Install\n\nTo install the package from pypl use the command\n\n`pip install frapars`\n\nor with Poetry:\n`poetry add frapars`\n\n\n## Example of usage\nThe package can be used to process multiple or single addresses. Here few example.\n\nUse this to import the library:\n```\nfrom frapars.functions.addresses import parse_from_address, parse_all_parallel\n```\n\nThen, for single usage:\n```python\naddress = \"3 Rue Industrie (De l')\"\nresult = parse_from_address(address)\nprint(result)\n```\nObtaining\n```terminal\n[{'raw': 'Jaures (128, Avenue Jean)', 'urba_names': ['avenue'], 'city': [], 'address_num': ['128'], 'department': [], 'street_name': ['jaures', 'jean'], 'formatted': '128 Avenue Jaures Jean'}, {'raw': 'Ferdinand Buisson (42, Rue)', 'urba_names': ['rue'], 'city': ['buisson'], 'address_num': ['42'], 'department': [], 'street_name': ['ferdinand'], 'formatted': '42 Rue Ferdinand Buisson'}]\n```\n\nUse the fields `.raw` and `.formatted` and `.details` to retrieve the specifica value that you need.\n\nFor List of addresses:\n```python\nadresses_list = [\"Hommelet (31, rue de l'), 59512, ROUBAIX\", ' All\u00e9e Combes (Des)', \" 3 Rue Industrie (De l')\", ' Route D\u00e9partementale 49', ' 02210 Rozet Saint Albin', ' Pont Romain, 12, Rue Du', ' Chauss\u00e9e (11, Rue de la )', ' Jaures (128, Avenue Jean) et Ferdinand Buisson (42, Rue)', ' Jacquart (50, 52 Rue) ', ' Lecat (50, Rue)', ' Deguise Olivier (3, Rue)   Rd360', \" Lieu Dit 'L'Italie\"]\n\nparsed_addresses = parse_all_parallel(adresses_list)\nfor entry in result:\n    print(f\"Raw: {entry.raw} --> Formatted: {entry.formatted}\")\n```\n\nThis will print something like:\n```terminal\nRaw: Hommelet (31, rue de l'), 59512, ROUBAIX --> Formatted: 31 Rue De L Hommelet Roubaix 59512\nRaw:  All\u00e9e Combes (Des) --> Formatted: All\u00e9e Des Combes\nRaw:  3 Rue Industrie (De l') --> Formatted: 3 Rue De L Industrie\nRaw:  Route D\u00e9partementale 49 --> Formatted: 49 Route D\u00e9partementale\nRaw:  02210 Rozet Saint Albin --> Formatted: Rozet Saint Albin 02210\nRaw:  Pont Romain, 12, Rue Du --> Formatted: 12 Rue Du Pont Romain\nRaw:  Chauss\u00e9e (11, Rue de la ) --> Formatted: 11 Rue De La Chauss\u00e9e\nRaw:  Jaures (128, Avenue Jean) et Ferdinand Buisson (42, Rue) --> Formatted: 128 Avenue Jaures Jean et 42 Rue Ferdinand Buisson\nRaw:  Jacquart (50, 52 Rue)  --> Formatted: 50-52 Rue Jacquart\nRaw:  Lecat (50, Rue) --> Formatted: 50 Rue Lecat\nRaw:  Deguise Olivier (3, Rue)   Rd360 --> Formatted: 3 Rue Deguise Olivier\nRaw:  Lieu Dit 'L'Italie --> Formatted: Lieu Dit L Italie\n```\n\nIn case you want a specific format template there is a Format() object to do so.\n```python\nfrom frapars.helper.formatter import Formatter, AddressFields\n\naddress = \"Jaures (128, Avenue Jean) 10141, France, FR\"\nresult = parse_from_address(address, Formatter(\n    template=f\"{AddressFields.ADDRESS_NUM.value} - {AddressFields.CITY.value} - {AddressFields.POSTCODE.value}\"\n))\nprint(result.formatted)\nprint('/n')\nprint(result)\n```\n\nReturning:\n```shell\n42 - Ferdinand - Buisson\n\n[{'raw': 'Jaures (128, Avenue Jean)', 'urba_names': ['avenue'], 'city': [], 'address_num': ['128'], 'department': [], 'street_name': ['jaures', 'jean'], 'formatted': '128 - Jaures Jean -'}, {'raw': 'Ferdinand Buisson (42, Rue)', 'urba_names': ['rue'], 'city': ['buisson'], 'address_num': ['42'], 'department': [], 'street_name': ['ferdinand'], 'formatted': '42 - Ferdinand - Buisson'}]\n```\n\n\n## To-Do List\n\n- [ ] Write junit tests\n- [ ] More example\n- [ ] Update insee file - create a task that do it \n\nEnjoy and Rate!!\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Simple script that permits to parse addresses in France format.",
    "version": "0.2.6",
    "project_urls": {
        "Homepage": "https://github.com/ieCecchetti/frapars",
        "Repository": "https://github.com/ieCecchetti/frapars"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f2be5b7967273701d357487b9e1c4901b0d717631a980c119a269d8da11662f1",
                "md5": "c7e67c56a58c17d5c8bdd872e361d528",
                "sha256": "824f5a0da91d2d3632487f23862ecd912c6313eb2ebc43c112a188da202eed96"
            },
            "downloads": -1,
            "filename": "frapars-0.2.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c7e67c56a58c17d5c8bdd872e361d528",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 785567,
            "upload_time": "2024-09-06T17:21:12",
            "upload_time_iso_8601": "2024-09-06T17:21:12.503317Z",
            "url": "https://files.pythonhosted.org/packages/f2/be/5b7967273701d357487b9e1c4901b0d717631a980c119a269d8da11662f1/frapars-0.2.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9b5fc4b9760ae6b9c8e796b71b3c2caa68934c0c10e34a1805a663b918dee8c7",
                "md5": "89820dc76d423ab379ce2ac43f005ab8",
                "sha256": "62550b5464447d9cf2bc8368cf3fb6a065f7e5c8e7f8abf4a2d1823878b25dac"
            },
            "downloads": -1,
            "filename": "frapars-0.2.6.tar.gz",
            "has_sig": false,
            "md5_digest": "89820dc76d423ab379ce2ac43f005ab8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 778589,
            "upload_time": "2024-09-06T17:21:14",
            "upload_time_iso_8601": "2024-09-06T17:21:14.313477Z",
            "url": "https://files.pythonhosted.org/packages/9b/5f/c4b9760ae6b9c8e796b71b3c2caa68934c0c10e34a1805a663b918dee8c7/frapars-0.2.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-06 17:21:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ieCecchetti",
    "github_project": "frapars",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "frapars"
}
        
Elapsed time: 0.80349s