CLI and Python client for SWECC BenchAnything / Mesocosm (mesocosm + bench commands).
Project description
swecc-mesocosm
CLI and Python client for SWECC's BenchAnything / Mesocosm platform.
pip install swecc-mesocosm
mesocosm --help
One package, one command (mesocosm). There is no separate bench binary or swecc-bench on PyPI.
Env author quick start
pip install swecc-mesocosm # once — covers CLI, bench_common, adapter HTTP stack
mkdir my-env && cd my-env
mesocosm init
ollama pull llama3.2
python adapter.py # terminal 1
mesocosm run local # terminal 2 — Ollama + benchanything.json, no submit
requirements.txt from mesocosm init is for optional env libraries (e.g. numpy), installed on the platform at submit time — not for installing the CLI.
When ready for the platform: mesocosm auth login → mesocosm env submit (creates the domain from benchanything.json in your repo) → mesocosm run create with the returned domain_id. See LOCAL_DEV.md in your repo after mesocosm init.
Command overview
| Area | Examples |
|---|---|
| Local env / Ollama | mesocosm init, mesocosm run local |
| Auth & teams | mesocosm auth login, mesocosm team create |
| Submit repo | mesocosm env submit --github-url … |
| Platform runs | mesocosm run create, mesocosm run export RUN_ID |
| Connectivity | mesocosm doctor, mesocosm doctor --local |
| Pre-submit check | mesocosm validate domain.json |
| Bench-api eval | mesocosm eval test, mesocosm run get |
Legacy repos with domain.py + DOMAIN_CONFIG (not created by mesocosm init) can still use mesocosm register path/to/domain.py.
See PACKAGING.md in this directory for how bench_common is bundled and how mesocosm run routes local vs platform subcommands.
Install (dev)
pip install -e ./packages/swecc-mesocosm
Configure
mesocosm doctor # checks https://api.swecc.org/bench (default)
mesocosm doctor --local # checks adapter :8765 + local bench-api :8010
export MESOCOSM_LOCAL=1 # same local profile for all commands
Remote defaults: https://api.swecc.org/bench and https://api.swecc.org for auth. Local: see infra/mesocosm.env.example.
Non-interactive auth: mesocosm auth login always prompts for username and password. In CI or scripts, use export SWECC_BENCH_TOKEN=… (member JWT) or mesocosm auth guest instead.
Python client
import asyncio
from swecc_mesocosm import BenchClient
async def main():
c = BenchClient(base_url="http://127.0.0.1:8010")
try:
domain = await c.get_domain("my-bench-id")
print(domain["status"])
finally:
await c.aclose()
asyncio.run(main())
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 Distributions
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 swecc_mesocosm-0.2.11-py3-none-any.whl.
File metadata
- Download URL: swecc_mesocosm-0.2.11-py3-none-any.whl
- Upload date:
- Size: 77.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33b7571fbd1b6c067034a0afdc02c5261f199af8d49c9ff17834ffd09eb650a6
|
|
| MD5 |
cdc60913f1771629f328d69390a9b483
|
|
| BLAKE2b-256 |
2391f3b7d3e264148776db6c63cf4a623b9f4537fa253a7cd733ec8da90c5aab
|