Skip to main content

Fast geolocation library for Pandas Dataframes, built on Numpy C-FFI

Project description

Pandas Maxmind

Provides fast and convenient geolocation bindings for Pandas Dataframes. Uses numpy ndarray's internally to speed it up compared to naively applying function per column. Based on the maxminddb-rust.

Features

  • Supports both MMAP and in-memory implementations
  • Supports parallelism (useful for very big datasets)
  • Comes with pre-built wheels, no need to install and maintain external C-library to get (better than) C-performance

Installation

  1. Minimal supported Python is 3.8
  2. pip install pandas_maxminddb
  3. The preferred way is to use precompiled binary wheel, as this requires no toolchain and is fastest.
  4. If you want to build from source any platform Rust has target for is supported.

Pre-built wheels

The wheels are built against following numpy and pandas distributions:

  • If you're on Windows / macOS / Linux there is no need to do anything extra.
  • If you use ARMv7 (RaspberryPi and such) use PiWheels --extra-index-url=https://www.piwheels.org/simple, install libatlas-base-dev for numpy.
  • If you use musl-based distro like Alpine use Alpine-wheels --extra-index-url https://alpine-wheels.github.io/index , install libstdc++ for pandas.

Refer to the build workflow for details.

Py win x86 win x64 macOS x86_64 macOS AArch64 linux x86_64 linux i686 linux AArch64 linux ARMv7 musl linux x86_64
3.8 🚫
3.9 🚫
3.10 🚫 🚫 🚫

Usage

By importing pandas_maxminddb you add Pandas geo extension which allows you to add columns in-place. This example uses context manager for reader lifetime:

import pandas as pd
from pandas_maxminddb import open_database

ips = pd.DataFrame(data={
    'ip': ["75.63.106.74", "132.206.246.203", "94.226.237.31", "128.119.189.49", "2.30.253.245"]})
with open_database('./GeoLite.mmdb/GeoLite2-City.mmdb') as reader:
    ips.geo.geolocate('ip', reader, ['country', 'city', 'state', 'postcode'])
ips
ip city postcode state country
0 75.63.106.74 Houston 77070 TX US
1 132.206.246.203 Montreal H3A QC CA
2 94.226.237.31 Kapellen 2950 VLG BE
3 128.119.189.49 Northampton 01060 MA US
4 2.30.253.245 London SW15 ENG GB

Without context manager

You can also instantiate reader yourself, eg:

import pandas as pd
from pandas_maxminddb import ReaderMem, ReaderMmap

reader = ReaderMem('./GeoLite.mmdb/GeoLite2-City.mmdb')
ips = pd.DataFrame(data={
    'ip': ["75.63.106.74", "132.206.246.203", "94.226.237.31", "128.119.189.49", "2.30.253.245"]})
ips.geo.geolocate('ip', reader, ['country', 'city', 'state', 'postcode'])
ips

Parallelism

If dataset is big enough, and you have extra cores you might benefit from using them. Currently only ReaderMem is supported:

import pandas as pd
from pandas_maxminddb import ReaderMem

reader = ReaderMem('./GeoLite.mmdb/GeoLite2-City.mmdb')
ips = pd.DataFrame(data={
    'ip': ["75.63.106.74", "132.206.246.203", "94.226.237.31", "128.119.189.49", "2.30.253.245"]})
ips.geo.geolocate('ip', reader, ['country', 'city', 'state', 'postcode'], parallel=True)
ips

