Metadata-Version: 2.3
Name: simulac
Version: 0.0.2
Summary: A CLI, library, and local server for interacting with the Tektonian backend.
Keywords: robotics,robot-simulation,simulation,physics-engine,mujoco,newton,genesis,mjcf,urdf,usd
Author: Jeuk Kang
Author-email: Jeuk Kang <gangjeuk@tektonian.com>
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: pydantic<3
Requires-Dist: duckdb>=1.4
Requires-Dist: structlog>=25.5.0
Requires-Dist: mujoco>=3.5.0
Requires-Dist: websockets>=15.0.1
Requires-Dist: typer>=0.24.1
Requires-Dist: zstd>=1.5.7.3
Requires-Dist: msgpack>=1.1.2
Requires-Dist: requests
Requires-Dist: autodoc-pydantic>=2.2.0 ; extra == 'doc'
Requires-Dist: furo>=2025.12.19 ; extra == 'doc'
Requires-Dist: myst-parser>=4.0.1 ; extra == 'doc'
Requires-Dist: sphinx>=8.1.3 ; extra == 'doc'
Requires-Dist: genesis-world==0.3.12 ; extra == 'genesis'
Requires-Dist: torch>=2.10.0 ; extra == 'genesis'
Requires-Dist: newton>=1.0.0rc0 ; extra == 'newton'
Requires-Dist: warp-lang>=1.12.0 ; extra == 'newton'
Requires-Dist: mujoco-warp>=3.5.0.2 ; extra == 'newton'
Requires-Python: >=3.12
Project-URL: Homepage, https://tektonian.com
Project-URL: Repository, https://github.com/Tektonian/Simulac
Provides-Extra: doc
Provides-Extra: genesis
Provides-Extra: newton
Description-Content-Type: text/markdown

<h1 align="center"><b>Simulac</b></h3>

<h3 align="center"><b>⚡️ Developer centric digital twin builder</b></h3>

---

[Simulac](https://github.com/Tektonian/simulac) is digital twin build tool filling the gap between physical world and software world.

Simulac helps transition between the two worlds, and provides developer-friendly API to building the world.

# Quick start

## Installation

Simulac requires Python 3.10 or later.

```bash
$ pip install simulac
$ uv add simulac
```

## Sign up and create an API key

Remote benchmark execution requires a Tektonian API key.
Go to our [website](https://tektonian.com) and get an API key.

Store your API key with CLI commend:
```bash
simulac login
```

You can also provide the key through an environment variable:
```bash
export SIMULAC_API_KEY=<you_api_key>
```
Note: API keys can only be viewed once when created

# Key function
Simulac provides one-line code execution for robot domain benchmark, and world building API (on developing)

## Benchmark

You can execution famous Physical-AI benchmarks with one-line of code.
We currently support: 
- **[Libero](https://tektonian.com/profile/Tektonian/Libero)**
- **[Calvin](https://tektonian.com/profile/Tektonian/Calvin)**
- **[Robomimic](https://tektonian.com/profile/Tektonian/Robomimic)**
- **[Metaworld](https://tektonian.com/profile/Tektonian/Metaworld)** 

Visit [benchmark list](https://tektonian.com/benchmark) for details for running it.
### Run benchmark
```python
from simulac.gym_style import init_bench

env = init_bench(
    "Tektonian/Libero",
    "libero_90/KITCHEN_SCENE2_put_the_black_bowl_at_the_back_on_the_plate",
    0,
    {"control_mode": "OSC_POSE"},
)

step = env.step(ACTION_ARRAY)

```
### Parallel Benchmark Execution

```python
from simulac.gym_style import init_bench, make_vec

args = (
    "Tektonian/Libero",
    "libero_90/KITCHEN_SCENE2_put_the_black_bowl_at_the_back_on_the_plate",
    0,
)
options = {"benchmark_specific": {"control_mode": "OSC_POSE"}}

envs = [init_bench(*args, **options) for _ in range(3)]
vec_env = make_vec(envs)

steps = vec_env.step([[0.0] * 7 for _ in envs])
print(len(steps))
```

## Configuration

Simulac reads configuration from environment variables when present:

- `SIMULAC_API_KEY`: use an API key without running `simulac login`
- `SIMULAC_BASE_URL`: override the default Tektonian API endpoint
- `SIMULAC_LOG_LEVEL`: set log verbosity. choose one of `off, trace, debug, info, warning, error`
- `SIMULAC_TELEMETRY=off`: disable telemetry


## World building

The world-building surface is best viewed as an evolving foundation for scene assembly and engine integration. 

## Project Status

Simulac is currently alpha software.

- The remote benchmark client is the most complete public surface.
- Local world-building and runner APIs are still evolving.

## License

Apache-2.0