GeoLiberator

A small module that cleans, parses and standardizes addresses


Keywords
address, address-parser, parser, python
License
MIT
Install
pip install GeoLiberator==0.3.7

Documentation

latest release downloads

The-GeoLiberator-Python-Module

This module is an address parser. It takes in an address as an argument and outputs a standardized version. Otherwise, 'OTHER' will be the result if the parser fails. "It is alike a liberal because it takes in any variant addresses indiscriminately. And it is a liberator because it liberates the addresses from their inconsistencies." (Note: This module does not do address validation but it will parse any address you throw at it to the best of its ability. Especially NYC addresses.)

Usage:

To start, import with your desired handle to call upon the module with ease. The function parse_address() returns the value while geoLiberate() prints the value.

import GeoLiberator as GL

GL.parse_address("123 Example St, NY 01234", "address") # 'address' to parse the address
# Returns: '123 EXAMPLE STREET'

GL.geoLiberate("123 Example St, NY 01234", "full") # 'full' to parse the full address
# Prints: 123 EXAMPLE STREET, NEW YORK 01234

GL.geoLiberate("123 Example St, NY 01234", "number") # 'number' to parse the address house number
# Prints: 123

GL.geoLiberate("123 Example St, NY 01234", "street") # 'street' to parse the street name
# Prints: EXAMPLE STREET

The first argument is any address of data type string.

The second argument, 'parse', as you may have noticed, determines what gets parsed. (Note: if no argument given, parses address by default)

  • "address" - Address (only)
  • "full" - Full Address (including state and zipcode)
  • "number" - House Number
  • "street" - Street Name
  • "state" - State
  • "zipcode" - Zipcode

The following function's first argument is a file containing a list of addresses. It automatically loops through the rows and parses each address.

GL.autoGeoLiberate("file.txt", "street", "output_file_name.txt") # 'street' to parse full street name
#If no output file name given, program will print all parsed addresses

Let's say 'file.txt' contains the following:

123 Bob Rd
321 N Johnson Aven
123-4 2nd St

Output would look like this:

BOB ROAD
NORTH JOHNSON AVENUE
2nd STREET

For that really lengthy list of addresses in a file, it's reccommended to use autoGeoLiberate() in your program and run it in a cli with the flag --status(-S for short) to monitor the module's progress. Like so:

python my_program.py --status

For developmental purposes:

address_object = GL.GeoLiberator("123 Example St") # Create a 'GeoLiberator Object' with address as an argument
#This new address object can then be parsed using the dot operator like so:
address_object.full_address() # includes state and zipcode
address_object.getAddress()
address_object.getAddressNum()
address_object.getStreet()

These member functions return a string value.

Member Function Parameters:

getAddress(log = '')

The 'log' parameter is for entering in a file name to append all address results to a log file. (Note: these functions will always return a value)

Copyright

Copyright (c) 2024 The Python Packaging Authority. Released under the MIT License.