Skip to main content

Test PyPI Github Pages PyPI - Python Version License: MIT Stars

fipv

It stands out as a high-speed Python package meticulously built in C language 🤙 It elegantly consolidates core IP address validation functions into a robust C-based implementation, ensuring unparalleled speed compared to alternatives

🎯 Key Features

  • 🚀 Efficiency and Performance: The C-based implementation of fipv guarantees exceptional speed and minimal RAM usage, making it a top choice for high-performance IP address validation in Python applications
  • 📚 Simplified Usage: Explore github pages for easy-to-follow documentation and package references

⚡ Available Validators

  • IPv4
  • IPv4 CIDR
  • IPv6
  • IPv6 CIDR

Installation

$ pip3 install fipv

Usage

Basic Validation

import fipv

# Basic C validation functions
print(
    fipv.ipv4("127.0.0.1"),
    fipv.ipv4_cidr("127.0.0.1/44"),
    fipv.ipv6("::1"),
    fipv.ipv6_cidr("::1/129"),
)

# Output
# True False True False

Bulk Validation

import fipv

# Validate bulk IPv4 data
ips = ['127.0.0.1'] * 1000000
valids = [ip for ip in ips if fipv.ipv4(ip)]
print(len(valids))

# Output
# 1000000

Test Benchmark (2021-10-07)

In this test, it was tested validation speed and average RAM usage with different python validators and different data types. Finally results saved to below table

🟢 Valid 🔴 Invalid

Test ID Test Data Count Total Data Data Type Project Validation Duration Avr. RAM Usage (MB)
1 🟢 500K 1M IPv4 validators 0m12,975s 85M
🔴 500K ipaddress 0m2,007s 80M
N/A N/A fipv 0m0,635s 76M
2 🟢 1M 2M IPv4 validators 0m25,682s 151M
🔴 1M ipaddress 0m3,937s 154M
N/A N/A fipv 0m1,193s 150M
3 🟢 500K 1M IPv4 CIDR validators 0m19,721s 96M
🔴 500K ipaddress 0m8,662s 89M
N/A N/A fipv 0m0,909s 77M
4 🟢 1M 2M IPv4 CIDR validators 0m39,457s 179M
🔴 1M ipaddress 0m17,029s 174M
N/A N/A fipv 0m1,779s 174M
5 🟢 500K 1M IPv6 validators 0m12,633s 96M
🔴 500K ipaddress 0m2,802s 92M
N/A N/A fipv 0m0,684s 87M
6 🟢 1M 2M IPv6 validators 0m26,449s 183M
🔴 1M ipaddress 0m5,605s 177M
N/A N/A fipv 0m1,308s 172M
7 🟢 500K 1M IPv6 CIDR validators 0m20,936s 99M
🔴 500K ipaddress 0m10,778s 95M
N/A N/A fipv 0m0,958s 93M
8 🟢 1M 2M IPv6 CIDR validators 0m51,382s 184M
🔴 1M ipaddress 0m25,563s 184M
N/A N/A fipv 0m1,862s 168M

Contact

Blog - erdoganyoksul.com
Mail - erdoganyoksul3@gmail.com

Metadata

Release files for fipv 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fipv 1.0.2
File Size Uploaded
fipv-1.0.2.tar.gz 8.9 kB Details

Release files / fipv-1.0.2.tar.gz

Download URL fipv-1.0.2.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
dd8ff4f70b6ec33ff159676ad276c65fe4061272e6a6ccf3823a8db1457168be
BLAKE2b-256 checksum
How to use checksums
6886c8f9229637ab6980be8d9af7dd6361642e453fcadbff7289ba3a6b9a181e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

1.0.2 This release

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.1.2

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page