Benchmarks

  • Tested on M1 Max with 1024 chunk size on 100k dataset, refer to benchmark
Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations
test_benchmark_pandas_parallel_mem_maxminddb 52.7588 (1.0) 57.4206 (1.0) 54.0573 (1.0) 1.1782 (1.15) 53.8497 (1.0) 1.4194 (1.09) 4;1 18.4989 (1.0) 20 1
test_benchmark_pandas_mmap_maxminddb 240.0050 (4.55) 244.3257 (4.26) 242.2177 (4.48) 1.9017 (1.85) 243.1021 (4.51) 3.2122 (2.46) 2;0 4.1285 (0.22) 5 1
test_benchmark_pandas_mem_maxminddb 241.4630 (4.58) 244.2553 (4.25) 242.8391 (4.49) 1.0288 (1.0) 242.7672 (4.51) 1.3064 (1.0) 2;0 4.1180 (0.22) 5 1
test_benchmark_c_maxminddb 1,010.6569 (19.16) 1,055.1080 (18.38) 1,021.3691 (18.89) 18.9273 (18.40) 1,013.3819 (18.82) 12.9544 (9.92) 1;1 0.9791 (0.05) 5 1
test_benchmark_python_maxminddb 9,021.2686 (170.99) 9,188.7629 (160.03) 9,071.0055 (167.80) 70.0512 (68.09) 9,039.7811 (167.87) 84.7766 (64.89) 1;0 0.1102 (0.01) 5 1

Extending

Due to Dataframe columns being flat arrays and geolocation data coming in a hierarchical format you might need to provide more mappings to serve your particular use-case. In order to do that follow Development section to setup your environment and then:

  1. Add column name to the geo_column.rs
  2. Add column mapping to the geolocate.rs

Development

Setting up environment

  • git clone --recurse-submodules git@github.com:andrusha/pandas-maxminddb.git
  • PYTHON_CONFIGURE_OPTS="--enable-shared" asdf install
  • PYTHON_CONFIGURE_OPTS="--enable-shared" python -m venv .venv
  • source .venv/bin/activate
  • pip install nox
  • nox -s test
  • PYTHONPATH=.venv/lib/python3.8/site-packages cargo test --no-default-features

libmaxminddb

In order to run nox -s bench properly you would need libmaxminddb installed as per maxminddb instructions prior to installing Python package, so that C-extension could be benchmarked properly.

On macOS this would require following:

  • brew instal libmaxminddb
  • PATH="/opt/homebrew/Cellar/libmaxminddb/1.7.1/bin:$PATH" LDFLAGS="-L/opt/homebrew/Cellar/libmaxminddb/1.7.1/lib" CPPFLAGS="-I/opt/homebrew/Cellar/libmaxminddb/1.7.1/include" pip install maxminddb --force-reinstall --verbose --no-cache-dir

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

pandas_maxminddb-0.2.1.tar.gz (20.3 kB view details)

Uploaded Source

Built Distributions

pandas_maxminddb-0.2.1-cp310-none-win_amd64.whl (269.9 kB view details)

Uploaded CPython 3.10 Windows x86-64

pandas_maxminddb-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

