GeoIP Legacy Python API

Overview

MaxMind GeoIP Legacy Python Extension API

Requirements

  • Python 2.5+ or 3.3+
  • GeoIP Legacy C Library 1.4.7 or greater

Installation

With pip:

$ pip install GeoIP

From source:

$ python setup.py build
$ python setup.py install

IP Geolocation Usage

IP geolocation is inherently imprecise. Locations are often near the center of the population. Any location provided by a GeoIP database should not be used to identify a particular address or household.

Usage

See the examples in the examples folder.

Troubleshooting

If you get a "libGeoIP.so.1: cannot open shared object No such file or directory" error, add /usr/local/lib to /etc/ld.so.conf then run /sbin/ldconfig /etc/ld.so.conf

License

Copyright (c) 2014 MaxMind LLC

All rights reserved. This package is free software; it is licensed under the LGPL 2.1 or greater.

Comments
  • GeoIP doesn't build on OSX 10.9

    GeoIP doesn't build on OSX 10.9

    Pip install fails with the following output:

    building 'GeoIP' extension
        /usr/bin/clang -fno-strict-aliasing -fno-common -dynamic -pipe -Os -fwrapv -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c py_GeoIP.c -o build/temp.macosx-10.9-x86_64-2.7/py_GeoIP.o -fno-strict-aliasing
        py_GeoIP.c:23:10: fatal error: 'GeoIP.h' file not found
        #include "GeoIP.h"
                 ^
        1 error generated.
        error: command '/usr/bin/clang' failed with exit status 1
        Complete output from command /mnt/bin/python -c "import setuptools, tokenize;__file__='/mnt/build/GeoIP/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/z5/wdtm1zm57bb99dq2nztfcf2m0000gn/T/pip-Mk_hHx-record/install-record.txt --single-version-externally-managed --compile --install-headers /mnt/bin/../include/site/python2.7:
    
    opened by rickeyski 9
  • Python 3 support

    Python 3 support

    Please consider these changes, which collectively add Python 3 support. The bulk of the work is modernizing CAPI use to the >=2.6 standard; the only Py3-specific changes are related to str/unicode and the different signature for module initialization.

    opened by zackw 9
  • MacOs Install Fail

    MacOs Install Fail

    I am installing using pip3 install geoip or sudo pip3 install geoip. I get this that makes it fail.

    ERROR: Command errored out with exit status 1: command: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/tmp/pip-install-k23lgxdu/geoip/setup.py'"'"'; file='"'"'/private/tmp/pip-install-k23lgxdu/geoip/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/tmp/pip-record-e5rjznon/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/GeoIP cwd: /private/tmp/pip-install-k23lgxdu/geoip/ Complete output (15 lines): /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/dist.py:274: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Warning: 'classifiers' should be a list, got type 'tuple' running install running build running build_ext building 'GeoIP' extension creating build creating build/temp.macosx-10.9-x86_64-3.9 gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch x86_64 -g -I/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c py_GeoIP.c -o build/temp.macosx-10.9-x86_64-3.9/py_GeoIP.o py_GeoIP.c:23:10: fatal error: 'GeoIP.h' file not found #include "GeoIP.h" ^~~~~~~~~ 1 error generated. error: command '/usr/bin/gcc' failed with exit code 1 ---------------------------------------- ERROR: Command errored out with exit status 1: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/tmp/pip-install-k23lgxdu/geoip/setup.py'"'"'; file='"'"'/private/tmp/pip-install-k23lgxdu/geoip/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/tmp/pip-record-e5rjznon/install-record.txt --single-version-externally-managed --compile --install-headers /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9/GeoIP Check the logs for full command output.

    opened by RocketNinja15 6
  • Encoding fixes for python 3.4

    Encoding fixes for python 3.4

    In python 3.x PyUnicode_FromString() function accepts an UTF-8 encoded strings only. But country_code, country_name, country_continent are all ISO-8859-1 encoded. This commit fixes the issue.

    Before fix:

    Python 3.4.1 (default, Aug 21 2014, 16:21:32) 
    [GCC 4.6.3] on linux
    >>> import GeoIP
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe7 in position 4: invalid continuation byte
    

    After fix:

    Python 3.4.1 (default, Aug 21 2014, 16:20:07) 
    [GCC 4.6.3] on linux
    >>> import GeoIP
    >>> GeoIP.country_names['CW']
    'CuraΓ§ao' 
    
    opened by sfarbotka 5
  • GeoIP.c:23:10: fatal error: GeoIP.h: No such file or directory    23 | #include

    GeoIP.c:23:10: fatal error: GeoIP.h: No such file or directory 23 | #include "GeoIP.h"while trying to install GeoIP package for python PART 2

    I want install this python dependency (GeoIP) for one of my tools. I installed GeoIP-1.3.2 from here https://pypi.org/project/GeoIP/#files and i'm getting this error again and again when im writing this code "sudo python3 setup.py install" and im getting this error [email protected]:~/Downloads/GeoIP-1.3.2# sudo python3 setup.py install /usr/lib/python3.9/distutils/dist.py:274: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Warning: 'classifiers' should be a list, got type 'tuple' running install running bdist_egg running egg_info writing GeoIP.egg-info/PKG-INFO writing dependency_links to GeoIP.egg-info/dependency_links.txt writing top-level names to GeoIP.egg-info/top_level.txt reading manifest file 'GeoIP.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'ChangeLog' writing manifest file 'GeoIP.egg-info/SOURCES.txt' installing library code to build/bdist.linux-x86_64/egg running install_lib running build_ext building 'GeoIP' extension x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/build/python3.9-RNBry6/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -ffile-prefix-map=/build/python3.9-RNBry6/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c py_GeoIP.c -o build/temp.linux-x86_64-3.9/py_GeoIP.o py_GeoIP.c:23:10: fatal error: GeoIP.h: No such file or directory 23 | #include "GeoIP.h" | ^~~~~~~~~ compilation terminated. error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1 PLEASE HELP I NEED THAT TOOL VERY BADLY

    opened by FrankensteinEvil0069 4
  • cannot install pip geoip!

    cannot install pip geoip!

    sudo pip install geoip
    Collecting geoip
      Using cached https://files.pythonhosted.org/packages/f2/7b/a463b7c3df8ef4b9c92906da29ddc9e464d4045f00c475ad31cdb9a97aae/GeoIP-1.3.2.tar.gz
      Running setup.py (path:/tmp/pip-install-Gu5vyc/geoip/setup.py) egg_info for package geoip produced metadata for project name geoIp. Fix your #egg=geoip fragments.                                                            
    Building wheels for collected packages: geoIp, geoIp
      Running setup.py bdist_wheel for geoIp ... error
      Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-Gu5vyc/geoip/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-d4TgHm --python-tag cp27:
      /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
        warnings.warn(msg)
      running bdist_wheel
      running build
      running build_ext
      building 'GeoIP' extension
      creating build
      creating build/temp.linux-x86_64-2.7
      x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-07FOaN/python2.7-2.7.17=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c py_GeoIP.c -o build/temp.linux-x86_64-2.7/py_GeoIP.o -fno-strict-aliasing
      py_GeoIP.c:23:10: fatal error: GeoIP.h: BΓΆyle bir dosya ya da dizin yok
         23 | #include "GeoIP.h"
            |          ^~~~~~~~~
      compilation terminated.
      error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
      
      ----------------------------------------
      Failed building wheel for geoIp
      Running setup.py clean for geoIp
      Running setup.py bdist_wheel for geoIp ... error
      Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-Gu5vyc/geoip/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-7_QeFg --python-tag cp27:
      /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
        warnings.warn(msg)
      running bdist_wheel
      running build
      running build_ext
      building 'GeoIP' extension
      creating build
      creating build/temp.linux-x86_64-2.7
      x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-07FOaN/python2.7-2.7.17=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c py_GeoIP.c -o build/temp.linux-x86_64-2.7/py_GeoIP.o -fno-strict-aliasing
      py_GeoIP.c:23:10: fatal error: GeoIP.h: BΓΆyle bir dosya ya da dizin yok
         23 | #include "GeoIP.h"
            |          ^~~~~~~~~
      compilation terminated.
      error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
      
      ----------------------------------------
      Failed building wheel for geoIp
      Running setup.py clean for geoIp
    Failed to build geoIp geoIp
    Installing collected packages: geoIp
      Running setup.py install for geoIp ... error
        Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-Gu5vyc/geoip/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-2WSvBi/install-record.txt --single-version-externally-managed --compile:
        /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
          warnings.warn(msg)
        running install
        running build
        running build_ext
        building 'GeoIP' extension
        creating build
        creating build/temp.linux-x86_64-2.7
        x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-07FOaN/python2.7-2.7.17=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c py_GeoIP.c -o build/temp.linux-x86_64-2.7/py_GeoIP.o -fno-strict-aliasing
        py_GeoIP.c:23:10: fatal error: GeoIP.h: BΓΆyle bir dosya ya da dizin yok
           23 | #include "GeoIP.h"
              |          ^~~~~~~~~
        compilation terminated.
        error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
        
        ----------------------------------------
    Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-Gu5vyc/geoip/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-2WSvBi/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-Gu5vyc/geoip/
    
    opened by azamet90 4
  • Question: Any Security Reason For Python3?

    Question: Any Security Reason For Python3?

    I hope you don't mind a question here?

    Is there any reason to switch to the latest 1.3.2 for any security reasons?

    I'm only going to use GeoIP for the P2P app nicotine;

    https://github.com/eLvErDe/nicotine-plus

    I'm using at present GeoIP 1.6.7, so not sure if there's any real benefit from 1.2.9 to 1.3.2, in regards to what I'm doing here?

    Thank you very much for your time and help.

    opened by ghost 4
  • Upload wheels for Python 2

    Upload wheels for Python 2

    I need to run the legacy code that uses GeoIP, and I have problems getting all the dependencies (gcc and libs) for GeoIP right. Is it possible to upload wheels for Python2 to PyPI?

    opened by abitrolly 3
  • py_GeoIP.c:23:19: fatal error: GeoIP.h: No such file or directory

    py_GeoIP.c:23:19: fatal error: GeoIP.h: No such file or directory

    Hi,

    Im so sorry. I can't build the package. I dont find the header file.

    /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) running build running build_ext building 'GeoIP' extension creating build creating build/temp.linux-i686-2.7 gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c py_GeoIP.c -o build/temp.linux-i686-2.7/py_GeoIP.o -fno-strict-aliasing py_GeoIP.c:23:19: fatal error: GeoIP.h: No such file or directory compilation terminated. error: command 'gcc' failed with exit status 1

    opened by ghost 3
  • can not install ?

    can not install ?

    Both pip install GeoIP and install from source (GeoIP-1.3.2)

    GOT THIS FATAL ERROR:

    py_GeoIP.c:21:20: fatal error: Python.h: No such file or directory

    #include <Python.h>
    ^

    compilation terminated.

    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    opened by vince67 3
  • install fails on python 3.7+

    install fails on python 3.7+

    Here is the error:

    Ignoring funcsigs: markers 'python_version < "3.0"' don't match your environment
      🐍   β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰β–‰ 45/45 β€” 00:00:05
    An error occurred while installing geoip==1.3.2 --hash=sha256:a890da6a21574050692198f14b07aa4268a01371278dfc24f71cd9bc87ebf0e6! Will try again.
    Ignoring ruamel.ordereddict: markers 'platform_python_implementation == "CPython" and python_version <= "2.7"' don't match your environment
    Installing initially failed dependencies...
    [pipenv.exceptions.InstallError]:   File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pipenv/core.py", line 1874, in do_install
    [pipenv.exceptions.InstallError]:       keep_outdated=keep_outdated
    [pipenv.exceptions.InstallError]:   File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pipenv/core.py", line 1253, in do_init
    [pipenv.exceptions.InstallError]:       pypi_mirror=pypi_mirror,
    [pipenv.exceptions.InstallError]:   File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pipenv/core.py", line 859, in do_install_dependencies
    [pipenv.exceptions.InstallError]:       retry_list, procs, failed_deps_queue, requirements_dir, **install_kwargs
    [pipenv.exceptions.InstallError]:   File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pipenv/core.py", line 763, in batch_install
    [pipenv.exceptions.InstallError]:       _cleanup_procs(procs, not blocking, failed_deps_queue, retry=retry)
    [pipenv.exceptions.InstallError]:   File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pipenv/core.py", line 681, in _cleanup_procs
    [pipenv.exceptions.InstallError]:       raise exceptions.InstallError(c.dep.name, extra=err_lines)
    
    opened by allnash 2
