Skip to main content

A Python IP enrichment library

Project description

🌐 ipatel — IP Enrichment Library & CLI

🔍 What is ipatel?

ipatel is a lightweight Python library and CLI tool that enriches IP addresses and ASNs with useful metadata:

  • 🛰️ ASN (Autonomous System Number)
  • 🏢 AS Owner / Organization
  • 🌎 Country Code
  • 🧭 IP Type — Public / Private / Reserved
  • 📶 IP Ranges for ASN

✨ Key Features

  • ⚡ Fast and works offline after initial DB download
  • 🔄 Auto-updates the enrichment database
  • 💻 Simple and intuitive Python API & CLI
  • 🧪 Fully tested, clean, and modular codebase
  • 📦 Easy to install via pip

🔧 Installation

pip install ipatel

Command Line Interface (CLI)

ipatel also includes a built-in CLI tool that allows you to enrich IPs and fetch ASN data directly from the terminal.

Basic Syntax

ipatel [-i IP_ADDRESS] [-a ASN] [--update-db] [--version] [-h]

Available Flags

Flag Description
-i, --ip Enrich the given IP address.
-a, --asn Lookup IP ranges for the given ASN.
--update-db Force re-download of the DB.
--version Show the installed version.
-h, --help Show usage and help message.

🚀 Quickstart Guide

🧩 Basic Setup

import ipatel as ip
# Let's declare ip and asn here, to check the quick functionality
test_ip = "8.8.8.8"
test_asn = 15169

🌐 IP Enrichment

🔹 Enrich IP with full metadata

ip.enrich_ip("8.8.8.8")

Returns:

{
    'ip': '8.8.8.8',
    'asn': 15169,
    'country_code': 'US',
    'owner': 'GOOGLE',
    'ip_type': 'Public'
}

🧠 ASN Lookup Functions

Function Description Example
ip.get_record(ip) Full ASN record ip.get_record("8.8.8.8")
ip.get_asn(ip) Get ASN only 15169
ip.get_country_code(ip) Get country code "US"
ip.get_owner(ip) Get AS owner "GOOGLE"
ip.get_ip_ranges_for_asn(asn) List of IP ranges for ASN ip.get_ip_ranges_for_asn(15169)

🛠️ Utilities

Function Description Output
ip.ip_to_int("8.8.8.8") IP → Integer 134744072
ip.int_to_ip(134744072) Integer → IP "8.8.8.8"
ip.get_ip_type("127.0.0.1") Detect IP type "Loopback"

🔄 Database Management

Task Function Description
📥 Download DB ip.download_ip2asn_db() Manually fetch latest DB
🔁 Ensure Fresh DB ip.ensure_ip2asn_db() Checks & auto-downloads if outdated

📚 Learn More

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

ipatel-0.1.4.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

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

ipatel-0.1.4-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file ipatel-0.1.4.tar.gz.

File metadata

  • Download URL: ipatel-0.1.4.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for ipatel-0.1.4.tar.gz
Algorithm Hash digest
SHA256 d15b196de6feedbe694ad6a6737bb986d7d5285b4ce22e7929c58adf0b7c0cd9
MD5 484ad6ac2efa0d302f44bd3e7a2b5432
BLAKE2b-256 97c40e226486c0404c65f80c9d61358e11e7d0eed387904550439cbbe867dc67

See more details on using hashes here.

File details

Details for the file ipatel-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: ipatel-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for ipatel-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 52b5e3c61a7963d808515e2fb6dcbdd70ab40992daa15c8ee9a10a25e9348e0b
MD5 b1219fca51405a6ffaf93208eb3f7233
BLAKE2b-256 e2399e5a9c53ebf1c8224bbbecc7c401b39bf95b0f1091951b3375711dd1a6a3

See more details on using hashes here.

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