pandas_maxminddb-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pandas_maxminddb-0.2.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (1.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

pandas_maxminddb-0.2.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (819.4 kB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

pandas_maxminddb-0.2.1-cp310-cp310-macosx_10_7_x86_64.whl (412.5 kB view details)

Uploaded CPython 3.10 macOS 10.7+ x86-64

pandas_maxminddb-0.2.1-cp39-none-win_amd64.whl (270.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

pandas_maxminddb-0.2.1-cp39-none-win32.whl (258.8 kB view details)

Uploaded CPython 3.9 Windows x86

pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (1.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

pandas_maxminddb-0.2.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (819.9 kB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

pandas_maxminddb-0.2.1-cp39-cp39-macosx_10_7_x86_64.whl (412.8 kB view details)

Uploaded CPython 3.9 macOS 10.7+ x86-64

pandas_maxminddb-0.2.1-cp38-none-win_amd64.whl (270.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

pandas_maxminddb-0.2.1-cp38-none-win32.whl (258.5 kB view details)

Uploaded CPython 3.8 Windows x86

pandas_maxminddb-0.2.1-cp38-cp38-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

pandas_maxminddb-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pandas_maxminddb-0.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

pandas_maxminddb-0.2.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl (1.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

pandas_maxminddb-0.2.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (820.1 kB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

pandas_maxminddb-0.2.1-cp38-cp38-macosx_10_7_x86_64.whl (413.1 kB view details)

Uploaded CPython 3.8 macOS 10.7+ x86-64

File details

Details for the file pandas_maxminddb-0.2.1.tar.gz.

File metadata

  • Download URL: pandas_maxminddb-0.2.1.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for pandas_maxminddb-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f6eec76c0a5f20b72b39d0b38d720bc86ee2ceef31bdc73753733242ae036c4d
MD5 6c7bc7f1fb2bcfb33157f9d325fc2749
BLAKE2b-256 9be4e5aa5ba45b85509389037ff8f1d65d8006ade29d8e97af647589122c4ff9

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 4fdd5c98a6922c71235f8a2e11e8db1fda0c7e0b1fdf524251e049a251968497
MD5 1960f4016ba4d4ad4f90d76388e94701
BLAKE2b-256 e8ba84e1e7d0c408575b0b7d16a8b539bb3f3381bd4fe6f5abd8b054c8bc7cd2

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7d868cf7c78f4661b85ff777076973a36a6f8c5a9dc7d9d326393807720209bd
MD5 a9d3aa5ea1e4825d0d00badce868e0d0
BLAKE2b-256 4841ddd5bee18ad9ad677396db06e29a2d9388c5722d17e5f990172925a8e9f5

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 735a88fad20ed8e1f825e00c78633ad683260e649e870fa109dfd80b8f9a0bb8
MD5 9753b995ac4b5e9eb8dd98fe75c625bb
BLAKE2b-256 0e168ba54e1cb5ffc7ebbbf0ebdb5e2ec547e1b6ebe9fac2f5a8f435a209392b

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 5e14c67311f5c4d9eed924a9c81d7836dcbf42faa605bd08c74752c0e4105152
MD5 c9a6a60a7aeb48fc54ffa1db9d3785eb
BLAKE2b-256 784c2d379eb40da277db753c649b4704007821ff4c9c2d0495dac94cca31ffe4

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ab02ab1774e64ca6b2ea2fc3b053e7c8b44481753e8b875a4b9f20f11bcb98e4
MD5 3aa13aa268c3aaed37db707bd737697f
BLAKE2b-256 4c8fdc1b055554cbbbef1a277ecf9f68ab3bdc22f44267fe719d698a4d7abd7e

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp310-cp310-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 a53df4ae678dbfe62b1d50c0e5f3091f232526fd2464a7e93e0d95f3c6c73cd9
MD5 6c3c65844a334b9062144227fafd8a7d
BLAKE2b-256 58ec22499d367efb234aab8c5cc923edd2b230067939823ba96d45ec8cd7be00

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 3c1f1612df941237e02c79c024c6742ab814ea8819566981f4f833dafa2b72f8
MD5 df1832358b41c61d940cb99aaecf10e8
BLAKE2b-256 216e11e45614d69886425fb99126654f30f4ad896d94ee735ab35785d148157b

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp39-none-win32.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp39-none-win32.whl
Algorithm Hash digest
SHA256 8266c1e0a4042858265bb961e7f974e6eee2326d2290385c07139c150523b496
MD5 afb070bf20fc350028eea6deaae24034
BLAKE2b-256 fefbc93d6cfafabe4514a04e9edfd9a23f96e76025b317d66a232552cb3a32b8

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 896bff4266819d8055981ea496caa32bd6f761efbcf849f323c866f1eb364b92
MD5 3b6f17233600192aeb65850ec898c305
BLAKE2b-256 f418e3b9a09ab164da320d2ec1edaa9e702494a1a0c355ae3547557e9f62ab03

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 0198ea99281ef79e060ff3cb89c286dd3cf10b67c2b516a5ad3bb95d249e5a30
MD5 441f4ab0d233b5b56b4816b040d9418c
BLAKE2b-256 a3cc173525ec15683558f5dd09423d257d3b204c50b0b444dde4ffe173116b7d

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4bf393fae33807b29464819cdfc15d8f9cd512a51ffb3fd2aae2fd33d37393e6
MD5 fccf491bc36e2e851ac4b8157cab2e1c
BLAKE2b-256 dcf656201f234c68680e8b7a034e89b63500f82c835a7bcb60c526ed1b1a594a

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 4419c0ea23e2c70b48aae09b14acaf7d52bb4d1e36d136289d24e2c8ae822741
MD5 4a1db5754623e8b9ef4e3366b6fa2453
BLAKE2b-256 d24de29a576d0b8d44c168ec5cbcd525e69992c1626f4a8217b29cdd4f9f4e55

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0c2379446b74abed93d3f374ab39bb67a94e9cfd03227da103898bc9974ce5a9
MD5 e5072f2d9cc8a36626ffb15c57611b02
BLAKE2b-256 cdade90ea3e03b3ac3f5238951d76117062cb7ca3b7c133357fa766adfc7183d

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp39-cp39-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 342d0808b3884043488c1bd9a93d345e30b2727cf4ca23a77289d8252783a3af
MD5 d1ac28f2b4db6b4cdc31e73df32b1642
BLAKE2b-256 07e31dc4f35151defbbcfbb9694a620f57f2db9525ccbb768aea8a6cb4ce49fa

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp38-none-win_amd64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 b47d7f0a6acdcf23af283762815fa8ffdcb5a661c833d7d373fe9787c6471161
MD5 80de4d23a8919c955cc08e809f819fe8
BLAKE2b-256 b04fbfbe91f4528d8f05448cfa11ba392c9dcfcc63ef91bbcae1543cf5af73ec

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp38-none-win32.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp38-none-win32.whl
Algorithm Hash digest
SHA256 7d9df3e918462252231ab821ca4982ca3394d2d428840f393a23523d219403d1
MD5 54ef67a7c19ee2289309865e7c4f78f8
BLAKE2b-256 12e17f000834999613ea0516d880559104fcc5dadae8a62dc3ad088ec2cacacb

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 344fcac8fc02e2739c79f4169bedbc94fcdcde4eb5f40bbf0780af57f47a1c67
MD5 3fb101a4580ab5e5d528dde86f1303e9
BLAKE2b-256 ef758bde035603e8bf5ea950ef837b7ead3bf30ca3eed5eb3898f49854571c75

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c0d8271650bc21cc80f142844ce3b7325331a369175b57445a7c493837f776d
MD5 714f76bcac87e1e65f402cbe4753e4ab
BLAKE2b-256 f8e858fe060a9ca1ee8ba22a338afa83d67eadb5fcce41978e21a935e3fe4601

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ba406c9d7ba4c722c5056b2c60425b19ab246584628480b863f5d3adf948ed8b
MD5 e6129d0b144f93360820920693b4117c
BLAKE2b-256 c4a5fa2da58bde53b71f1fa49a6d25d0534b8d2f2e45bf0435575e392ecefab0

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 acf689292383f19f96dcfea82dfb7d04cb2ee20d01b70e1034ca918b469ca983
MD5 d17046906d1bd6e12b8bce83c3f37d8c
BLAKE2b-256 c48b67f58c5534803e37eb2c3ff98ee39b8369cfd916cd8429cc38712d6476ec

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 18054af5bfd016868ff07646c0e1952d3955dfb7cff94aedea6699f1b2cefd27
MD5 418ba79b49c4dabb6a3cb3eca65d85f7
BLAKE2b-256 d30f55b01c5e34a2070537d80450447ff72515cd7c3c1a7172c074a8a2d14b33

See more details on using hashes here.

File details

Details for the file pandas_maxminddb-0.2.1-cp38-cp38-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for pandas_maxminddb-0.2.1-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 4d5d44c448ec3924b57d4792d358c64b0c0e1d973a35199d80494628b7037cae
MD5 2feba0bcfdbeee672e0ccaab9c999dd5
BLAKE2b-256 1519884f5afb14768002bd9d3c21a1eadb70aaa9439a3412e5025ea8e15e0c0a

See more details on using hashes here.

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