Overview#

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