Metadata-Version: 2.5
Name: riya-utility-kit
Version: 0.1.0
Summary: A polished collection of practical Python utilities by Riya.
Project-URL: Homepage, https://pypi.org/
Project-URL: Documentation, https://packaging.python.org/en/latest/tutorials/packaging-projects/
Author: Riya
License-Expression: MIT
License-File: LICENSE
Keywords: education,python,text-processing,utilities,validation
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.9
Description-Content-Type: text/markdown

<div align="center">

# ✨ RiyaKit

### Tiny tools. Smarter Python.

A clean, beginner-friendly Python utility package created by **Riya**  
for Python programming coursework.

![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB?logo=python&logoColor=white)
![License](https://img.shields.io/badge/License-MIT-green.svg)
![Version](https://img.shields.io/badge/version-0.1.0-blue)

**Author:** Riya · **Roll No.:** 2432787

</div>

---

## 🌷 About

RiyaKit is a small collection of reusable functions for common text, numeric, and input-validation tasks. It demonstrates how to organize Python code into a distributable package, document its functions, test it, and prepare it for publication on the Python Package Index (PyPI).

## 📦 Install

Once published on PyPI:

```bash
python -m pip install riya-utility-kit
```

Before publication, install from the extracted project directory:

```bash
python -m pip install -e .
```

> PyPI package names must be unique. Check whether `riya-utility-kit` is available before uploading.

## ⚡ Quick start

```python
from riyakit import slugify, word_count, clamp

print(slugify("My Python Assignment!"))
# my-python-assignment

print(word_count("Learning Python is fun"))
# 4

print(clamp(120, 0, 100))
# 100
```

## 🧰 Included functions

| Function | What it does |
|---|---|
| `slugify(text)` | Converts text to a URL-friendly slug |
| `word_count(text)` | Counts whitespace-separated words |
| `reverse_words(text)` | Reverses the order of words |
| `clamp(value, minimum, maximum)` | Keeps a number within a range |
| `percentage(part, whole)` | Calculates a percentage |
| `is_valid_email(email)` | Performs a basic email-format check |
| `is_strong_password(password)` | Checks simple password-strength rules |

## 🧪 More examples

```python
from riyakit import reverse_words, percentage
from riyakit import is_valid_email, is_strong_password

print(reverse_words("Python makes learning fun"))
# fun learning makes Python

print(percentage(25, 200))
# 12.5

print(is_valid_email("hello@example.com"))
# True

print(is_strong_password("StrongPass9!"))
# True
```

## 🧪 Run tests

```bash
python -m pip install --upgrade pytest
python -m pytest
```

## 📁 Project structure

```text
riya-utility-kit/
├── pyproject.toml
├── README.md
├── LICENSE
├── .gitignore
├── src/
│   └── riyakit/
│       ├── __init__.py
│       ├── text.py
│       ├── numbers.py
│       └── validators.py
└── tests/
    └── test_riyakit.py
```

## 🚀 Publish to official PyPI

1. Create and verify your account at https://pypi.org/account/register/.
2. Confirm `riya-utility-kit` is available.
3. From the project root, run:

   ```bash
   python -m pip install --upgrade build twine
   python -m build
   python -m twine check dist/*
   ```

4. Optionally practise on TestPyPI first:

   ```bash
   python -m twine upload --repository testpypi dist/*
   ```

5. Create a PyPI API token and upload to official PyPI:

   ```bash
   python -m twine upload dist/*
   ```

   Enter your API token when prompted. Do not share it or commit it to your project.

After a successful upload, the expected project URL is:
https://pypi.org/project/riya-utility-kit/

## ℹ️ Limitations

- Email validation checks only a simple format; it cannot confirm that an address exists.
- Password validation is a basic learning example, not a full security assessment.

## 👩‍💻 Author

**Riya**  
**Roll Number:** 2432787  
Python Programming Assignment

## 📄 License

MIT License. See `LICENSE`.