Releases(v1.3.2)
  • v1.3.2(Aug 22, 2014)

    • The description for org_by_name incorrectly directed people to use name_by_addr rather than name_by_name.
    • Previously GeoIP.country_names was populated from GeoIP_country_name in the libGeoIP C API. Some versions of the libGeoIP include non-ASCII ISO-8859-1 characters in these names, causing encoding errors under Python
      1. When installed under Python 3, this API now uses UTF-8 country names to populate this dict. Reported and fixed by Sergey Farbotka. GitHub PR #15.
    Source code(tar.gz)
    Source code(zip)
  • v1.3.1(Mar 21, 2014)

    Strings with non-ASCII characters would throw a UTF-8 decoding error. In Python 3, all strings from the database are in UTF-8 and using set_charset to set the character set to something other than UTF-8 will throw an ValueError exception.

    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Mar 21, 2014)

    • Python 3 support and significant code cleanup. ( Zack Weinberg )
    • The methods name_by_addr, name_by_addr_v6, name_by_name, and name_by_name_v6 were added for ISP, Org, and ASNum lookups. ( Carlos Rodrigues )
    • Portability fixes.
    • Expose GEOIP_MMAP_CACHE from the C library. ( George Macon )
    • Unit tests were added.
    Source code(tar.gz)
    Source code(zip)
  • v1.2.8(Jul 8, 2013)

  • v1.2.7(Jul 8, 2013)

  • v1.2.6(Jul 8, 2013)

  • v1.2.5(Jul 8, 2013)

    • Remove Confidence and Accuracy Database it is unsued anyway. ( Boris Zentner )
    • Add new methods enable_teredo, teredo, time_zone_by_country_and_region and lib_version ( Boris Zentner )
    • Add support for Confidence and Accuracy Database.
    • Add support for Netspeed Database. via: id_by_addr id_by_name
    • Add IPv6 glue *** needs libGeoIP 1.4.7 *** country_code_by_name_v6 country_name_by_name_v6 country_code_by_addr_v6 country_name_by_addr_v6 ( Boris Zentner )
    Source code(tar.gz)
    Source code(zip)
