Modular media quality metrics toolkit
Project description
Ayase
Modular media quality metrics toolkit for video, image, and audio datasets.
Overview
- 224 modules, 251 quality metrics across visual, temporal, audio, perceptual, and safety categories
- Modular pipeline - modules compute raw values, downstream apps decide what to do with them
- CLI and Python API with profile-based configuration
- See METRICS.md for the full reference, MODELS.md for all pretrained weights
Installation
pip install ayase # Core (metadata/structural checks only)
pip install ayase[ml] # Everything
pip install ayase[v-iqa] # PyIQA, BRISQUE, NIQE, scikit-video
pip install ayase[v-perceptual] # CLIP, LPIPS, open-clip, timm
pip install ayase[v-motion] # RAFT optical flow, decord
pip install ayase[dev] # pytest, black, ruff, mypy
Models are downloaded and cached automatically on first use.
Quick Start
ayase scan ./my_dataset
ayase scan ./my_dataset --modules metadata,basic_quality,motion
ayase modules list
ayase modules check
ayase filter ./my_dataset --min-score 70 --output ./filtered
from ayase import AyasePipeline
ayase = AyasePipeline(modules=["basic", "aesthetic", "motion"])
results = ayase.run("./my_dataset")
for path, sample in results.items():
if sample.quality_metrics:
print(f"{sample.path.name}: score={sample.quality_metrics.technical_score}")
ayase.export("report.json")
Configuration
Create ayase.toml in your project root:
[general]
parallel_jobs = 8
[pipeline]
modules = ["metadata", "basic_quality", "motion"]
[output]
default_format = "json"
artifacts_dir = "reports"
Writing Plugins
from ayase.models import Sample, ValidationIssue, ValidationSeverity
from ayase.pipeline import PipelineModule
class MyCheck(PipelineModule):
name = "my_check"
description = "Custom quality check"
default_config = {"threshold": 0.5}
def process(self, sample: Sample) -> Sample:
# Your logic here
return sample
ayase scan ./data --modules metadata,my_check
Development
git clone <repo-url> && cd ayase
pip install -e ".[dev]"
pytest
License
MIT - see LICENSE.
Model licenses: ML models downloaded at runtime have their own licenses (Apache 2.0, BSD, CC-BY-NC, etc.). Users are responsible for compliance. See MODELS.md for the full catalog with license info. No model weights are bundled with this package.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ayase-0.1.17.tar.gz.
File metadata
- Download URL: ayase-0.1.17.tar.gz
- Upload date:
- Size: 562.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e51984491614c9e82a1bcf9750fa807168388ca32fdad0a9782f7f3c7f8d74fe
|
|
| MD5 |
50f180f0cd70b43ab4ae131d81fff57a
|
|
| BLAKE2b-256 |
95f06b32c00b0b06f726a238a69ce0c6578b23382844fb6f907897a9e8c68102
|
File details
Details for the file ayase-0.1.17-py3-none-any.whl.
File metadata
- Download URL: ayase-0.1.17-py3-none-any.whl
- Upload date:
- Size: 773.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3a2903f87d556fb1f5b66e36b97dae65321a7cdbde701532e958dd478d862ac
|
|
| MD5 |
b4f10bf36c271a95f06ee54a050b4c27
|
|
| BLAKE2b-256 |
53c03bca5bc11482264dfaffbffda3bea78b0be2512e87501f011b110dc6f528
|