Skip to main content

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

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.97.tar.gz (446.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.97-cp310-abi3-win_amd64.whl (516.5 kB view details)

Uploaded CPython 3.10+Windows x86-64

iptocc-3.3.97-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (629.1 kB view details)

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

iptocc-3.3.97-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (627.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

iptocc-3.3.97-cp310-abi3-macosx_11_0_arm64.whl (619.6 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

iptocc-3.3.97-cp310-abi3-macosx_10_12_x86_64.whl (618.7 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: iptocc-3.3.97.tar.gz
  • Upload date:
  • Size: 446.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for iptocc-3.3.97.tar.gz
Algorithm Hash digest
SHA256 9093f880387ac46260a425376dde0d51563e7606e0daae80701fda9863e07d44
MD5 6c045c1c62d88e3294a296c8afbf722d
BLAKE2b-256 e9cd9f09a7474f7d619ec6b3a2f73356b315cdcd1d06e6e4a193bdb2dc37f436

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for iptocc-3.3.97-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fb16d1ff3a826dac988431abd6eb2bd9902c25290edb1a9b4c8618d0419d549f
MD5 aa860b30d96e8cf9cf76b806014e0126
BLAKE2b-256 878e77f5842733dbb11d60b25579cad4a43e5e7f44852742412995a98de93fe7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.97-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0671e76657fd442a0a24cfaf08afd7b4a457f73db68f92f72b5b0a2c0fa048d
MD5 af9c6042c24f36f4a80e331f77dc170e
BLAKE2b-256 4ae939e40d82b7013ceefcea2a151e2f645b92a40952b373ec812647dd605d9b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.97-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7437553e7a78005b5f696934cc8e383e8e9d2757c3608fa5ca073ec106b66a6e
MD5 43f23ad6c8ee86a602c06eb62c1702ee
BLAKE2b-256 1f36f668d4fe6316b7e2ea6e5991d51cf0c98eea16686b98ae4ea81aea237802

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.97-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 81a3aa4b9dc710b9296b24b16d1407a7091b970a862fa52f8fb3b8f39a79d0f6
MD5 e5bc86838cffc6c553e4a83ca350a24e
BLAKE2b-256 0126a3bd5cdf5246adc052092cf4b1f4c53b9a2e81342f3aa952790fd6591ae8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.97-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ef1bb7a2c18010e1aa4dafee3c9b013ca826fe19ec3da335d674e1d32817332a
MD5 b54d237f7cb4874b2c6212501c5d5856
BLAKE2b-256 c3cc2156952cdae31d4a67605d2a624cf54a0f2f5bf1294f6786a58bbfe12c24

See more details on using hashes here.

Provenance

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

Release history Release notifications | RSS feed

Supported by

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