Metadata-Version: 2.5
Name: dreamlabs
Version: 1.0.10
Summary: The dream library: the robots package with its dreamcli station command, and the DreamAPI policy client (import dream, from dreamlabs-client), as one pip install.
Project-URL: Repository, https://github.com/dreamlabs-co/dreamlabs/tree/main/dream_library
Project-URL: Client, https://github.com/dreamlabs-co/dreamlabs/tree/main/dream_library/dream_client
Project-URL: Robots, https://github.com/dreamlabs-co/dreamlabs/tree/main/dream_library/robots
Author: Dream Labs
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
License-File: THIRD-PARTY-LICENSES.md
Keywords: client,dream,dreamapi,dreamcli,inference,policy,robotics,yam
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: <3.14,>=3.11
Requires-Dist: av>=15
Requires-Dist: boto3>=1.36
Requires-Dist: click<8.2.0
Requires-Dist: dm-env==1.6
Requires-Dist: dreamlabs-client[datasets,live]<2,>=1.0.5
Requires-Dist: einops>=0.7; python_version >= '3.11'
Requires-Dist: jax-dataclasses==1.6.3; python_version >= '3.11'
Requires-Dist: jax==0.7.1; python_version >= '3.11'
Requires-Dist: jaxlib==0.7.1; python_version >= '3.11'
Requires-Dist: jaxlie==1.5.0; python_version >= '3.11'
Requires-Dist: jaxtyping; python_version >= '3.11'
Requires-Dist: loguru; python_version >= '3.11'
Requires-Dist: mink>=0.0.13
Requires-Dist: mujoco>=3.3.5
Requires-Dist: numpy==2.2.6
Requires-Dist: opencv-python-headless>=4.10
Requires-Dist: pillow>=10
Requires-Dist: portal==3.7.3
Requires-Dist: prompt-toolkit<4,>=3.0
Requires-Dist: pyarrow>=17
Requires-Dist: pydantic>=2
Requires-Dist: pyrealsense2>=2.55; sys_platform == 'linux' and python_version < '3.13'
Requires-Dist: python-can[serial]==4.5.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0.0; python_version >= '3.11'
Requires-Dist: scipy>=1.11; python_version >= '3.11'
Requires-Dist: termcolor; python_version >= '3.11'
Requires-Dist: threadpoolctl==3.6.0
Requires-Dist: tqdm; python_version >= '3.11'
Requires-Dist: trimesh; python_version >= '3.11'
Requires-Dist: typing-extensions>=4.5.0; python_version >= '3.11'
Requires-Dist: tyro==0.9.26
Requires-Dist: viser>=0.2.0; python_version >= '3.11'
Requires-Dist: websockets>=13
Requires-Dist: yourdfpy==0.0.60; python_version >= '3.11'
Provides-Extra: hardware
Provides-Extra: live
Provides-Extra: record
Provides-Extra: so101
Requires-Dist: lerobot[feetech]>=0.5; (python_version >= '3.12') and extra == 'so101'
Provides-Extra: ui
Description-Content-Type: text/markdown

<!-- The PyPI page of dreamlabs (pyproject.toml, `readme`): the public repository's root README.md with the logo at an
absolute URL, since PyPI resolves no relative path and drops <source>. Change the two together. -->

<div align="center">

<img src="https://raw.githubusercontent.com/dreamlabs-co/dreamlabs/main/assets/dreamlabs-logo-light.png" alt="Dream Labs" width="520">

<p>
  <a href="https://dreamlabs.ai"><strong>Blog Post</strong></a> |
  <a href="https://platform.dreamlabs.ai"><strong>DreamAPI</strong></a> |
  <a href="https://platform.dreamlabs.ai/api-documentation"><strong>Documentation</strong></a>
</p>

</div>

## What is this library for

`dreamlabs` is the Python client for DreamAPI, which hosts **Dream-1**, the Dream Labs robot model. Dream-1 looks at
your robot's cameras and joint positions, reads the task you type, and answers with the next joint targets for the
arms, zero-shot, with no training on your robot.

It comes two ways:

- **`dreamcli`** runs your robot on our control loop: setup, cameras, arms and Live View, with no code to write.
- **`dream.DreamClient`** calls Dream-1 from your own control loop: you send observations, it returns actions.

## Quick Guide

Sign in at [platform.dreamlabs.ai](https://platform.dreamlabs.ai/api-keys) and create an API key. It is shown only
once, so keep it somewhere safe.

### dreamcli: our control loop

```bash
pip install dreamlabs
dreamcli setup       # arms and cameras
dreamcli robot up    # start the robot
```

Give it a task from [Live View](https://platform.dreamlabs.ai/live). For the full walkthrough, open
[Robot Setup](https://platform.dreamlabs.ai/setup).

### DreamClient: your own control loop

```bash
pip install dreamlabs-client
export DREAM_API_KEY=dl_live_...
```

```python
import dream

client = dream.DreamClient()
```

To run a model from your loop, see the [documentation](https://platform.dreamlabs.ai/api-documentation).

## Documentation

The [DreamAPI documentation](https://platform.dreamlabs.ai/api-documentation) covers everything beyond the quick
guide: getting started, calling Dream-1 from your own control loop with `dream.DreamClient`, showing your robot in
Live View, bringing a robot of your own, and fine-tuning Dream-1 on recordings of your robot.

## License

Apache License 2.0 (`LICENSE`). Three of the vendored packages, `i2rt`, `pyroki` and `jaxls` under
`dream_library/vendor/`, keep their own MIT licenses, and the robot models and example assets that came from elsewhere
keep theirs, each in a `LICENSE` file in its own folder.
