Skip to main content

Geolocation for Flask

Project description

Flask-Geo

Geolocation for Flask using Maxmind.

Installation

pip install flask-geo

Usage

Initialize the extension:

from flask import Flask
from flask_geo import Geolocation

app = Flask(__name__)
geo = Geolocation(app)

Download a maxmind db:

flask download-geo-db --license-key=XXX

Get the country or city of the visitor:

from flask_geo import geolocate_country, geolocate_city

@app.route("/")
def index():
    country_iso_code = geolocate_country()
    # or
    city_name, country_iso_code = geolocate_city()

[!IMPORTANT] Geolocation results are cached in the session. To clear the cache use clear_geo_cache()

[!TIP] When app.debug is true, you can override which ip address to use for geolocation using the __remoteaddr query parameter: http://localhost:5000?__remoteaddr=1.1.1.1

Configuration

Config key Extension argument Description Default
FLASK_GEO_MAXMIND_DB maxmind_db Filename towards the maxmind db GeoLite2-City.mmdb
FLASK_GEO_USE_CITY_DB is_city_db Whether it is the city db or the country db True
FLASK_GEO_SILENT silent Do not raise any errors whether the db is missing or geolocation fails True

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

flask_geo-0.1.0.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

flask_geo-0.1.0-py3-none-any.whl (3.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page