Openverse SDK & CLI (Beta)
The Openverse SDK provides a lightweight Python interface for loading and running text-based agent environments hosted on the Openverse Hub.
It also includes the Openverse CLI (openverse-cli), a command-line tool for creating, pushing, pulling, and managing environment repositories — similar to huggingface-cli.
This toolkit enables researchers and developers to create, distribute, and use reproducible evaluation environments for benchmarking agents and LLMs.
Status: Beta — APIs will expand and evolve. Documentation: https://open-verse.ai/docs (coming soon)
Installation
Install from PyPI:
pip install openverse-sdk
This installs:
- Python SDK (
openverse) - Openverse CLI (
openverse-cli)
SDK Usage
The Python SDK lets you load, run, and cache environments locally. Environments are cached in:
~/.cache/openverse_envs/
Load an Environment
from openverse import make
env = make("TicTacToe-v0")
Force Reload (skip cache)
env = make("WordSearch-v0", force_reload=True)
Openverse CLI
The CLI provides a simple way to interact with the Openverse Hub, including:
- Creating environment repositories
- Uploading (pushing) code
- Downloading (pulling) environments
- Managing tokens & authentication
Check installation:
openverse-cli --help
Authentication
Log in using an Openverse API Token:
openverse-cli login
Your token (input hidden) is stored in:
~/.openverse/token.json
Creating an Environment Repository
openverse-cli create MyEnv-v0
This creates a new repository under your Openverse account in the Hub.
Pushing Environment Code
Push your local folder (default is .):
openverse-cli push MyEnv-v0 .
This sends a tarball of your code to the Hub and updates the Git repo.
Pulling an Environment Repository
Download an environment’s source code:
openverse-cli pull MyEnv-v0
It will be extracted into:
./MyEnv-v0/
This mirrors HuggingFace-style behavior.
Package Structure
This repository bundles both the SDK and the CLI:
openverse/
│
├── make.py # SDK: environment loader
├── utils.py # SDK utilities
│
└── cli/ # CLI implementation
├── cli.py # Typer entrypoint
├── api.py
├── auth.py
├── config.py
└── utils.py
The CLI executable is defined via:
[project.scripts]
openverse-cli = "openverse.cli.cli:app"
Contributing
We welcome contributions — environments, issues, and feedback. If you’re building evaluation environments or agent benchmarks, join us!
License
MIT License © Openverse.ai