Owner
MaxMind
MaxMind
Tool to suck data from ArcGIS Server and spit it into PostgreSQL

chupaESRI About ChupaESRI is a Python module/command line tool to extract features from ArcGIS Server map services. Name? Think "chupacabra" or "Chupa

John Reiser 34 Dec 04, 2022
Python script that can be used to generate latitude/longitude coordinates for GOES-16 full-disk extent.

goes-latlon Python script that can be used to generate latitude/longitude coordinates for GOES-16 full-disk extent. 🌎 πŸ›°οΈ The grid files can be acces

Douglas Uba 3 Apr 06, 2022
A proof-of-concept jupyter extension which converts english queries into relevant python code

Text2Code for Jupyter notebook A proof-of-concept jupyter extension which converts english queries into relevant python code. Blog post with more deta

DeepKlarity 2.1k Dec 29, 2022
Imperial Valley Geomorphology Map

Roughly maps the extent of basins, basin edges, and mountains in the Imperial Valley by grouping terrain classes from the Iwahashi et al. 2021 California terrian classification model.

0 Dec 13, 2022
WebGL2 powered geospatial visualization layers

deck.gl | Website WebGL2-powered, highly performant large-scale data visualization deck.gl is designed to simplify high-performance, WebGL-based visua

Vis.gl 10.5k Jan 08, 2023
This GUI app was created to show the detailed information about the weather in any city selected by user

