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.99.tar.gz (446.5 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.99-cp310-abi3-win_amd64.whl (516.7 kB view details)

Uploaded CPython 3.10+Windows x86-64

iptocc-3.3.99-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (629.3 kB view details)

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

iptocc-3.3.99-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (628.1 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

iptocc-3.3.99-cp310-abi3-macosx_11_0_arm64.whl (619.7 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

iptocc-3.3.99-cp310-abi3-macosx_10_12_x86_64.whl (618.9 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: iptocc-3.3.99.tar.gz
  • Upload date:
  • Size: 446.5 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.99.tar.gz
Algorithm Hash digest
SHA256 a9e693137f04111f48cd6a2c4bff3d3f41273d2ae2cd14f525980e5b76146d42
MD5 7e56c9420c66c076af639fcd20d58f0d
BLAKE2b-256 5b4f1ae4ac0bf6742ecb1fbb9557bba7475f3d9cf5ed9de7c9c977bab92075a9

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: iptocc-3.3.99-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 516.7 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.99-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0d2af545a853b53b746ab9616fe0fd4615cc3f94871a0b5158115fa5ea89c30d
MD5 91e10d696683e08cd8f1afcf57956a02
BLAKE2b-256 1aa835b4115d9f9bb953c95a38a407d58d2d94d56a3a5e76be3a95e733e123ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.99-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5e3809711eaf3b32ab7de51643d0cc46faa41c9421bcacb205f2ed23df7b3ca
MD5 fff22f05764aa8855dc6dcdb6446bd15
BLAKE2b-256 9fa7fc568065d6c117a9921db43a9802b03437c5193efcbb6460e74f16e6450c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.99-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04ef9b932fdd9b12758dc969a6a5d318d7f6f6e20b406f53fd14075890e60cee
MD5 7115c7809f80ae32e8a7d3bde9f3f6c9
BLAKE2b-256 ebab0caf6df6aed3847c9ee36ca2502578f23c812be34721087ff433c0c76297

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.99-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f8abb37e4033c30517291840f7f675129c2b1928e1ba8071590e5a14c4ded35
MD5 d7cdea50997804cc06d3b9604ce6439e
BLAKE2b-256 5e4a31d9cf2ca26efb64bc1417641198bfd4542c9bc15a7d3ab38ef4506c681b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.99-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3cdfe0bcf3ea5175445887f4be6f4b6a685cf93856811f023c0876e6891168a2
MD5 1e7184e07826643d01440c110feed7fd
BLAKE2b-256 e5fa4b597f9d6466cb0d8e75449412f5c9fc573f3bd15021245e2e985c0d3e69

See more details on using hashes here.

Provenance

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