Skip to main content

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

praxis_eval-0.1.3.tar.gz (165.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

praxis_eval-0.1.3-py3-none-any.whl (173.9 kB view details)

Uploaded Python 3

File details

Details for the file praxis_eval-0.1.3.tar.gz.

File metadata

  • Download URL: praxis_eval-0.1.3.tar.gz
  • Upload date:
  • Size: 165.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for praxis_eval-0.1.3.tar.gz
Algorithm Hash digest
SHA256 509d24516c184b0458675b52bf72fa7697d00749e473020ba30b28a01c394b48
MD5 d9303a69fdabd3ca42866bd28a39e513
BLAKE2b-256 1862a4f8f5162cbf4df96ad4f1fe777c4dc866226d5f14e1e59df6e781334c1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for praxis_eval-0.1.3.tar.gz:

Publisher: release.yml on Chaoqi-LIU/praxis-eval

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file praxis_eval-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: praxis_eval-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 173.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for praxis_eval-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6a223367c7089c1d91adc96f0f971806e99ac38cb79a453a7d127340c41e1ddf
MD5 355b24c1ac9a23ec71c239a96a784fd8
BLAKE2b-256 940b2308eedfce30afc7a210e1f99f5c12d3659facbb7e2226f852e46e9ad629

See more details on using hashes here.

Provenance

The following attestation bundles were made for praxis_eval-0.1.3-py3-none-any.whl:

Publisher: release.yml on Chaoqi-LIU/praxis-eval

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page