Overview#
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