Skip to content

dataresearchcenter/ftm-geocode

Repository files navigation

ftm-geocode on pypi Python test and package pre-commit Coverage Status AGPL-3.0 License

ftm-geocode

Batch parse and geocode addresses from followthemoney entities. Simply geocoding just address strings works as well, of course.

There are as well some parsing / normalization helpers.

Features

  • Parse/normalize addresses via libpostal
  • Geocoding via geopy
  • Cache geocoding results using anystore
  • Optional fallback geocoders when preferred geocoder doesn't match
  • Create, update and merge Address entities for ftm data

Quickstart

pip install ftm-geocode

Geocode an input stream of ftm entities with nominatim and google maps as fallback (geocoders are tried in the given order):

cat entities.ftm.ijson | ftmgeo geocode -g nominatim -g google > entities_geocoded.ftm.ijson

Documentation

https://docs.investigraph.dev/lib/ftm-geocode

Installation

Required external is libpostal, see installation instructions there.

Once libpostal is installed on your system, you can install:

pip install ftm-geocode[postal]

Testing

make install
make test

License and Copyright

ftm_geocode, (C) 2023 Simon Wörpel ftm_geocode, (C) 2024-2025 investigativedata.io ftm_geocode, (C) 2025 Data and Research Center – DARC

ftm_geocode is licensed under the AGPLv3 or later license.

Prior to version 0.1.0, ftm_geocode was released under the MIT license.

see NOTICE and LICENSE

About

Batch parse and geocode addresses from followthemoney entities. Simply geocoding just address strings works as well, of course.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •