Skip to main content

Extract and count countries and cities (+their synonyms) from text

Project description

Build Status Coverage

flashgeotext :zap::earth_africa:

Extract and count countries and cities (+their synonyms) from text, like GeoText on steroids using FlashText, a Aho-Corasick implementation. Flashgeotext is a fast, batteries-included (and BYOD) and native python library that extracts one or more sets of given city and country names (+ synonyms) from an input text.

introductory blogpost:


from flashgeotext.geotext import GeoText

geotext = GeoText()

input_text = '''Shanghai. The Chinese Ministry of Finance in Shanghai said that China plans
                to cut tariffs on $75 billion worth of goods that the country
                imports from the US. Washington welcomes the decision.'''

>> {
    'cities': {
        'Shanghai': {
            'count': 2,
            'span_info': [(0, 8), (45, 53)],
            'found_as': ['Shanghai', 'Shanghai'],
        'Washington, D.C.': {
            'count': 1,
            'span_info': [(175, 185)],
            'found_as': ['Washington'],
    'countries': {
        'China': {
            'count': 1,
            'span_info': [(64, 69)],
            'found_as': ['China'],
        'United States': {
            'count': 1,
            'span_info': [(171, 173)],
            'found_as': ['US'],

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.



pip install flashgeotext


conda install flashgeotext

for development:

git clone
cd flashgeotext/
poetry install

Running the tests

poetry run pytest . -v


  • Benjamin Ramser - Initial work - iwpnd

See also the list of contributors who participated in this project.


This project is licensed under the MIT License - see the file for details

Demo Data cities from licensed under the Creative Commons Attribution 3.0 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

flashgeotext-0.4.2.tar.gz (439.4 kB view hashes)

Uploaded source

Built Distribution

flashgeotext-0.4.2-py3-none-any.whl (447.4 kB view hashes)

Uploaded py3

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