Skip to main content

A small module that cleans, parses and standardizes addresses

Project description



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.)


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

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:


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 --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

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 (c) 2020 The Python Packaging Authority. Released under the MIT License.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

GeoLiberator-0.3.7.tar.gz (9.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page