Metadata-Version: 2.4
Name: definers
Version: 2.0.0
Summary: A comprehensive Python toolkit for AI, data processing, media manipulation, and system utilities.
Project-URL: Homepage, https://github.com/YaronKoresh/definers
Project-URL: Repository, https://github.com/YaronKoresh/definers
Project-URL: Issues, https://github.com/YaronKoresh/definers/issues
Author: Yaron Koresh
License: MIT
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <3.15,>=3.10
Requires-Dist: joblib>=1.3.0
Requires-Dist: numpy<3,>=1.26.0
Requires-Dist: openpyxl>=3.1.0
Requires-Dist: pandas>=1.5.0
Requires-Dist: pillow>=9.1.0
Requires-Dist: requests>=2.28.0
Requires-Dist: scipy<2,>=1.10.0
Provides-Extra: all
Requires-Dist: accelerate>=1.10.0; extra == 'all'
Requires-Dist: aioquic>=1.2.0; extra == 'all'
Requires-Dist: audio-separator<0.32.0,>=0.30.2; extra == 'all'
Requires-Dist: cssselect>=1.2.0; extra == 'all'
Requires-Dist: datasets>=2.14.0; extra == 'all'
Requires-Dist: diffusers>=0.35.0; extra == 'all'
Requires-Dist: edlib; extra == 'all'
Requires-Dist: faiss-cpu>=1.7.4; extra == 'all'
Requires-Dist: fastapi>=0.100.0; extra == 'all'
Requires-Dist: googledrivedownloader>=1.1.0; extra == 'all'
Requires-Dist: gradio>=6.9.0; extra == 'all'
Requires-Dist: httpx[http2]>=0.28.0; extra == 'all'
Requires-Dist: huggingface-hub>=0.20.0; extra == 'all'
Requires-Dist: imageio>=2.30.0; extra == 'all'
Requires-Dist: langdetect>=1.0.9; extra == 'all'
Requires-Dist: librosa>=0.10.0; extra == 'all'
Requires-Dist: lxml[html-clean]>=5.2.0; extra == 'all'
Requires-Dist: matplotlib>=3.7.0; extra == 'all'
Requires-Dist: midi2audio; extra == 'all'
Requires-Dist: moviepy>=2.0.0; extra == 'all'
Requires-Dist: nltk>=3.8.0; extra == 'all'
Requires-Dist: onnx>=1.14.0; extra == 'all'
Requires-Dist: opencv-contrib-python-headless>=4.8.0; extra == 'all'
Requires-Dist: pillow-heif>=0.13.0; extra == 'all'
Requires-Dist: playwright>=1.40.0; extra == 'all'
Requires-Dist: pydub>=0.25.1; extra == 'all'
Requires-Dist: refiners>=0.4.0; extra == 'all'
Requires-Dist: sacremoses>=0.0.53; extra == 'all'
Requires-Dist: safetensors>=0.4.0; extra == 'all'
Requires-Dist: scikit-image>=0.21.0; extra == 'all'
Requires-Dist: scikit-learn>=1.3.0; extra == 'all'
Requires-Dist: sentencepiece>=0.1.99; extra == 'all'
Requires-Dist: soundfile>=0.12.0; extra == 'all'
Requires-Dist: sox>=1.4.1; extra == 'all'
Requires-Dist: stable-ts>=2.19.1; extra == 'all'
Requires-Dist: stopes>=2.2.1; (sys_platform != 'win32') and extra == 'all'
Requires-Dist: torch>=2.1.0; extra == 'all'
Requires-Dist: torchaudio>=2.1.0; extra == 'all'
Requires-Dist: transformers>=4.36.0; extra == 'all'
Provides-Extra: audio
Requires-Dist: audio-separator<0.32.0,>=0.30.2; extra == 'audio'
Requires-Dist: librosa>=0.10.0; extra == 'audio'
Requires-Dist: midi2audio; extra == 'audio'
Requires-Dist: pydub>=0.25.1; extra == 'audio'
Requires-Dist: soundfile>=0.12.0; extra == 'audio'
Requires-Dist: sox>=1.4.1; extra == 'audio'
Requires-Dist: stable-ts>=2.19.1; extra == 'audio'
Requires-Dist: torch>=2.1.0; extra == 'audio'
Requires-Dist: torchaudio>=2.1.0; extra == 'audio'
Provides-Extra: cuda
Requires-Dist: cuda-python>=12.0.0; extra == 'cuda'
Requires-Dist: cudf-cu12>=26.2; (platform_system == 'Linux') and extra == 'cuda'
Requires-Dist: cuml-cu12>=26.2; (platform_system == 'Linux') and extra == 'cuda'
Requires-Dist: cupy-cuda12x!=14.0.0,>=13.6.0; extra == 'cuda'
Requires-Dist: dask-cuda>=26.2; (platform_system == 'Linux') and extra == 'cuda'
Requires-Dist: dask-cudf-cu12>=26.2; (platform_system == 'Linux') and extra == 'cuda'
Requires-Dist: distributed-ucxx-cu12>=0.48; (platform_system == 'Linux') and extra == 'cuda'
Requires-Dist: nvidia-ml-py>=12; extra == 'cuda'
Requires-Dist: pylibraft-cu12>=26.2; (platform_system == 'Linux') and extra == 'cuda'
Requires-Dist: raft-dask-cu12>=26.2; (platform_system == 'Linux') and extra == 'cuda'
Requires-Dist: rapids-dask-dependency>=26.2; (platform_system == 'Linux') and extra == 'cuda'
Requires-Dist: rmm-cu12>=26.2; (platform_system == 'Linux') and extra == 'cuda'
Requires-Dist: ucxx-cu12>=0.48; (platform_system == 'Linux') and extra == 'cuda'
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: expecttest<0.4.0,>=0.3.0; extra == 'dev'
Requires-Dist: hypothesis>=6.90.0; extra == 'dev'
Requires-Dist: poethepoet; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
Requires-Dist: pytest-mock>=3.12.0; extra == 'dev'
Requires-Dist: pytest>=7.4.0; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: vulture>=2.10; extra == 'dev'
Provides-Extra: image
Requires-Dist: imageio>=2.30.0; extra == 'image'
Requires-Dist: opencv-contrib-python-headless>=4.8.0; extra == 'image'
Requires-Dist: pillow-heif>=0.13.0; extra == 'image'
Requires-Dist: refiners>=0.4.0; extra == 'image'
Requires-Dist: scikit-image>=0.21.0; extra == 'image'
Provides-Extra: ml
Requires-Dist: accelerate>=1.10.0; extra == 'ml'
Requires-Dist: datasets>=2.14.0; extra == 'ml'
Requires-Dist: diffusers>=0.35.0; extra == 'ml'
Requires-Dist: faiss-cpu>=1.7.4; extra == 'ml'
Requires-Dist: huggingface-hub>=0.20.0; extra == 'ml'
Requires-Dist: onnx>=1.14.0; extra == 'ml'
Requires-Dist: safetensors>=0.4.0; extra == 'ml'
Requires-Dist: scikit-learn>=1.3.0; extra == 'ml'
Requires-Dist: sentencepiece>=0.1.99; extra == 'ml'
Requires-Dist: torch>=2.1.0; extra == 'ml'
Requires-Dist: transformers>=4.36.0; extra == 'ml'
Provides-Extra: nlp
Requires-Dist: langdetect>=1.0.9; extra == 'nlp'
Requires-Dist: nltk>=3.8.0; extra == 'nlp'
Requires-Dist: sacremoses>=0.0.53; extra == 'nlp'
Requires-Dist: stopes>=2.2.1; (sys_platform != 'win32') and extra == 'nlp'
Provides-Extra: video
Requires-Dist: edlib; extra == 'video'
Requires-Dist: imageio>=2.30.0; extra == 'video'
Requires-Dist: moviepy>=2.0.0; extra == 'video'
Requires-Dist: opencv-contrib-python-headless>=4.8.0; extra == 'video'
Requires-Dist: scikit-image>=0.21.0; extra == 'video'
Provides-Extra: web
Requires-Dist: aioquic>=1.2.0; extra == 'web'
Requires-Dist: cssselect>=1.2.0; extra == 'web'
Requires-Dist: fastapi>=0.100.0; extra == 'web'
Requires-Dist: googledrivedownloader>=1.1.0; extra == 'web'
Requires-Dist: gradio>=6.9.0; extra == 'web'
Requires-Dist: httpx[http2]>=0.28.0; extra == 'web'
Requires-Dist: lxml[html-clean]>=5.2.0; extra == 'web'
Requires-Dist: matplotlib>=3.7.0; extra == 'web'
Requires-Dist: playwright>=1.40.0; extra == 'web'
Description-Content-Type: text/markdown

