Skip to main content

No project description provided

Project description

Yuko 🦀 🤝 🐍

Yuko

License: MIT pre-commit.ci status Build & Release - CI Coverage CI codecov CodeFactor

Yuko is a Python package that provides Rust-backed validators for common validation tasks. This project aims to enhance the performance of validation operations by leveraging Rust's speed ⚡️, while still being easily accessible from Python.

🛠 Installation

The package is not yet available on PyPI, but you can install it directly from the source:

pip install git+https://github.com/onuralpszr/yuko.git

🔥 Usage

>>> import yuko
>>> yuko.email('loremipsum@example.com')
True
>>> yuko.email('loremipsum')
False
>>> yuko.country_code('TR')
True
>>> yuko.country_code('INVALID')
False
>>> yuko.ip_address("127.0.0.1","ipv4")
True
>>> yuko.ip_address("257.0.0.1","ipv4")
False
>>> yuko.ip_address("1:2:3:4:5:6:7:8", "ipv6")
True
>>> yuko.ip_address("0.0.0.0", "both")
True
>>> yuko.domain("example.com")
True
>>> yuko.domain("example.com.")
False
>>> yuko.domain("example")
False
>>> yuko.mac_address("01:23:45:67:ab:CD")
True
>>> yuko.mac_address("00:1A:2B:3C:4D:ZZ")
False
>>> yuko.md5("d41d8cd98f00b204e9800998ecf8427e")
True

🔮 Features

Yuko provides validators of the following:

  • Email Validation
  • Country Code(Alpha-3, Alpha-2, Numeric) Validation
  • IP Address (ipv4, ipv6, both) Validation
  • Domain Validation
  • Mac Address Validation
  • Hash (MD5, SHA1, SHA224, SHA256, SHA512) Validation
  • URL Validation

💻 Adding New Validators

If you want to contribute a new validator, please follow these guidelines:

  • Create a new Rust module for your validator in the src directory.
  • Implement the validator logic in Rust.
  • Expose the validator as a Python module using the pyo3 crate.
  • Update the Python package accordingly.

Credits

This project inspired by Validators

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yuko-0.1.0.tar.gz (665.7 kB view hashes)

Uploaded Source

Built Distributions

yuko-0.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

yuko-0.1.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

yuko-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

yuko-0.1.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

yuko-0.1.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

yuko-0.1.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

yuko-0.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

yuko-0.1.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

yuko-0.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

yuko-0.1.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

yuko-0.1.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

yuko-0.1.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

yuko-0.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

yuko-0.1.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

yuko-0.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

yuko-0.1.0-pp37-pypy37_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

yuko-0.1.0-pp37-pypy37_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

yuko-0.1.0-pp37-pypy37_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

yuko-0.1.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

yuko-0.1.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.9 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

yuko-0.1.0-cp312-none-win_amd64.whl (692.5 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

yuko-0.1.0-cp312-none-win32.whl (630.2 kB view hashes)

Uploaded CPython 3.12 Windows x86

yuko-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

yuko-0.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

yuko-0.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.0 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

yuko-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

yuko-0.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

yuko-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (838.7 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

yuko-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (883.3 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

yuko-0.1.0-cp311-none-win_amd64.whl (692.9 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

yuko-0.1.0-cp311-none-win32.whl (630.4 kB view hashes)

Uploaded CPython 3.11 Windows x86

yuko-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

yuko-0.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

yuko-0.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

yuko-0.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

yuko-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

yuko-0.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

yuko-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (839.0 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

yuko-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (883.6 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

yuko-0.1.0-cp310-none-win_amd64.whl (692.8 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

yuko-0.1.0-cp310-none-win32.whl (630.4 kB view hashes)

Uploaded CPython 3.10 Windows x86

yuko-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

yuko-0.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

yuko-0.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

yuko-0.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

yuko-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

yuko-0.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

yuko-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (839.0 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

yuko-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl (883.6 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

yuko-0.1.0-cp39-none-win_amd64.whl (693.0 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

yuko-0.1.0-cp39-none-win32.whl (630.5 kB view hashes)

Uploaded CPython 3.9 Windows x86

yuko-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

yuko-0.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

yuko-0.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

yuko-0.1.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

yuko-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

yuko-0.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

yuko-0.1.0-cp38-none-win_amd64.whl (692.6 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

yuko-0.1.0-cp38-none-win32.whl (630.1 kB view hashes)

Uploaded CPython 3.8 Windows x86

yuko-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

yuko-0.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

yuko-0.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

yuko-0.1.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

yuko-0.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

yuko-0.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

yuko-0.1.0-cp37-none-win_amd64.whl (692.6 kB view hashes)

Uploaded CPython 3.7 Windows x86-64

yuko-0.1.0-cp37-none-win32.whl (630.1 kB view hashes)

Uploaded CPython 3.7 Windows x86

yuko-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

yuko-0.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ s390x

yuko-0.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.0 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ppc64le

yuko-0.1.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.8 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARMv7l

yuko-0.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

yuko-0.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl (1.9 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.5+ i686

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page