WeatherApp Content Brief description Tools Features Hotkeys How it works Screenshots Ways to improve the project Installation Brief description This G

TheBugYouCantFix 5 Dec 30, 2022
A ninja python package that unifies the Google Earth Engine ecosystem.

A Python package that unifies the Google Earth Engine ecosystem. EarthEngine.jl | rgee | rgee+ | eemont GitHub: https://github.com/r-earthengine/ee_ex

47 Dec 27, 2022
peartree: A library for converting transit data into a directed graph for sketch network analysis.

peartree 🍐 🌳 peartree is a library for converting GTFS feed schedules into a representative directed network graph. The tool uses Partridge to conve

Kuan Butts 183 Dec 29, 2022
Expose a GDAL file as a HTTP accessible on-the-fly COG

cogserver Expose any GDAL recognized raster file as a HTTP accessible on-the-fly COG (Cloud Optimized GeoTIFF) The on-the-fly COG file is not material

Even Rouault 73 Aug 04, 2022
Global topography (referenced to sea-level) in a 10 arcminute resolution grid

Earth - Topography grid at 10 arc-minute resolution Global 10 arc-minute resolution grids of topography (ETOPO1 ice-surface) referenced to mean sea-le

Fatiando a Terra Datasets 1 Jan 20, 2022
prettymaps - A minimal Python library to draw customized maps from OpenStreetMap data.

