{"id":31543743,"url":"https://github.com/eredotpkfr/fipv","last_synced_at":"2025-10-04T12:42:37.597Z","repository":{"id":46143892,"uuid":"414192210","full_name":"eredotpkfr/fipv","owner":"eredotpkfr","description":"⚡ Fast IP validator with C language as a python module","archived":false,"fork":false,"pushed_at":"2024-09-17T08:23:01.000Z","size":467,"stargazers_count":18,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-25T12:43:10.182Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://erdoganyoksul.com/fipv","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eredotpkfr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-10-06T11:55:32.000Z","updated_at":"2024-12-06T21:51:31.000Z","dependencies_parsed_at":"2024-01-10T21:03:25.222Z","dependency_job_id":null,"html_url":"https://github.com/eredotpkfr/fipv","commit_stats":{"total_commits":42,"total_committers":1,"mean_commits":42.0,"dds":0.0,"last_synced_commit":"f29a787bcc79dc12c4adb2b76c9c9dd29bbebded"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/eredotpkfr/fipv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eredotpkfr%2Ffipv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eredotpkfr%2Ffipv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eredotpkfr%2Ffipv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eredotpkfr%2Ffipv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eredotpkfr","download_url":"https://codeload.github.com/eredotpkfr/fipv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eredotpkfr%2Ffipv/sbom","scorecard":{"id":379783,"data":{"date":"2025-08-11","repo":{"name":"github.com/eredotpkfr/fipv","commit":"8ddaa61241b87b21dfac02ee15e5a9b8375d2515"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 1/13 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/python-package-docs.yml:1","Warn: no topLevel permission defined: .github/workflows/python-package-publish.yml:1","Warn: no topLevel permission defined: .github/workflows/python-package-test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":1,"reason":"dependency not pinned by hash detected -- score normalized to 1","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package-docs.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/eredotpkfr/fipv/python-package-docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/python-package-docs.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/eredotpkfr/fipv/python-package-docs.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/python-package-docs.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/eredotpkfr/fipv/python-package-docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package-publish.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/eredotpkfr/fipv/python-package-publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package-publish.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/eredotpkfr/fipv/python-package-publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package-test.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/eredotpkfr/fipv/python-package-test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package-test.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/eredotpkfr/fipv/python-package-test.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-package-docs.yml:14","Warn: pipCommand not pinned by hash: .github/workflows/python-package-docs.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/python-package-publish.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/python-package-test.yml:35","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   4 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/python-package-publish.yml:16"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T15:07:52.352Z","repository_id":46143892,"created_at":"2025-08-18T15:07:52.352Z","updated_at":"2025-08-18T15:07:52.352Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278315190,"owners_count":25966774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2025-10-04T12:42:34.695Z","updated_at":"2025-10-04T12:42:37.589Z","avatar_url":"https://github.com/eredotpkfr.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Test](https://github.com/eredotpkfr/fipv/actions/workflows/python-package-test.yml/badge.svg)](https://github.com/eredotpkfr/fipv/actions/workflows/python-package-test.yml)\n[![PyPI](https://img.shields.io/pypi/v/fipv)](https://pypi.org/project/fipv/)\n[![Github Pages](https://img.shields.io/badge/github-pages-orange.svg)](https://www.erdoganyoksul.com/fipv/)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/fipv)\n[![License: MIT](https://img.shields.io/badge/license-MIT-informational.svg)](https://opensource.org/licenses/MIT)\n[![Stars](https://img.shields.io/github/stars/eredotpkfr/fipv?style=social)](https://github.com/eredotpkfr/fipv/stargazers)\n# fipv\nIt 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\n\n🎯 **Key Features**\n- 🚀 **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\n- 📚 **Simplified Usage:** Explore [github pages](https://www.erdoganyoksul.com/fipv/) for easy-to-follow documentation and package references\n\n⚡ **Available Validators**\n- IPv4\n- IPv4 CIDR\n- IPv6\n- IPv6 CIDR\n\n## Installation\n```sh\n$ pip3 install fipv\n```\n## Usage\n### Basic Validation\n```python\nimport fipv\n\n# Basic C validation functions\nprint(\n    fipv.ipv4(\"127.0.0.1\"),\n    fipv.ipv4_cidr(\"127.0.0.1/44\"),\n    fipv.ipv6(\"::1\"),\n    fipv.ipv6_cidr(\"::1/129\"),\n)\n\n# Output\n# True False True False\n```\n### Bulk Validation\n```python\nimport fipv\n\n# Validate bulk IPv4 data\nips = ['127.0.0.1'] * 1000000\nvalids = [ip for ip in ips if fipv.ipv4(ip)]\nprint(len(valids))\n\n# Output\n# 1000000\n```\n\n## Test Benchmark (2021-10-07)\nIn 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\n\n🟢 Valid 🔴 Invalid\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"col\"\u003eTest ID\u003c/th\u003e\n      \u003cth align=\"center\" scope=\"col\" colspan=\"2\" scope=\"colgroup\"\u003eTest Data Count\u003c/th\u003e\n      \u003cth align=\"center\" scope=\"col\"\u003eTotal Data\u003c/th\u003e\n      \u003cth align=\"center\" scope=\"col\"\u003eData Type\u003c/th\u003e\n      \u003cth align=\"center\"\u003eProject\u003c/th\u003e\n      \u003cth align=\"center\"\u003eValidation Duration\u003c/th\u003e\n      \u003cth align=\"center\"\u003eAvr. RAM Usage (MB)\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" rowspan=\"3\" scope=\"rowgroup\"\u003e1\u003c/th\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🟢\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e500K\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003eIPv4\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/kvesteri/validators\" target=\"_blank\"\u003evalidators\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m12,975s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e85M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🔴\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e500K\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://docs.python.org/3/library/ipaddress.html\" target=\"_blank\"\u003eipaddress\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m2,007s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e80M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003eN/A\u003c/th\u003e\n      \u003ctd align=\"center\"\u003eN/A\u003c/td\u003e\n      \u003ctd align=\"center\"\u003efipv\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m0,635s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e76M\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" rowspan=\"3\" scope=\"rowgroup\"\u003e2\u003c/th\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🟢\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003e2M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003eIPv4\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/kvesteri/validators\" target=\"_blank\"\u003evalidators\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m25,682s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e151M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🔴\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://docs.python.org/3/library/ipaddress.html\" target=\"_blank\"\u003eipaddress\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m3,937s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e154M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003eN/A\u003c/th\u003e\n      \u003ctd align=\"center\"\u003eN/A\u003c/td\u003e\n      \u003ctd align=\"center\"\u003efipv\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m1,193s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e150M\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" rowspan=\"3\" scope=\"rowgroup\"\u003e3\u003c/th\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🟢\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e500K\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003eIPv4 CIDR\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/kvesteri/validators\" target=\"_blank\"\u003evalidators\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m19,721s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e96M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🔴\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e500K\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://docs.python.org/3/library/ipaddress.html\" target=\"_blank\"\u003eipaddress\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m8,662s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e89M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003eN/A\u003c/th\u003e\n      \u003ctd align=\"center\"\u003eN/A\u003c/td\u003e\n      \u003ctd align=\"center\"\u003efipv\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m0,909s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e77M\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" rowspan=\"3\" scope=\"rowgroup\"\u003e4\u003c/th\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🟢\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003e2M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003eIPv4 CIDR\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/kvesteri/validators\" target=\"_blank\"\u003evalidators\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m39,457s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e179M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🔴\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://docs.python.org/3/library/ipaddress.html\" target=\"_blank\"\u003eipaddress\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m17,029s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e174M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003eN/A\u003c/th\u003e\n      \u003ctd align=\"center\"\u003eN/A\u003c/td\u003e\n      \u003ctd align=\"center\"\u003efipv\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m1,779s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e174M\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" rowspan=\"3\" scope=\"rowgroup\"\u003e5\u003c/th\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🟢\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e500K\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003eIPv6\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/kvesteri/validators\" target=\"_blank\"\u003evalidators\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m12,633s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e96M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🔴\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e500K\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://docs.python.org/3/library/ipaddress.html\" target=\"_blank\"\u003eipaddress\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m2,802s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e92M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003eN/A\u003c/th\u003e\n      \u003ctd align=\"center\"\u003eN/A\u003c/td\u003e\n      \u003ctd align=\"center\"\u003efipv\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m0,684s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e87M\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" rowspan=\"3\" scope=\"rowgroup\"\u003e6\u003c/th\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🟢\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003e2M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003eIPv6\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/kvesteri/validators\" target=\"_blank\"\u003evalidators\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m26,449s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e183M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🔴\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://docs.python.org/3/library/ipaddress.html\" target=\"_blank\"\u003eipaddress\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m5,605s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e177M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003eN/A\u003c/th\u003e\n      \u003ctd align=\"center\"\u003eN/A\u003c/td\u003e\n      \u003ctd align=\"center\"\u003efipv\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m1,308s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e172M\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" rowspan=\"3\" scope=\"rowgroup\"\u003e7\u003c/th\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🟢\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e500K\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003eIPv6 CIDR\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/kvesteri/validators\" target=\"_blank\"\u003evalidators\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m20,936s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e99M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🔴\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e500K\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://docs.python.org/3/library/ipaddress.html\" target=\"_blank\"\u003eipaddress\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m10,778s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e95M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003eN/A\u003c/th\u003e\n      \u003ctd align=\"center\"\u003eN/A\u003c/td\u003e\n      \u003ctd align=\"center\"\u003efipv\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m0,958s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e93M\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" rowspan=\"3\" scope=\"rowgroup\"\u003e8\u003c/th\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🟢\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003e2M\u003c/td\u003e\n      \u003ctd align=\"center\" rowspan=\"3\"\u003eIPv6 CIDR\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://github.com/kvesteri/validators\" target=\"_blank\"\u003evalidators\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m51,382s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e184M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003e🔴\u003c/th\u003e\n      \u003ctd align=\"center\"\u003e1M\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003ca href=\"https://docs.python.org/3/library/ipaddress.html\" target=\"_blank\"\u003eipaddress\u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m25,563s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e184M\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" scope=\"row\"\u003eN/A\u003c/th\u003e\n      \u003ctd align=\"center\"\u003eN/A\u003c/td\u003e\n      \u003ctd align=\"center\"\u003efipv\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e0m1,862s\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e168M\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n## Contact\nBlog - [erdoganyoksul.com](https://www.erdoganyoksul.com)\u003cbr/\u003e\nMail - erdoganyoksul3@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feredotpkfr%2Ffipv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feredotpkfr%2Ffipv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feredotpkfr%2Ffipv/lists"}