praxis-eval
praxis-eval is a standalone robot-policy evaluation package for simulation benchmarks. It owns benchmark setup, rollout execution, metrics, artifacts, and observation/action contracts; users provide a policy adapter that consumes documented observations and returns documented actions.
Installation
praxis-eval supports Python 3.10 and newer.
pip install praxis-eval
Install the benchmark extras you plan to run:
pip install "praxis-eval[libero]"
pip install "praxis-eval[robocasa]"
pip install "praxis-eval[robocasa_gr1]"
pip install "praxis-eval[robomimic]"
pip install "praxis-eval[metaworld]"
pip install "praxis-eval[simpler]"
pip install "praxis-eval[mshab]"
pip install "praxis-eval[remote]"
Minimal Local Evaluation
This example assumes the LIBERO extra and simulator runtime are installed.
import numpy as np
from praxis_eval import EvalConfig, evaluate, get_driver
class RandomPolicy:
def __init__(self, seed: int = 0) -> None:
self.rng = np.random.default_rng(seed)
def reset(self, episode_ids=None) -> None:
pass
def act(self, observations, *, action_spec=None, policy_kwargs=None, episode_ids=None):
del policy_kwargs, episode_ids
if action_spec is None or action_spec.shape is None:
raise ValueError("This example needs a benchmark ActionSpec.")
low = -1.0 if action_spec.minimum is None else action_spec.minimum
high = 1.0 if action_spec.maximum is None else action_spec.maximum
return self.rng.uniform(
low=low,
high=high,
size=(len(observations), *action_spec.shape),
).astype(action_spec.dtype)
driver = get_driver("libero")
print(driver.contract)
result = evaluate(
"libero",
policy=RandomPolicy(seed=42),
config=EvalConfig(
task="libero_10",
task_ids=(0,),
num_eval_per_task=1,
num_parallel_env=1,
output_dir="eval/libero_smoke",
),
)
print(result.overall)
print(result.artifacts)
Supported Benchmarks
| Driver | Install extra | Runtime model |
|---|---|---|
libero |
praxis-eval[libero] |
Runs in the current Python environment. |
robocasa |
praxis-eval[robocasa] |
Runs in the current Python environment after asset setup. |
robocasa_gr1 |
praxis-eval[robocasa_gr1] |
Runs the GR-1 humanoid tabletop tasks in the current environment after asset setup. |
robomimic |
praxis-eval[robomimic] |
Runs in the current Python environment. |
metaworld |
praxis-eval[metaworld] |
Runs in the current Python environment. |
simpler |
praxis-eval[simpler] |
Uses a dedicated SimplerEnv runtime for simulator execution. |
mshab |
praxis-eval[mshab] |
Uses a dedicated MS-HAB runtime for simulator execution. |
Use the setup and verification CLIs to inspect available benchmark-specific commands:
praxis-eval-setup --help
praxis-eval-verify --help
Documentation
Full documentation is available at https://chaoqi-liu.com/praxis-eval/, including installation details, benchmark contracts, remote policy evaluation, runtime setup, examples, and the developer guide for adding new benchmarks.
Examples
Runnable examples live in examples/. They cover local policy evaluation, remote policy evaluation, custom policy adapters, and custom benchmark drivers.
License And Citation
praxis-eval is licensed under Apache-2.0. If this package supports your research or product work, cite the repository using CITATION.cff.
Metadata
Release files for praxis-eval 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| praxis_eval-0.1.3.tar.gz | 165.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| praxis_eval-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 339.1 kB
Release files / praxis_eval-0.1.3.tar.gz
| Download URL | praxis_eval-0.1.3.tar.gz |
|---|---|
| Size | 165.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
509d24516c184b0458675b52bf72fa7697d00749e473020ba30b28a01c394b48
|
|
BLAKE2b-256 checksum How to use checksums |
1862a4f8f5162cbf4df96ad4f1fe777c4dc866226d5f14e1e59df6e781334c1b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / praxis_eval-0.1.3-py3-none-any.whl
| Download URL | praxis_eval-0.1.3-py3-none-any.whl |
|---|---|
| Size | 173.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a223367c7089c1d91adc96f0f971806e99ac38cb79a453a7d127340c41e1ddf
|
|
BLAKE2b-256 checksum How to use checksums |
940b2308eedfce30afc7a210e1f99f5c12d3659facbb7e2226f852e46e9ad629
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency log