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.4.tar.gz (444.7 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.4-cp310-abi3-win_amd64.whl (514.4 kB view details)

Uploaded CPython 3.10+Windows x86-64

iptocc-3.3.4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (622.8 kB view details)

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

iptocc-3.3.4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (623.3 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

iptocc-3.3.4-cp310-abi3-macosx_11_0_arm64.whl (619.9 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

iptocc-3.3.4-cp310-abi3-macosx_10_12_x86_64.whl (614.3 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: iptocc-3.3.4.tar.gz
  • Upload date:
  • Size: 444.7 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.4.tar.gz
Algorithm Hash digest
SHA256 01d570df8224e847db658c974445b658ac5ffaffa26a6eb550495b1b9cf31d75
MD5 00fd695c585c1ebf56db84b6ad3648e9
BLAKE2b-256 2bb6ca5f8271848894809be89d384b62d7dd9b7a40f9426bfec161ed6291adb7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: iptocc-3.3.4-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 514.4 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.4-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 176bb5a528dab531c4de47669413643b4dd3550d5e9386d1391c1ec8bfe3d271
MD5 a4ff30db061188447ecc6c50ee71dbf8
BLAKE2b-256 3718a802f56f4cd273d6ff58a465560ebfcd86ddcab2c56a041d68be15391b6a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 92233da59c7f7ce63078548ed611fb3281e00357c9782b8065414bb4f4a616f5
MD5 73ae9219e86a47e467db00252b73a42c
BLAKE2b-256 a75e48d2dd05f10d30c88e85cb877d0407e60d0adf365b2cf54bea7f8ac6ada0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 461601f95abe60387ef7ad83dcb0273068a27b488753b42c848fa1451bc27b5c
MD5 40ea6ae1db05f5da16f8725bdb7bbec5
BLAKE2b-256 94b63a25681bf61f3119969fb934b69713cad4bcc548082ac502311f50d924c6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.4-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4a9c98531036e4100c1ac93e5dc8b70ae0ee7cb3c553d646e9f3f4d29848d2f
MD5 b6eab06b05ba3fab4a43aa07e55a544f
BLAKE2b-256 0020687601f413935110923b432663d81d5e0a9ce4948a65c125217731593601

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for iptocc-3.3.4-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2327f44997e7f4dc9b09fefeb2ac2496774a40d5d48c9f70083caac3197a0515
MD5 d8577578230bec18655a35dcb83830ef
BLAKE2b-256 3e48c539e62d964748fe511c5a2ebf09450a64ddd64959a35bfa109cd1bdb6b8

See more details on using hashes here.

Provenance

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