pyforla
CLI client for LFORLA — run LLM benchmarks locally and push results to the leaderboard. Pairs with the LFORLA platform.
Features
pull— download benchmark metadata and dataset samples (JSON/YAML)run— evaluate samples locally against an LLM API (OpenAI, Anthropic, Ollama, generic)push— submit results to the LFORLA leaderboardreport— generate a markdown/HTML evaluation report from resultsdataset upload— upload sample files to MinIO and link them to a benchmarkbench-push— publish benchmark definitions (moderator-only)
Install
pip install pyforla
Or from source:
git clone https://github.com/lforla/pyforla.git
cd pyforla && pip install -e .
Verify:
lforla-eval --help
Quick Start
# Save your API key (create one in your LFORLA account settings)
lforla-eval login "your-api-key"
# Download a benchmark's samples
lforla-eval pull root-cause-analysis -o ./data
# Run the samples locally against a model
lforla-eval run ./data/root-cause-analysis_samples.json -m gpt-4o -p openai
# Push the results to the leaderboard
lforla-eval push results.json --benchmark-id <uuid>
Commands
| Command | Description |
|---|---|
lforla-eval login <api-key> |
Save your API key to ~/.config/lforla/config.json |
lforla-eval whoami |
Check authentication status |
lforla-eval list-benchmarks |
List available benchmarks |
lforla-eval pull <slug> [-o dir] |
Download benchmark metadata + samples |
lforla-eval run <samples> -m <model> [-p provider] |
Run samples against a model |
lforla-eval push <results> --benchmark-id <uuid> |
Submit results to LFORLA |
lforla-eval report <results> [-o report.md] |
Generate an evaluation report |
lforla-eval dataset upload <file> <slug> |
Upload a sample file and create a dataset version |
lforla-eval bench-push <file.yaml> |
Publish a benchmark definition (moderator-only) |
Docker
A container image is provided for isolated or server-side runs:
docker build -t lforla-eval .
docker run --rm -v "$PWD:/data" lforla-eval run /data/samples.json -m gpt-4o -p openai
Documentation
- Full CLI documentation: https://lforla.org/cli
- API reference: https://lforla.org/api/v1
License
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 pyforla-0.3.0.tar.gz.
File metadata
- Download URL: pyforla-0.3.0.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35fb08f6281aa08a579ce6fa8179adc45388a3fdcdcb404b567f1bc4052a598e
|
|
| MD5 |
faaa8cc42abe73ff0335ad43f5e8478f
|
|
| BLAKE2b-256 |
1564c05dd81916a4927ae734a48d2b3a2dc8a553df11268f5d6883167b8ebe17
|
Provenance
The following attestation bundles were made for pyforla-0.3.0.tar.gz:
Publisher:
publish-pypi.yml on Lforla/pyforla
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyforla-0.3.0.tar.gz -
Subject digest:
35fb08f6281aa08a579ce6fa8179adc45388a3fdcdcb404b567f1bc4052a598e - Sigstore transparency entry: 2466975312
- Sigstore integration time:
-
Permalink:
Lforla/pyforla@6f68200041e970197e8c719ee83355eb9733aad2 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Lforla
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@6f68200041e970197e8c719ee83355eb9733aad2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyforla-0.3.0-py3-none-any.whl.
File metadata
- Download URL: pyforla-0.3.0-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d40b2d71fd0f882d09f114ff538f3e5c2e6b2dc948cfcd7930b2d19a28f532b
|
|
| MD5 |
c652cbd5df078c8e6a865ced8888bde4
|
|
| BLAKE2b-256 |
949f65ad95249a665b3b5668afcd7b8c39565086647518f58692491b632b9ca5
|
Provenance
The following attestation bundles were made for pyforla-0.3.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on Lforla/pyforla
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyforla-0.3.0-py3-none-any.whl -
Subject digest:
9d40b2d71fd0f882d09f114ff538f3e5c2e6b2dc948cfcd7930b2d19a28f532b - Sigstore transparency entry: 2466975353
- Sigstore integration time:
-
Permalink:
Lforla/pyforla@6f68200041e970197e8c719ee83355eb9733aad2 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Lforla
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@6f68200041e970197e8c719ee83355eb9733aad2 -
Trigger Event:
push
-
Statement type: