Lightweight ML benchmarking tool for reproducible model comparison
Project description
Rival
Config-driven ML benchmarking CLI. Compare multiple machine learning models on the same dataset with a single command. Deterministic, minimal, no nonsense.
Installation
pip install rivalml
For XGBoost support:
pip install rivalml[xgb]
Usage
YAML Config (recommended)
# experiment.yaml
dataset:
path: data.csv
target: target_column
models:
- logistic_regression
- random_forest
- xgboost
metrics:
- accuracy
- precision
- recall
- f1
training:
test_size: 0.2
random_seed: 42
rival run --config experiment.yaml
CLI Args (legacy, still supported)
rival run --dataset data.csv --target target_column --models lr,rf,xgb
Options
| Flag | Default | Description |
|---|---|---|
--config / -c |
(none) | Path to YAML experiment config |
--dataset / -d |
(none) | Path to CSV file |
--target / -t |
(none) | Target column name |
--models / -m |
lr,rf |
Comma-separated: lr, rf, xgb |
--missing |
fill_mean |
Missing value strategy: fill_mean or drop |
--seed / -s |
42 |
Random seed for reproducibility |
--test-size |
0.2 |
Test split ratio |
--output / -o |
(none) | Export results as JSON |
Example Output
------------------------------------------------------------
MODEL ACCURACY PRECISION RECALL F1 LATENCY
------------------------------------------------------------
LR 0.8523 0.8461 0.8300 0.8380 4.2ms
RF 0.8912 0.8850 0.8720 0.8784 11.8ms
XGB 0.9076 0.9031 0.8900 0.8965 17.3ms
------------------------------------------------------------
Supported Models
| Alias | Full name | Backend |
|---|---|---|
lr |
logistic_regression |
scikit-learn |
rf |
random_forest |
scikit-learn |
xgb |
xgboost |
XGBoost (optional) |
Both short (lr) and full (logistic_regression) names work everywhere.
Motivation
Compare ML models easily. No boilerplate, no notebooks, no scattered scripts. One command (or one YAML file), clean output, deterministic results.
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 rivalml-0.2.2.tar.gz.
File metadata
- Download URL: rivalml-0.2.2.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8fc7740b3a867243092bab2f7c1aa9f7d9a88b2079a443af308ed4eee05f47c3
|
|
| MD5 |
1e52fe4fbfba57f1b74fcdaccb014415
|
|
| BLAKE2b-256 |
70374fb98d71e658de45faccfb430dca1be05f796f24c67fccc5338e0e8637c2
|
Provenance
The following attestation bundles were made for rivalml-0.2.2.tar.gz:
Publisher:
publish.yml on MrFaruk0/rival
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rivalml-0.2.2.tar.gz -
Subject digest:
8fc7740b3a867243092bab2f7c1aa9f7d9a88b2079a443af308ed4eee05f47c3 - Sigstore transparency entry: 1930756751
- Sigstore integration time:
-
Permalink:
MrFaruk0/rival@ed8bd5999a3d7dd2dd0c98a7689c4cb9f55370f9 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/MrFaruk0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ed8bd5999a3d7dd2dd0c98a7689c4cb9f55370f9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rivalml-0.2.2-py3-none-any.whl.
File metadata
- Download URL: rivalml-0.2.2-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5fd7b406721658d17188c59a8c09732b7d31e665b3cfce44546a60da5b8f22a
|
|
| MD5 |
e5b290eab73420fb6d4293d6ab03b1c6
|
|
| BLAKE2b-256 |
8c482c340b63a2beef61ea2ac973f5956bff2fa1273a1a3309a20e149448b7cf
|
Provenance
The following attestation bundles were made for rivalml-0.2.2-py3-none-any.whl:
Publisher:
publish.yml on MrFaruk0/rival
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rivalml-0.2.2-py3-none-any.whl -
Subject digest:
b5fd7b406721658d17188c59a8c09732b7d31e665b3cfce44546a60da5b8f22a - Sigstore transparency entry: 1930756813
- Sigstore integration time:
-
Permalink:
MrFaruk0/rival@ed8bd5999a3d7dd2dd0c98a7689c4cb9f55370f9 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/MrFaruk0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ed8bd5999a3d7dd2dd0c98a7689c4cb9f55370f9 -
Trigger Event:
push
-
Statement type: