{"id":15688261,"url":"https://github.com/onuralpszr/yuko","last_synced_at":"2025-05-01T02:38:30.849Z","repository":{"id":208057616,"uuid":"719756199","full_name":"onuralpszr/yuko","owner":"onuralpszr","description":"Yuko is a Python package that provides Rust-backed validators for common validation tasks. ","archived":false,"fork":false,"pushed_at":"2025-04-21T21:59:45.000Z","size":1039,"stargazers_count":9,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-04-21T22:34:56.557Z","etag":null,"topics":["hacktoberfest","python","rust","validator","validators","yuko"],"latest_commit_sha":null,"homepage":"https://github.com/onuralpszr/yuko","language":"Rust","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/onuralpszr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"onuralpszr"}},"created_at":"2023-11-16T20:49:32.000Z","updated_at":"2025-04-21T21:59:42.000Z","dependencies_parsed_at":"2024-04-26T22:26:23.896Z","dependency_job_id":"7f71f749-c6f4-4fce-b53f-c366c305707a","html_url":"https://github.com/onuralpszr/yuko","commit_stats":null,"previous_names":["onuralpszr/validx"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onuralpszr%2Fyuko","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onuralpszr%2Fyuko/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onuralpszr%2Fyuko/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onuralpszr%2Fyuko/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onuralpszr","download_url":"https://codeload.github.com/onuralpszr/yuko/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251813282,"owners_count":21648059,"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","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":["hacktoberfest","python","rust","validator","validators","yuko"],"created_at":"2024-10-03T17:56:51.398Z","updated_at":"2025-05-01T02:38:30.829Z","avatar_url":"https://github.com/onuralpszr.png","language":"Rust","funding_links":["https://github.com/sponsors/onuralpszr"],"categories":[],"sub_categories":[],"readme":"\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/onuralpszr/yuko\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/onuralpszr/yuko/develop/logo/yuko_logo.png\" alt=\"Yuko\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 style=\"font-style: italic;\" align=\"center\"\u003eYuko (有効)\u003c/h1\u003e\n\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/onuralpszr/yuko/main.svg)](https://results.pre-commit.ci/latest/github/onuralpszr/yuko/main)\n[![Build \u0026 Release - CI](https://github.com/onuralpszr/yuko/actions/workflows/CI.yml/badge.svg)](https://github.com/onuralpszr/yuko/actions/workflows/CI.yml)\n[![Coverage CI](https://github.com/onuralpszr/yuko/actions/workflows/Coverage-CI.yml/badge.svg)](https://github.com/onuralpszr/yuko/actions/workflows/Coverage-CI.yml)\n[![codecov](https://codecov.io/gh/onuralpszr/yuko/graph/badge.svg?token=NWUYIBUCBA)](https://codecov.io/gh/onuralpszr/yuko)\n[![CodeFactor](https://www.codefactor.io/repository/github/onuralpszr/yuko/badge)](https://www.codefactor.io/repository/github/onuralpszr/yuko)\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://pypi.org/project/yuko\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/v/yuko?color=%2334D058\u0026label=pypi%20package\" alt=\"Package version\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/yuko\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/dm/yuko?color=red\" alt=\"Download Count\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/yuko\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/pyversions/yuko.svg?color=%2334D058\" alt=\"Supported Python versions\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/yuko\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/status/yuko?color=orange\" alt=\"Project Status\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://makeapullrequest.com\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\" alt=\"PRs Welcome\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n\nYuko 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.\n\n## 🛠 Installation\n\n```bash\npip install yuko\n```\n\n## 🔥 Usage\n\n```python\n\u003e\u003e\u003e import yuko\n\u003e\u003e\u003e yuko.email('loremipsum@example.com')\nTrue\n\u003e\u003e\u003e yuko.email('loremipsum')\nFalse\n\u003e\u003e\u003e yuko.country_code('TR')\nTrue\n\u003e\u003e\u003e yuko.country_code('INVALID')\nFalse\n\u003e\u003e\u003e yuko.ip_address(\"127.0.0.1\",\"ipv4\")\nTrue\n\u003e\u003e\u003e yuko.ip_address(\"257.0.0.1\",\"ipv4\")\nFalse\n\u003e\u003e\u003e yuko.ip_address(\"1:2:3:4:5:6:7:8\", \"ipv6\")\nTrue\n\u003e\u003e\u003e yuko.ip_address(\"0.0.0.0\", \"both\")\nTrue\n\u003e\u003e\u003e yuko.domain(\"example.com\")\nTrue\n\u003e\u003e\u003e yuko.domain(\"example.com.\")\nFalse\n\u003e\u003e\u003e yuko.domain(\"example\")\nFalse\n\u003e\u003e\u003e yuko.mac_address(\"01:23:45:67:ab:CD\")\nTrue\n\u003e\u003e\u003e yuko.mac_address(\"00:1A:2B:3C:4D:ZZ\")\nFalse\n\u003e\u003e\u003e yuko.md5(\"d41d8cd98f00b204e9800998ecf8427e\")\nTrue\n\n```\n\n## 🔮 Features\n\nYuko provides validators of the following:\n\n- Email Validation\n- Country Code(Alpha-3, Alpha-2, Numeric) Validation\n- IP Address (ipv4, ipv6, both) Validation\n- Domain Validation\n- Mac Address Validation\n- Hash (MD5, SHA1, SHA224, SHA256, SHA512) Validation\n- URL Validation\n\n## 💻 Adding New Validators\nIf you want to contribute a new validator, please follow these guidelines:\n\n* Create a new Rust module for your validator in the src directory.\n* Implement the validator logic in Rust.\n* Expose the validator as a Python module using the pyo3 crate.\n* Update the Python package accordingly.\n\n## Credits\n\nThis project inspired by [Validators](https://github.com/python-validators/validators)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonuralpszr%2Fyuko","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonuralpszr%2Fyuko","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonuralpszr%2Fyuko/lists"}