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


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.27.tar.gz (444.9 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.27-cp310-abi3-win_amd64.whl (513.3 kB view details)

Uploaded CPython 3.10+Windows x86-64

iptocc-3.3.27-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (624.6 kB view details)

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

iptocc-3.3.27-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (624.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

iptocc-3.3.27-cp310-abi3-macosx_11_0_arm64.whl (620.8 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

iptocc-3.3.27-cp310-abi3-macosx_10_12_x86_64.whl (614.9 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: iptocc-3.3.27.tar.gz
  • Upload date:
  • Size: 444.9 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.27.tar.gz
Algorithm Hash digest
SHA256 c1cb909ae02ba8d75d732f55d9e8b8b0317b7876e8c3a70ec68c3c7fef33ff71
MD5 422fe4d5785322126cae55b17e534d5f
BLAKE2b-256 c6d6e381de9745da812bba89561575010c6e1e50d8a4a54305e0c790ae6ba47f

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.27.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.27-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: iptocc-3.3.27-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 513.3 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.27-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 161d4fa0e7d25daac4cfff70d1f653bfbb9bda00fa4dfe55eb28eb3139d508b3
MD5 a87fc856c373feddf9fc117111d4a3af
BLAKE2b-256 cf0c1c665193e41182ffbfca5877e5fe5f48100ea05ca3c20685d56a5967d75e

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.27-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.27-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for iptocc-3.3.27-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea03a343a8ece167ad501197fef368fded5cb9355096041c024f8ec0e9ea0727
MD5 23a486c0ef8d33cb2b415a483dcea1f3
BLAKE2b-256 2e795cb3ac6be9756a6582d7db33cce5b2494bf6ba675e867200d4fcbaa15603

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.27-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.27-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for iptocc-3.3.27-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fe0c129e8cdb1ab9d6b74418f0c76eda166bc2599b1eed39027ca1cc0b719cae
MD5 d350d35dc51483e5af7a49c3460c2f73
BLAKE2b-256 37006db25e37b93475e4cc9bf5a975dae9e8891d151788d5d1f8b19d54d2053a

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.27-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.27-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for iptocc-3.3.27-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fa94b644537508f2f4b2b4e74d462b911fc0f24bf2eb9376525a5a1782876f29
MD5 e8383956ab28c08b8cb12aff49a0bac8
BLAKE2b-256 8ca26fff4dd626f61587a97e5d5b556104ee75d2937d3cb4acde2ffbf77dc425

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.27-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.27-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for iptocc-3.3.27-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bf5cce8f94c1a0b8882435c3f21c0ce30b004d64ab1533b944e5caeed1b7d329
MD5 807951c066eba411e6469f796bccad13
BLAKE2b-256 cafcbbcc9f3f719ab138d6495245760c475146f84f2e447d4b3bfeb3d2ca115e

See more details on using hashes here.

Provenance

The following attestation bundles were made for iptocc-3.3.27-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