Metadata-Version: 2.4
Name: metriclab
Version: 0.0.1a0
Dynamic: Maintainer
Dynamic: Maintainer-email
Summary: A light library to evaluate ML models
Project-URL: homepage, https://github.com/durandtibo/metriclab
Project-URL: repository, https://github.com/durandtibo/metriclab
Project-URL: documentation, https://durandtibo.github.io/metriclab/
Author-email: Thibaut Durand <durand.tibo+gh@gmail.com>
License-Expression: BSD-3-Clause
License-File: LICENSE
Keywords: AI,ML,evaluation,metric
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: POSIX :: Linux
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
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Requires-Dist: coola<2.0,>=1.1.7
Requires-Dist: numpy<3.0,>=2.0
Requires-Dist: scikit-learn<3.0,>=1.5
Provides-Extra: all
Requires-Dist: colorlog<7.0,>=6.10; extra == 'all'
Requires-Dist: rich<16.0,>=15.0; extra == 'all'
Provides-Extra: colorlog
Requires-Dist: colorlog<7.0,>=6.10; extra == 'colorlog'
Provides-Extra: rich
Requires-Dist: rich<16.0,>=15.0; extra == 'rich'
Description-Content-Type: text/markdown

# metriclab

`metriclab` provides lightweight result containers and utility helpers for
evaluating machine-learning predictions.

The library focuses on immutable result objects that expose a consistent API
for comparing metric values, exporting them as dictionaries, and formatting
them for display.

## Quickstart

```pycon
>>> from metriclab.results import AccuracyResult, Result
>>> accuracy = AccuracyResult(num_correct_predictions=7, num_predictions=10)
>>> accuracy.accuracy
0.7
>>> accuracy.to_dict(prefix="val_")
{'val_accuracy': 0.7, 'val_num_correct_predictions': 7, 'val_num_predictions': 10}
>>> Result({"loss": 0.2, "accuracy": 0.7}).to_display()
"{'loss': 0.2, 'accuracy': 0.7}"

```
