https://github.com/eredotpkfr/fipv
⚡ Fast IP validator with C language as a python module
https://github.com/eredotpkfr/fipv
c clang clang-format fast fast-ip-validator fast-validator fipv ip ipv4 ipv4-address ipv6 ipv6-address python python-validator valdiate-ipv4 validate-ipv6 validation validator
Last synced: 3 months ago
JSON representation
⚡ Fast IP validator with C language as a python module
- Host: GitHub
- URL: https://github.com/eredotpkfr/fipv
- Owner: eredotpkfr
- License: mit
- Created: 2021-10-06T11:55:32.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-17T08:23:01.000Z (over 1 year ago)
- Last Synced: 2025-09-25T12:43:10.182Z (3 months ago)
- Topics: c, clang, clang-format, fast, fast-ip-validator, fast-validator, fipv, ip, ipv4, ipv4-address, ipv6, ipv6-address, python, python-validator, valdiate-ipv4, validate-ipv6, validation, validator
- Language: C
- Homepage: https://erdoganyoksul.com/fipv
- Size: 456 KB
- Stars: 18
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/eredotpkfr/fipv/actions/workflows/python-package-test.yml)
[](https://pypi.org/project/fipv/)
[](https://www.erdoganyoksul.com/fipv/)

[](https://opensource.org/licenses/MIT)
[](https://github.com/eredotpkfr/fipv/stargazers)
# 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](https://www.erdoganyoksul.com/fipv/) for easy-to-follow documentation and package references
⚡ **Available Validators**
- IPv4
- IPv4 CIDR
- IPv6
- IPv6 CIDR
## Installation
```sh
$ pip3 install fipv
```
## Usage
### Basic Validation
```python
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
```python
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](https://www.erdoganyoksul.com)
Mail - erdoganyoksul3@gmail.com