# Definers

Definers is a modular Python platform for teams that build AI, media, and data products and want one serious codebase instead of a pile of disconnected utilities.

It brings together workflow-grade audio, text, image, video, data preparation, runtime compatibility, and launcher surfaces behind a concrete module structure that is designed to stay credible under real project pressure.

## What Definers Is Built For

- Shipping AI and media workflows without rewriting the surrounding infrastructure every time the stack changes.
- Keeping CPU-only environments usable while still unlocking GPU-backed acceleration where the runtime can support it.
- Giving teams one place for preparation, inference, automation, and runtime.

## Capability Areas

- Audio workflows for mastering, stems, analysis, cleanup, and generation.
- Data workflows for preparation, tokenization, vectorization, and dataset assembly.
- ML workflows for text processing, guided and advanced training inside the `train` workbench, inference, and retrieval-oriented features.
- Image and video workflows for generation, composition, enhancement, and rendering.
- System and runtime workflows for installation, process control, download handling, and compatibility.
- Focused launcher surfaces for domain-specific applications instead of a single overloaded interface.

## Architecture Direction

- The repository is standardizing on feature-owned packages instead of broad routing layers.
- `import definers` is a stable lazy discovery surface, not a signal to eagerly import every optional runtime.
- Package facades such as `definers.data`, `definers.chat`, `definers.text`, and `definers.media` stay lazy discovery surfaces, while implementation work belongs in concrete owner modules.
- CLI, launcher, and download behavior are being tightened around explicit contracts so runtime behavior stays predictable in local, CI, and hosted environments.

## Documentation

- Start with [docs/README.md](docs/README.md).
- Installation and first-run guidance lives in [docs/getting-started/installation.md](docs/getting-started/installation.md) and [docs/getting-started/quickstart.md](docs/getting-started/quickstart.md).
- Runtime compatibility guidance lives in [docs/runtime/numpy-cupy-compat.md](docs/runtime/numpy-cupy-compat.md).
- Capability guides are grouped under [docs/capabilities](docs/capabilities).
- CLI and package reference notes live under [docs/reference](docs/reference).

## Project Standards

- Python support targets 3.10 through 3.14.
- The package is structured to keep runtime policy, optional dependencies, and user-facing launchers explicit.
- Contributor workflow and validation guidance live in [CONTRIBUTING.md](CONTRIBUTING.md).

## License

Definers is licensed under the MIT License. See [LICENSE](LICENSE).