A small set of Python functions to draw pretty maps from OpenStreetMap data. Based on osmnx, matplotlib and shapely libraries.

Marcelo de Oliveira Rosa Prates 9k Jan 08, 2023
Spectral decomposition for characterizing long-range interaction profiles in Hi-C maps

Inspectral Spectral decomposition for characterizing long-range interaction prof

Nezar Abdennur 6 Dec 13, 2022
Geographic add-ons for Django REST Framework. Maintained by the OpenWISP Project.

Geographic add-ons for Django REST Framework. Maintained by the OpenWISP Project.

OpenWISP 982 Jan 06, 2023
Implementation of Trajectory classes and functions built on top of GeoPandas

MovingPandas MovingPandas implements a Trajectory class and corresponding methods based on GeoPandas. Visit movingpandas.org for details! You can run

Anita Graser 897 Jan 01, 2023
Advanced raster and geometry manipulations

buzzard In a nutshell, the buzzard library provides powerful abstractions to manipulate together images and geometries that come from different kind o

Earthcube Lab 30 Jun 20, 2022
PySAL: Python Spatial Analysis Library Meta-Package

Python Spatial Analysis Library PySAL, the Python spatial analysis library, is an open source cross-platform library for geospatial data science with

Python Spatial Analysis Library 1.1k Dec 18, 2022
Stitch image tiles into larger composite TIFs

untiler Utility to take a directory of {z}/{x}/{y}.(jpg|png) tiles, and stitch into a scenetiff (tif w/ exact merc tile bounds). Future versions will

Mapbox 38 Dec 16, 2022
A modern, geometric typeface by @chrismsimpson (last commit @ 85fa625 Jun 9, 2020 before deletion)

Metropolis A modern, geometric typeface. Influenced by other popular geometric, minimalist sans-serif typefaces of the new millenium. Designed for opt

Darius 183 Dec 25, 2022
Construct and use map tile grids in different projection.

Morecantile +-------------+-------------+ ymax | | | | x: 0 | x: 1 | | y: 0 | y: 0

Development Seed 67 Dec 23, 2022
Python bindings and utilities for GeoJSON

geojson This Python library contains: Functions for encoding and decoding GeoJSON formatted data Classes for all GeoJSON Objects An implementation of

Jazzband 763 Dec 26, 2022