Metadata-Version: 2.4
Name: toolify
Version: 1.0.1
Summary: Utilities for terminal output, Arabic text, audio, plotting, Hugging Face, and YouTube.
Author-email: Amr Abdelsamea <amr.abdelsamee33@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/Amr-abdelsamee/toolify
Project-URL: Source, https://github.com/Amr-abdelsamee/toolify
Project-URL: Documentation, https://amr-abdelsamee.github.io/toolify/
Project-URL: Issues, https://github.com/Amr-abdelsamee/toolify/issues
Project-URL: Changelog, https://github.com/Amr-abdelsamee/toolify/blob/main/CHANGELOG.md
Keywords: tools,arabic,audio,plotting,youtube,huggingface
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-bidi>=0.6.6
Requires-Dist: arabic-reshaper>=3.0.0
Requires-Dist: youtube-transcript-api>=1.1.0
Requires-Dist: yt-dlp>=2025.10.22
Requires-Dist: tqdm>=4.67.1
Requires-Dist: matplotlib>=3.11.0
Requires-Dist: librosa>=0.11.0
Requires-Dist: numpy>=1.25
Requires-Dist: soundfile>=0.14.0
Requires-Dist: huggingface-hub>=1.21.0
Requires-Dist: hf-transfer>=0.1.9
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs-material; extra == "docs"
Requires-Dist: mkdocstrings[python]; extra == "docs"
Dynamic: license-file

<h1>
  <img
    src="docs/assets/images/toolify-logo.png"
    alt="Toolify logo"
    width="84"
    align="absmiddle"
  >
  Toolify
</h1>

[![PyPI](https://img.shields.io/pypi/v/toolify)](https://pypi.org/project/toolify/)
[![Python](https://img.shields.io/pypi/pyversions/toolify)](https://pypi.org/project/toolify/)
[![Documentation](https://img.shields.io/badge/docs-GitHub%20Pages-blue)](https://amr-abdelsamee.github.io/toolify/)
[![License](https://img.shields.io/pypi/l/toolify)](https://github.com/Amr-abdelsamee/toolify/blob/main/LICENSE)

Toolify is a Python utility library for terminal output, Arabic text handling,
logging, plotting, audio inspection, Hugging Face downloads, and YouTube media
downloads.

## Features

| Module | Purpose |
| --- | --- |
| `toolify.tools` | Colored output, Arabic text, tables, logging, and confirmation |
| `toolify.plots` | Line-plot generation |
| `toolify.audio` | Silence detection, spectrograms, and duration helpers |
| `toolify.ai` | Hugging Face repository inspection and downloads |
| `toolify.youtube` | YouTube video, transcript, and playlist utilities |

## Installation

Install the latest release from PyPI:

```bash
pip install toolify
```

Python 3.11 or newer is required. FFmpeg is also required when YouTube video
and audio streams need to be merged.

### Install FFmpeg

FFmpeg is a system application, not a Python package.

#### Windows

Install it from PowerShell with Windows Package Manager:

```powershell
winget install --exact --id Gyan.FFmpeg
```

Close and reopen the terminal after installation. If `winget` is unavailable,
download a Windows build from the
[official FFmpeg download page](https://ffmpeg.org/download.html), extract it,
and add its `bin` directory to the Windows `PATH`.

#### Linux

Ubuntu, Debian, and Linux Mint:

```bash
sudo apt update
sudo apt install ffmpeg
```


Verify the installation on either operating system:

```bash
ffmpeg -version
```


## Documentation

The complete guides and API reference are available in the
[Toolify documentation](https://amr-abdelsamee.github.io/toolify/).

- [Installation](https://amr-abdelsamee.github.io/toolify/getting-started/installation/)
- [Quick start](https://amr-abdelsamee.github.io/toolify/getting-started/quickstart/)
- [User guides](https://amr-abdelsamee.github.io/toolify/guides/tools/)
- [API reference](https://amr-abdelsamee.github.io/toolify/reference/tools/)
- [Changelog](https://github.com/Amr-abdelsamee/toolify/blob/main/CHANGELOG.md)

## Development

```bash
git clone https://github.com/Amr-abdelsamee/toolify.git
cd toolify
pip install -e ".[dev,docs]"
python -m pytest -m "not integration"
mkdocs serve
```

See the [contributing guide](https://amr-abdelsamee.github.io/toolify/development/contributing/)
and [release guide](https://amr-abdelsamee.github.io/toolify/development/releasing/).

## License

Toolify is licensed under the
[MIT License](https://github.com/Amr-abdelsamee/toolify/blob/main/LICENSE).
