Skip to main content

Fast, offline IP-to-country lookup. Python bindings over the Rust iptocc crate.

Project description

iptocc

PyPI Python License

Python bindings for the iptocc Rust crate. Offline IPv4 and IPv6 to ISO 3166-1 alpha-2 country code lookup.

Note: Country codes reflect the country assigned by a Regional Internet Registry (RIR) to each IP block, not where the block is being used. RIR data agrees with MaxMind for ~95% of IPv4 addresses and has minimal discrepancies for IPv6 (Zander, 2012).

Important: iptocc 3.0 is a complete Rust rewrite. Versions 2.x and earlier were pure Python on top of pandas. The public API stays mostly compatible (see migration notes below), single-lookup latency dropped from ~78 ms to ~44-141 ns, and a batch API was added.

Features

  • Offline lookup, no API keys, no network calls
  • IPv4 and IPv6 in one call
  • Single string OR batch (any iterable of strings)
  • Lookup data embedded in the wheel; no runtime file I/O
  • iptocc CLI installed with pip install iptocc
  • Data refreshed nightly from the five Regional Internet Registries

Install

Requires Python 3.10 or newer.

pip install iptocc

Usage

from iptocc import country_code

country_code("8.8.8.8")                       # "US"
country_code(["8.8.8.8", "1.0.16.1"])         # ["US", "JP"]

A CLI is installed alongside the library:

$ iptocc 8.8.8.8 1.0.16.1
8.8.8.8 US
1.0.16.1 JP

Migrating from 2.x

# 2.x
from iptocc import get_country_code, CountryCodeNotFound
try:
    cc = get_country_code("8.8.8.8")
except CountryCodeNotFound:
    cc = None

# 3.x
from iptocc import country_code
cc = country_code("8.8.8.8")  # returns None on miss

See also

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iptocc-3.3.44.tar.gz (445.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

iptocc-3.3.44-cp310-abi3-win_amd64.whl (513.8 kB view details)

Uploaded CPython 3.10+Windows x86-64

iptocc-3.3.44-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (625.6 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

iptocc-3.3.44-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (625.6 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

iptocc-3.3.44-cp310-abi3-macosx_11_0_arm64.whl (621.6 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

iptocc-3.3.44-cp310-abi3-macosx_10_12_x86_64.whl (615.5 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file iptocc-3.3.44.tar.gz.

File metadata

  • Download URL: iptocc-3.3.44.tar.gz
  • Upload date:
  • Size: 445.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for iptocc-3.3.44.tar.gz
Algorithm Hash digest
SHA256 e9bb95f10777105e75a6b340d368b61715eff3b69792c592699ffe7479fe0825
MD5 ed0207d4a522c70db6bb5db8dd36bf27
BLAKE2b-256 6a51b45fb9c8cfe044a1513666041e9bef8f20830e26dd806c53f170975df899

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.44.tar.gz:

Publisher: publish-pypi.yml on roniemartinez/IPToCC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iptocc-3.3.44-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: iptocc-3.3.44-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 513.8 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for iptocc-3.3.44-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fa2e77884a7e70b491b73f0b18eb3ad1f4834747ed21c6709a23f5cee8fc167a
MD5 3cd4569c4a0b77ec2eb5843d1eff8a8c
BLAKE2b-256 51236d0cc998f53641f196d58a944d2511fd2968059c5cd2fe28334d8fd1ae21

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.44-cp310-abi3-win_amd64.whl:

Publisher: publish-pypi.yml on roniemartinez/IPToCC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iptocc-3.3.44-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iptocc-3.3.44-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa41d25b60d254dfbef9bb937b80bd189eecb12601a3cf08e522fbadc588b700
MD5 98544a1118d104bc9cd9b6e29bbf47e6
BLAKE2b-256 c91c7aa79f1dc0f07a4c5009f161427c18f4c27d5c695444f2bd2537adc17ba2

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.44-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on roniemartinez/IPToCC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iptocc-3.3.44-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for iptocc-3.3.44-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3be45362c2208b1237fcb8ce041571195733a0efacdb23805465eaf5b1d2d352
MD5 cdc186253a7985a0d14167cd5964a4d4
BLAKE2b-256 f72d2b6ad0fcb4c115dcaf3b30d05f60b018d93dd2b376c578d30cc9465605de

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.44-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on roniemartinez/IPToCC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iptocc-3.3.44-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for iptocc-3.3.44-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eaeb8ad6096f8d9a71533dcef6089d627318be8a29e97f0022167526bccf8b69
MD5 9629109d6a2336f77937590bc63603f4
BLAKE2b-256 0c854cdb702cfb8b3bc9cbcca2349e3085f18292b7055172e576098d75572097

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.44-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on roniemartinez/IPToCC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file iptocc-3.3.44-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for iptocc-3.3.44-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 060aa3167c648aaa0e342f1311566e9e51e72dcf980ac82c284fd53680b99723
MD5 aff4409e8cf8eca3159620b2d78e85e5
BLAKE2b-256 59f4f066bc7edb779cd3f97adfdfc5e88a522d6969b0b9a44308b31faaf18d07

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.44-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on roniemartinez/IPToCC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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