diff --git a/.gitattributes b/.gitattributes index 4135de8f..f12e709c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,6 @@ *.memmap filter=lfs diff=lfs merge=lfs -text *.stl filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +*.mp4 filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.json filter=lfs diff=lfs merge=lfs -text diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index 45972ae8..741c89b6 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -10,7 +10,6 @@ on: env: PYTHON_VERSION: "3.10" -# CI_SLACK_CHANNEL: ${{ secrets.CI_DOCKER_CHANNEL }} jobs: latest-cpu: @@ -51,30 +50,6 @@ jobs: tags: huggingface/lerobot-cpu build-args: PYTHON_VERSION=${{ env.PYTHON_VERSION }} - # - name: Post to a Slack channel - # id: slack - # #uses: slackapi/slack-github-action@v1.25.0 - # uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 - # with: - # # Slack channel id, channel name, or user id to post message. - # # See also: https://api.slack.com/methods/chat.postMessage#channels - # channel-id: ${{ env.CI_SLACK_CHANNEL }} - # # For posting a rich message using Block Kit - # payload: | - # { - # "text": "lerobot-cpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}", - # "blocks": [ - # { - # "type": "section", - # "text": { - # "type": "mrkdwn", - # "text": "lerobot-cpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}" - # } - # } - # ] - # } - # env: - # SLACK_BOT_TOKEN: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} latest-cuda: name: GPU @@ -113,27 +88,40 @@ jobs: tags: huggingface/lerobot-gpu build-args: PYTHON_VERSION=${{ env.PYTHON_VERSION }} - # - name: Post to a Slack channel - # id: slack - # #uses: slackapi/slack-github-action@v1.25.0 - # uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 - # with: - # # Slack channel id, channel name, or user id to post message. - # # See also: https://api.slack.com/methods/chat.postMessage#channels - # channel-id: ${{ env.CI_SLACK_CHANNEL }} - # # For posting a rich message using Block Kit - # payload: | - # { - # "text": "lerobot-gpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}", - # "blocks": [ - # { - # "type": "section", - # "text": { - # "type": "mrkdwn", - # "text": "lerobot-gpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}" - # } - # } - # ] - # } - # env: - # SLACK_BOT_TOKEN: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} + + latest-cuda-dev: + name: GPU Dev + runs-on: ubuntu-latest + steps: + - name: Cleanup disk + run: | + sudo df -h + # sudo ls -l /usr/local/lib/ + # sudo ls -l /usr/share/ + sudo du -sh /usr/local/lib/ + sudo du -sh /usr/share/ + sudo rm -rf /usr/local/lib/android + sudo rm -rf /usr/share/dotnet + sudo du -sh /usr/local/lib/ + sudo du -sh /usr/share/ + sudo df -h + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Check out code + uses: actions/checkout@v4 + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Build and Push GPU dev + uses: docker/build-push-action@v5 + with: + context: . + file: ./docker/lerobot-gpu-dev/Dockerfile + push: true + tags: huggingface/lerobot-gpu:dev + build-args: PYTHON_VERSION=${{ env.PYTHON_VERSION }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f86e4f8e..a466cff7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,6 +29,8 @@ jobs: MUJOCO_GL: egl steps: - uses: actions/checkout@v4 + with: + lfs: true # Ensure LFS files are pulled - name: Install EGL run: sudo apt-get update && sudo apt-get install -y libegl1-mesa-dev @@ -57,6 +59,40 @@ jobs: && rm -rf tests/outputs outputs + pytest-minimal: + name: Pytest (minimal install) + runs-on: ubuntu-latest + env: + DATA_DIR: tests/data + MUJOCO_GL: egl + steps: + - uses: actions/checkout@v4 + with: + lfs: true # Ensure LFS files are pulled + + - name: Install poetry + run: | + pipx install poetry && poetry config virtualenvs.in-project true + echo "${{ github.workspace }}/.venv/bin" >> $GITHUB_PATH + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install poetry dependencies + run: | + poetry install --extras "test" + + - name: Test with pytest + run: | + pytest tests -v --cov=./lerobot --durations=0 \ + -W ignore::DeprecationWarning:imageio_ffmpeg._utils:7 \ + -W ignore::UserWarning:torch.utils.data.dataloader:558 \ + -W ignore::UserWarning:gymnasium.utils.env_checker:247 \ + && rm -rf tests/outputs outputs + + end-to-end: name: End-to-end runs-on: ubuntu-latest @@ -65,6 +101,8 @@ jobs: MUJOCO_GL: egl steps: - uses: actions/checkout@v4 + with: + lfs: true # Ensure LFS files are pulled - name: Install EGL run: sudo apt-get update && sudo apt-get install -y libegl1-mesa-dev diff --git a/.gitignore b/.gitignore index a83dc8b9..5b73b9ad 100644 --- a/.gitignore +++ b/.gitignore @@ -2,12 +2,17 @@ logs tmp wandb + +# Data data outputs -.vscode -rl + +# Apple .DS_Store +# VS Code +.vscode + # HPC nautilus/*.yaml *.key @@ -90,6 +95,7 @@ instance/ docs/_build/ # PyBuilder +.pybuilder/ target/ # Jupyter Notebook @@ -102,13 +108,6 @@ ipython_config.py # pyenv .python-version -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - # PEP 582; used by e.g. github.com/David-OConnor/pyflow __pypackages__/ @@ -119,6 +118,15 @@ celerybeat.pid # SageMath parsed files *.sage.py +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + # Spyder project settings .spyderproject .spyproject @@ -136,3 +144,9 @@ dmypy.json # Pyre type checker .pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 93b11ca9..913fcb5d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,7 +18,7 @@ repos: hooks: - id: pyupgrade - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.4.2 + rev: v0.4.3 hooks: - id: ruff args: [--fix] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dd8f97e2..b20dede6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -195,6 +195,11 @@ Follow these steps to start contributing: git commit ``` + Note, if you already commited some changes that have a wrong formatting, you can use: + ```bash + pre-commit run --all-files + ``` + Please write [good commit messages](https://chris.beams.io/posts/git-commit/). It is a good idea to sync your copy of the code with the original diff --git a/Makefile b/Makefile index 07aa4e97..2a32048e 100644 --- a/Makefile +++ b/Makefile @@ -20,16 +20,19 @@ build-gpu: test-end-to-end: ${MAKE} test-act-ete-train ${MAKE} test-act-ete-eval + ${MAKE} test-act-ete-train-amp + ${MAKE} test-act-ete-eval-amp ${MAKE} test-diffusion-ete-train ${MAKE} test-diffusion-ete-eval - # TODO(rcadene, alexander-soare): enable end-to-end tests for tdmpc - # ${MAKE} test-tdmpc-ete-train - # ${MAKE} test-tdmpc-ete-eval + ${MAKE} test-tdmpc-ete-train + ${MAKE} test-tdmpc-ete-eval ${MAKE} test-default-ete-eval + ${MAKE} test-act-pusht-tutorial test-act-ete-train: python lerobot/scripts/train.py \ policy=act \ + policy.dim_model=64 \ env=aloha \ wandb.enable=False \ training.offline_steps=2 \ @@ -52,9 +55,40 @@ test-act-ete-eval: env.episode_length=8 \ device=cpu \ +test-act-ete-train-amp: + python lerobot/scripts/train.py \ + policy=act \ + policy.dim_model=64 \ + env=aloha \ + wandb.enable=False \ + training.offline_steps=2 \ + training.online_steps=0 \ + eval.n_episodes=1 \ + eval.batch_size=1 \ + device=cpu \ + training.save_model=true \ + training.save_freq=2 \ + policy.n_action_steps=20 \ + policy.chunk_size=20 \ + training.batch_size=2 \ + hydra.run.dir=tests/outputs/act/ \ + use_amp=true + +test-act-ete-eval-amp: + python lerobot/scripts/eval.py \ + -p tests/outputs/act/checkpoints/000002 \ + eval.n_episodes=1 \ + eval.batch_size=1 \ + env.episode_length=8 \ + device=cpu \ + use_amp=true + test-diffusion-ete-train: python lerobot/scripts/train.py \ policy=diffusion \ + policy.down_dims=\[64,128,256\] \ + policy.diffusion_step_embed_dim=32 \ + policy.num_inference_steps=10 \ env=pusht \ wandb.enable=False \ training.offline_steps=2 \ @@ -75,15 +109,16 @@ test-diffusion-ete-eval: env.episode_length=8 \ device=cpu \ +# TODO(alexander-soare): Restore online_steps to 2 when it is reinstated. test-tdmpc-ete-train: python lerobot/scripts/train.py \ policy=tdmpc \ env=xarm \ env.task=XarmLift-v0 \ - dataset_repo_id=lerobot/xarm_lift_medium_replay \ + dataset_repo_id=lerobot/xarm_lift_medium \ wandb.enable=False \ training.offline_steps=2 \ - training.online_steps=2 \ + training.online_steps=0 \ eval.n_episodes=1 \ eval.batch_size=1 \ env.episode_length=2 \ @@ -101,7 +136,6 @@ test-tdmpc-ete-eval: env.episode_length=8 \ device=cpu \ - test-default-ete-eval: python lerobot/scripts/eval.py \ --config lerobot/configs/default.yaml \ @@ -109,3 +143,21 @@ test-default-ete-eval: eval.batch_size=1 \ env.episode_length=8 \ device=cpu \ + + +test-act-pusht-tutorial: + cp examples/advanced/1_train_act_pusht/act_pusht.yaml lerobot/configs/policy/created_by_Makefile.yaml + python lerobot/scripts/train.py \ + policy=created_by_Makefile.yaml \ + env=pusht \ + wandb.enable=False \ + training.offline_steps=2 \ + eval.n_episodes=1 \ + eval.batch_size=1 \ + env.episode_length=2 \ + device=cpu \ + training.save_model=true \ + training.save_freq=2 \ + training.batch_size=2 \ + hydra.run.dir=tests/outputs/act_pusht/ + rm lerobot/configs/policy/created_by_Makefile.yaml diff --git a/README.md b/README.md index a305dbff..f511d34f 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,6 @@ - Thanks to Tony Zaho, Zipeng Fu and colleagues for open sourcing ACT policy, ALOHA environments and datasets. Ours are adapted from [ALOHA](https://tonyzhaozh.github.io/aloha) and [Mobile ALOHA](https://mobile-aloha.github.io). - Thanks to Cheng Chi, Zhenjia Xu and colleagues for open sourcing Diffusion policy, Pusht environment and datasets, as well as UMI datasets. Ours are adapted from [Diffusion Policy](https://diffusion-policy.cs.columbia.edu) and [UMI Gripper](https://umi-gripper.github.io). - Thanks to Nicklas Hansen, Yunhai Feng and colleagues for open sourcing TDMPC policy, Simxarm environments and datasets. Ours are adapted from [TDMPC](https://github.com/nicklashansen/tdmpc) and [FOWM](https://www.yunhaifeng.com/FOWM). -- Thanks to Vincent Moens and colleagues for open sourcing [TorchRL](https://github.com/pytorch/rl). It allowed for quick experimentations on the design of `LeRobot`. - Thanks to Antonio Loquercio and Ashish Kumar for their early support. @@ -78,6 +77,10 @@ Install 🤗 LeRobot: pip install . ``` +> **NOTE:** Depending on your platform, If you encounter any build errors during this step +you may need to install `cmake` and `build-essential` for building some of our dependencies. +On linux: `sudo apt-get install cmake build-essential` + For simulations, 🤗 LeRobot comes with gymnasium environments that can be installed as extras: - [aloha](https://github.com/huggingface/gym-aloha) - [xarm](https://github.com/huggingface/gym-xarm) @@ -93,11 +96,14 @@ To use [Weights and Biases](https://docs.wandb.ai/quickstart) for experiment tra wandb login ``` +(note: you will also need to enable WandB in the configuration. See below.) + ## Walkthrough ``` . ├── examples # contains demonstration examples, start here to learn about LeRobot +| └── advanced # contains even more examples for those who have mastered the basics ├── lerobot | ├── configs # contains hydra yaml files with all options that you can override in the command line | | ├── default.yaml # selected by default, it loads pusht environment and diffusion policy @@ -157,15 +163,16 @@ See `python lerobot/scripts/eval.py --help` for more instructions. ### Train your own policy -Check out [example 3](./examples/3_train_policy.py) that illustrates how to start training a model. +Check out [example 3](./examples/3_train_policy.py) that illustrates how to train a model using our core library in python, and [example 4](./examples/4_train_policy_with_script.md) that shows how to use our training script from command line. + +In general, you can use our training script to easily train any policy. Here is an example of training the ACT policy on trajectories collected by humans on the Aloha simulation environment for the insertion task: -In general, you can use our training script to easily train any policy. To use wandb for logging training and evaluation curves, make sure you ran `wandb login`. Here is an example of training the ACT policy on trajectories collected by humans on the Aloha simulation environment for the insertion task: ```bash python lerobot/scripts/train.py \ policy=act \ env=aloha \ env.task=AlohaInsertion-v0 \ - dataset_repo_id=lerobot/aloha_sim_insertion_human + dataset_repo_id=lerobot/aloha_sim_insertion_human \ ``` The experiment directory is automatically generated and will show up in yellow in your terminal. It looks like `outputs/train/2024-05-05/20-21-12_aloha_act_default`. You can manually specify an experiment directory by adding this argument to the `train.py` python command: @@ -173,17 +180,29 @@ The experiment directory is automatically generated and will show up in yellow i hydra.run.dir=your/new/experiment/dir ``` -A link to the wandb logs for the run will also show up in yellow in your terminal. Here is an example of logs from wandb: -![](media/wandb.png) +To use wandb for logging training and evaluation curves, make sure you've run `wandb login` as a one-time setup step. Then, when running the training command above, enable WandB in the configuration by adding: -You can deactivate wandb by adding these arguments to the `train.py` python command: ```bash - wandb.disable_artifact=true \ - wandb.enable=false + wandb.enable=true ``` -Note: For efficiency, during training every checkpoint is evaluated on a low number of episodes. After training, you may want to re-evaluate your best checkpoints on more episodes or change the evaluation settings. See `python lerobot/scripts/eval.py --help` for more instructions. +A link to the wandb logs for the run will also show up in yellow in your terminal. Here is an example of what they look like in your browser: +![](media/wandb.png) + +Note: For efficiency, during training every checkpoint is evaluated on a low number of episodes. You may use `eval.n_episodes=500` to evaluate on more episodes than the default. Or, after training, you may want to re-evaluate your best checkpoints on more episodes or change the evaluation settings. See `python lerobot/scripts/eval.py --help` for more instructions. + +#### Reproduce state-of-the-art (SOTA) + +We have organized our configuration files (found under [`lerobot/configs`](./lerobot/configs)) such that they reproduce SOTA results from a given model variant in their respective original works. Simply running: + +```bash +python lerobot/scripts/train.py policy=diffusion env=pusht +``` + +reproduces SOTA results for Diffusion Policy on the PushT task. + +Pretrained policies, along with reproduction details, can be found under the "Models" section of https://huggingface.co/lerobot. ## Contribute @@ -196,11 +215,11 @@ To add a dataset to the hub, you need to login using a write-access token, which huggingface-cli login --token ${HUGGINGFACE_TOKEN} --add-to-git-credential ``` -Then move your dataset folder in `data` directory (e.g. `data/aloha_ping_pong`), and push your dataset to the hub with: +Then move your dataset folder in `data` directory (e.g. `data/aloha_static_pingpong_test`), and push your dataset to the hub with: ```bash python lerobot/scripts/push_dataset_to_hub.py \ --data-dir data \ ---dataset-id aloha_ping_ping \ +--dataset-id aloha_static_pingpong_test \ --raw-format aloha_hdf5 \ --community-id lerobot ``` diff --git a/docker/lerobot-gpu-dev/Dockerfile b/docker/lerobot-gpu-dev/Dockerfile new file mode 100644 index 00000000..e5c7d454 --- /dev/null +++ b/docker/lerobot-gpu-dev/Dockerfile @@ -0,0 +1,40 @@ +FROM nvidia/cuda:12.4.1-base-ubuntu22.04 + +# Configure image +ARG PYTHON_VERSION=3.10 +ARG DEBIAN_FRONTEND=noninteractive + +# Install apt dependencies +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential cmake \ + git git-lfs openssh-client \ + nano vim less util-linux \ + htop atop nvtop \ + sed gawk grep curl wget \ + tcpdump sysstat screen tmux \ + libglib2.0-0 libgl1-mesa-glx libegl1-mesa ffmpeg \ + python${PYTHON_VERSION} python${PYTHON_VERSION}-venv \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + +# Install gh cli tool +RUN (type -p wget >/dev/null || (apt update && apt-get install wget -y)) \ + && mkdir -p -m 755 /etc/apt/keyrings \ + && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \ + && chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ + && apt update \ + && apt install gh -y \ + && apt clean && rm -rf /var/lib/apt/lists/* + +# Setup `python` +RUN ln -s /usr/bin/python3 /usr/bin/python + +# Install poetry +RUN curl -sSL https://install.python-poetry.org | python - +ENV PATH="/root/.local/bin:$PATH" +RUN echo 'if [ "$HOME" != "/root" ]; then ln -sf /root/.local/bin/poetry $HOME/.local/bin/poetry; fi' >> /root/.bashrc +RUN poetry config virtualenvs.create false +RUN poetry config virtualenvs.in-project true + +# Set EGL as the rendering backend for MuJoCo +ENV MUJOCO_GL="egl" diff --git a/docker/lerobot-gpu/Dockerfile b/docker/lerobot-gpu/Dockerfile index ab78937c..2c36b484 100644 --- a/docker/lerobot-gpu/Dockerfile +++ b/docker/lerobot-gpu/Dockerfile @@ -4,6 +4,7 @@ FROM nvidia/cuda:12.4.1-base-ubuntu22.04 ARG PYTHON_VERSION=3.10 ARG DEBIAN_FRONTEND=noninteractive + # Install apt dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential cmake \ @@ -11,6 +12,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ python${PYTHON_VERSION} python${PYTHON_VERSION}-venv \ && apt-get clean && rm -rf /var/lib/apt/lists/* + # Create virtual environment RUN ln -s /usr/bin/python${PYTHON_VERSION} /usr/bin/python RUN python -m venv /opt/venv diff --git a/examples/4_train_policy_with_script.md b/examples/4_train_policy_with_script.md new file mode 100644 index 00000000..baa1f1c9 --- /dev/null +++ b/examples/4_train_policy_with_script.md @@ -0,0 +1,165 @@ +This tutorial will explain the training script, how to use it, and particularly the use of Hydra to configure everything needed for the training run. + +## The training script + +LeRobot offers a training script at [`lerobot/scripts/train.py`](../../lerobot/scripts/train.py). At a high level it does the following: + +- Loads a Hydra configuration file for the following steps (more on Hydra in a moment). +- Makes a simulation environment. +- Makes a dataset corresponding to that simulation environment. +- Makes a policy. +- Runs a standard training loop with forward pass, backward pass, optimization step, and occasional logging, evaluation (of the policy on the environment), and checkpointing. + +## Our use of Hydra + +Explaining the ins and outs of [Hydra](https://hydra.cc/docs/intro/) is beyond the scope of this document, but here we'll share the main points you need to know. + +First, `lerobot/configs` has a directory structure like this: + +``` +. +├── default.yaml +├── env +│ ├── aloha.yaml +│ ├── pusht.yaml +│ └── xarm.yaml +└── policy + ├── act.yaml + ├── diffusion.yaml + └── tdmpc.yaml +``` + +**_For brevity, in the rest of this document we'll drop the leading `lerobot/configs` path. So `default.yaml` really refers to `lerobot/configs/default.yaml`._** + +When you run the training script with + +```python +python lerobot/scripts/train.py +``` + +Hydra is set up to read `default.yaml` (via the `@hydra.main` decorator). If you take a look at the `@hydra.main`'s arguments you will see `config_path="../configs", config_name="default"`. At the top of `default.yaml`, is a `defaults` section which looks likes this: + +```yaml +defaults: + - _self_ + - env: pusht + - policy: diffusion +``` + +This logic tells Hydra to incorporate configuration parameters from `env/pusht.yaml` and `policy/diffusion.yaml`. _Note: Be aware of the order as any configuration parameters with the same name will be overidden. Thus, `default.yaml` is overriden by `env/pusht.yaml` which is overidden by `policy/diffusion.yaml`_. + +Then, `default.yaml` also contains common configuration parameters such as `device: cuda` or `use_amp: false` (for enabling fp16 training). Some other parameters are set to `???` which indicates that they are expected to be set in additional yaml files. For instance, `training.offline_steps: ???` in `default.yaml` is set to `200000` in `diffusion.yaml`. + +Thanks to this `defaults` section in `default.yaml`, if you want to train Diffusion Policy with PushT, you really only need to run: + +```bash +python lerobot/scripts/train.py +``` + +However, you can be more explicit and launch the exact same Diffusion Policy training on PushT with: + +```bash +python lerobot/scripts/train.py policy=diffusion env=pusht +``` + +This way of overriding defaults via the CLI is especially useful when you want to change the policy and/or environment. For instance, you can train ACT on the default Aloha environment with: + +```bash +python lerobot/scripts/train.py policy=act env=aloha +``` + +There are two things to note here: +- Config overrides are passed as `param_name=param_value`. +- Here we have overridden the defaults section. `policy=act` tells Hydra to use `policy/act.yaml`, and `env=aloha` tells Hydra to use `env/pusht.yaml`. + +_As an aside: we've set up all of our configurations so that they reproduce state-of-the-art results from papers in the literature._ + +## Overriding configuration parameters in the CLI + +Now let's say that we want to train on a different task in the Aloha environment. If you look in `env/aloha.yaml` you will see something like: + +```yaml +# lerobot/configs/env/aloha.yaml +env: + task: AlohaInsertion-v0 +``` + +And if you look in `policy/act.yaml` you will see something like: + +```yaml +# lerobot/configs/policy/act.yaml +dataset_repo_id: lerobot/aloha_sim_insertion_human +``` + +But our Aloha environment actually supports a cube transfer task as well. To train for this task, you could manually modify the two yaml configuration files respectively. + +First, we'd need to switch to using the cube transfer task for the ALOHA environment. + +```diff +# lerobot/configs/env/aloha.yaml +env: +- task: AlohaInsertion-v0 ++ task: AlohaTransferCube-v0 +``` + +Then, we'd also need to switch to using the cube transfer dataset. + +```diff +# lerobot/configs/policy/act.yaml +-dataset_repo_id: lerobot/aloha_sim_insertion_human ++dataset_repo_id: lerobot/aloha_sim_transfer_cube_human +``` + +Then, you'd be able to run: + +```bash +python lerobot/scripts/train.py policy=act env=aloha +``` + +and you'd be training and evaluating on the cube transfer task. + +An alternative approach to editing the yaml configuration files, would be to override the defaults via the command line: + +```bash +python lerobot/scripts/train.py \ + policy=act \ + dataset_repo_id=lerobot/aloha_sim_transfer_cube_human \ + env=aloha \ + env.task=AlohaTransferCube-v0 +``` + +There's something new here. Notice the `.` delimiter used to traverse the configuration hierarchy. _But be aware that the `defaults` section is an exception. As you saw above, we didn't need to write `defaults.policy=act` in the CLI. `policy=act` was enough._ + +Putting all that knowledge together, here's the command that was used to train https://huggingface.co/lerobot/act_aloha_sim_transfer_cube_human. + +```bash +python lerobot/scripts/train.py \ + hydra.run.dir=outputs/train/act_aloha_sim_transfer_cube_human \ + device=cuda + env=aloha \ + env.task=AlohaTransferCube-v0 \ + dataset_repo_id=lerobot/aloha_sim_transfer_cube_human \ + policy=act \ + training.eval_freq=10000 \ + training.log_freq=250 \ + training.offline_steps=100000 \ + training.save_model=true \ + training.save_freq=25000 \ + eval.n_episodes=50 \ + eval.batch_size=50 \ + wandb.enable=false \ +``` + +There's one new thing here: `hydra.run.dir=outputs/train/act_aloha_sim_transfer_cube_human`, which specifies where to save the training output. + +--- + +So far we've seen how to train Diffusion Policy for PushT and ACT for ALOHA. Now, what if we want to train ACT for PushT? Well, there are aspects of the ACT configuration that are specific to the ALOHA environments, and these happen to be incompatible with PushT. Therefore, trying to run the following will almost certainly raise an exception of sorts (eg: feature dimension mismatch): + +```bash +python lerobot/scripts/train.py policy=act env=pusht dataset_repo_id=lerobot/pusht +``` + +Please, head on over to our [advanced tutorial on adapting policy configuration to various environments](./advanced/train_act_pusht/train_act_pusht.md) to learn more. + +Or in the meantime, happy coding! 🤗 diff --git a/examples/advanced/1_train_act_pusht/act_pusht.yaml b/examples/advanced/1_train_act_pusht/act_pusht.yaml new file mode 100644 index 00000000..38e542fb --- /dev/null +++ b/examples/advanced/1_train_act_pusht/act_pusht.yaml @@ -0,0 +1,87 @@ +# @package _global_ + +# Change the seed to match what PushT eval uses +# (to avoid evaluating on seeds used for generating the training data). +seed: 100000 +# Change the dataset repository to the PushT one. +dataset_repo_id: lerobot/pusht + +override_dataset_stats: + observation.image: + # stats from imagenet, since we use a pretrained vision model + mean: [[[0.485]], [[0.456]], [[0.406]]] # (c,1,1) + std: [[[0.229]], [[0.224]], [[0.225]]] # (c,1,1) + +training: + offline_steps: 80000 + online_steps: 0 + eval_freq: 10000 + save_freq: 100000 + log_freq: 250 + save_model: true + + batch_size: 8 + lr: 1e-5 + lr_backbone: 1e-5 + weight_decay: 1e-4 + grad_clip_norm: 10 + online_steps_between_rollouts: 1 + + delta_timestamps: + action: "[i / ${fps} for i in range(${policy.chunk_size})]" + +eval: + n_episodes: 50 + batch_size: 50 + +# See `configuration_act.py` for more details. +policy: + name: act + + # Input / output structure. + n_obs_steps: 1 + chunk_size: 100 # chunk_size + n_action_steps: 100 + + input_shapes: + observation.image: [3, 96, 96] + observation.state: ["${env.state_dim}"] + output_shapes: + action: ["${env.action_dim}"] + + # Normalization / Unnormalization + input_normalization_modes: + observation.image: mean_std + # Use min_max normalization just because it's more standard. + observation.state: min_max + output_normalization_modes: + # Use min_max normalization just because it's more standard. + action: min_max + + # Architecture. + # Vision backbone. + vision_backbone: resnet18 + pretrained_backbone_weights: ResNet18_Weights.IMAGENET1K_V1 + replace_final_stride_with_dilation: false + # Transformer layers. + pre_norm: false + dim_model: 512 + n_heads: 8 + dim_feedforward: 3200 + feedforward_activation: relu + n_encoder_layers: 4 + # Note: Although the original ACT implementation has 7 for `n_decoder_layers`, there is a bug in the code + # that means only the first layer is used. Here we match the original implementation by setting this to 1. + # See this issue https://github.com/tonyzhaozh/act/issues/25#issue-2258740521. + n_decoder_layers: 1 + # VAE. + use_vae: true + latent_dim: 32 + n_vae_encoder_layers: 4 + + # Inference. + temporal_ensemble_momentum: null + + # Training and loss computation. + dropout: 0.1 + kl_weight: 10.0 diff --git a/examples/advanced/1_train_act_pusht/train_act_pusht.md b/examples/advanced/1_train_act_pusht/train_act_pusht.md new file mode 100644 index 00000000..0258c991 --- /dev/null +++ b/examples/advanced/1_train_act_pusht/train_act_pusht.md @@ -0,0 +1,70 @@ +In this tutorial we will learn how to adapt a policy configuration to be compatible with a new environment and dataset. As a concrete example, we will adapt the default configuration for ACT to be compatible with the PushT environment and dataset. + +If you haven't already read our tutorial on the [training script and configuration tooling](../4_train_policy_with_script.md) please do so prior to tackling this tutorial. + +Let's get started! + +Suppose we want to train ACT for PushT. Well, there are aspects of the ACT configuration that are specific to the ALOHA environments, and these happen to be incompatible with PushT. Therefore, trying to run the following will almost certainly raise an exception of sorts (eg: feature dimension mismatch): + +```bash +python lerobot/scripts/train.py policy=act env=pusht dataset_repo_id=lerobot/pusht +``` + +We need to adapt the parameters of the ACT policy configuration to the PushT environment. The most important ones are the image keys. + +ALOHA's datasets and environments typically use a variable number of cameras. In `lerobot/configs/policy/act.yaml` you may notice two relevant sections. Here we show you the minimal diff needed to adjust to PushT: + +```diff +override_dataset_stats: +- observation.images.top: ++ observation.image: + # stats from imagenet, since we use a pretrained vision model + mean: [[[0.485]], [[0.456]], [[0.406]]] # (c,1,1) + std: [[[0.229]], [[0.224]], [[0.225]]] # (c,1,1) + +policy: + input_shapes: +- observation.images.top: [3, 480, 640] ++ observation.image: [3, 96, 96] + observation.state: ["${env.state_dim}"] + output_shapes: + action: ["${env.action_dim}"] + + input_normalization_modes: +- observation.images.top: mean_std ++ observation.image: mean_std + observation.state: min_max + output_normalization_modes: + action: min_max +``` + +Here we've accounted for the following: +- PushT uses "observation.image" for its image key. +- PushT provides smaller images. + +_Side note: technically we could override these via the CLI, but with many changes it gets a bit messy, and we also have a bit of a challenge in that we're using `.` in our observation keys which is treated by Hydra as a hierarchical separator_. + +For your convenience, we provide [`act_pusht.yaml`](./act_pusht.yaml) in this directory. It contains the diff above, plus some other (optional) ones that are explained within. Please copy it into `lerobot/configs/policy` with: + +```bash +cp examples/advanced/1_train_act_pusht/act_pusht.yaml lerobot/configs/policy/act_pusht.yaml +``` + +(remember from a [previous tutorial](../4_train_policy_with_script.md) that Hydra will look in the `lerobot/configs` directory). Now try running the following. + + +```bash +python lerobot/scripts/train.py policy=act_pusht env=pusht +``` + +Notice that this is much the same as the command that failed at the start of the tutorial, only: +- Now we are using `policy=act_pusht` to point to our new configuration file. +- We can drop `dataset_repo_id=lerobot/pusht` as the change is incorporated in our new configuration file. + +Hurrah! You're now training ACT for the PushT environment. + +--- + +The bottom line of this tutorial is that when training policies for different environments and datasets you will need to understand what parts of the policy configuration are specific to those and make changes accordingly. + +Happy coding! 🤗 diff --git a/examples/advanced/2_calculate_validation_loss.py b/examples/advanced/2_calculate_validation_loss.py new file mode 100644 index 00000000..1428014b --- /dev/null +++ b/examples/advanced/2_calculate_validation_loss.py @@ -0,0 +1,90 @@ +"""This script demonstrates how to slice a dataset and calculate the loss on a subset of the data. + +This technique can be useful for debugging and testing purposes, as well as identifying whether a policy +is learning effectively. + +Furthermore, relying on validation loss to evaluate performance is generally not considered a good practice, +especially in the context of imitation learning. The most reliable approach is to evaluate the policy directly +on the target environment, whether that be in simulation or the real world. +""" + +import math +from pathlib import Path + +import torch +from huggingface_hub import snapshot_download + +from lerobot.common.datasets.lerobot_dataset import LeRobotDataset +from lerobot.common.policies.diffusion.modeling_diffusion import DiffusionPolicy + +device = torch.device("cuda") + +# Download the diffusion policy for pusht environment +pretrained_policy_path = Path(snapshot_download("lerobot/diffusion_pusht")) +# OR uncomment the following to evaluate a policy from the local outputs/train folder. +# pretrained_policy_path = Path("outputs/train/example_pusht_diffusion") + +policy = DiffusionPolicy.from_pretrained(pretrained_policy_path) +policy.eval() +policy.to(device) + +# Set up the dataset. +delta_timestamps = { + # Load the previous image and state at -0.1 seconds before current frame, + # then load current image and state corresponding to 0.0 second. + "observation.image": [-0.1, 0.0], + "observation.state": [-0.1, 0.0], + # Load the previous action (-0.1), the next action to be executed (0.0), + # and 14 future actions with a 0.1 seconds spacing. All these actions will be + # used to calculate the loss. + "action": [-0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4], +} + +# Load the last 10% of episodes of the dataset as a validation set. +# - Load full dataset +full_dataset = LeRobotDataset("lerobot/pusht", split="train") +# - Calculate train and val subsets +num_train_episodes = math.floor(full_dataset.num_episodes * 90 / 100) +num_val_episodes = full_dataset.num_episodes - num_train_episodes +print(f"Number of episodes in full dataset: {full_dataset.num_episodes}") +print(f"Number of episodes in training dataset (90% subset): {num_train_episodes}") +print(f"Number of episodes in validation dataset (10% subset): {num_val_episodes}") +# - Get first frame index of the validation set +first_val_frame_index = full_dataset.episode_data_index["from"][num_train_episodes].item() +# - Load frames subset belonging to validation set using the `split` argument. +# It utilizes the `datasets` library's syntax for slicing datasets. +# For more information on the Slice API, please see: +# https://huggingface.co/docs/datasets/v2.19.0/loading#slice-splits +train_dataset = LeRobotDataset( + "lerobot/pusht", split=f"train[:{first_val_frame_index}]", delta_timestamps=delta_timestamps +) +val_dataset = LeRobotDataset( + "lerobot/pusht", split=f"train[{first_val_frame_index}:]", delta_timestamps=delta_timestamps +) +print(f"Number of frames in training dataset (90% subset): {len(train_dataset)}") +print(f"Number of frames in validation dataset (10% subset): {len(val_dataset)}") + +# Create dataloader for evaluation. +val_dataloader = torch.utils.data.DataLoader( + val_dataset, + num_workers=4, + batch_size=64, + shuffle=False, + pin_memory=device != torch.device("cpu"), + drop_last=False, +) + +# Run validation loop. +loss_cumsum = 0 +n_examples_evaluated = 0 +for batch in val_dataloader: + batch = {k: v.to(device, non_blocking=True) for k, v in batch.items()} + output_dict = policy.forward(batch) + + loss_cumsum += output_dict["loss"].item() + n_examples_evaluated += batch["index"].shape[0] + +# Calculate the average loss over the validation set. +average_loss = loss_cumsum / n_examples_evaluated + +print(f"Average loss on validation set: {average_loss:.4f}") diff --git a/lerobot/__init__.py b/lerobot/__init__.py index 072f4bc7..e0234f29 100644 --- a/lerobot/__init__.py +++ b/lerobot/__init__.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """ This file contains lists of available environments, dataset and policies to reflect the current state of LeRobot library. We do not want to import all the dependencies, but instead we keep it lightweight to ensure fast access to these variables. @@ -46,13 +61,21 @@ available_datasets_per_env = { "lerobot/aloha_sim_insertion_scripted", "lerobot/aloha_sim_transfer_cube_human", "lerobot/aloha_sim_transfer_cube_scripted", + "lerobot/aloha_sim_insertion_human_image", + "lerobot/aloha_sim_insertion_scripted_image", + "lerobot/aloha_sim_transfer_cube_human_image", + "lerobot/aloha_sim_transfer_cube_scripted_image", ], - "pusht": ["lerobot/pusht"], + "pusht": ["lerobot/pusht", "lerobot/pusht_image"], "xarm": [ "lerobot/xarm_lift_medium", "lerobot/xarm_lift_medium_replay", "lerobot/xarm_push_medium", "lerobot/xarm_push_medium_replay", + "lerobot/xarm_lift_medium_image", + "lerobot/xarm_lift_medium_replay_image", + "lerobot/xarm_push_medium_image", + "lerobot/xarm_push_medium_replay_image", ], } diff --git a/lerobot/__version__.py b/lerobot/__version__.py index 6232b699..d12aafaa 100644 --- a/lerobot/__version__.py +++ b/lerobot/__version__.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """To enable `lerobot.__version__`""" from importlib.metadata import PackageNotFoundError, version diff --git a/lerobot/common/datasets/_video_benchmark/run_video_benchmark.py b/lerobot/common/datasets/_video_benchmark/run_video_benchmark.py index 85d48fcf..8be251dc 100644 --- a/lerobot/common/datasets/_video_benchmark/run_video_benchmark.py +++ b/lerobot/common/datasets/_video_benchmark/run_video_benchmark.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import json import random import shutil diff --git a/lerobot/common/datasets/factory.py b/lerobot/common/datasets/factory.py index 22dd1789..78967db6 100644 --- a/lerobot/common/datasets/factory.py +++ b/lerobot/common/datasets/factory.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import logging import torch diff --git a/lerobot/common/datasets/lerobot_dataset.py b/lerobot/common/datasets/lerobot_dataset.py index f7bc5bd2..057e4770 100644 --- a/lerobot/common/datasets/lerobot_dataset.py +++ b/lerobot/common/datasets/lerobot_dataset.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import os from pathlib import Path @@ -5,17 +20,19 @@ import datasets import torch from lerobot.common.datasets.utils import ( + calculate_episode_data_index, load_episode_data_index, load_hf_dataset, load_info, load_previous_and_future_frames, load_stats, load_videos, + reset_episode_index, ) from lerobot.common.datasets.video_utils import VideoFrame, load_from_videos DATA_DIR = Path(os.environ["DATA_DIR"]) if "DATA_DIR" in os.environ else None -CODEBASE_VERSION = "v1.3" +CODEBASE_VERSION = "v1.4" class LeRobotDataset(torch.utils.data.Dataset): @@ -39,7 +56,11 @@ class LeRobotDataset(torch.utils.data.Dataset): # TODO(rcadene, aliberts): implement faster transfer # https://huggingface.co/docs/huggingface_hub/en/guides/download#faster-downloads self.hf_dataset = load_hf_dataset(repo_id, version, root, split) - self.episode_data_index = load_episode_data_index(repo_id, version, root) + if split == "train": + self.episode_data_index = load_episode_data_index(repo_id, version, root) + else: + self.episode_data_index = calculate_episode_data_index(self.hf_dataset) + self.hf_dataset = reset_episode_index(self.hf_dataset) self.stats = load_stats(repo_id, version, root) self.info = load_info(repo_id, version, root) if self.video: diff --git a/lerobot/common/datasets/push_dataset_to_hub/_diffusion_policy_replay_buffer.py b/lerobot/common/datasets/push_dataset_to_hub/_diffusion_policy_replay_buffer.py index 2f532650..33b4c974 100644 --- a/lerobot/common/datasets/push_dataset_to_hub/_diffusion_policy_replay_buffer.py +++ b/lerobot/common/datasets/push_dataset_to_hub/_diffusion_policy_replay_buffer.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """Helper code for loading PushT dataset from Diffusion Policy (https://diffusion-policy.cs.columbia.edu/) Copied from the original Diffusion Policy repository and used in our `download_and_upload_dataset.py` script. diff --git a/lerobot/common/datasets/push_dataset_to_hub/_download_raw.py b/lerobot/common/datasets/push_dataset_to_hub/_download_raw.py index d26f3d23..7074bcba 100644 --- a/lerobot/common/datasets/push_dataset_to_hub/_download_raw.py +++ b/lerobot/common/datasets/push_dataset_to_hub/_download_raw.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """ This file contains all obsolete download scripts. They are centralized here to not have to load useless dependencies when using datasets. @@ -9,17 +24,16 @@ import shutil from pathlib import Path import tqdm - -ALOHA_RAW_URLS_DIR = "lerobot/common/datasets/push_dataset_to_hub/_aloha_raw_urls" +from huggingface_hub import snapshot_download def download_raw(raw_dir, dataset_id): - if "pusht" in dataset_id: + if "aloha" in dataset_id or "image" in dataset_id: + download_hub(raw_dir, dataset_id) + elif "pusht" in dataset_id: download_pusht(raw_dir) elif "xarm" in dataset_id: download_xarm(raw_dir) - elif "aloha" in dataset_id: - download_aloha(raw_dir, dataset_id) elif "umi" in dataset_id: download_umi(raw_dir) else: @@ -88,37 +102,13 @@ def download_xarm(raw_dir: Path): zip_path.unlink() -def download_aloha(raw_dir: Path, dataset_id: str): - import gdown - - subset_id = dataset_id.replace("aloha_", "") - urls_path = Path(ALOHA_RAW_URLS_DIR) / f"{subset_id}.txt" - assert urls_path.exists(), f"{subset_id}.txt not found in '{ALOHA_RAW_URLS_DIR}' directory." - - with open(urls_path) as f: - # strip lines and ignore empty lines - urls = [url.strip() for url in f if url.strip()] - - # sanity check - for url in urls: - assert ( - "drive.google.com/drive/folders" in url or "drive.google.com/file" in url - ), f"Wrong url provided '{url}' in file '{urls_path}'." - +def download_hub(raw_dir: Path, dataset_id: str): raw_dir = Path(raw_dir) raw_dir.mkdir(parents=True, exist_ok=True) - logging.info(f"Start downloading from google drive for {dataset_id}") - for url in urls: - if "drive.google.com/drive/folders" in url: - # when a folder url is given, download up to 50 files from the folder - gdown.download_folder(url, output=str(raw_dir), remaining_ok=True) - - elif "drive.google.com/file" in url: - # because of the 50 files limit per folder, we download the remaining files (file by file) - gdown.download(url, output=str(raw_dir), fuzzy=True) - - logging.info(f"End downloading from google drive for {dataset_id}") + logging.info(f"Start downloading from huggingface.co/cadene for {dataset_id}") + snapshot_download(f"cadene/{dataset_id}_raw", repo_type="dataset", local_dir=raw_dir) + logging.info(f"Finish downloading from huggingface.co/cadene for {dataset_id}") def download_umi(raw_dir: Path): @@ -133,21 +123,30 @@ def download_umi(raw_dir: Path): if __name__ == "__main__": data_dir = Path("data") dataset_ids = [ + "pusht_image", + "xarm_lift_medium_image", + "xarm_lift_medium_replay_image", + "xarm_push_medium_image", + "xarm_push_medium_replay_image", + "aloha_sim_insertion_human_image", + "aloha_sim_insertion_scripted_image", + "aloha_sim_transfer_cube_human_image", + "aloha_sim_transfer_cube_scripted_image", "pusht", "xarm_lift_medium", "xarm_lift_medium_replay", "xarm_push_medium", "xarm_push_medium_replay", + "aloha_sim_insertion_human", + "aloha_sim_insertion_scripted", + "aloha_sim_transfer_cube_human", + "aloha_sim_transfer_cube_scripted", "aloha_mobile_cabinet", "aloha_mobile_chair", "aloha_mobile_elevator", "aloha_mobile_shrimp", "aloha_mobile_wash_pan", "aloha_mobile_wipe_wine", - "aloha_sim_insertion_human", - "aloha_sim_insertion_scripted", - "aloha_sim_transfer_cube_human", - "aloha_sim_transfer_cube_scripted", "aloha_static_battery", "aloha_static_candy", "aloha_static_coffee", diff --git a/lerobot/common/datasets/push_dataset_to_hub/_umi_imagecodecs_numcodecs.py b/lerobot/common/datasets/push_dataset_to_hub/_umi_imagecodecs_numcodecs.py index 1561fb88..a118b7e7 100644 --- a/lerobot/common/datasets/push_dataset_to_hub/_umi_imagecodecs_numcodecs.py +++ b/lerobot/common/datasets/push_dataset_to_hub/_umi_imagecodecs_numcodecs.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. # imagecodecs/numcodecs.py # Copyright (c) 2021-2022, Christoph Gohlke diff --git a/lerobot/common/datasets/push_dataset_to_hub/aloha_hdf5_format.py b/lerobot/common/datasets/push_dataset_to_hub/aloha_hdf5_format.py index f51a59cd..1c2f066e 100644 --- a/lerobot/common/datasets/push_dataset_to_hub/aloha_hdf5_format.py +++ b/lerobot/common/datasets/push_dataset_to_hub/aloha_hdf5_format.py @@ -1,8 +1,23 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """ Contains utilities to process raw data format of HDF5 files like in: https://github.com/tonyzhaozh/act """ -import re +import gc import shutil from pathlib import Path @@ -64,10 +79,8 @@ def load_from_raw(raw_dir, out_dir, fps, video, debug): episode_data_index = {"from": [], "to": []} id_from = 0 - - for ep_path in tqdm.tqdm(hdf5_files, total=len(hdf5_files)): + for ep_idx, ep_path in tqdm.tqdm(enumerate(hdf5_files), total=len(hdf5_files)): with h5py.File(ep_path, "r") as ep: - ep_idx = int(re.search(r"episode_(\d+)", ep_path.name).group(1)) num_frames = ep["/action"].shape[0] # last step of demonstration is considered done @@ -76,6 +89,10 @@ def load_from_raw(raw_dir, out_dir, fps, video, debug): state = torch.from_numpy(ep["/observations/qpos"][:]) action = torch.from_numpy(ep["/action"][:]) + if "/observations/qvel" in ep: + velocity = torch.from_numpy(ep["/observations/qvel"][:]) + if "/observations/effort" in ep: + effort = torch.from_numpy(ep["/observations/effort"][:]) ep_dict = {} @@ -116,6 +133,10 @@ def load_from_raw(raw_dir, out_dir, fps, video, debug): ep_dict[img_key] = [PILImage.fromarray(x) for x in imgs_array] ep_dict["observation.state"] = state + if "/observations/velocity" in ep: + ep_dict["observation.velocity"] = velocity + if "/observations/effort" in ep: + ep_dict["observation.effort"] = effort ep_dict["action"] = action ep_dict["episode_index"] = torch.tensor([ep_idx] * num_frames) ep_dict["frame_index"] = torch.arange(0, num_frames, 1) @@ -131,6 +152,8 @@ def load_from_raw(raw_dir, out_dir, fps, video, debug): id_from += num_frames + gc.collect() + # process first episode only if debug: break @@ -152,6 +175,14 @@ def to_hf_dataset(data_dict, video) -> Dataset: features["observation.state"] = Sequence( length=data_dict["observation.state"].shape[1], feature=Value(dtype="float32", id=None) ) + if "observation.velocity" in data_dict: + features["observation.velocity"] = Sequence( + length=data_dict["observation.velocity"].shape[1], feature=Value(dtype="float32", id=None) + ) + if "observation.effort" in data_dict: + features["observation.effort"] = Sequence( + length=data_dict["observation.effort"].shape[1], feature=Value(dtype="float32", id=None) + ) features["action"] = Sequence( length=data_dict["action"].shape[1], feature=Value(dtype="float32", id=None) ) diff --git a/lerobot/common/datasets/push_dataset_to_hub/compute_stats.py b/lerobot/common/datasets/push_dataset_to_hub/compute_stats.py index a7a952fb..ec296658 100644 --- a/lerobot/common/datasets/push_dataset_to_hub/compute_stats.py +++ b/lerobot/common/datasets/push_dataset_to_hub/compute_stats.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. from copy import deepcopy from math import ceil diff --git a/lerobot/common/datasets/push_dataset_to_hub/pusht_zarr_format.py b/lerobot/common/datasets/push_dataset_to_hub/pusht_zarr_format.py index 0c3a8d19..8133a36a 100644 --- a/lerobot/common/datasets/push_dataset_to_hub/pusht_zarr_format.py +++ b/lerobot/common/datasets/push_dataset_to_hub/pusht_zarr_format.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """Process zarr files formatted like in: https://github.com/real-stanford/diffusion_policy""" import shutil diff --git a/lerobot/common/datasets/push_dataset_to_hub/umi_zarr_format.py b/lerobot/common/datasets/push_dataset_to_hub/umi_zarr_format.py index 00828750..cab2bdc5 100644 --- a/lerobot/common/datasets/push_dataset_to_hub/umi_zarr_format.py +++ b/lerobot/common/datasets/push_dataset_to_hub/umi_zarr_format.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """Process UMI (Universal Manipulation Interface) data stored in Zarr format like in: https://github.com/real-stanford/universal_manipulation_interface""" import logging diff --git a/lerobot/common/datasets/push_dataset_to_hub/utils.py b/lerobot/common/datasets/push_dataset_to_hub/utils.py index 1b12c0b7..4feb1dcf 100644 --- a/lerobot/common/datasets/push_dataset_to_hub/utils.py +++ b/lerobot/common/datasets/push_dataset_to_hub/utils.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. from concurrent.futures import ThreadPoolExecutor from pathlib import Path diff --git a/lerobot/common/datasets/push_dataset_to_hub/xarm_pkl_format.py b/lerobot/common/datasets/push_dataset_to_hub/xarm_pkl_format.py index 686edf4c..899ebdde 100644 --- a/lerobot/common/datasets/push_dataset_to_hub/xarm_pkl_format.py +++ b/lerobot/common/datasets/push_dataset_to_hub/xarm_pkl_format.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """Process pickle files formatted like in: https://github.com/fyhMer/fowm""" import pickle diff --git a/lerobot/common/datasets/utils.py b/lerobot/common/datasets/utils.py index 96b8fbbc..86fef8d4 100644 --- a/lerobot/common/datasets/utils.py +++ b/lerobot/common/datasets/utils.py @@ -1,5 +1,22 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import json +import re from pathlib import Path +from typing import Dict import datasets import torch @@ -64,7 +81,23 @@ def hf_transform_to_torch(items_dict): def load_hf_dataset(repo_id, version, root, split) -> datasets.Dataset: """hf_dataset contains all the observations, states, actions, rewards, etc.""" if root is not None: - hf_dataset = load_from_disk(str(Path(root) / repo_id / split)) + hf_dataset = load_from_disk(str(Path(root) / repo_id / "train")) + # TODO(rcadene): clean this which enables getting a subset of dataset + if split != "train": + if "%" in split: + raise NotImplementedError(f"We dont support splitting based on percentage for now ({split}).") + match_from = re.search(r"train\[(\d+):\]", split) + match_to = re.search(r"train\[:(\d+)\]", split) + if match_from: + from_frame_index = int(match_from.group(1)) + hf_dataset = hf_dataset.select(range(from_frame_index, len(hf_dataset))) + elif match_to: + to_frame_index = int(match_to.group(1)) + hf_dataset = hf_dataset.select(range(to_frame_index)) + else: + raise ValueError( + f'`split` ({split}) should either be "train", "train[INT:]", or "train[:INT]"' + ) else: hf_dataset = load_dataset(repo_id, revision=version, split=split) hf_dataset.set_transform(hf_transform_to_torch) @@ -230,6 +263,84 @@ def load_previous_and_future_frames( return item +def calculate_episode_data_index(hf_dataset: datasets.Dataset) -> Dict[str, torch.Tensor]: + """ + Calculate episode data index for the provided HuggingFace Dataset. Relies on episode_index column of hf_dataset. + + Parameters: + - hf_dataset (datasets.Dataset): A HuggingFace dataset containing the episode index. + + Returns: + - episode_data_index: A dictionary containing the data index for each episode. The dictionary has two keys: + - "from": A tensor containing the starting index of each episode. + - "to": A tensor containing the ending index of each episode. + """ + episode_data_index = {"from": [], "to": []} + + current_episode = None + """ + The episode_index is a list of integers, each representing the episode index of the corresponding example. + For instance, the following is a valid episode_index: + [0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2] + + Below, we iterate through the episode_index and populate the episode_data_index dictionary with the starting and + ending index of each episode. For the episode_index above, the episode_data_index dictionary will look like this: + { + "from": [0, 3, 7], + "to": [3, 7, 12] + } + """ + if len(hf_dataset) == 0: + episode_data_index = { + "from": torch.tensor([]), + "to": torch.tensor([]), + } + return episode_data_index + for idx, episode_idx in enumerate(hf_dataset["episode_index"]): + if episode_idx != current_episode: + # We encountered a new episode, so we append its starting location to the "from" list + episode_data_index["from"].append(idx) + # If this is not the first episode, we append the ending location of the previous episode to the "to" list + if current_episode is not None: + episode_data_index["to"].append(idx) + # Let's keep track of the current episode index + current_episode = episode_idx + else: + # We are still in the same episode, so there is nothing for us to do here + pass + # We have reached the end of the dataset, so we append the ending location of the last episode to the "to" list + episode_data_index["to"].append(idx + 1) + + for k in ["from", "to"]: + episode_data_index[k] = torch.tensor(episode_data_index[k]) + + return episode_data_index + + +def reset_episode_index(hf_dataset: datasets.Dataset) -> datasets.Dataset: + """ + Reset the `episode_index` of the provided HuggingFace Dataset. + + `episode_data_index` (and related functionality such as `load_previous_and_future_frames`) requires the + `episode_index` to be sorted, continuous (1,1,1 and not 1,2,1) and start at 0. + + This brings the `episode_index` to the required format. + """ + if len(hf_dataset) == 0: + return hf_dataset + unique_episode_idxs = torch.stack(hf_dataset["episode_index"]).unique().tolist() + episode_idx_to_reset_idx_mapping = { + ep_id: reset_ep_id for reset_ep_id, ep_id in enumerate(unique_episode_idxs) + } + + def modify_ep_idx_func(example): + example["episode_index"] = episode_idx_to_reset_idx_mapping[example["episode_index"].item()] + return example + + hf_dataset = hf_dataset.map(modify_ep_idx_func) + return hf_dataset + + def cycle(iterable): """The equivalent of itertools.cycle, but safe for Pytorch dataloaders. diff --git a/lerobot/common/datasets/video_utils.py b/lerobot/common/datasets/video_utils.py index 0252be2e..edfca918 100644 --- a/lerobot/common/datasets/video_utils.py +++ b/lerobot/common/datasets/video_utils.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import logging import subprocess import warnings diff --git a/lerobot/common/envs/factory.py b/lerobot/common/envs/factory.py index c5fd4671..83f94cfe 100644 --- a/lerobot/common/envs/factory.py +++ b/lerobot/common/envs/factory.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import importlib import gymnasium as gym diff --git a/lerobot/common/envs/utils.py b/lerobot/common/envs/utils.py index 5370d385..8fce0369 100644 --- a/lerobot/common/envs/utils.py +++ b/lerobot/common/envs/utils.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import einops import numpy as np import torch diff --git a/lerobot/common/logger.py b/lerobot/common/logger.py index 832eaa7e..109f6951 100644 --- a/lerobot/common/logger.py +++ b/lerobot/common/logger.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. # TODO(rcadene, alexander-soare): clean this file """Borrowed from https://github.com/fyhMer/fowm/blob/main/src/logger.py""" @@ -17,9 +32,10 @@ def log_output_dir(out_dir): def cfg_to_group(cfg, return_list=False): - """Return a wandb-safe group name for logging. Optionally returns group name as list.""" - # lst = [cfg.task, cfg.modality, re.sub("[^0-9a-zA-Z]+", "-", cfg.exp_name)] + """Return a group name for logging. Optionally returns group name as list.""" lst = [ + f"policy:{cfg.policy.name}", + f"dataset:{cfg.dataset_repo_id}", f"env:{cfg.env.name}", f"seed:{cfg.seed}", ] @@ -81,9 +97,9 @@ class Logger: # Also save the full Hydra config for the env configuration. OmegaConf.save(self._cfg, save_dir / "config.yaml") if self._wandb and not self._disable_wandb_artifact: - # note wandb artifact does not accept ":" in its name + # note wandb artifact does not accept ":" or "/" in its name artifact = self._wandb.Artifact( - self._group.replace(":", "_") + "-" + str(self._seed) + "-" + str(identifier), + f"{self._group.replace(':', '_').replace('/', '_')}-{self._seed}-{identifier}", type="model", ) artifact.add_file(save_dir / SAFETENSORS_SINGLE_FILE) @@ -93,9 +109,10 @@ class Logger: self._buffer_dir.mkdir(parents=True, exist_ok=True) fp = self._buffer_dir / f"{str(identifier)}.pkl" buffer.save(fp) - if self._wandb: + if self._wandb and not self._disable_wandb_artifact: + # note wandb artifact does not accept ":" or "/" in its name artifact = self._wandb.Artifact( - self._group + "-" + str(self._seed) + "-" + str(identifier), + f"{self._group.replace(':', '_').replace('/', '_')}-{self._seed}-{identifier}", type="buffer", ) artifact.add_file(fp) @@ -113,6 +130,11 @@ class Logger: assert mode in {"train", "eval"} if self._wandb is not None: for k, v in d.items(): + if not isinstance(v, (int, float, str)): + logging.warning( + f'WandB logging of key "{k}" was ignored as its type is not handled by this wrapper.' + ) + continue self._wandb.log({f"{mode}/{k}": v}, step=step) def log_video(self, video_path: str, step: int, mode: str = "train"): diff --git a/lerobot/common/policies/act/configuration_act.py b/lerobot/common/policies/act/configuration_act.py index a3980b14..95374f4d 100644 --- a/lerobot/common/policies/act/configuration_act.py +++ b/lerobot/common/policies/act/configuration_act.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 Tony Z. Zhao and The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. from dataclasses import dataclass, field @@ -51,8 +66,12 @@ class ACTConfig: documentation in the policy class). latent_dim: The VAE's latent dimension. n_vae_encoder_layers: The number of transformer layers to use for the VAE's encoder. - use_temporal_aggregation: Whether to blend the actions of multiple policy invocations for any given - environment step. + temporal_ensemble_momentum: Exponential moving average (EMA) momentum parameter (α) for ensembling + actions for a given time step over multiple policy invocations. Updates are calculated as: + x⁻ₙ = αx⁻ₙ₋₁ + (1-α)xₙ. Note that the ACT paper and original ACT code describes a different + parameter here: they refer to a weighting scheme wᵢ = exp(-m⋅i) and set m = 0.01. With our + formulation, this is equivalent to α = exp(-0.01) ≈ 0.99. When this parameter is provided, we + require `n_action_steps == 1` (since we need to query the policy every step anyway). dropout: Dropout to use in the transformer layers (see code for details). kl_weight: The weight to use for the KL-divergence component of the loss if the variational objective is enabled. Loss is then calculated as: `reconstruction_loss + kl_weight * kld_loss`. @@ -100,6 +119,9 @@ class ACTConfig: dim_feedforward: int = 3200 feedforward_activation: str = "relu" n_encoder_layers: int = 4 + # Note: Although the original ACT implementation has 7 for `n_decoder_layers`, there is a bug in the code + # that means only the first layer is used. Here we match the original implementation by setting this to 1. + # See this issue https://github.com/tonyzhaozh/act/issues/25#issue-2258740521. n_decoder_layers: int = 1 # VAE. use_vae: bool = True @@ -107,7 +129,7 @@ class ACTConfig: n_vae_encoder_layers: int = 4 # Inference. - use_temporal_aggregation: bool = False + temporal_ensemble_momentum: float | None = None # Training and loss computation. dropout: float = 0.1 @@ -119,8 +141,11 @@ class ACTConfig: raise ValueError( f"`vision_backbone` must be one of the ResNet variants. Got {self.vision_backbone}." ) - if self.use_temporal_aggregation: - raise NotImplementedError("Temporal aggregation is not yet implemented.") + if self.temporal_ensemble_momentum is not None and self.n_action_steps > 1: + raise NotImplementedError( + "`n_action_steps` must be 1 when using temporal ensembling. This is " + "because the policy needs to be queried every step to compute the ensembled action." + ) if self.n_action_steps > self.chunk_size: raise ValueError( f"The chunk size is the upper bound for the number of action steps per model invocation. Got " @@ -130,10 +155,3 @@ class ACTConfig: raise ValueError( f"Multiple observation steps not handled yet. Got `nobs_steps={self.n_obs_steps}`" ) - # Check that there is only one image. - # TODO(alexander-soare): generalize this to multiple images. - if ( - sum(k.startswith("observation.images.") for k in self.input_shapes) != 1 - or "observation.images.top" not in self.input_shapes - ): - raise ValueError('For now, only "observation.images.top" is accepted for an image input.') diff --git a/lerobot/common/policies/act/modeling_act.py b/lerobot/common/policies/act/modeling_act.py index 5ff25fea..72ebdd7a 100644 --- a/lerobot/common/policies/act/modeling_act.py +++ b/lerobot/common/policies/act/modeling_act.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 Tony Z. Zhao and The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """Action Chunking Transformer Policy As per Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (https://arxiv.org/abs/2304.13705). @@ -46,7 +61,8 @@ class ACTPolicy(nn.Module, PyTorchModelHubMixin): super().__init__() if config is None: config = ACTConfig() - self.config = config + self.config: ACTConfig = config + self.normalize_inputs = Normalize( config.input_shapes, config.input_normalization_modes, dataset_stats ) @@ -56,11 +72,18 @@ class ACTPolicy(nn.Module, PyTorchModelHubMixin): self.unnormalize_outputs = Unnormalize( config.output_shapes, config.output_normalization_modes, dataset_stats ) + self.model = ACT(config) + self.expected_image_keys = [k for k in config.input_shapes if k.startswith("observation.image")] + + self.reset() + def reset(self): """This should be called whenever the environment is reset.""" - if self.config.n_action_steps is not None: + if self.config.temporal_ensemble_momentum is not None: + self._ensembled_actions = None + else: self._action_queue = deque([], maxlen=self.config.n_action_steps) @torch.no_grad @@ -71,37 +94,56 @@ class ACTPolicy(nn.Module, PyTorchModelHubMixin): environment. It works by managing the actions in a queue and only calling `select_actions` when the queue is empty. """ - assert "observation.images.top" in batch - assert "observation.state" in batch - self.eval() batch = self.normalize_inputs(batch) - self._stack_images(batch) + batch["observation.images"] = torch.stack([batch[k] for k in self.expected_image_keys], dim=-4) + # If we are doing temporal ensembling, keep track of the exponential moving average (EMA), and return + # the first action. + if self.config.temporal_ensemble_momentum is not None: + actions = self.model(batch)[0] # (batch_size, chunk_size, action_dim) + actions = self.unnormalize_outputs({"action": actions})["action"] + if self._ensembled_actions is None: + # Initializes `self._ensembled_action` to the sequence of actions predicted during the first + # time step of the episode. + self._ensembled_actions = actions.clone() + else: + # self._ensembled_actions will have shape (batch_size, chunk_size - 1, action_dim). Compute + # the EMA update for those entries. + alpha = self.config.temporal_ensemble_momentum + self._ensembled_actions = alpha * self._ensembled_actions + (1 - alpha) * actions[:, :-1] + # The last action, which has no prior moving average, needs to get concatenated onto the end. + self._ensembled_actions = torch.cat([self._ensembled_actions, actions[:, -1:]], dim=1) + # "Consume" the first action. + action, self._ensembled_actions = self._ensembled_actions[:, 0], self._ensembled_actions[:, 1:] + return action + + # Action queue logic for n_action_steps > 1. When the action_queue is depleted, populate it by + # querying the policy. if len(self._action_queue) == 0: - # `self.model.forward` returns a (batch_size, n_action_steps, action_dim) tensor, but the queue - # effectively has shape (n_action_steps, batch_size, *), hence the transpose. - actions = self.model(batch)[0][: self.config.n_action_steps] + actions = self.model(batch)[0][:, : self.config.n_action_steps] # TODO(rcadene): make _forward return output dictionary? actions = self.unnormalize_outputs({"action": actions})["action"] + # `self.model.forward` returns a (batch_size, n_action_steps, action_dim) tensor, but the queue + # effectively has shape (n_action_steps, batch_size, *), hence the transpose. self._action_queue.extend(actions.transpose(0, 1)) return self._action_queue.popleft() def forward(self, batch: dict[str, Tensor]) -> dict[str, Tensor]: """Run the batch through the model and compute the loss for training or validation.""" batch = self.normalize_inputs(batch) + batch["observation.images"] = torch.stack([batch[k] for k in self.expected_image_keys], dim=-4) batch = self.normalize_targets(batch) - self._stack_images(batch) actions_hat, (mu_hat, log_sigma_x2_hat) = self.model(batch) l1_loss = ( F.l1_loss(batch["action"], actions_hat, reduction="none") * ~batch["action_is_pad"].unsqueeze(-1) ).mean() - loss_dict = {"l1_loss": l1_loss} + loss_dict = {"l1_loss": l1_loss.item()} if self.config.use_vae: # Calculate Dₖₗ(latent_pdf || standard_normal). Note: After computing the KL-divergence for # each dimension independently, we sum over the latent dimension to get the total @@ -110,28 +152,13 @@ class ACTPolicy(nn.Module, PyTorchModelHubMixin): mean_kld = ( (-0.5 * (1 + log_sigma_x2_hat - mu_hat.pow(2) - (log_sigma_x2_hat).exp())).sum(-1).mean() ) - loss_dict["kld_loss"] = mean_kld + loss_dict["kld_loss"] = mean_kld.item() loss_dict["loss"] = l1_loss + mean_kld * self.config.kl_weight else: loss_dict["loss"] = l1_loss return loss_dict - def _stack_images(self, batch: dict[str, Tensor]) -> dict[str, Tensor]: - """Stacks all the images in a batch and puts them in a new key: "observation.images". - - This function expects `batch` to have (at least): - { - "observation.state": (B, state_dim) batch of robot states. - "observation.images.{name}": (B, C, H, W) tensor of images. - } - """ - # Stack images in the order dictated by input_shapes. - batch["observation.images"] = torch.stack( - [batch[k] for k in self.config.input_shapes if k.startswith("observation.images.")], - dim=-4, - ) - class ACT(nn.Module): """Action Chunking Transformer: The underlying neural network for ACTPolicy. @@ -161,10 +188,10 @@ class ACT(nn.Module): │ encoder │ │ │ │Transf.│ │ │ │ │ │ │encoder│ │ └───▲─────┘ │ │ │ │ │ - │ │ │ └───▲───┘ │ - │ │ │ │ │ - inputs └─────┼─────┘ │ - │ │ + │ │ │ └▲──▲─▲─┘ │ + │ │ │ │ │ │ │ + inputs └─────┼──┘ │ image emb. │ + │ state emb. │ └───────────────────────┘ """ @@ -306,18 +333,18 @@ class ACT(nn.Module): all_cam_features.append(cam_features) all_cam_pos_embeds.append(cam_pos_embed) # Concatenate camera observation feature maps and positional embeddings along the width dimension. - encoder_in = torch.cat(all_cam_features, axis=3) - cam_pos_embed = torch.cat(all_cam_pos_embeds, axis=3) + encoder_in = torch.cat(all_cam_features, axis=-1) + cam_pos_embed = torch.cat(all_cam_pos_embeds, axis=-1) # Get positional embeddings for robot state and latent. - robot_state_embed = self.encoder_robot_state_input_proj(batch["observation.state"]) - latent_embed = self.encoder_latent_input_proj(latent_sample) + robot_state_embed = self.encoder_robot_state_input_proj(batch["observation.state"]) # (B, C) + latent_embed = self.encoder_latent_input_proj(latent_sample) # (B, C) # Stack encoder input and positional embeddings moving to (S, B, C). encoder_in = torch.cat( [ torch.stack([latent_embed, robot_state_embed], axis=0), - encoder_in.flatten(2).permute(2, 0, 1), + einops.rearrange(encoder_in, "b c h w -> (h w) b c"), ] ) pos_embed = torch.cat( diff --git a/lerobot/common/policies/diffusion/configuration_diffusion.py b/lerobot/common/policies/diffusion/configuration_diffusion.py index d7341c33..632f6cd6 100644 --- a/lerobot/common/policies/diffusion/configuration_diffusion.py +++ b/lerobot/common/policies/diffusion/configuration_diffusion.py @@ -1,3 +1,19 @@ +#!/usr/bin/env python + +# Copyright 2024 Columbia Artificial Intelligence, Robotics Lab, +# and The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. from dataclasses import dataclass, field @@ -51,6 +67,7 @@ class DiffusionConfig: use_film_scale_modulation: FiLM (https://arxiv.org/abs/1709.07871) is used for the Unet conditioning. Bias modulation is used be default, while this parameter indicates whether to also use scale modulation. + noise_scheduler_type: Name of the noise scheduler to use. Supported options: ["DDPM", "DDIM"]. num_train_timesteps: Number of diffusion steps for the forward diffusion schedule. beta_schedule: Name of the diffusion beta schedule as per DDPMScheduler from Hugging Face diffusers. beta_start: Beta value for the first forward-diffusion step. @@ -110,6 +127,7 @@ class DiffusionConfig: diffusion_step_embed_dim: int = 128 use_film_scale_modulation: bool = True # Noise scheduler. + noise_scheduler_type: str = "DDPM" num_train_timesteps: int = 100 beta_schedule: str = "squaredcos_cap_v2" beta_start: float = 0.0001 @@ -130,17 +148,30 @@ class DiffusionConfig: raise ValueError( f"`vision_backbone` must be one of the ResNet variants. Got {self.vision_backbone}." ) + # There should only be one image key. + image_keys = {k for k in self.input_shapes if k.startswith("observation.image")} + if len(image_keys) != 1: + raise ValueError( + f"{self.__class__.__name__} only handles one image for now. Got image keys {image_keys}." + ) + image_key = next(iter(image_keys)) if ( - self.crop_shape[0] > self.input_shapes["observation.image"][1] - or self.crop_shape[1] > self.input_shapes["observation.image"][2] + self.crop_shape[0] > self.input_shapes[image_key][1] + or self.crop_shape[1] > self.input_shapes[image_key][2] ): raise ValueError( - f'`crop_shape` should fit within `input_shapes["observation.image"]`. Got {self.crop_shape} ' - f'for `crop_shape` and {self.input_shapes["observation.image"]} for ' - '`input_shapes["observation.image"]`.' + f"`crop_shape` should fit within `input_shapes[{image_key}]`. Got {self.crop_shape} " + f"for `crop_shape` and {self.input_shapes[image_key]} for " + "`input_shapes[{image_key}]`." ) supported_prediction_types = ["epsilon", "sample"] if self.prediction_type not in supported_prediction_types: raise ValueError( f"`prediction_type` must be one of {supported_prediction_types}. Got {self.prediction_type}." ) + supported_noise_schedulers = ["DDPM", "DDIM"] + if self.noise_scheduler_type not in supported_noise_schedulers: + raise ValueError( + f"`noise_scheduler_type` must be one of {supported_noise_schedulers}. " + f"Got {self.noise_scheduler_type}." + ) diff --git a/lerobot/common/policies/diffusion/modeling_diffusion.py b/lerobot/common/policies/diffusion/modeling_diffusion.py index 91cf6dd0..2ae03f22 100644 --- a/lerobot/common/policies/diffusion/modeling_diffusion.py +++ b/lerobot/common/policies/diffusion/modeling_diffusion.py @@ -1,8 +1,24 @@ +#!/usr/bin/env python + +# Copyright 2024 Columbia Artificial Intelligence, Robotics Lab, +# and The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """Diffusion Policy as per "Diffusion Policy: Visuomotor Policy Learning via Action Diffusion" TODO(alexander-soare): - - Remove reliance on Robomimic for SpatialSoftmax. - Remove reliance on diffusers for DDPMScheduler and LR scheduler. + - Make compatible with multiple image keys. """ import math @@ -10,12 +26,13 @@ from collections import deque from typing import Callable import einops +import numpy as np import torch import torch.nn.functional as F # noqa: N812 import torchvision +from diffusers.schedulers.scheduling_ddim import DDIMScheduler from diffusers.schedulers.scheduling_ddpm import DDPMScheduler from huggingface_hub import PyTorchModelHubMixin -from robomimic.models.base_nets import SpatialSoftmax from torch import Tensor, nn from lerobot.common.policies.diffusion.configuration_diffusion import DiffusionConfig @@ -66,10 +83,18 @@ class DiffusionPolicy(nn.Module, PyTorchModelHubMixin): self.diffusion = DiffusionModel(config) + image_keys = [k for k in config.input_shapes if k.startswith("observation.image")] + # Note: This check is covered in the post-init of the config but have a sanity check just in case. + if len(image_keys) != 1: + raise NotImplementedError( + f"{self.__class__.__name__} only handles one image for now. Got image keys {image_keys}." + ) + self.input_image_key = image_keys[0] + + self.reset() + def reset(self): - """ - Clear observation and action queues. Should be called on `env.reset()` - """ + """Clear observation and action queues. Should be called on `env.reset()`""" self._queues = { "observation.image": deque(maxlen=self.config.n_obs_steps), "observation.state": deque(maxlen=self.config.n_obs_steps), @@ -98,16 +123,14 @@ class DiffusionPolicy(nn.Module, PyTorchModelHubMixin): "horizon" may not the best name to describe what the variable actually means, because this period is actually measured from the first observation which (if `n_obs_steps` > 1) happened in the past. """ - assert "observation.image" in batch - assert "observation.state" in batch - batch = self.normalize_inputs(batch) + batch["observation.image"] = batch[self.input_image_key] self._queues = populate_queues(self._queues, batch) if len(self._queues["action"]) == 0: # stack n latest observations from the queue - batch = {key: torch.stack(list(self._queues[key]), dim=1) for key in batch} + batch = {k: torch.stack(list(self._queues[k]), dim=1) for k in batch if k in self._queues} actions = self.diffusion.generate_actions(batch) # TODO(rcadene): make above methods return output dictionary? @@ -121,11 +144,25 @@ class DiffusionPolicy(nn.Module, PyTorchModelHubMixin): def forward(self, batch: dict[str, Tensor]) -> dict[str, Tensor]: """Run the batch through the model and compute the loss for training or validation.""" batch = self.normalize_inputs(batch) + batch["observation.image"] = batch[self.input_image_key] batch = self.normalize_targets(batch) loss = self.diffusion.compute_loss(batch) return {"loss": loss} +def _make_noise_scheduler(name: str, **kwargs: dict) -> DDPMScheduler | DDIMScheduler: + """ + Factory for noise scheduler instances of the requested type. All kwargs are passed + to the scheduler. + """ + if name == "DDPM": + return DDPMScheduler(**kwargs) + elif name == "DDIM": + return DDIMScheduler(**kwargs) + else: + raise ValueError(f"Unsupported noise scheduler type {name}") + + class DiffusionModel(nn.Module): def __init__(self, config: DiffusionConfig): super().__init__() @@ -138,12 +175,12 @@ class DiffusionModel(nn.Module): * config.n_obs_steps, ) - self.noise_scheduler = DDPMScheduler( + self.noise_scheduler = _make_noise_scheduler( + config.noise_scheduler_type, num_train_timesteps=config.num_train_timesteps, beta_start=config.beta_start, beta_end=config.beta_end, beta_schedule=config.beta_schedule, - variance_type="fixed_small", clip_sample=config.clip_sample, clip_sample_range=config.clip_sample_range, prediction_type=config.prediction_type, @@ -185,13 +222,12 @@ class DiffusionModel(nn.Module): def generate_actions(self, batch: dict[str, Tensor]) -> Tensor: """ - This function expects `batch` to have (at least): + This function expects `batch` to have: { "observation.state": (B, n_obs_steps, state_dim) "observation.image": (B, n_obs_steps, C, H, W) } """ - assert set(batch).issuperset({"observation.state", "observation.image"}) batch_size, n_obs_steps = batch["observation.state"].shape[:2] assert n_obs_steps == self.config.n_obs_steps @@ -275,6 +311,77 @@ class DiffusionModel(nn.Module): return loss.mean() +class SpatialSoftmax(nn.Module): + """ + Spatial Soft Argmax operation described in "Deep Spatial Autoencoders for Visuomotor Learning" by Finn et al. + (https://arxiv.org/pdf/1509.06113). A minimal port of the robomimic implementation. + + At a high level, this takes 2D feature maps (from a convnet/ViT) and returns the "center of mass" + of activations of each channel, i.e., keypoints in the image space for the policy to focus on. + + Example: take feature maps of size (512x10x12). We generate a grid of normalized coordinates (10x12x2): + ----------------------------------------------------- + | (-1., -1.) | (-0.82, -1.) | ... | (1., -1.) | + | (-1., -0.78) | (-0.82, -0.78) | ... | (1., -0.78) | + | ... | ... | ... | ... | + | (-1., 1.) | (-0.82, 1.) | ... | (1., 1.) | + ----------------------------------------------------- + This is achieved by applying channel-wise softmax over the activations (512x120) and computing the dot + product with the coordinates (120x2) to get expected points of maximal activation (512x2). + + The example above results in 512 keypoints (corresponding to the 512 input channels). We can optionally + provide num_kp != None to control the number of keypoints. This is achieved by a first applying a learnable + linear mapping (in_channels, H, W) -> (num_kp, H, W). + """ + + def __init__(self, input_shape, num_kp=None): + """ + Args: + input_shape (list): (C, H, W) input feature map shape. + num_kp (int): number of keypoints in output. If None, output will have the same number of channels as input. + """ + super().__init__() + + assert len(input_shape) == 3 + self._in_c, self._in_h, self._in_w = input_shape + + if num_kp is not None: + self.nets = torch.nn.Conv2d(self._in_c, num_kp, kernel_size=1) + self._out_c = num_kp + else: + self.nets = None + self._out_c = self._in_c + + # we could use torch.linspace directly but that seems to behave slightly differently than numpy + # and causes a small degradation in pc_success of pre-trained models. + pos_x, pos_y = np.meshgrid(np.linspace(-1.0, 1.0, self._in_w), np.linspace(-1.0, 1.0, self._in_h)) + pos_x = torch.from_numpy(pos_x.reshape(self._in_h * self._in_w, 1)).float() + pos_y = torch.from_numpy(pos_y.reshape(self._in_h * self._in_w, 1)).float() + # register as buffer so it's moved to the correct device. + self.register_buffer("pos_grid", torch.cat([pos_x, pos_y], dim=1)) + + def forward(self, features: Tensor) -> Tensor: + """ + Args: + features: (B, C, H, W) input feature maps. + Returns: + (B, K, 2) image-space coordinates of keypoints. + """ + if self.nets is not None: + features = self.nets(features) + + # [B, K, H, W] -> [B * K, H * W] where K is number of keypoints + features = features.reshape(-1, self._in_h * self._in_w) + # 2d softmax normalization + attention = F.softmax(features, dim=-1) + # [B * K, H * W] x [H * W, 2] -> [B * K, 2] for spatial coordinate mean in x and y dimensions + expected_xy = attention @ self.pos_grid + # reshape to [B, K, 2] + feature_keypoints = expected_xy.view(-1, self._out_c, 2) + + return feature_keypoints + + class DiffusionRgbEncoder(nn.Module): """Encoder an RGB image into a 1D feature vector. @@ -315,11 +422,16 @@ class DiffusionRgbEncoder(nn.Module): # Set up pooling and final layers. # Use a dry run to get the feature map shape. + # The dummy input should take the number of image channels from `config.input_shapes` and it should + # use the height and width from `config.crop_shape`. + image_keys = [k for k in config.input_shapes if k.startswith("observation.image")] + assert len(image_keys) == 1 + image_key = image_keys[0] + dummy_input = torch.zeros(size=(1, config.input_shapes[image_key][0], *config.crop_shape)) with torch.inference_mode(): - feat_map_shape = tuple( - self.backbone(torch.zeros(size=(1, *config.input_shapes["observation.image"]))).shape[1:] - ) - self.pool = SpatialSoftmax(feat_map_shape, num_kp=config.spatial_softmax_num_keypoints) + dummy_feature_map = self.backbone(dummy_input) + feature_map_shape = tuple(dummy_feature_map.shape[1:]) + self.pool = SpatialSoftmax(feature_map_shape, num_kp=config.spatial_softmax_num_keypoints) self.feature_dim = config.spatial_softmax_num_keypoints * 2 self.out = nn.Linear(config.spatial_softmax_num_keypoints * 2, self.feature_dim) self.relu = nn.ReLU() diff --git a/lerobot/common/policies/factory.py b/lerobot/common/policies/factory.py index 4819ca80..4c124b61 100644 --- a/lerobot/common/policies/factory.py +++ b/lerobot/common/policies/factory.py @@ -1,4 +1,20 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import inspect +import logging from omegaconf import DictConfig, OmegaConf @@ -8,9 +24,10 @@ from lerobot.common.utils.utils import get_safe_torch_device def _policy_cfg_from_hydra_cfg(policy_cfg_class, hydra_cfg): expected_kwargs = set(inspect.signature(policy_cfg_class).parameters) - assert set(hydra_cfg.policy).issuperset( - expected_kwargs - ), f"Hydra config is missing arguments: {set(expected_kwargs).difference(hydra_cfg.policy)}" + if not set(hydra_cfg.policy).issuperset(expected_kwargs): + logging.warning( + f"Hydra config is missing arguments: {set(expected_kwargs).difference(hydra_cfg.policy)}" + ) policy_cfg = policy_cfg_class( **{ k: v @@ -62,11 +79,18 @@ def make_policy( policy_cls, policy_cfg_class = get_policy_and_config_classes(hydra_cfg.policy.name) + policy_cfg = _policy_cfg_from_hydra_cfg(policy_cfg_class, hydra_cfg) if pretrained_policy_name_or_path is None: - policy_cfg = _policy_cfg_from_hydra_cfg(policy_cfg_class, hydra_cfg) + # Make a fresh policy. policy = policy_cls(policy_cfg, dataset_stats) else: - policy = policy_cls.from_pretrained(pretrained_policy_name_or_path) + # Load a pretrained policy and override the config if needed (for example, if there are inference-time + # hyperparameters that we want to vary). + # TODO(alexander-soare): This hack makes use of huggingface_hub's tooling to load the policy with, pretrained + # weights which are then loaded into a fresh policy with the desired config. This PR in huggingface_hub should + # make it possible to avoid the hack: https://github.com/huggingface/huggingface_hub/pull/2274. + policy = policy_cls(policy_cfg) + policy.load_state_dict(policy_cls.from_pretrained(pretrained_policy_name_or_path).state_dict()) policy.to(get_safe_torch_device(hydra_cfg.device)) diff --git a/lerobot/common/policies/normalize.py b/lerobot/common/policies/normalize.py index ab57c8ba..d638c541 100644 --- a/lerobot/common/policies/normalize.py +++ b/lerobot/common/policies/normalize.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import torch from torch import Tensor, nn diff --git a/lerobot/common/policies/policy_protocol.py b/lerobot/common/policies/policy_protocol.py index 5749c6a8..38738a90 100644 --- a/lerobot/common/policies/policy_protocol.py +++ b/lerobot/common/policies/policy_protocol.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """A protocol that all policies should follow. This provides a mechanism for type-hinting and isinstance checks without requiring the policies classes @@ -38,7 +53,8 @@ class Policy(Protocol): def forward(self, batch: dict[str, Tensor]) -> dict: """Run the batch through the model and compute the loss for training or validation. - Returns a dictionary with "loss" and maybe other information. + Returns a dictionary with "loss" and potentially other information. Apart from "loss" which is a Tensor, all + other items should be logging-friendly, native Python types. """ def select_action(self, batch: dict[str, Tensor]): diff --git a/lerobot/common/policies/tdmpc/configuration_tdmpc.py b/lerobot/common/policies/tdmpc/configuration_tdmpc.py index 82e3a507..cf76fb08 100644 --- a/lerobot/common/policies/tdmpc/configuration_tdmpc.py +++ b/lerobot/common/policies/tdmpc/configuration_tdmpc.py @@ -1,3 +1,19 @@ +#!/usr/bin/env python + +# Copyright 2024 Nicklas Hansen, Xiaolong Wang, Hao Su, +# and The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. from dataclasses import dataclass, field @@ -47,7 +63,7 @@ class TDMPCConfig: elite_weighting_temperature: The temperature to use for softmax weighting (by trajectory value) of the elites, when updating the gaussian parameters for CEM. gaussian_mean_momentum: Momentum (α) used for EMA updates of the mean parameter μ of the gaussian - paramters optimized in CEM. Updates are calculated as μ⁻ ← αμ⁻ + (1-α)μ. + parameters optimized in CEM. Updates are calculated as μ⁻ ← αμ⁻ + (1-α)μ. max_random_shift_ratio: Maximum random shift (as a proportion of the image size) to apply to the image(s) (in units of pixels) for training-time augmentation. If set to 0, no such augmentation is applied. Note that the input images are assumed to be square for this augmentation. @@ -131,12 +147,18 @@ class TDMPCConfig: def __post_init__(self): """Input validation (not exhaustive).""" - if self.input_shapes["observation.image"][-2] != self.input_shapes["observation.image"][-1]: + # There should only be one image key. + image_keys = {k for k in self.input_shapes if k.startswith("observation.image")} + if len(image_keys) != 1: + raise ValueError( + f"{self.__class__.__name__} only handles one image for now. Got image keys {image_keys}." + ) + image_key = next(iter(image_keys)) + if self.input_shapes[image_key][-2] != self.input_shapes[image_key][-1]: # TODO(alexander-soare): This limitation is solely because of code in the random shift # augmentation. It should be able to be removed. raise ValueError( - "Only square images are handled now. Got image shape " - f"{self.input_shapes['observation.image']}." + f"Only square images are handled now. Got image shape {self.input_shapes[image_key]}." ) if self.n_gaussian_samples <= 0: raise ValueError( diff --git a/lerobot/common/policies/tdmpc/modeling_tdmpc.py b/lerobot/common/policies/tdmpc/modeling_tdmpc.py index 1fba43d0..7c873bf2 100644 --- a/lerobot/common/policies/tdmpc/modeling_tdmpc.py +++ b/lerobot/common/policies/tdmpc/modeling_tdmpc.py @@ -1,3 +1,19 @@ +#!/usr/bin/env python + +# Copyright 2024 Nicklas Hansen, Xiaolong Wang, Hao Su, +# and The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """Implementation of Finetuning Offline World Models in the Real World. The comments in this code may sometimes refer to these references: @@ -96,13 +112,12 @@ class TDMPCPolicy(nn.Module, PyTorchModelHubMixin): config.output_shapes, config.output_normalization_modes, dataset_stats ) - def save(self, fp): - """Save state dict of TOLD model to filepath.""" - torch.save(self.state_dict(), fp) + image_keys = [k for k in config.input_shapes if k.startswith("observation.image")] + # Note: This check is covered in the post-init of the config but have a sanity check just in case. + assert len(image_keys) == 1 + self.input_image_key = image_keys[0] - def load(self, fp): - """Load a saved state dict from filepath into current agent.""" - self.load_state_dict(torch.load(fp)) + self.reset() def reset(self): """ @@ -121,10 +136,8 @@ class TDMPCPolicy(nn.Module, PyTorchModelHubMixin): @torch.no_grad() def select_action(self, batch: dict[str, Tensor]): """Select a single action given environment observations.""" - assert "observation.image" in batch - assert "observation.state" in batch - batch = self.normalize_inputs(batch) + batch["observation.image"] = batch[self.input_image_key] self._queues = populate_queues(self._queues, batch) @@ -303,13 +316,11 @@ class TDMPCPolicy(nn.Module, PyTorchModelHubMixin): device = get_device_from_parameters(self) batch = self.normalize_inputs(batch) + batch["observation.image"] = batch[self.input_image_key] batch = self.normalize_targets(batch) info = {} - # TODO(alexander-soare): Refactor TDMPC and make it comply with the policy interface documentation. - batch_size = batch["index"].shape[0] - # (b, t) -> (t, b) for key in batch: if batch[key].ndim > 1: @@ -337,6 +348,7 @@ class TDMPCPolicy(nn.Module, PyTorchModelHubMixin): # Run latent rollout using the latent dynamics model and policy model. # Note this has shape `horizon+1` because there are `horizon` actions and a current `z`. Each action # gives us a next `z`. + batch_size = batch["index"].shape[0] z_preds = torch.empty(horizon + 1, batch_size, self.config.latent_dim, device=device) z_preds[0] = self.model.encode(current_observation) reward_preds = torch.empty_like(reward, device=device) diff --git a/lerobot/common/policies/utils.py b/lerobot/common/policies/utils.py index b23c1336..5a62daa2 100644 --- a/lerobot/common/policies/utils.py +++ b/lerobot/common/policies/utils.py @@ -1,9 +1,28 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import torch from torch import nn def populate_queues(queues, batch): for key in batch: + # Ignore keys not in the queues already (leaving the responsibility to the caller to make sure the + # queues have the keys they want). + if key not in queues: + continue if len(queues[key]) != queues[key].maxlen: # initialize by copying the first observation several times until the queue is full while len(queues[key]) != queues[key].maxlen: diff --git a/lerobot/common/utils/import_utils.py b/lerobot/common/utils/import_utils.py index 642e0ff1..cd5f8245 100644 --- a/lerobot/common/utils/import_utils.py +++ b/lerobot/common/utils/import_utils.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import importlib import logging diff --git a/lerobot/common/utils/io_utils.py b/lerobot/common/utils/io_utils.py index 5d727bd7..b85f17c7 100644 --- a/lerobot/common/utils/io_utils.py +++ b/lerobot/common/utils/io_utils.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import warnings import imageio diff --git a/lerobot/common/utils/utils.py b/lerobot/common/utils/utils.py index 9d0ddd98..d62507b5 100644 --- a/lerobot/common/utils/utils.py +++ b/lerobot/common/utils/utils.py @@ -1,8 +1,25 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import logging import os.path as osp import random +from contextlib import contextmanager from datetime import datetime from pathlib import Path +from typing import Generator import hydra import numpy as np @@ -39,6 +56,31 @@ def set_global_seed(seed): torch.cuda.manual_seed_all(seed) +@contextmanager +def seeded_context(seed: int) -> Generator[None, None, None]: + """Set the seed when entering a context, and restore the prior random state at exit. + + Example usage: + + ``` + a = random.random() # produces some random number + with seeded_context(1337): + b = random.random() # produces some other random number + c = random.random() # produces yet another random number, but the same it would have if we never made `b` + ``` + """ + random_state = random.getstate() + np_random_state = np.random.get_state() + torch_random_state = torch.random.get_rng_state() + torch_cuda_random_state = torch.cuda.random.get_rng_state() + set_global_seed(seed) + yield None + random.setstate(random_state) + np.random.set_state(np_random_state) + torch.random.set_rng_state(torch_random_state) + torch.cuda.random.set_rng_state(torch_cuda_random_state) + + def init_logging(): def custom_format(record): dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") diff --git a/lerobot/configs/default.yaml b/lerobot/configs/default.yaml index 7cad0a1a..27329bc9 100644 --- a/lerobot/configs/default.yaml +++ b/lerobot/configs/default.yaml @@ -10,6 +10,9 @@ hydra: name: default device: cuda # cpu +# `use_amp` determines whether to use Automatic Mixed Precision (AMP) for training and evaluation. With AMP, +# automatic gradient scaling is used. +use_amp: false # `seed` is used for training (eg: model initialization, dataset shuffling) # AND for the evaluation environments. seed: ??? @@ -17,6 +20,7 @@ dataset_repo_id: lerobot/pusht training: offline_steps: ??? + # NOTE: `online_steps` is not implemented yet. It's here as a placeholder. online_steps: ??? online_steps_between_rollouts: ??? online_sampling_ratio: 0.5 @@ -35,7 +39,7 @@ eval: use_async_envs: false wandb: - enable: true + enable: false # Set to true to disable saving an artifact despite save_model == True disable_artifact: false project: lerobot diff --git a/lerobot/configs/policy/act.yaml b/lerobot/configs/policy/act.yaml index a49a97f8..7a12dcc2 100644 --- a/lerobot/configs/policy/act.yaml +++ b/lerobot/configs/policy/act.yaml @@ -3,6 +3,12 @@ seed: 1000 dataset_repo_id: lerobot/aloha_sim_insertion_human +override_dataset_stats: + observation.images.top: + # stats from imagenet, since we use a pretrained vision model + mean: [[[0.485]], [[0.456]], [[0.406]]] # (c,1,1) + std: [[[0.229]], [[0.224]], [[0.225]]] # (c,1,1) + training: offline_steps: 80000 online_steps: 0 @@ -18,12 +24,6 @@ training: grad_clip_norm: 10 online_steps_between_rollouts: 1 - override_dataset_stats: - observation.images.top: - # stats from imagenet, since we use a pretrained vision model - mean: [[[0.485]], [[0.456]], [[0.406]]] # (c,1,1) - std: [[[0.229]], [[0.224]], [[0.225]]] # (c,1,1) - delta_timestamps: action: "[i / ${fps} for i in range(${policy.chunk_size})]" @@ -66,6 +66,9 @@ policy: dim_feedforward: 3200 feedforward_activation: relu n_encoder_layers: 4 + # Note: Although the original ACT implementation has 7 for `n_decoder_layers`, there is a bug in the code + # that means only the first layer is used. Here we match the original implementation by setting this to 1. + # See this issue https://github.com/tonyzhaozh/act/issues/25#issue-2258740521. n_decoder_layers: 1 # VAE. use_vae: true @@ -73,7 +76,7 @@ policy: n_vae_encoder_layers: 4 # Inference. - use_temporal_aggregation: false + temporal_ensemble_momentum: null # Training and loss computation. dropout: 0.1 diff --git a/lerobot/configs/policy/diffusion.yaml b/lerobot/configs/policy/diffusion.yaml index 2d611c88..7278985e 100644 --- a/lerobot/configs/policy/diffusion.yaml +++ b/lerobot/configs/policy/diffusion.yaml @@ -7,6 +7,20 @@ seed: 100000 dataset_repo_id: lerobot/pusht +override_dataset_stats: + # TODO(rcadene, alexander-soare): should we remove image stats as well? do we use a pretrained vision model? + observation.image: + mean: [[[0.5]], [[0.5]], [[0.5]]] # (c,1,1) + std: [[[0.5]], [[0.5]], [[0.5]]] # (c,1,1) + # TODO(rcadene, alexander-soare): we override state and action stats to use the same as the pretrained model + # from the original codebase, but we should remove these and train our own pretrained model + observation.state: + min: [13.456424, 32.938293] + max: [496.14618, 510.9579] + action: + min: [12.0, 25.0] + max: [511.0, 511.0] + training: offline_steps: 200000 online_steps: 0 @@ -34,20 +48,6 @@ eval: n_episodes: 50 batch_size: 50 -override_dataset_stats: - # TODO(rcadene, alexander-soare): should we remove image stats as well? do we use a pretrained vision model? - observation.image: - mean: [[[0.5]], [[0.5]], [[0.5]]] # (c,1,1) - std: [[[0.5]], [[0.5]], [[0.5]]] # (c,1,1) - # TODO(rcadene, alexander-soare): we override state and action stats to use the same as the pretrained model - # from the original codebase, but we should remove these and train our own pretrained model - observation.state: - min: [13.456424, 32.938293] - max: [496.14618, 510.9579] - action: - min: [12.0, 25.0] - max: [511.0, 511.0] - policy: name: diffusion @@ -85,6 +85,7 @@ policy: diffusion_step_embed_dim: 128 use_film_scale_modulation: True # Noise scheduler. + noise_scheduler_type: DDPM num_train_timesteps: 100 beta_schedule: squaredcos_cap_v2 beta_start: 0.0001 diff --git a/lerobot/configs/policy/tdmpc.yaml b/lerobot/configs/policy/tdmpc.yaml index eb89033b..09326ab4 100644 --- a/lerobot/configs/policy/tdmpc.yaml +++ b/lerobot/configs/policy/tdmpc.yaml @@ -1,11 +1,12 @@ # @package _global_ seed: 1 -dataset_repo_id: lerobot/xarm_lift_medium_replay +dataset_repo_id: lerobot/xarm_lift_medium training: offline_steps: 25000 - online_steps: 25000 + # TODO(alexander-soare): uncomment when online training gets reinstated + online_steps: 0 # 25000 not implemented yet eval_freq: 5000 online_steps_between_rollouts: 1 online_sampling_ratio: 0.5 diff --git a/lerobot/scripts/display_sys_info.py b/lerobot/scripts/display_sys_info.py index e4ea4260..4d8b4850 100644 --- a/lerobot/scripts/display_sys_info.py +++ b/lerobot/scripts/display_sys_info.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import platform import huggingface_hub diff --git a/lerobot/scripts/eval.py b/lerobot/scripts/eval.py index e4a9bfef..7e4690d0 100644 --- a/lerobot/scripts/eval.py +++ b/lerobot/scripts/eval.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """Evaluate a policy on an environment by running rollouts and computing metrics. Usage examples: @@ -31,6 +46,7 @@ import json import logging import threading import time +from contextlib import nullcontext from copy import deepcopy from datetime import datetime as dt from pathlib import Path @@ -505,7 +521,7 @@ def eval( raise NotImplementedError() # Check device is available - get_safe_torch_device(hydra_cfg.device, log=True) + device = get_safe_torch_device(hydra_cfg.device, log=True) torch.backends.cudnn.benchmark = True torch.backends.cuda.matmul.allow_tf32 = True @@ -524,16 +540,17 @@ def eval( policy = make_policy(hydra_cfg=hydra_cfg, dataset_stats=make_dataset(hydra_cfg).stats) policy.eval() - info = eval_policy( - env, - policy, - hydra_cfg.eval.n_episodes, - max_episodes_rendered=10, - video_dir=Path(out_dir) / "eval", - start_seed=hydra_cfg.seed, - enable_progbar=True, - enable_inner_progbar=True, - ) + with torch.no_grad(), torch.autocast(device_type=device.type) if hydra_cfg.use_amp else nullcontext(): + info = eval_policy( + env, + policy, + hydra_cfg.eval.n_episodes, + max_episodes_rendered=10, + video_dir=Path(out_dir) / "eval", + start_seed=hydra_cfg.seed, + enable_progbar=True, + enable_inner_progbar=True, + ) print(info["aggregated"]) # Save info diff --git a/lerobot/scripts/push_dataset_to_hub.py b/lerobot/scripts/push_dataset_to_hub.py index dfac410b..19af1cf8 100644 --- a/lerobot/scripts/push_dataset_to_hub.py +++ b/lerobot/scripts/push_dataset_to_hub.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """ Use this script to convert your dataset into LeRobot dataset format and upload it to the Hugging Face hub, or store it locally. LeRobot dataset format is lightweight, fast to load from, and does not require any @@ -10,7 +25,6 @@ python lerobot/scripts/push_dataset_to_hub.py \ --dataset-id pusht \ --raw-format pusht_zarr \ --community-id lerobot \ ---revision v1.2 \ --dry-run 1 \ --save-to-disk 1 \ --save-tests-to-disk 0 \ @@ -21,7 +35,6 @@ python lerobot/scripts/push_dataset_to_hub.py \ --dataset-id xarm_lift_medium \ --raw-format xarm_pkl \ --community-id lerobot \ ---revision v1.2 \ --dry-run 1 \ --save-to-disk 1 \ --save-tests-to-disk 0 \ @@ -32,7 +45,6 @@ python lerobot/scripts/push_dataset_to_hub.py \ --dataset-id aloha_sim_insertion_scripted \ --raw-format aloha_hdf5 \ --community-id lerobot \ ---revision v1.2 \ --dry-run 1 \ --save-to-disk 1 \ --save-tests-to-disk 0 \ @@ -43,7 +55,6 @@ python lerobot/scripts/push_dataset_to_hub.py \ --dataset-id umi_cup_in_the_wild \ --raw-format umi_zarr \ --community-id lerobot \ ---revision v1.2 \ --dry-run 1 \ --save-to-disk 1 \ --save-tests-to-disk 0 \ @@ -212,8 +223,7 @@ def push_dataset_to_hub( test_hf_dataset = test_hf_dataset.with_format(None) test_hf_dataset.save_to_disk(str(tests_out_dir / "train")) - # copy meta data to tests directory - shutil.copytree(meta_data_dir, tests_meta_data_dir) + save_meta_data(info, stats, episode_data_index, tests_meta_data_dir) # copy videos of first episode to tests directory episode_index = 0 @@ -222,6 +232,10 @@ def push_dataset_to_hub( fname = f"{key}_episode_{episode_index:06d}.mp4" shutil.copy(videos_dir / fname, tests_videos_dir / fname) + if not save_to_disk and out_dir.exists(): + # remove possible temporary files remaining in the output directory + shutil.rmtree(out_dir) + def main(): parser = argparse.ArgumentParser() @@ -299,7 +313,7 @@ def main(): parser.add_argument( "--num-workers", type=int, - default=16, + default=8, help="Number of processes of Dataloader for computing the dataset statistics.", ) parser.add_argument( diff --git a/lerobot/scripts/train.py b/lerobot/scripts/train.py index d5fedc84..2b28943d 100644 --- a/lerobot/scripts/train.py +++ b/lerobot/scripts/train.py @@ -1,13 +1,28 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import logging import time +from contextlib import nullcontext from copy import deepcopy from pathlib import Path -import datasets import hydra import torch -from datasets import concatenate_datasets -from datasets.utils import disable_progress_bars, enable_progress_bars +from omegaconf import DictConfig +from torch.cuda.amp import GradScaler from lerobot.common.datasets.factory import make_dataset from lerobot.common.datasets.utils import cycle @@ -15,6 +30,7 @@ from lerobot.common.envs.factory import make_env from lerobot.common.logger import Logger, log_output_dir from lerobot.common.policies.factory import make_policy from lerobot.common.policies.policy_protocol import PolicyWithUpdate +from lerobot.common.policies.utils import get_device_from_parameters from lerobot.common.utils.utils import ( format_big_number, get_safe_torch_device, @@ -53,7 +69,6 @@ def make_optimizer_and_scheduler(cfg, policy): cfg.training.adam_eps, cfg.training.adam_weight_decay, ) - assert cfg.training.online_steps == 0, "Diffusion Policy does not handle online training." from diffusers.optimization import get_scheduler lr_scheduler = get_scheduler( @@ -71,20 +86,40 @@ def make_optimizer_and_scheduler(cfg, policy): return optimizer, lr_scheduler -def update_policy(policy, batch, optimizer, grad_clip_norm, lr_scheduler=None): - start_time = time.time() +def update_policy( + policy, + batch, + optimizer, + grad_clip_norm, + grad_scaler: GradScaler, + lr_scheduler=None, + use_amp: bool = False, +): + """Returns a dictionary of items for logging.""" + start_time = time.perf_counter() + device = get_device_from_parameters(policy) policy.train() - output_dict = policy.forward(batch) - # TODO(rcadene): policy.unnormalize_outputs(out_dict) - loss = output_dict["loss"] - loss.backward() + with torch.autocast(device_type=device.type) if use_amp else nullcontext(): + output_dict = policy.forward(batch) + # TODO(rcadene): policy.unnormalize_outputs(out_dict) + loss = output_dict["loss"] + grad_scaler.scale(loss).backward() + + # Unscale the graident of the optimzer's assigned params in-place **prior to gradient clipping**. + grad_scaler.unscale_(optimizer) + grad_norm = torch.nn.utils.clip_grad_norm_( policy.parameters(), grad_clip_norm, error_if_nonfinite=False, ) - optimizer.step() + # Optimizer's gradients are already unscaled, so scaler.step does not unscale them, + # although it still skips optimizer.step() if the gradients contain infs or NaNs. + grad_scaler.step(optimizer) + # Updates the scale for next iteration. + grad_scaler.update() + optimizer.zero_grad() if lr_scheduler is not None: @@ -98,7 +133,8 @@ def update_policy(policy, batch, optimizer, grad_clip_norm, lr_scheduler=None): "loss": loss.item(), "grad_norm": float(grad_norm), "lr": optimizer.param_groups[0]["lr"], - "update_s": time.time() - start_time, + "update_s": time.perf_counter() - start_time, + **{k: v for k, v in output_dict.items() if k != "loss"}, } return info @@ -122,7 +158,7 @@ def train_notebook(out_dir=None, job_name=None, config_name="default", config_pa train(cfg, out_dir=out_dir, job_name=job_name) -def log_train_info(logger, info, step, cfg, dataset, is_offline): +def log_train_info(logger: Logger, info, step, cfg, dataset, is_offline): loss = info["loss"] grad_norm = info["grad_norm"] lr = info["lr"] @@ -193,104 +229,7 @@ def log_eval_info(logger, info, step, cfg, dataset, is_offline): logger.log_dict(info, step, mode="eval") -def calculate_online_sample_weight(n_off: int, n_on: int, pc_on: float): - """ - Calculate the sampling weight to be assigned to samples so that a specified percentage of the batch comes from online dataset (on average). - - Parameters: - - n_off (int): Number of offline samples, each with a sampling weight of 1. - - n_on (int): Number of online samples. - - pc_on (float): Desired percentage of online samples in decimal form (e.g., 50% as 0.5). - - The total weight of offline samples is n_off * 1.0. - The total weight of offline samples is n_on * w. - The total combined weight of all samples is n_off + n_on * w. - The fraction of the weight that is online is n_on * w / (n_off + n_on * w). - We want this fraction to equal pc_on, so we set up the equation n_on * w / (n_off + n_on * w) = pc_on. - The solution is w = - (n_off * pc_on) / (n_on * (pc_on - 1)) - """ - assert 0.0 <= pc_on <= 1.0 - return -(n_off * pc_on) / (n_on * (pc_on - 1)) - - -def add_episodes_inplace( - online_dataset: torch.utils.data.Dataset, - concat_dataset: torch.utils.data.ConcatDataset, - sampler: torch.utils.data.WeightedRandomSampler, - hf_dataset: datasets.Dataset, - episode_data_index: dict[str, torch.Tensor], - pc_online_samples: float, -): - """ - Modifies the online_dataset, concat_dataset, and sampler in place by integrating - new episodes from hf_dataset into the online_dataset, updating the concatenated - dataset's structure and adjusting the sampling strategy based on the specified - percentage of online samples. - - Parameters: - - online_dataset (torch.utils.data.Dataset): The existing online dataset to be updated. - - concat_dataset (torch.utils.data.ConcatDataset): The concatenated dataset that combines - offline and online datasets, used for sampling purposes. - - sampler (torch.utils.data.WeightedRandomSampler): A sampler that will be updated to - reflect changes in the dataset sizes and specified sampling weights. - - hf_dataset (datasets.Dataset): A Hugging Face dataset containing the new episodes to be added. - - episode_data_index (dict): A dictionary containing two keys ("from" and "to") associated to dataset indices. - They indicate the start index and end index of each episode in the dataset. - - pc_online_samples (float): The target percentage of samples that should come from - the online dataset during sampling operations. - - Raises: - - AssertionError: If the first episode_id or index in hf_dataset is not 0 - """ - first_episode_idx = hf_dataset.select_columns("episode_index")[0]["episode_index"].item() - last_episode_idx = hf_dataset.select_columns("episode_index")[-1]["episode_index"].item() - first_index = hf_dataset.select_columns("index")[0]["index"].item() - last_index = hf_dataset.select_columns("index")[-1]["index"].item() - # sanity check - assert first_episode_idx == 0, f"{first_episode_idx=} is not 0" - assert first_index == 0, f"{first_index=} is not 0" - assert first_index == episode_data_index["from"][first_episode_idx].item() - assert last_index == episode_data_index["to"][last_episode_idx].item() - 1 - - if len(online_dataset) == 0: - # initialize online dataset - online_dataset.hf_dataset = hf_dataset - online_dataset.episode_data_index = episode_data_index - else: - # get the starting indices of the new episodes and frames to be added - start_episode_idx = last_episode_idx + 1 - start_index = last_index + 1 - - def shift_indices(episode_index, index): - # note: we dont shift "frame_index" since it represents the index of the frame in the episode it belongs to - example = {"episode_index": episode_index + start_episode_idx, "index": index + start_index} - return example - - disable_progress_bars() # map has a tqdm progress bar - hf_dataset = hf_dataset.map(shift_indices, input_columns=["episode_index", "index"]) - enable_progress_bars() - - episode_data_index["from"] += start_index - episode_data_index["to"] += start_index - - # extend online dataset - online_dataset.hf_dataset = concatenate_datasets([online_dataset.hf_dataset, hf_dataset]) - - # update the concatenated dataset length used during sampling - concat_dataset.cumulative_sizes = concat_dataset.cumsum(concat_dataset.datasets) - - # update the sampling weights for each frame so that online frames get sampled a certain percentage of times - len_online = len(online_dataset) - len_offline = len(concat_dataset) - len_online - weight_offline = 1.0 - weight_online = calculate_online_sample_weight(len_offline, len_online, pc_online_samples) - sampler.weights = torch.tensor([weight_offline] * len_offline + [weight_online] * len(online_dataset)) - - # update the total number of samples used during sampling - sampler.num_samples = len(concat_dataset) - - -def train(cfg: dict, out_dir=None, job_name=None): +def train(cfg: DictConfig, out_dir: str | None = None, job_name: str | None = None): if out_dir is None: raise NotImplementedError() if job_name is None: @@ -298,11 +237,11 @@ def train(cfg: dict, out_dir=None, job_name=None): init_logging() - if cfg.training.online_steps > 0 and cfg.eval.batch_size > 1: - logging.warning("eval.batch_size > 1 not supported for online training steps") + if cfg.training.online_steps > 0: + raise NotImplementedError("Online training is not implemented yet.") # Check device is available - get_safe_torch_device(cfg.device, log=True) + device = get_safe_torch_device(cfg.device, log=True) torch.backends.cudnn.benchmark = True torch.backends.cuda.matmul.allow_tf32 = True @@ -320,6 +259,7 @@ def train(cfg: dict, out_dir=None, job_name=None): # Create optimizer and scheduler # Temporary hack to move optimizer out of policy optimizer, lr_scheduler = make_optimizer_and_scheduler(cfg, policy) + grad_scaler = GradScaler(enabled=cfg.use_amp) num_learnable_params = sum(p.numel() for p in policy.parameters() if p.requires_grad) num_total_params = sum(p.numel() for p in policy.parameters()) @@ -340,14 +280,15 @@ def train(cfg: dict, out_dir=None, job_name=None): def evaluate_and_checkpoint_if_needed(step): if step % cfg.training.eval_freq == 0: logging.info(f"Eval policy at step {step}") - eval_info = eval_policy( - eval_env, - policy, - cfg.eval.n_episodes, - video_dir=Path(out_dir) / "eval", - max_episodes_rendered=4, - start_seed=cfg.seed, - ) + with torch.no_grad(), torch.autocast(device_type=device.type) if cfg.use_amp else nullcontext(): + eval_info = eval_policy( + eval_env, + policy, + cfg.eval.n_episodes, + video_dir=Path(out_dir) / "eval", + max_episodes_rendered=4, + start_seed=cfg.seed, + ) log_eval_info(logger, eval_info["aggregated"], step, cfg, offline_dataset, is_offline) if cfg.wandb.enable: logger.log_video(eval_info["video_paths"][0], step, mode="eval") @@ -371,23 +312,30 @@ def train(cfg: dict, out_dir=None, job_name=None): num_workers=4, batch_size=cfg.training.batch_size, shuffle=True, - pin_memory=cfg.device != "cpu", + pin_memory=device.type != "cpu", drop_last=False, ) dl_iter = cycle(dataloader) policy.train() - step = 0 # number of policy update (forward + backward + optim) is_offline = True - for offline_step in range(cfg.training.offline_steps): - if offline_step == 0: + for step in range(cfg.training.offline_steps): + if step == 0: logging.info("Start offline training on a fixed dataset") batch = next(dl_iter) for key in batch: - batch[key] = batch[key].to(cfg.device, non_blocking=True) + batch[key] = batch[key].to(device, non_blocking=True) - train_info = update_policy(policy, batch, optimizer, cfg.training.grad_clip_norm, lr_scheduler) + train_info = update_policy( + policy, + batch, + optimizer, + cfg.training.grad_clip_norm, + grad_scaler=grad_scaler, + lr_scheduler=lr_scheduler, + use_amp=cfg.use_amp, + ) # TODO(rcadene): is it ok if step_t=0 = 0 and not 1 as previously done? if step % cfg.training.log_freq == 0: @@ -397,11 +345,6 @@ def train(cfg: dict, out_dir=None, job_name=None): # so we pass in step + 1. evaluate_and_checkpoint_if_needed(step + 1) - step += 1 - - # create an env dedicated to online episodes collection from policy rollout - online_training_env = make_env(cfg, n_envs=1) - # create an empty online dataset similar to offline dataset online_dataset = deepcopy(offline_dataset) online_dataset.hf_dataset = {} @@ -418,58 +361,11 @@ def train(cfg: dict, out_dir=None, job_name=None): num_workers=4, batch_size=cfg.training.batch_size, sampler=sampler, - pin_memory=cfg.device != "cpu", + pin_memory=device.type != "cpu", drop_last=False, ) - dl_iter = cycle(dataloader) - - online_step = 0 - is_offline = False - for env_step in range(cfg.training.online_steps): - if env_step == 0: - logging.info("Start online training by interacting with environment") - - policy.eval() - with torch.no_grad(): - eval_info = eval_policy( - online_training_env, - policy, - n_episodes=1, - return_episode_data=True, - start_seed=cfg.training.online_env_seed, - enable_progbar=True, - ) - - add_episodes_inplace( - online_dataset, - concat_dataset, - sampler, - hf_dataset=eval_info["episodes"]["hf_dataset"], - episode_data_index=eval_info["episodes"]["episode_data_index"], - pc_online_samples=cfg.training.online_sampling_ratio, - ) - - policy.train() - for _ in range(cfg.training.online_steps_between_rollouts): - batch = next(dl_iter) - - for key in batch: - batch[key] = batch[key].to(cfg.device, non_blocking=True) - - train_info = update_policy(policy, batch, optimizer, cfg.training.grad_clip_norm, lr_scheduler) - - if step % cfg.training.log_freq == 0: - log_train_info(logger, train_info, step, cfg, online_dataset, is_offline) - - # Note: evaluate_and_checkpoint_if_needed happens **after** the `step`th training update has completed, - # so we pass in step + 1. - evaluate_and_checkpoint_if_needed(step + 1) - - step += 1 - online_step += 1 eval_env.close() - online_training_env.close() logging.info("End of training") diff --git a/lerobot/scripts/visualize_dataset.py b/lerobot/scripts/visualize_dataset.py index 1835e90c..58da6a47 100644 --- a/lerobot/scripts/visualize_dataset.py +++ b/lerobot/scripts/visualize_dataset.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """ Visualize data of **all** frames of any episode of a dataset of type LeRobotDataset. Note: The last frame of the episode doesnt always correspond to a final state. @@ -47,6 +62,7 @@ local$ rerun ws://localhost:9087 """ import argparse +import gc import logging import time from pathlib import Path @@ -115,15 +131,17 @@ def visualize_dataset( spawn_local_viewer = mode == "local" and not save rr.init(f"{repo_id}/episode_{episode_index}", spawn=spawn_local_viewer) + + # Manually call python garbage collector after `rr.init` to avoid hanging in a blocking flush + # when iterating on a dataloader with `num_workers` > 0 + # TODO(rcadene): remove `gc.collect` when rerun version 0.16 is out, which includes a fix + gc.collect() + if mode == "distant": rr.serve(open_browser=False, web_port=web_port, ws_port=ws_port) logging.info("Logging to Rerun") - if num_workers > 0: - # TODO(rcadene): fix data workers hanging when `rr.init` is called - logging.warning("If data loader is hanging, try `--num-workers 0`.") - for batch in tqdm.tqdm(dataloader, total=len(dataloader)): # iterate over the batch for i in range(len(batch["index"])): @@ -196,7 +214,7 @@ def main(): parser.add_argument( "--num-workers", type=int, - default=0, + default=4, help="Number of processes of Dataloader for loading the data.", ) parser.add_argument( diff --git a/poetry.lock b/poetry.lock index 616f4a6a..976e879b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -4,7 +4,7 @@ name = "absl-py" version = "2.1.0" description = "Abseil Python Common Libraries, see https://github.com/abseil/abseil-py." -optional = false +optional = true python-versions = ">=3.7" files = [ {file = "absl-py-2.1.0.tar.gz", hash = "sha256:7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff"}, @@ -131,17 +131,6 @@ files = [ {file = "antlr4-python3-runtime-4.9.3.tar.gz", hash = "sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b"}, ] -[[package]] -name = "appdirs" -version = "1.4.4" -description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -optional = false -python-versions = "*" -files = [ - {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, - {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, -] - [[package]] name = "asciitree" version = "0.3.3" @@ -415,28 +404,28 @@ files = [ [[package]] name = "cmake" -version = "3.29.2" +version = "3.29.3" description = "CMake is an open-source, cross-platform family of tools designed to build, test and package software" optional = false python-versions = ">=3.7" files = [ - {file = "cmake-3.29.2-py3-none-macosx_10_10_universal2.macosx_10_10_x86_64.macosx_11_0_arm64.macosx_11_0_universal2.whl", hash = "sha256:1d40c5451d6467b20a0a6015a5a6b6dc86f61b83f71f935740485b259100a34e"}, - {file = "cmake-3.29.2-py3-none-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ed3108e646cd65a4e23fa1cbe8123569a29334a3f2a8ce214d871406b161bedb"}, - {file = "cmake-3.29.2-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40aafe612b03a9fa140cca4024ba60b74cd92372f3f349d8062cba1f021e5001"}, - {file = "cmake-3.29.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:027eebe9bb74c31759581a543f27bc1828fc76e6fc45b2b48b51f27847904669"}, - {file = "cmake-3.29.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1f087985fc2460476b0901716fbddb2fd69b7fe7bf1350e1ab5dc508d22600e"}, - {file = "cmake-3.29.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:df2c63ce6d504aa4c91a42fd22d3887065ab029569691deb56ec19d0decd0ae9"}, - {file = "cmake-3.29.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6ea5ce007893d7d1363e13433dde1c0c7c344372213a90ff3c56e896a335301d"}, - {file = "cmake-3.29.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9e941e73202cfa667ee488d1d88b8a758b516dcfa2a2728e73dbdcbfbdebf57"}, - {file = "cmake-3.29.2-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:37222e23485338c72b7ea51f865d8c6847d519f7e2222922fb70b4896ca6e897"}, - {file = "cmake-3.29.2-py3-none-musllinux_1_1_i686.whl", hash = "sha256:eeed08932c748647488280dc97ac00bcfeae5d760451105200cfe66c52ce6468"}, - {file = "cmake-3.29.2-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:db7a05df020ba67bacd3070dd1645c76ca96fabd06d6aaa63288fd845706e47a"}, - {file = "cmake-3.29.2-py3-none-musllinux_1_1_s390x.whl", hash = "sha256:83b35de822ddabaaa184a7d8f9827381350c42d627689c775b214347f57c9e41"}, - {file = "cmake-3.29.2-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:cc0e36752e581430a93e58a268e515bb4ec1373b9e9911571f2cac1d2a6b5bec"}, - {file = "cmake-3.29.2-py3-none-win32.whl", hash = "sha256:a941e26fba81cf74832c8a0e17e007452e05b6ad4941b3d2d18c75faa4a677d8"}, - {file = "cmake-3.29.2-py3-none-win_amd64.whl", hash = "sha256:23336c8ca01205d18d92ed8de6c54e570c352a58e378b7f9adc02ef00f433960"}, - {file = "cmake-3.29.2-py3-none-win_arm64.whl", hash = "sha256:e722a949f7c91084dba61f8f17a9854787182ab711ed0b84b1507b24a8e12e25"}, - {file = "cmake-3.29.2.tar.gz", hash = "sha256:6a4c1185cb2eca7263190a5754d0c9edf738d9e50bff464f78f48d0c05318e7c"}, + {file = "cmake-3.29.3-py3-none-macosx_10_10_universal2.macosx_10_10_x86_64.macosx_11_0_arm64.macosx_11_0_universal2.whl", hash = "sha256:355f515826023338094514a2181724e297ed2145bc0792dacaa9ed3772b98733"}, + {file = "cmake-3.29.3-py3-none-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ab5eb91e7f5bbfc2f0e23c964c3a3e74c6e6a26e9b59b57b87192d249b1b7162"}, + {file = "cmake-3.29.3-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ae9e5dcd77822f89e042ad820ef25a52327bb0d15fd7a492ad4886edb31fae52"}, + {file = "cmake-3.29.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b09d1f0f46a880fdfc50374917fd4c850d9428b244535343bb5411658a36e202"}, + {file = "cmake-3.29.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8d05cf16a6fb370cc344b3552ab321524cba1f067da240876c09cab571bf6ec0"}, + {file = "cmake-3.29.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c0a23fbb3daeecdc42d233c1a2df233714c2db59e75ab154e2af469c1c308a5"}, + {file = "cmake-3.29.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1037218e135302f396eca444e24ca892d8a440589f1a859313e06484f10c350f"}, + {file = "cmake-3.29.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c84eead2ea6f596fe5ac58beedbfc9bc1f460c410c481348b3783b4794f4b1a2"}, + {file = "cmake-3.29.3-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:e1fd53ca2f24dc0aad54934c2472cb83e273b94b4bad23fcdbd438515881f5a7"}, + {file = "cmake-3.29.3-py3-none-musllinux_1_1_i686.whl", hash = "sha256:00225a2be8422d4b6f2ad2da10d7dfe2ad844748bd1defa94f236bfabb0d2d44"}, + {file = "cmake-3.29.3-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:28fe371f1865943118a0f669af87344c799751f85a5be084197c006ee6329d89"}, + {file = "cmake-3.29.3-py3-none-musllinux_1_1_s390x.whl", hash = "sha256:ad184528fa9560bf4167279e8e4e7168a5fa1cc87a9f0b4b99ffbc79588b0cf9"}, + {file = "cmake-3.29.3-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:40cd0ec1310e52fa29b4e2b07829d56ae95f01ea0b2479ece359259849269f86"}, + {file = "cmake-3.29.3-py3-none-win32.whl", hash = "sha256:a2c15ab9e4922d71d98a6495a5fd661dd00b3d4ada79a3d183f996fff45db011"}, + {file = "cmake-3.29.3-py3-none-win_amd64.whl", hash = "sha256:dd8aaffe5d8dc2dd41421dc63c39b64df30a7109392e276e2b6d021805b770e9"}, + {file = "cmake-3.29.3-py3-none-win_arm64.whl", hash = "sha256:6672a873855e9a8f954390d0352c1d09b034a36b5f4cc5da012ae292f28623f7"}, + {file = "cmake-3.29.3.tar.gz", hash = "sha256:d04adb1a8b878e92a734742cb0db9c59e3828abcf8ec9c930eb8a01faa00c9df"}, ] [package.extras] @@ -455,63 +444,63 @@ files = [ [[package]] name = "coverage" -version = "7.5.0" +version = "7.5.1" description = "Code coverage measurement for Python" optional = true python-versions = ">=3.8" files = [ - {file = "coverage-7.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:432949a32c3e3f820af808db1833d6d1631664d53dd3ce487aa25d574e18ad1c"}, - {file = "coverage-7.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2bd7065249703cbeb6d4ce679c734bef0ee69baa7bff9724361ada04a15b7e3b"}, - {file = "coverage-7.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbfe6389c5522b99768a93d89aca52ef92310a96b99782973b9d11e80511f932"}, - {file = "coverage-7.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:39793731182c4be939b4be0cdecde074b833f6171313cf53481f869937129ed3"}, - {file = "coverage-7.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85a5dbe1ba1bf38d6c63b6d2c42132d45cbee6d9f0c51b52c59aa4afba057517"}, - {file = "coverage-7.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:357754dcdfd811462a725e7501a9b4556388e8ecf66e79df6f4b988fa3d0b39a"}, - {file = "coverage-7.5.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a81eb64feded34f40c8986869a2f764f0fe2db58c0530d3a4afbcde50f314880"}, - {file = "coverage-7.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:51431d0abbed3a868e967f8257c5faf283d41ec882f58413cf295a389bb22e58"}, - {file = "coverage-7.5.0-cp310-cp310-win32.whl", hash = "sha256:f609ebcb0242d84b7adeee2b06c11a2ddaec5464d21888b2c8255f5fd6a98ae4"}, - {file = "coverage-7.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:6782cd6216fab5a83216cc39f13ebe30adfac2fa72688c5a4d8d180cd52e8f6a"}, - {file = "coverage-7.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e768d870801f68c74c2b669fc909839660180c366501d4cc4b87efd6b0eee375"}, - {file = "coverage-7.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:84921b10aeb2dd453247fd10de22907984eaf80901b578a5cf0bb1e279a587cb"}, - {file = "coverage-7.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:710c62b6e35a9a766b99b15cdc56d5aeda0914edae8bb467e9c355f75d14ee95"}, - {file = "coverage-7.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c379cdd3efc0658e652a14112d51a7668f6bfca7445c5a10dee7eabecabba19d"}, - {file = "coverage-7.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fea9d3ca80bcf17edb2c08a4704259dadac196fe5e9274067e7a20511fad1743"}, - {file = "coverage-7.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:41327143c5b1d715f5f98a397608f90ab9ebba606ae4e6f3389c2145410c52b1"}, - {file = "coverage-7.5.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:565b2e82d0968c977e0b0f7cbf25fd06d78d4856289abc79694c8edcce6eb2de"}, - {file = "coverage-7.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cf3539007202ebfe03923128fedfdd245db5860a36810136ad95a564a2fdffff"}, - {file = "coverage-7.5.0-cp311-cp311-win32.whl", hash = "sha256:bf0b4b8d9caa8d64df838e0f8dcf68fb570c5733b726d1494b87f3da85db3a2d"}, - {file = "coverage-7.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c6384cc90e37cfb60435bbbe0488444e54b98700f727f16f64d8bfda0b84656"}, - {file = "coverage-7.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fed7a72d54bd52f4aeb6c6e951f363903bd7d70bc1cad64dd1f087980d309ab9"}, - {file = "coverage-7.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cbe6581fcff7c8e262eb574244f81f5faaea539e712a058e6707a9d272fe5b64"}, - {file = "coverage-7.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad97ec0da94b378e593ef532b980c15e377df9b9608c7c6da3506953182398af"}, - {file = "coverage-7.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd4bacd62aa2f1a1627352fe68885d6ee694bdaebb16038b6e680f2924a9b2cc"}, - {file = "coverage-7.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adf032b6c105881f9d77fa17d9eebe0ad1f9bfb2ad25777811f97c5362aa07f2"}, - {file = "coverage-7.5.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4ba01d9ba112b55bfa4b24808ec431197bb34f09f66f7cb4fd0258ff9d3711b1"}, - {file = "coverage-7.5.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:f0bfe42523893c188e9616d853c47685e1c575fe25f737adf473d0405dcfa7eb"}, - {file = "coverage-7.5.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a9a7ef30a1b02547c1b23fa9a5564f03c9982fc71eb2ecb7f98c96d7a0db5cf2"}, - {file = "coverage-7.5.0-cp312-cp312-win32.whl", hash = "sha256:3c2b77f295edb9fcdb6a250f83e6481c679335ca7e6e4a955e4290350f2d22a4"}, - {file = "coverage-7.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:427e1e627b0963ac02d7c8730ca6d935df10280d230508c0ba059505e9233475"}, - {file = "coverage-7.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9dd88fce54abbdbf4c42fb1fea0e498973d07816f24c0e27a1ecaf91883ce69e"}, - {file = "coverage-7.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a898c11dca8f8c97b467138004a30133974aacd572818c383596f8d5b2eb04a9"}, - {file = "coverage-7.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07dfdd492d645eea1bd70fb1d6febdcf47db178b0d99161d8e4eed18e7f62fe7"}, - {file = "coverage-7.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d3d117890b6eee85887b1eed41eefe2e598ad6e40523d9f94c4c4b213258e4a4"}, - {file = "coverage-7.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6afd2e84e7da40fe23ca588379f815fb6dbbb1b757c883935ed11647205111cb"}, - {file = "coverage-7.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a9960dd1891b2ddf13a7fe45339cd59ecee3abb6b8326d8b932d0c5da208104f"}, - {file = "coverage-7.5.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ced268e82af993d7801a9db2dbc1d2322e786c5dc76295d8e89473d46c6b84d4"}, - {file = "coverage-7.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e7c211f25777746d468d76f11719e64acb40eed410d81c26cefac641975beb88"}, - {file = "coverage-7.5.0-cp38-cp38-win32.whl", hash = "sha256:262fffc1f6c1a26125d5d573e1ec379285a3723363f3bd9c83923c9593a2ac25"}, - {file = "coverage-7.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:eed462b4541c540d63ab57b3fc69e7d8c84d5957668854ee4e408b50e92ce26a"}, - {file = "coverage-7.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d0194d654e360b3e6cc9b774e83235bae6b9b2cac3be09040880bb0e8a88f4a1"}, - {file = "coverage-7.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:33c020d3322662e74bc507fb11488773a96894aa82a622c35a5a28673c0c26f5"}, - {file = "coverage-7.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbdf2cae14a06827bec50bd58e49249452d211d9caddd8bd80e35b53cb04631"}, - {file = "coverage-7.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3235d7c781232e525b0761730e052388a01548bd7f67d0067a253887c6e8df46"}, - {file = "coverage-7.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2de4e546f0ec4b2787d625e0b16b78e99c3e21bc1722b4977c0dddf11ca84e"}, - {file = "coverage-7.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4d0e206259b73af35c4ec1319fd04003776e11e859936658cb6ceffdeba0f5be"}, - {file = "coverage-7.5.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2055c4fb9a6ff624253d432aa471a37202cd8f458c033d6d989be4499aed037b"}, - {file = "coverage-7.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:075299460948cd12722a970c7eae43d25d37989da682997687b34ae6b87c0ef0"}, - {file = "coverage-7.5.0-cp39-cp39-win32.whl", hash = "sha256:280132aada3bc2f0fac939a5771db4fbb84f245cb35b94fae4994d4c1f80dae7"}, - {file = "coverage-7.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:c58536f6892559e030e6924896a44098bc1290663ea12532c78cef71d0df8493"}, - {file = "coverage-7.5.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:2b57780b51084d5223eee7b59f0d4911c31c16ee5aa12737c7a02455829ff067"}, - {file = "coverage-7.5.0.tar.gz", hash = "sha256:cf62d17310f34084c59c01e027259076479128d11e4661bb6c9acb38c5e19bb8"}, + {file = "coverage-7.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0884920835a033b78d1c73b6d3bbcda8161a900f38a488829a83982925f6c2e"}, + {file = "coverage-7.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:39afcd3d4339329c5f58de48a52f6e4e50f6578dd6099961cf22228feb25f38f"}, + {file = "coverage-7.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a7b0ceee8147444347da6a66be737c9d78f3353b0681715b668b72e79203e4a"}, + {file = "coverage-7.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a9ca3f2fae0088c3c71d743d85404cec8df9be818a005ea065495bedc33da35"}, + {file = "coverage-7.5.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd215c0c7d7aab005221608a3c2b46f58c0285a819565887ee0b718c052aa4e"}, + {file = "coverage-7.5.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4bf0655ab60d754491004a5efd7f9cccefcc1081a74c9ef2da4735d6ee4a6223"}, + {file = "coverage-7.5.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:61c4bf1ba021817de12b813338c9be9f0ad5b1e781b9b340a6d29fc13e7c1b5e"}, + {file = "coverage-7.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:db66fc317a046556a96b453a58eced5024af4582a8dbdc0c23ca4dbc0d5b3146"}, + {file = "coverage-7.5.1-cp310-cp310-win32.whl", hash = "sha256:b016ea6b959d3b9556cb401c55a37547135a587db0115635a443b2ce8f1c7228"}, + {file = "coverage-7.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:df4e745a81c110e7446b1cc8131bf986157770fa405fe90e15e850aaf7619bc8"}, + {file = "coverage-7.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:796a79f63eca8814ca3317a1ea443645c9ff0d18b188de470ed7ccd45ae79428"}, + {file = "coverage-7.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4fc84a37bfd98db31beae3c2748811a3fa72bf2007ff7902f68746d9757f3746"}, + {file = "coverage-7.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6175d1a0559986c6ee3f7fccfc4a90ecd12ba0a383dcc2da30c2b9918d67d8a3"}, + {file = "coverage-7.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fc81d5878cd6274ce971e0a3a18a8803c3fe25457165314271cf78e3aae3aa2"}, + {file = "coverage-7.5.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:556cf1a7cbc8028cb60e1ff0be806be2eded2daf8129b8811c63e2b9a6c43bca"}, + {file = "coverage-7.5.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9981706d300c18d8b220995ad22627647be11a4276721c10911e0e9fa44c83e8"}, + {file = "coverage-7.5.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d7fed867ee50edf1a0b4a11e8e5d0895150e572af1cd6d315d557758bfa9c057"}, + {file = "coverage-7.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ef48e2707fb320c8f139424a596f5b69955a85b178f15af261bab871873bb987"}, + {file = "coverage-7.5.1-cp311-cp311-win32.whl", hash = "sha256:9314d5678dcc665330df5b69c1e726a0e49b27df0461c08ca12674bcc19ef136"}, + {file = "coverage-7.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:5fa567e99765fe98f4e7d7394ce623e794d7cabb170f2ca2ac5a4174437e90dd"}, + {file = "coverage-7.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b6cf3764c030e5338e7f61f95bd21147963cf6aa16e09d2f74f1fa52013c1206"}, + {file = "coverage-7.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ec92012fefebee89a6b9c79bc39051a6cb3891d562b9270ab10ecfdadbc0c34"}, + {file = "coverage-7.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16db7f26000a07efcf6aea00316f6ac57e7d9a96501e990a36f40c965ec7a95d"}, + {file = "coverage-7.5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:beccf7b8a10b09c4ae543582c1319c6df47d78fd732f854ac68d518ee1fb97fa"}, + {file = "coverage-7.5.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8748731ad392d736cc9ccac03c9845b13bb07d020a33423fa5b3a36521ac6e4e"}, + {file = "coverage-7.5.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7352b9161b33fd0b643ccd1f21f3a3908daaddf414f1c6cb9d3a2fd618bf2572"}, + {file = "coverage-7.5.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7a588d39e0925f6a2bff87154752481273cdb1736270642aeb3635cb9b4cad07"}, + {file = "coverage-7.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:68f962d9b72ce69ea8621f57551b2fa9c70509af757ee3b8105d4f51b92b41a7"}, + {file = "coverage-7.5.1-cp312-cp312-win32.whl", hash = "sha256:f152cbf5b88aaeb836127d920dd0f5e7edff5a66f10c079157306c4343d86c19"}, + {file = "coverage-7.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:5a5740d1fb60ddf268a3811bcd353de34eb56dc24e8f52a7f05ee513b2d4f596"}, + {file = "coverage-7.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e2213def81a50519d7cc56ed643c9e93e0247f5bbe0d1247d15fa520814a7cd7"}, + {file = "coverage-7.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5037f8fcc2a95b1f0e80585bd9d1ec31068a9bcb157d9750a172836e98bc7a90"}, + {file = "coverage-7.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3721c2c9e4c4953a41a26c14f4cef64330392a6d2d675c8b1db3b645e31f0e"}, + {file = "coverage-7.5.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca498687ca46a62ae590253fba634a1fe9836bc56f626852fb2720f334c9e4e5"}, + {file = "coverage-7.5.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cdcbc320b14c3e5877ee79e649677cb7d89ef588852e9583e6b24c2e5072661"}, + {file = "coverage-7.5.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:57e0204b5b745594e5bc14b9b50006da722827f0b8c776949f1135677e88d0b8"}, + {file = "coverage-7.5.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8fe7502616b67b234482c3ce276ff26f39ffe88adca2acf0261df4b8454668b4"}, + {file = "coverage-7.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:9e78295f4144f9dacfed4f92935fbe1780021247c2fabf73a819b17f0ccfff8d"}, + {file = "coverage-7.5.1-cp38-cp38-win32.whl", hash = "sha256:1434e088b41594baa71188a17533083eabf5609e8e72f16ce8c186001e6b8c41"}, + {file = "coverage-7.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:0646599e9b139988b63704d704af8e8df7fa4cbc4a1f33df69d97f36cb0a38de"}, + {file = "coverage-7.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4cc37def103a2725bc672f84bd939a6fe4522310503207aae4d56351644682f1"}, + {file = "coverage-7.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fc0b4d8bfeabd25ea75e94632f5b6e047eef8adaed0c2161ada1e922e7f7cece"}, + {file = "coverage-7.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d0a0f5e06881ecedfe6f3dd2f56dcb057b6dbeb3327fd32d4b12854df36bf26"}, + {file = "coverage-7.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9735317685ba6ec7e3754798c8871c2f49aa5e687cc794a0b1d284b2389d1bd5"}, + {file = "coverage-7.5.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d21918e9ef11edf36764b93101e2ae8cc82aa5efdc7c5a4e9c6c35a48496d601"}, + {file = "coverage-7.5.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c3e757949f268364b96ca894b4c342b41dc6f8f8b66c37878aacef5930db61be"}, + {file = "coverage-7.5.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:79afb6197e2f7f60c4824dd4b2d4c2ec5801ceb6ba9ce5d2c3080e5660d51a4f"}, + {file = "coverage-7.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d1d0d98d95dd18fe29dc66808e1accf59f037d5716f86a501fc0256455219668"}, + {file = "coverage-7.5.1-cp39-cp39-win32.whl", hash = "sha256:1cc0fe9b0b3a8364093c53b0b4c0c2dd4bb23acbec4c9240b5f284095ccf7981"}, + {file = "coverage-7.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:dde0070c40ea8bb3641e811c1cfbf18e265d024deff6de52c5950677a8fb1e0f"}, + {file = "coverage-7.5.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:6537e7c10cc47c595828b8a8be04c72144725c383c4702703ff4e42e44577312"}, + {file = "coverage-7.5.1.tar.gz", hash = "sha256:54de9ef3a9da981f7af93eafde4ede199e0846cd819eb27c88e2b712aae9708c"}, ] [package.dependencies] @@ -522,13 +511,13 @@ toml = ["tomli"] [[package]] name = "datasets" -version = "2.19.0" +version = "2.19.1" description = "HuggingFace community-driven open-source library of datasets" optional = false python-versions = ">=3.8.0" files = [ - {file = "datasets-2.19.0-py3-none-any.whl", hash = "sha256:f57c5316e123d4721b970c68c1cb856505f289cda58f5557ffe745b49c011a8e"}, - {file = "datasets-2.19.0.tar.gz", hash = "sha256:0b47e08cc7af2c6800a42cadc4657b22a0afc7197786c8986d703c08d90886a6"}, + {file = "datasets-2.19.1-py3-none-any.whl", hash = "sha256:f7a78d15896f45004ccac1c298f3c7121f92f91f6f2bfbd4e4f210f827e6e411"}, + {file = "datasets-2.19.1.tar.gz", hash = "sha256:0df9ef6c5e9138cdb996a07385220109ff203c204245578b69cca905eb151d3a"}, ] [package.dependencies] @@ -778,16 +767,6 @@ files = [ [package.dependencies] six = ">=1.4.0" -[[package]] -name = "egl-probe" -version = "1.0.2" -description = "" -optional = false -python-versions = "*" -files = [ - {file = "egl_probe-1.0.2.tar.gz", hash = "sha256:29bdca7b08da1e060cfb42cd46af8300a7ac4f3b1b2eeb16e545ea16d9a5ac93"}, -] - [[package]] name = "einops" version = "0.8.0" @@ -977,13 +956,13 @@ tqdm = ["tqdm"] [[package]] name = "gdown" -version = "5.1.0" +version = "5.2.0" description = "Google Drive Public File/Folder Downloader" optional = false python-versions = ">=3.8" files = [ - {file = "gdown-5.1.0-py3-none-any.whl", hash = "sha256:421530fd238fa15d41ba43219a79fdc28efe8ac11022173abad333701b77de2c"}, - {file = "gdown-5.1.0.tar.gz", hash = "sha256:550a72dc5ca2819fe4bcc15d80d05d7c98c0b90e57256254b77d0256b9df4683"}, + {file = "gdown-5.2.0-py3-none-any.whl", hash = "sha256:33083832d82b1101bdd0e9df3edd0fbc0e1c5f14c9d8c38d2a35bf1683b526d6"}, + {file = "gdown-5.2.0.tar.gz", hash = "sha256:2145165062d85520a3cd98b356c9ed522c5e7984d408535409fd46f94defc787"}, ] [package.dependencies] @@ -993,7 +972,7 @@ requests = {version = "*", extras = ["socks"]} tqdm = "*" [package.extras] -test = ["build", "mypy", "pytest", "pytest-xdist", "ruff", "twine", "types-requests"] +test = ["build", "mypy", "pytest", "pytest-xdist", "ruff", "twine", "types-requests", "types-setuptools"] [[package]] name = "gitdb" @@ -1048,127 +1027,69 @@ files = [ [package.extras] preview = ["glfw-preview"] -[[package]] -name = "grpcio" -version = "1.63.0" -description = "HTTP/2-based RPC framework" -optional = false -python-versions = ">=3.8" -files = [ - {file = "grpcio-1.63.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:2e93aca840c29d4ab5db93f94ed0a0ca899e241f2e8aec6334ab3575dc46125c"}, - {file = "grpcio-1.63.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:91b73d3f1340fefa1e1716c8c1ec9930c676d6b10a3513ab6c26004cb02d8b3f"}, - {file = "grpcio-1.63.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:b3afbd9d6827fa6f475a4f91db55e441113f6d3eb9b7ebb8fb806e5bb6d6bd0d"}, - {file = "grpcio-1.63.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8f3f6883ce54a7a5f47db43289a0a4c776487912de1a0e2cc83fdaec9685cc9f"}, - {file = "grpcio-1.63.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf8dae9cc0412cb86c8de5a8f3be395c5119a370f3ce2e69c8b7d46bb9872c8d"}, - {file = "grpcio-1.63.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:08e1559fd3b3b4468486b26b0af64a3904a8dbc78d8d936af9c1cf9636eb3e8b"}, - {file = "grpcio-1.63.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5c039ef01516039fa39da8a8a43a95b64e288f79f42a17e6c2904a02a319b357"}, - {file = "grpcio-1.63.0-cp310-cp310-win32.whl", hash = "sha256:ad2ac8903b2eae071055a927ef74121ed52d69468e91d9bcbd028bd0e554be6d"}, - {file = "grpcio-1.63.0-cp310-cp310-win_amd64.whl", hash = "sha256:b2e44f59316716532a993ca2966636df6fbe7be4ab6f099de6815570ebe4383a"}, - {file = "grpcio-1.63.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:f28f8b2db7b86c77916829d64ab21ff49a9d8289ea1564a2b2a3a8ed9ffcccd3"}, - {file = "grpcio-1.63.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:65bf975639a1f93bee63ca60d2e4951f1b543f498d581869922910a476ead2f5"}, - {file = "grpcio-1.63.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:b5194775fec7dc3dbd6a935102bb156cd2c35efe1685b0a46c67b927c74f0cfb"}, - {file = "grpcio-1.63.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4cbb2100ee46d024c45920d16e888ee5d3cf47c66e316210bc236d5bebc42b3"}, - {file = "grpcio-1.63.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ff737cf29b5b801619f10e59b581869e32f400159e8b12d7a97e7e3bdeee6a2"}, - {file = "grpcio-1.63.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cd1e68776262dd44dedd7381b1a0ad09d9930ffb405f737d64f505eb7f77d6c7"}, - {file = "grpcio-1.63.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:93f45f27f516548e23e4ec3fbab21b060416007dbe768a111fc4611464cc773f"}, - {file = "grpcio-1.63.0-cp311-cp311-win32.whl", hash = "sha256:878b1d88d0137df60e6b09b74cdb73db123f9579232c8456f53e9abc4f62eb3c"}, - {file = "grpcio-1.63.0-cp311-cp311-win_amd64.whl", hash = "sha256:756fed02dacd24e8f488f295a913f250b56b98fb793f41d5b2de6c44fb762434"}, - {file = "grpcio-1.63.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:93a46794cc96c3a674cdfb59ef9ce84d46185fe9421baf2268ccb556f8f81f57"}, - {file = "grpcio-1.63.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a7b19dfc74d0be7032ca1eda0ed545e582ee46cd65c162f9e9fc6b26ef827dc6"}, - {file = "grpcio-1.63.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:8064d986d3a64ba21e498b9a376cbc5d6ab2e8ab0e288d39f266f0fca169b90d"}, - {file = "grpcio-1.63.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:219bb1848cd2c90348c79ed0a6b0ea51866bc7e72fa6e205e459fedab5770172"}, - {file = "grpcio-1.63.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2d60cd1d58817bc5985fae6168d8b5655c4981d448d0f5b6194bbcc038090d2"}, - {file = "grpcio-1.63.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9e350cb096e5c67832e9b6e018cf8a0d2a53b2a958f6251615173165269a91b0"}, - {file = "grpcio-1.63.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:56cdf96ff82e3cc90dbe8bac260352993f23e8e256e063c327b6cf9c88daf7a9"}, - {file = "grpcio-1.63.0-cp312-cp312-win32.whl", hash = "sha256:3a6d1f9ea965e750db7b4ee6f9fdef5fdf135abe8a249e75d84b0a3e0c668a1b"}, - {file = "grpcio-1.63.0-cp312-cp312-win_amd64.whl", hash = "sha256:d2497769895bb03efe3187fb1888fc20e98a5f18b3d14b606167dacda5789434"}, - {file = "grpcio-1.63.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:fdf348ae69c6ff484402cfdb14e18c1b0054ac2420079d575c53a60b9b2853ae"}, - {file = "grpcio-1.63.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a3abfe0b0f6798dedd2e9e92e881d9acd0fdb62ae27dcbbfa7654a57e24060c0"}, - {file = "grpcio-1.63.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:6ef0ad92873672a2a3767cb827b64741c363ebaa27e7f21659e4e31f4d750280"}, - {file = "grpcio-1.63.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b416252ac5588d9dfb8a30a191451adbf534e9ce5f56bb02cd193f12d8845b7f"}, - {file = "grpcio-1.63.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3b77eaefc74d7eb861d3ffbdf91b50a1bb1639514ebe764c47773b833fa2d91"}, - {file = "grpcio-1.63.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b005292369d9c1f80bf70c1db1c17c6c342da7576f1c689e8eee4fb0c256af85"}, - {file = "grpcio-1.63.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cdcda1156dcc41e042d1e899ba1f5c2e9f3cd7625b3d6ebfa619806a4c1aadda"}, - {file = "grpcio-1.63.0-cp38-cp38-win32.whl", hash = "sha256:01799e8649f9e94ba7db1aeb3452188048b0019dc37696b0f5ce212c87c560c3"}, - {file = "grpcio-1.63.0-cp38-cp38-win_amd64.whl", hash = "sha256:6a1a3642d76f887aa4009d92f71eb37809abceb3b7b5a1eec9c554a246f20e3a"}, - {file = "grpcio-1.63.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:75f701ff645858a2b16bc8c9fc68af215a8bb2d5a9b647448129de6e85d52bce"}, - {file = "grpcio-1.63.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cacdef0348a08e475a721967f48206a2254a1b26ee7637638d9e081761a5ba86"}, - {file = "grpcio-1.63.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:0697563d1d84d6985e40ec5ec596ff41b52abb3fd91ec240e8cb44a63b895094"}, - {file = "grpcio-1.63.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6426e1fb92d006e47476d42b8f240c1d916a6d4423c5258ccc5b105e43438f61"}, - {file = "grpcio-1.63.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e48cee31bc5f5a31fb2f3b573764bd563aaa5472342860edcc7039525b53e46a"}, - {file = "grpcio-1.63.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:50344663068041b34a992c19c600236e7abb42d6ec32567916b87b4c8b8833b3"}, - {file = "grpcio-1.63.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:259e11932230d70ef24a21b9fb5bb947eb4703f57865a404054400ee92f42f5d"}, - {file = "grpcio-1.63.0-cp39-cp39-win32.whl", hash = "sha256:a44624aad77bf8ca198c55af811fd28f2b3eaf0a50ec5b57b06c034416ef2d0a"}, - {file = "grpcio-1.63.0-cp39-cp39-win_amd64.whl", hash = "sha256:166e5c460e5d7d4656ff9e63b13e1f6029b122104c1633d5f37eaea348d7356d"}, - {file = "grpcio-1.63.0.tar.gz", hash = "sha256:f3023e14805c61bc439fb40ca545ac3d5740ce66120a678a3c6c2c55b70343d1"}, -] - -[package.extras] -protobuf = ["grpcio-tools (>=1.63.0)"] - [[package]] name = "gym-aloha" -version = "0.1.0" +version = "0.1.1" description = "A gym environment for ALOHA" optional = true python-versions = "<4.0,>=3.10" files = [ - {file = "gym_aloha-0.1.0-py3-none-any.whl", hash = "sha256:62e36eeb09284422cbb7baca0292c6f65e38ec8774bf9b0bf7159ad5990cf29a"}, - {file = "gym_aloha-0.1.0.tar.gz", hash = "sha256:bab332f469ba5ffe655fc3e9647aead05d2cb3b950dfb1f299b9539b3857ad7e"}, + {file = "gym_aloha-0.1.1-py3-none-any.whl", hash = "sha256:2698037246dbb106828f0bc229b61007b0a21d5967c72cc373f7bc1083203584"}, + {file = "gym_aloha-0.1.1.tar.gz", hash = "sha256:614ae1cf116323e7b5ae2f0e9bd282c4f052aee15e839e5587ddce45995359bc"}, ] [package.dependencies] -dm-control = "1.0.14" -gymnasium = ">=0.29.1,<0.30.0" -imageio = {version = ">=2.34.0,<3.0.0", extras = ["ffmpeg"]} +dm-control = ">=1.0.14" +gymnasium = ">=0.29.1" +imageio = {version = ">=2.34.0", extras = ["ffmpeg"]} mujoco = ">=2.3.7,<3.0.0" [package.extras] -dev = ["debugpy (>=1.8.1,<2.0.0)", "pre-commit (>=3.7.0,<4.0.0)"] -test = ["pytest (>=8.1.0,<9.0.0)", "pytest-cov (>=5.0.0,<6.0.0)"] +dev = ["debugpy (>=1.8.1)", "pre-commit (>=3.7.0)"] +test = ["pytest (>=8.1.0)", "pytest-cov (>=5.0.0)"] [[package]] name = "gym-pusht" -version = "0.1.0" +version = "0.1.4" description = "A gymnasium environment for PushT." optional = true python-versions = "<4.0,>=3.10" files = [ - {file = "gym_pusht-0.1.0-py3-none-any.whl", hash = "sha256:ad0841f3b03741eb08985b703eab4931653a44fd255c26e2c82a7f71cc4dc210"}, - {file = "gym_pusht-0.1.0.tar.gz", hash = "sha256:82b26ea753f28f0277c06839c68970a4ea872fae4710402349f872ae45de83f4"}, + {file = "gym_pusht-0.1.4-py3-none-any.whl", hash = "sha256:04ec628fac80d77cf4edf280ed528ab06f7b8997e4452c78999b4730c2d269ab"}, + {file = "gym_pusht-0.1.4.tar.gz", hash = "sha256:5926ef8098bde7f6a180bdd34b4ce3a827fb333847cc54d8ad47c430e249f44c"}, ] [package.dependencies] -gymnasium = ">=0.29.1,<0.30.0" -opencv-python = ">=4.9.0.80,<5.0.0.0" -pygame = ">=2.5.2,<3.0.0" -pymunk = ">=6.6.0,<7.0.0" -scikit-image = ">=0.22.0,<0.23.0" -shapely = ">=2.0.3,<3.0.0" +gymnasium = ">=0.29.1" +opencv-python = ">=4.9.0" +pygame = ">=2.5.2" +pymunk = ">=6.6.0" +scikit-image = ">=0.22.0" +shapely = ">=2.0.3" [package.extras] -dev = ["debugpy (>=1.8.1,<2.0.0)", "pre-commit (>=3.7.0,<4.0.0)"] -test = ["pytest (>=8.1.0,<9.0.0)", "pytest-cov (>=5.0.0,<6.0.0)"] +dev = ["debugpy (>=1.8.1)", "pre-commit (>=3.7.0)"] +test = ["pytest (>=8.1.0)", "pytest-cov (>=5.0.0)"] [[package]] name = "gym-xarm" -version = "0.1.0" +version = "0.1.1" description = "A gym environment for xArm" optional = true python-versions = "<4.0,>=3.10" files = [ - {file = "gym_xarm-0.1.0-py3-none-any.whl", hash = "sha256:d10ac19a59d302201a9b8bd913530211b1058467b787ad91a657907e40cdbc13"}, - {file = "gym_xarm-0.1.0.tar.gz", hash = "sha256:fc05f9d02af1f0205275311669dc191ce431be484e221a96401eb544764eb986"}, + {file = "gym_xarm-0.1.1-py3-none-any.whl", hash = "sha256:3bd7e3c1c5521ba80a56536f01a5e11321580704d72160355ce47a828a8808ad"}, + {file = "gym_xarm-0.1.1.tar.gz", hash = "sha256:e455524561b02d06b92a4f7d524f448d84a7484d9a2dbc78600e3c66240e0fb7"}, ] [package.dependencies] -gymnasium = ">=0.29.1,<0.30.0" -gymnasium-robotics = ">=1.2.4,<2.0.0" +gymnasium = ">=0.29.1" +gymnasium-robotics = ">=1.2.4" mujoco = ">=2.3.7,<3.0.0" [package.extras] -dev = ["debugpy (>=1.8.1,<2.0.0)", "pre-commit (>=3.7.0,<4.0.0)"] -test = ["pytest (>=8.1.0,<9.0.0)", "pytest-cov (>=5.0.0,<6.0.0)"] +dev = ["debugpy (>=1.8.1)", "pre-commit (>=3.7.0)"] +test = ["pytest (>=8.1.0)", "pytest-cov (>=5.0.0)"] [[package]] name = "gymnasium" @@ -1256,20 +1177,93 @@ files = [ [package.dependencies] numpy = ">=1.17.3" +[[package]] +name = "hf-transfer" +version = "0.1.6" +description = "" +optional = false +python-versions = ">=3.7" +files = [ + {file = "hf_transfer-0.1.6-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6fd3d61f9229d27def007e53540412507b74ac2fdb1a29985ae0b6a5137749a2"}, + {file = "hf_transfer-0.1.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b043bb78df1225de043eb041de9d97783fcca14a0bdc1b1d560fc172fc21b648"}, + {file = "hf_transfer-0.1.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7db60dd18eae4fa6ea157235fb82196cde5313995b396d1b591aad3b790a7f8f"}, + {file = "hf_transfer-0.1.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:30d31dbab9b5a558cce407b8728e39d87d7af1ef8745ddb90187e9ae0b9e1e90"}, + {file = "hf_transfer-0.1.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f6b368bddd757efc7af3126ba81f9ac8f9435e2cc00902cb3d64f2be28d8f719"}, + {file = "hf_transfer-0.1.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa2086d8aefaaa3e144e167324574882004c0cec49bf2d0638ec4b74732d8da0"}, + {file = "hf_transfer-0.1.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:45d8985a0940bfe1535cb4ca781f5c11e47c83798ef3373ee1f5d57bbe527a9c"}, + {file = "hf_transfer-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f42b89735f1cde22f2a795d1f0915741023235666be7de45879e533c7d6010c"}, + {file = "hf_transfer-0.1.6-cp310-none-win32.whl", hash = "sha256:2d2c4c4613f3ad45b6ce6291e347b2d3ba1b86816635681436567e461cb3c961"}, + {file = "hf_transfer-0.1.6-cp310-none-win_amd64.whl", hash = "sha256:78b0eed8d8dce60168a46e584b9742b816af127d7e410a713e12c31249195342"}, + {file = "hf_transfer-0.1.6-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f1d8c172153f9a6cdaecf137612c42796076f61f6bea1072c90ac2e17c1ab6fa"}, + {file = "hf_transfer-0.1.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2c601996351f90c514a75a0eeb02bf700b1ad1db2d946cbfe4b60b79e29f0b2f"}, + {file = "hf_transfer-0.1.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e585c808405557d3f5488f385706abb696997bbae262ea04520757e30836d9d"}, + {file = "hf_transfer-0.1.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ec51af1e8cf4268c268bd88932ade3d7ca895a3c661b42493503f02610ae906b"}, + {file = "hf_transfer-0.1.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d106fdf996332f6df3ed3fab6d6332df82e8c1fb4b20fd81a491ca4d2ab5616a"}, + {file = "hf_transfer-0.1.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e9c2ee9e9fde5a0319cc0e8ddfea10897482bc06d5709b10a238f1bc2ebcbc0b"}, + {file = "hf_transfer-0.1.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f394ea32bc7802b061e549d3133efc523b4ae4fd19bf4b74b183ca6066eef94e"}, + {file = "hf_transfer-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4282f09902114cd67fca98a1a1bad569a44521a8395fedf327e966714f68b977"}, + {file = "hf_transfer-0.1.6-cp311-none-win32.whl", hash = "sha256:276dbf307d5ab6f1bcbf57b5918bfcf9c59d6848ccb28242349e1bb5985f983b"}, + {file = "hf_transfer-0.1.6-cp311-none-win_amd64.whl", hash = "sha256:fa475175c51451186bea804471995fa8e7b2a48a61dcca55534911dc25955527"}, + {file = "hf_transfer-0.1.6-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:23d157a67acfa00007799323a1c441b2bbacc7dee625b016b7946fe0e25e6c89"}, + {file = "hf_transfer-0.1.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6067342a2864b988f861cd2d31bd78eb1e84d153a3f6df38485b6696d9ad3013"}, + {file = "hf_transfer-0.1.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91cfcb3070e205b58fa8dc8bcb6a62ccc40913fcdb9cd1ff7c364c8e3aa85345"}, + {file = "hf_transfer-0.1.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb76064ac5165d5eeaaf8d0903e8bf55477221ecc2a4a4d69f0baca065ab905b"}, + {file = "hf_transfer-0.1.6-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dabd3a177d83028f164984cf4dd859f77ec1e20c97a6f307ff8fcada0785ef1"}, + {file = "hf_transfer-0.1.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d0bf4254e44f64a26e0a5b73b5d7e8d91bb36870718fb4f8e126ec943ff4c805"}, + {file = "hf_transfer-0.1.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d32c1b106f38f336ceb21531f4db9b57d777b9a33017dafdb6a5316388ebe50"}, + {file = "hf_transfer-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff05aba3c83921e5c7635ba9f07c693cc893350c447644824043aeac27b285f5"}, + {file = "hf_transfer-0.1.6-cp312-none-win32.whl", hash = "sha256:051ef0c55607652cb5974f59638da035773254b9a07d7ee5b574fe062de4c9d1"}, + {file = "hf_transfer-0.1.6-cp312-none-win_amd64.whl", hash = "sha256:716fb5c574fcbdd8092ce73f9b6c66f42e3544337490f77c60ec07df02bd081b"}, + {file = "hf_transfer-0.1.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c0c981134a55965e279cb7be778c1ccaf93f902fc9ebe31da4f30caf824cc4d"}, + {file = "hf_transfer-0.1.6-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ef1f145f04c5b573915bcb1eb5db4039c74f6b46fce73fc473c4287e613b623"}, + {file = "hf_transfer-0.1.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0a7609b004db3347dbb7796df45403eceb171238210d054d93897d6d84c63a4"}, + {file = "hf_transfer-0.1.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60f0864bf5996773dbd5f8ae4d1649041f773fe9d5769f4c0eeb5553100acef3"}, + {file = "hf_transfer-0.1.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d01e55d630ffe70a4f5d0ed576a04c6a48d7c65ca9a7d18f2fca385f20685a9"}, + {file = "hf_transfer-0.1.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d855946c5062b665190de15b2bdbd4c8eddfee35350bfb7564592e23d36fbbd3"}, + {file = "hf_transfer-0.1.6-cp37-none-win32.whl", hash = "sha256:fd40b2409cfaf3e8aba20169ee09552f69140e029adeec261b988903ff0c8f6f"}, + {file = "hf_transfer-0.1.6-cp37-none-win_amd64.whl", hash = "sha256:0e0eba49d46d3b5481919aea0794aec625fbc6ecdf13fe7e0e9f3fc5d5ad5971"}, + {file = "hf_transfer-0.1.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7e669fecb29fc454449739f9f53ed9253197e7c19e6a6eaa0f08334207af4287"}, + {file = "hf_transfer-0.1.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:89f701802892e5eb84f89f402686861f87dc227d6082b05f4e9d9b4e8015a3c3"}, + {file = "hf_transfer-0.1.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6f2b0c8b95b01409275d789a9b74d5f2e146346f985d384bf50ec727caf1ccc"}, + {file = "hf_transfer-0.1.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa855a2fa262792a230f9efcdb5da6d431b747d1861d2a69fe7834b19aea077e"}, + {file = "hf_transfer-0.1.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4aa8ca349afb2f0713475426946261eb2035e4efb50ebd2c1d5ad04f395f4217"}, + {file = "hf_transfer-0.1.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01255f043996bc7d1bae62d8afc5033a90c7e36ce308b988eeb84afe0a69562f"}, + {file = "hf_transfer-0.1.6-cp38-none-win32.whl", hash = "sha256:60b1db183e8a7540cd4f8b2160ff4de55f77cb0c3fc6a10be1e7c30eb1b2bdeb"}, + {file = "hf_transfer-0.1.6-cp38-none-win_amd64.whl", hash = "sha256:fb8be3cba6aaa50ab2e9dffbd25c8eb2046785eeff642cf0cdd0dd9ae6be3539"}, + {file = "hf_transfer-0.1.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d09af35e3e3f09b664e6429e9a0dc200f29c5bdfd88bdd9666de51183b1fe202"}, + {file = "hf_transfer-0.1.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a4505bd707cc14d85c800f961fad8ca76f804a8ad22fbb7b1a217d8d0c15e6a5"}, + {file = "hf_transfer-0.1.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c453fd8b0be9740faa23cecd1f28ee9ead7d900cefa64ff836960c503a744c9"}, + {file = "hf_transfer-0.1.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:13cb8884e718a78c3b81a8cdec9c7ac196dd42961fce55c3ccff3dd783e5ad7a"}, + {file = "hf_transfer-0.1.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39cd39df171a2b5404de69c4e6cd14eee47f6fe91c1692f939bfb9e59a0110d8"}, + {file = "hf_transfer-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ff0629ee9f98df57a783599602eb498f9ec3619dc69348b12e4d9d754abf0e9"}, + {file = "hf_transfer-0.1.6-cp39-none-win32.whl", hash = "sha256:164a6ce445eb0cc7c645f5b6e1042c003d33292520c90052b6325f30c98e4c5f"}, + {file = "hf_transfer-0.1.6-cp39-none-win_amd64.whl", hash = "sha256:11b8b4b73bf455f13218c5f827698a30ae10998ca31b8264b51052868c7a9f11"}, + {file = "hf_transfer-0.1.6-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16957ba057376a99ea361074ce1094f61b58e769defa6be2422ae59c0b6a6530"}, + {file = "hf_transfer-0.1.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7db952112e3b8ee1a5cbf500d2443e9ce4fb893281c5310a3e31469898628005"}, + {file = "hf_transfer-0.1.6-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d39d826a7344f5e39f438d62632acd00467aa54a083b66496f61ef67a9885a56"}, + {file = "hf_transfer-0.1.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4e2653fbfa92e7651db73d99b697c8684e7345c479bd6857da80bed6138abb2"}, + {file = "hf_transfer-0.1.6-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:144277e6a86add10b90ec3b583253aec777130312256bfc8d5ade5377e253807"}, + {file = "hf_transfer-0.1.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bb53bcd16365313b2aa0dbdc28206f577d70770f31249cdabc387ac5841edcc"}, + {file = "hf_transfer-0.1.6-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:990d73a5a68d8261980f146c51f4c5f9995314011cb225222021ad7c39f3af2d"}, + {file = "hf_transfer-0.1.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:652406037029ab9b4097b4c5f29321bad5f64c2b46fbff142509d918aec87c29"}, + {file = "hf_transfer-0.1.6.tar.gz", hash = "sha256:deb505a7d417d7055fd7b3549eadb91dfe782941261f3344025c486c16d1d2f9"}, +] + [[package]] name = "huggingface-hub" -version = "0.21.4" +version = "0.23.0" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" optional = false python-versions = ">=3.8.0" files = [ - {file = "huggingface_hub-0.21.4-py3-none-any.whl", hash = "sha256:df37c2c37fc6c82163cdd8a67ede261687d80d1e262526d6c0ce73b6b3630a7b"}, - {file = "huggingface_hub-0.21.4.tar.gz", hash = "sha256:e1f4968c93726565a80edf6dc309763c7b546d0cfe79aa221206034d50155531"}, + {file = "huggingface_hub-0.23.0-py3-none-any.whl", hash = "sha256:075c30d48ee7db2bba779190dc526d2c11d422aed6f9044c5e2fdc2c432fdb91"}, + {file = "huggingface_hub-0.23.0.tar.gz", hash = "sha256:7126dedd10a4c6fac796ced4d87a8cf004efc722a5125c2c09299017fa366fa9"}, ] [package.dependencies] filelock = "*" fsspec = ">=2023.5.0" +hf-transfer = {version = ">=0.1.4", optional = true, markers = "extra == \"hf-transfer\""} packaging = ">=20.9" pyyaml = ">=5.1" requests = "*" @@ -1277,15 +1271,16 @@ tqdm = ">=4.42.1" typing-extensions = ">=3.7.4.3" [package.extras] -all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "mypy (==1.5.1)", "numpy", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.3.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] cli = ["InquirerPy (==0.3.4)"] -dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.1.3)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "mypy (==1.5.1)", "numpy", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.3.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] hf-transfer = ["hf-transfer (>=0.1.4)"] -inference = ["aiohttp", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)"] -quality = ["mypy (==1.5.1)", "ruff (>=0.1.3)"] +inference = ["aiohttp", "minijinja (>=1.0)"] +quality = ["mypy (==1.5.1)", "ruff (>=0.3.0)"] tensorflow = ["graphviz", "pydot", "tensorflow"] -testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "numpy", "pydantic (>1.1,<2.0)", "pydantic (>1.1,<3.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] +tensorflow-testing = ["keras (<3.0)", "tensorflow"] +testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "numpy", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] torch = ["safetensors", "torch"] typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"] @@ -1471,13 +1466,13 @@ files = [ [[package]] name = "jinja2" -version = "3.1.3" +version = "3.1.4" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, - {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] @@ -1581,166 +1576,149 @@ files = [ [[package]] name = "lxml" -version = "5.2.1" +version = "5.2.2" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." optional = true python-versions = ">=3.6" files = [ - {file = "lxml-5.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1f7785f4f789fdb522729ae465adcaa099e2a3441519df750ebdccc481d961a1"}, - {file = "lxml-5.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6cc6ee342fb7fa2471bd9b6d6fdfc78925a697bf5c2bcd0a302e98b0d35bfad3"}, - {file = "lxml-5.2.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:794f04eec78f1d0e35d9e0c36cbbb22e42d370dda1609fb03bcd7aeb458c6377"}, - {file = "lxml-5.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817d420c60a5183953c783b0547d9eb43b7b344a2c46f69513d5952a78cddf3"}, - {file = "lxml-5.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2213afee476546a7f37c7a9b4ad4d74b1e112a6fafffc9185d6d21f043128c81"}, - {file = "lxml-5.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b070bbe8d3f0f6147689bed981d19bbb33070225373338df755a46893528104a"}, - {file = "lxml-5.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e02c5175f63effbd7c5e590399c118d5db6183bbfe8e0d118bdb5c2d1b48d937"}, - {file = "lxml-5.2.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:3dc773b2861b37b41a6136e0b72a1a44689a9c4c101e0cddb6b854016acc0aa8"}, - {file = "lxml-5.2.1-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:d7520db34088c96cc0e0a3ad51a4fd5b401f279ee112aa2b7f8f976d8582606d"}, - {file = "lxml-5.2.1-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:bcbf4af004f98793a95355980764b3d80d47117678118a44a80b721c9913436a"}, - {file = "lxml-5.2.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2b44bec7adf3e9305ce6cbfa47a4395667e744097faed97abb4728748ba7d47"}, - {file = "lxml-5.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1c5bb205e9212d0ebddf946bc07e73fa245c864a5f90f341d11ce7b0b854475d"}, - {file = "lxml-5.2.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2c9d147f754b1b0e723e6afb7ba1566ecb162fe4ea657f53d2139bbf894d050a"}, - {file = "lxml-5.2.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:3545039fa4779be2df51d6395e91a810f57122290864918b172d5dc7ca5bb433"}, - {file = "lxml-5.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a91481dbcddf1736c98a80b122afa0f7296eeb80b72344d7f45dc9f781551f56"}, - {file = "lxml-5.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2ddfe41ddc81f29a4c44c8ce239eda5ade4e7fc305fb7311759dd6229a080052"}, - {file = "lxml-5.2.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:a7baf9ffc238e4bf401299f50e971a45bfcc10a785522541a6e3179c83eabf0a"}, - {file = "lxml-5.2.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:31e9a882013c2f6bd2f2c974241bf4ba68c85eba943648ce88936d23209a2e01"}, - {file = "lxml-5.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0a15438253b34e6362b2dc41475e7f80de76320f335e70c5528b7148cac253a1"}, - {file = "lxml-5.2.1-cp310-cp310-win32.whl", hash = "sha256:6992030d43b916407c9aa52e9673612ff39a575523c5f4cf72cdef75365709a5"}, - {file = "lxml-5.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:da052e7962ea2d5e5ef5bc0355d55007407087392cf465b7ad84ce5f3e25fe0f"}, - {file = "lxml-5.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:70ac664a48aa64e5e635ae5566f5227f2ab7f66a3990d67566d9907edcbbf867"}, - {file = "lxml-5.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1ae67b4e737cddc96c99461d2f75d218bdf7a0c3d3ad5604d1f5e7464a2f9ffe"}, - {file = "lxml-5.2.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f18a5a84e16886898e51ab4b1d43acb3083c39b14c8caeb3589aabff0ee0b270"}, - {file = "lxml-5.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6f2c8372b98208ce609c9e1d707f6918cc118fea4e2c754c9f0812c04ca116d"}, - {file = "lxml-5.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:394ed3924d7a01b5bd9a0d9d946136e1c2f7b3dc337196d99e61740ed4bc6fe1"}, - {file = "lxml-5.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d077bc40a1fe984e1a9931e801e42959a1e6598edc8a3223b061d30fbd26bbc"}, - {file = "lxml-5.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:764b521b75701f60683500d8621841bec41a65eb739b8466000c6fdbc256c240"}, - {file = "lxml-5.2.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:3a6b45da02336895da82b9d472cd274b22dc27a5cea1d4b793874eead23dd14f"}, - {file = "lxml-5.2.1-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:5ea7b6766ac2dfe4bcac8b8595107665a18ef01f8c8343f00710b85096d1b53a"}, - {file = "lxml-5.2.1-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:e196a4ff48310ba62e53a8e0f97ca2bca83cdd2fe2934d8b5cb0df0a841b193a"}, - {file = "lxml-5.2.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:200e63525948e325d6a13a76ba2911f927ad399ef64f57898cf7c74e69b71095"}, - {file = "lxml-5.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:dae0ed02f6b075426accbf6b2863c3d0a7eacc1b41fb40f2251d931e50188dad"}, - {file = "lxml-5.2.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:ab31a88a651039a07a3ae327d68ebdd8bc589b16938c09ef3f32a4b809dc96ef"}, - {file = "lxml-5.2.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:df2e6f546c4df14bc81f9498bbc007fbb87669f1bb707c6138878c46b06f6510"}, - {file = "lxml-5.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5dd1537e7cc06efd81371f5d1a992bd5ab156b2b4f88834ca852de4a8ea523fa"}, - {file = "lxml-5.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9b9ec9c9978b708d488bec36b9e4c94d88fd12ccac3e62134a9d17ddba910ea9"}, - {file = "lxml-5.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:8e77c69d5892cb5ba71703c4057091e31ccf534bd7f129307a4d084d90d014b8"}, - {file = "lxml-5.2.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a8d5c70e04aac1eda5c829a26d1f75c6e5286c74743133d9f742cda8e53b9c2f"}, - {file = "lxml-5.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c94e75445b00319c1fad60f3c98b09cd63fe1134a8a953dcd48989ef42318534"}, - {file = "lxml-5.2.1-cp311-cp311-win32.whl", hash = "sha256:4951e4f7a5680a2db62f7f4ab2f84617674d36d2d76a729b9a8be4b59b3659be"}, - {file = "lxml-5.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:5c670c0406bdc845b474b680b9a5456c561c65cf366f8db5a60154088c92d102"}, - {file = "lxml-5.2.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:abc25c3cab9ec7fcd299b9bcb3b8d4a1231877e425c650fa1c7576c5107ab851"}, - {file = "lxml-5.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6935bbf153f9a965f1e07c2649c0849d29832487c52bb4a5c5066031d8b44fd5"}, - {file = "lxml-5.2.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d793bebb202a6000390a5390078e945bbb49855c29c7e4d56a85901326c3b5d9"}, - {file = "lxml-5.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd5562927cdef7c4f5550374acbc117fd4ecc05b5007bdfa57cc5355864e0a4"}, - {file = "lxml-5.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0e7259016bc4345a31af861fdce942b77c99049d6c2107ca07dc2bba2435c1d9"}, - {file = "lxml-5.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:530e7c04f72002d2f334d5257c8a51bf409db0316feee7c87e4385043be136af"}, - {file = "lxml-5.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59689a75ba8d7ffca577aefd017d08d659d86ad4585ccc73e43edbfc7476781a"}, - {file = "lxml-5.2.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f9737bf36262046213a28e789cc82d82c6ef19c85a0cf05e75c670a33342ac2c"}, - {file = "lxml-5.2.1-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:3a74c4f27167cb95c1d4af1c0b59e88b7f3e0182138db2501c353555f7ec57f4"}, - {file = "lxml-5.2.1-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:68a2610dbe138fa8c5826b3f6d98a7cfc29707b850ddcc3e21910a6fe51f6ca0"}, - {file = "lxml-5.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f0a1bc63a465b6d72569a9bba9f2ef0334c4e03958e043da1920299100bc7c08"}, - {file = "lxml-5.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c2d35a1d047efd68027817b32ab1586c1169e60ca02c65d428ae815b593e65d4"}, - {file = "lxml-5.2.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:79bd05260359170f78b181b59ce871673ed01ba048deef4bf49a36ab3e72e80b"}, - {file = "lxml-5.2.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:865bad62df277c04beed9478fe665b9ef63eb28fe026d5dedcb89b537d2e2ea6"}, - {file = "lxml-5.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:44f6c7caff88d988db017b9b0e4ab04934f11e3e72d478031efc7edcac6c622f"}, - {file = "lxml-5.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:71e97313406ccf55d32cc98a533ee05c61e15d11b99215b237346171c179c0b0"}, - {file = "lxml-5.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:057cdc6b86ab732cf361f8b4d8af87cf195a1f6dc5b0ff3de2dced242c2015e0"}, - {file = "lxml-5.2.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f3bbbc998d42f8e561f347e798b85513ba4da324c2b3f9b7969e9c45b10f6169"}, - {file = "lxml-5.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:491755202eb21a5e350dae00c6d9a17247769c64dcf62d8c788b5c135e179dc4"}, - {file = "lxml-5.2.1-cp312-cp312-win32.whl", hash = "sha256:8de8f9d6caa7f25b204fc861718815d41cbcf27ee8f028c89c882a0cf4ae4134"}, - {file = "lxml-5.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:f2a9efc53d5b714b8df2b4b3e992accf8ce5bbdfe544d74d5c6766c9e1146a3a"}, - {file = "lxml-5.2.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:70a9768e1b9d79edca17890175ba915654ee1725975d69ab64813dd785a2bd5c"}, - {file = "lxml-5.2.1-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c38d7b9a690b090de999835f0443d8aa93ce5f2064035dfc48f27f02b4afc3d0"}, - {file = "lxml-5.2.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5670fb70a828663cc37552a2a85bf2ac38475572b0e9b91283dc09efb52c41d1"}, - {file = "lxml-5.2.1-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:958244ad566c3ffc385f47dddde4145088a0ab893504b54b52c041987a8c1863"}, - {file = "lxml-5.2.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b6241d4eee5f89453307c2f2bfa03b50362052ca0af1efecf9fef9a41a22bb4f"}, - {file = "lxml-5.2.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:2a66bf12fbd4666dd023b6f51223aed3d9f3b40fef06ce404cb75bafd3d89536"}, - {file = "lxml-5.2.1-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:9123716666e25b7b71c4e1789ec829ed18663152008b58544d95b008ed9e21e9"}, - {file = "lxml-5.2.1-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:0c3f67e2aeda739d1cc0b1102c9a9129f7dc83901226cc24dd72ba275ced4218"}, - {file = "lxml-5.2.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:5d5792e9b3fb8d16a19f46aa8208987cfeafe082363ee2745ea8b643d9cc5b45"}, - {file = "lxml-5.2.1-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:88e22fc0a6684337d25c994381ed8a1580a6f5ebebd5ad41f89f663ff4ec2885"}, - {file = "lxml-5.2.1-cp36-cp36m-musllinux_1_2_ppc64le.whl", hash = "sha256:21c2e6b09565ba5b45ae161b438e033a86ad1736b8c838c766146eff8ceffff9"}, - {file = "lxml-5.2.1-cp36-cp36m-musllinux_1_2_s390x.whl", hash = "sha256:afbbdb120d1e78d2ba8064a68058001b871154cc57787031b645c9142b937a62"}, - {file = "lxml-5.2.1-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:627402ad8dea044dde2eccde4370560a2b750ef894c9578e1d4f8ffd54000461"}, - {file = "lxml-5.2.1-cp36-cp36m-win32.whl", hash = "sha256:e89580a581bf478d8dcb97d9cd011d567768e8bc4095f8557b21c4d4c5fea7d0"}, - {file = "lxml-5.2.1-cp36-cp36m-win_amd64.whl", hash = "sha256:59565f10607c244bc4c05c0c5fa0c190c990996e0c719d05deec7030c2aa8289"}, - {file = "lxml-5.2.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:857500f88b17a6479202ff5fe5f580fc3404922cd02ab3716197adf1ef628029"}, - {file = "lxml-5.2.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:56c22432809085b3f3ae04e6e7bdd36883d7258fcd90e53ba7b2e463efc7a6af"}, - {file = "lxml-5.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a55ee573116ba208932e2d1a037cc4b10d2c1cb264ced2184d00b18ce585b2c0"}, - {file = "lxml-5.2.1-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:6cf58416653c5901e12624e4013708b6e11142956e7f35e7a83f1ab02f3fe456"}, - {file = "lxml-5.2.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:64c2baa7774bc22dd4474248ba16fe1a7f611c13ac6123408694d4cc93d66dbd"}, - {file = "lxml-5.2.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:74b28c6334cca4dd704e8004cba1955af0b778cf449142e581e404bd211fb619"}, - {file = "lxml-5.2.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7221d49259aa1e5a8f00d3d28b1e0b76031655ca74bb287123ef56c3db92f213"}, - {file = "lxml-5.2.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3dbe858ee582cbb2c6294dc85f55b5f19c918c2597855e950f34b660f1a5ede6"}, - {file = "lxml-5.2.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:04ab5415bf6c86e0518d57240a96c4d1fcfc3cb370bb2ac2a732b67f579e5a04"}, - {file = "lxml-5.2.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:6ab833e4735a7e5533711a6ea2df26459b96f9eec36d23f74cafe03631647c41"}, - {file = "lxml-5.2.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f443cdef978430887ed55112b491f670bba6462cea7a7742ff8f14b7abb98d75"}, - {file = "lxml-5.2.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:9e2addd2d1866fe112bc6f80117bcc6bc25191c5ed1bfbcf9f1386a884252ae8"}, - {file = "lxml-5.2.1-cp37-cp37m-win32.whl", hash = "sha256:f51969bac61441fd31f028d7b3b45962f3ecebf691a510495e5d2cd8c8092dbd"}, - {file = "lxml-5.2.1-cp37-cp37m-win_amd64.whl", hash = "sha256:b0b58fbfa1bf7367dde8a557994e3b1637294be6cf2169810375caf8571a085c"}, - {file = "lxml-5.2.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3e183c6e3298a2ed5af9d7a356ea823bccaab4ec2349dc9ed83999fd289d14d5"}, - {file = "lxml-5.2.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:804f74efe22b6a227306dd890eecc4f8c59ff25ca35f1f14e7482bbce96ef10b"}, - {file = "lxml-5.2.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:08802f0c56ed150cc6885ae0788a321b73505d2263ee56dad84d200cab11c07a"}, - {file = "lxml-5.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f8c09ed18ecb4ebf23e02b8e7a22a05d6411911e6fabef3a36e4f371f4f2585"}, - {file = "lxml-5.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3d30321949861404323c50aebeb1943461a67cd51d4200ab02babc58bd06a86"}, - {file = "lxml-5.2.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:b560e3aa4b1d49e0e6c847d72665384db35b2f5d45f8e6a5c0072e0283430533"}, - {file = "lxml-5.2.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:058a1308914f20784c9f4674036527e7c04f7be6fb60f5d61353545aa7fcb739"}, - {file = "lxml-5.2.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:adfb84ca6b87e06bc6b146dc7da7623395db1e31621c4785ad0658c5028b37d7"}, - {file = "lxml-5.2.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:417d14450f06d51f363e41cace6488519038f940676ce9664b34ebf5653433a5"}, - {file = "lxml-5.2.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a2dfe7e2473f9b59496247aad6e23b405ddf2e12ef0765677b0081c02d6c2c0b"}, - {file = "lxml-5.2.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bf2e2458345d9bffb0d9ec16557d8858c9c88d2d11fed53998512504cd9df49b"}, - {file = "lxml-5.2.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:58278b29cb89f3e43ff3e0c756abbd1518f3ee6adad9e35b51fb101c1c1daaec"}, - {file = "lxml-5.2.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:64641a6068a16201366476731301441ce93457eb8452056f570133a6ceb15fca"}, - {file = "lxml-5.2.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:78bfa756eab503673991bdcf464917ef7845a964903d3302c5f68417ecdc948c"}, - {file = "lxml-5.2.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:11a04306fcba10cd9637e669fd73aa274c1c09ca64af79c041aa820ea992b637"}, - {file = "lxml-5.2.1-cp38-cp38-win32.whl", hash = "sha256:66bc5eb8a323ed9894f8fa0ee6cb3e3fb2403d99aee635078fd19a8bc7a5a5da"}, - {file = "lxml-5.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:9676bfc686fa6a3fa10cd4ae6b76cae8be26eb5ec6811d2a325636c460da1806"}, - {file = "lxml-5.2.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cf22b41fdae514ee2f1691b6c3cdeae666d8b7fa9434de445f12bbeee0cf48dd"}, - {file = "lxml-5.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ec42088248c596dbd61d4ae8a5b004f97a4d91a9fd286f632e42e60b706718d7"}, - {file = "lxml-5.2.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd53553ddad4a9c2f1f022756ae64abe16da1feb497edf4d9f87f99ec7cf86bd"}, - {file = "lxml-5.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feaa45c0eae424d3e90d78823f3828e7dc42a42f21ed420db98da2c4ecf0a2cb"}, - {file = "lxml-5.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddc678fb4c7e30cf830a2b5a8d869538bc55b28d6c68544d09c7d0d8f17694dc"}, - {file = "lxml-5.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:853e074d4931dbcba7480d4dcab23d5c56bd9607f92825ab80ee2bd916edea53"}, - {file = "lxml-5.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc4691d60512798304acb9207987e7b2b7c44627ea88b9d77489bbe3e6cc3bd4"}, - {file = "lxml-5.2.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:beb72935a941965c52990f3a32d7f07ce869fe21c6af8b34bf6a277b33a345d3"}, - {file = "lxml-5.2.1-cp39-cp39-manylinux_2_28_ppc64le.whl", hash = "sha256:6588c459c5627fefa30139be4d2e28a2c2a1d0d1c265aad2ba1935a7863a4913"}, - {file = "lxml-5.2.1-cp39-cp39-manylinux_2_28_s390x.whl", hash = "sha256:588008b8497667f1ddca7c99f2f85ce8511f8f7871b4a06ceede68ab62dff64b"}, - {file = "lxml-5.2.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6787b643356111dfd4032b5bffe26d2f8331556ecb79e15dacb9275da02866e"}, - {file = "lxml-5.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7c17b64b0a6ef4e5affae6a3724010a7a66bda48a62cfe0674dabd46642e8b54"}, - {file = "lxml-5.2.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:27aa20d45c2e0b8cd05da6d4759649170e8dfc4f4e5ef33a34d06f2d79075d57"}, - {file = "lxml-5.2.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:d4f2cc7060dc3646632d7f15fe68e2fa98f58e35dd5666cd525f3b35d3fed7f8"}, - {file = "lxml-5.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff46d772d5f6f73564979cd77a4fffe55c916a05f3cb70e7c9c0590059fb29ef"}, - {file = "lxml-5.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:96323338e6c14e958d775700ec8a88346014a85e5de73ac7967db0367582049b"}, - {file = "lxml-5.2.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:52421b41ac99e9d91934e4d0d0fe7da9f02bfa7536bb4431b4c05c906c8c6919"}, - {file = "lxml-5.2.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:7a7efd5b6d3e30d81ec68ab8a88252d7c7c6f13aaa875009fe3097eb4e30b84c"}, - {file = "lxml-5.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0ed777c1e8c99b63037b91f9d73a6aad20fd035d77ac84afcc205225f8f41188"}, - {file = "lxml-5.2.1-cp39-cp39-win32.whl", hash = "sha256:644df54d729ef810dcd0f7732e50e5ad1bd0a135278ed8d6bcb06f33b6b6f708"}, - {file = "lxml-5.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:9ca66b8e90daca431b7ca1408cae085d025326570e57749695d6a01454790e95"}, - {file = "lxml-5.2.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9b0ff53900566bc6325ecde9181d89afadc59c5ffa39bddf084aaedfe3b06a11"}, - {file = "lxml-5.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd6037392f2d57793ab98d9e26798f44b8b4da2f2464388588f48ac52c489ea1"}, - {file = "lxml-5.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b9c07e7a45bb64e21df4b6aa623cb8ba214dfb47d2027d90eac197329bb5e94"}, - {file = "lxml-5.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:3249cc2989d9090eeac5467e50e9ec2d40704fea9ab72f36b034ea34ee65ca98"}, - {file = "lxml-5.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f42038016852ae51b4088b2862126535cc4fc85802bfe30dea3500fdfaf1864e"}, - {file = "lxml-5.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:533658f8fbf056b70e434dff7e7aa611bcacb33e01f75de7f821810e48d1bb66"}, - {file = "lxml-5.2.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:622020d4521e22fb371e15f580d153134bfb68d6a429d1342a25f051ec72df1c"}, - {file = "lxml-5.2.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efa7b51824aa0ee957ccd5a741c73e6851de55f40d807f08069eb4c5a26b2baa"}, - {file = "lxml-5.2.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c6ad0fbf105f6bcc9300c00010a2ffa44ea6f555df1a2ad95c88f5656104817"}, - {file = "lxml-5.2.1-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e233db59c8f76630c512ab4a4daf5a5986da5c3d5b44b8e9fc742f2a24dbd460"}, - {file = "lxml-5.2.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a014510830df1475176466b6087fc0c08b47a36714823e58d8b8d7709132a96"}, - {file = "lxml-5.2.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:d38c8f50ecf57f0463399569aa388b232cf1a2ffb8f0a9a5412d0db57e054860"}, - {file = "lxml-5.2.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5aea8212fb823e006b995c4dda533edcf98a893d941f173f6c9506126188860d"}, - {file = "lxml-5.2.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ff097ae562e637409b429a7ac958a20aab237a0378c42dabaa1e3abf2f896e5f"}, - {file = "lxml-5.2.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f5d65c39f16717a47c36c756af0fb36144069c4718824b7533f803ecdf91138"}, - {file = "lxml-5.2.1-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:3d0c3dd24bb4605439bf91068598d00c6370684f8de4a67c2992683f6c309d6b"}, - {file = "lxml-5.2.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e32be23d538753a8adb6c85bd539f5fd3b15cb987404327c569dfc5fd8366e85"}, - {file = "lxml-5.2.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cc518cea79fd1e2f6c90baafa28906d4309d24f3a63e801d855e7424c5b34144"}, - {file = "lxml-5.2.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a0af35bd8ebf84888373630f73f24e86bf016642fb8576fba49d3d6b560b7cbc"}, - {file = "lxml-5.2.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8aca2e3a72f37bfc7b14ba96d4056244001ddcc18382bd0daa087fd2e68a354"}, - {file = "lxml-5.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ca1e8188b26a819387b29c3895c47a5e618708fe6f787f3b1a471de2c4a94d9"}, - {file = "lxml-5.2.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c8ba129e6d3b0136a0f50345b2cb3db53f6bda5dd8c7f5d83fbccba97fb5dcb5"}, - {file = "lxml-5.2.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e998e304036198b4f6914e6a1e2b6f925208a20e2042563d9734881150c6c246"}, - {file = "lxml-5.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d3be9b2076112e51b323bdf6d5a7f8a798de55fb8d95fcb64bd179460cdc0704"}, - {file = "lxml-5.2.1.tar.gz", hash = "sha256:3f7765e69bbce0906a7c74d5fe46d2c7a7596147318dbc08e4a2431f3060e306"}, + {file = "lxml-5.2.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:364d03207f3e603922d0d3932ef363d55bbf48e3647395765f9bfcbdf6d23632"}, + {file = "lxml-5.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:50127c186f191b8917ea2fb8b206fbebe87fd414a6084d15568c27d0a21d60db"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74e4f025ef3db1c6da4460dd27c118d8cd136d0391da4e387a15e48e5c975147"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:981a06a3076997adf7c743dcd0d7a0415582661e2517c7d961493572e909aa1d"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aef5474d913d3b05e613906ba4090433c515e13ea49c837aca18bde190853dff"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e275ea572389e41e8b039ac076a46cb87ee6b8542df3fff26f5baab43713bca"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5b65529bb2f21ac7861a0e94fdbf5dc0daab41497d18223b46ee8515e5ad297"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bcc98f911f10278d1daf14b87d65325851a1d29153caaf146877ec37031d5f36"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:b47633251727c8fe279f34025844b3b3a3e40cd1b198356d003aa146258d13a2"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:fbc9d316552f9ef7bba39f4edfad4a734d3d6f93341232a9dddadec4f15d425f"}, + {file = "lxml-5.2.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:13e69be35391ce72712184f69000cda04fc89689429179bc4c0ae5f0b7a8c21b"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3b6a30a9ab040b3f545b697cb3adbf3696c05a3a68aad172e3fd7ca73ab3c835"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a233bb68625a85126ac9f1fc66d24337d6e8a0f9207b688eec2e7c880f012ec0"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:dfa7c241073d8f2b8e8dbc7803c434f57dbb83ae2a3d7892dd068d99e96efe2c"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1a7aca7964ac4bb07680d5c9d63b9d7028cace3e2d43175cb50bba8c5ad33316"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ae4073a60ab98529ab8a72ebf429f2a8cc612619a8c04e08bed27450d52103c0"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ffb2be176fed4457e445fe540617f0252a72a8bc56208fd65a690fdb1f57660b"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e290d79a4107d7d794634ce3e985b9ae4f920380a813717adf61804904dc4393"}, + {file = "lxml-5.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:96e85aa09274955bb6bd483eaf5b12abadade01010478154b0ec70284c1b1526"}, + {file = "lxml-5.2.2-cp310-cp310-win32.whl", hash = "sha256:f956196ef61369f1685d14dad80611488d8dc1ef00be57c0c5a03064005b0f30"}, + {file = "lxml-5.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:875a3f90d7eb5c5d77e529080d95140eacb3c6d13ad5b616ee8095447b1d22e7"}, + {file = "lxml-5.2.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:45f9494613160d0405682f9eee781c7e6d1bf45f819654eb249f8f46a2c22545"}, + {file = "lxml-5.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0b3f2df149efb242cee2ffdeb6674b7f30d23c9a7af26595099afaf46ef4e88"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d28cb356f119a437cc58a13f8135ab8a4c8ece18159eb9194b0d269ec4e28083"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:657a972f46bbefdbba2d4f14413c0d079f9ae243bd68193cb5061b9732fa54c1"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b74b9ea10063efb77a965a8d5f4182806fbf59ed068b3c3fd6f30d2ac7bee734"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:07542787f86112d46d07d4f3c4e7c760282011b354d012dc4141cc12a68cef5f"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:303f540ad2dddd35b92415b74b900c749ec2010e703ab3bfd6660979d01fd4ed"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2eb2227ce1ff998faf0cd7fe85bbf086aa41dfc5af3b1d80867ecfe75fb68df3"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:1d8a701774dfc42a2f0b8ccdfe7dbc140500d1049e0632a611985d943fcf12df"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:56793b7a1a091a7c286b5f4aa1fe4ae5d1446fe742d00cdf2ffb1077865db10d"}, + {file = "lxml-5.2.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:eb00b549b13bd6d884c863554566095bf6fa9c3cecb2e7b399c4bc7904cb33b5"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a2569a1f15ae6c8c64108a2cd2b4a858fc1e13d25846be0666fc144715e32ab"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:8cf85a6e40ff1f37fe0f25719aadf443686b1ac7652593dc53c7ef9b8492b115"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:d237ba6664b8e60fd90b8549a149a74fcc675272e0e95539a00522e4ca688b04"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0b3f5016e00ae7630a4b83d0868fca1e3d494c78a75b1c7252606a3a1c5fc2ad"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23441e2b5339bc54dc949e9e675fa35efe858108404ef9aa92f0456929ef6fe8"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2fb0ba3e8566548d6c8e7dd82a8229ff47bd8fb8c2da237607ac8e5a1b8312e5"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:79d1fb9252e7e2cfe4de6e9a6610c7cbb99b9708e2c3e29057f487de5a9eaefa"}, + {file = "lxml-5.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6dcc3d17eac1df7859ae01202e9bb11ffa8c98949dcbeb1069c8b9a75917e01b"}, + {file = "lxml-5.2.2-cp311-cp311-win32.whl", hash = "sha256:4c30a2f83677876465f44c018830f608fa3c6a8a466eb223535035fbc16f3438"}, + {file = "lxml-5.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:49095a38eb333aaf44c06052fd2ec3b8f23e19747ca7ec6f6c954ffea6dbf7be"}, + {file = "lxml-5.2.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7429e7faa1a60cad26ae4227f4dd0459efde239e494c7312624ce228e04f6391"}, + {file = "lxml-5.2.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:50ccb5d355961c0f12f6cf24b7187dbabd5433f29e15147a67995474f27d1776"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc911208b18842a3a57266d8e51fc3cfaccee90a5351b92079beed912a7914c2"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33ce9e786753743159799fdf8e92a5da351158c4bfb6f2db0bf31e7892a1feb5"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ec87c44f619380878bd49ca109669c9f221d9ae6883a5bcb3616785fa8f94c97"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08ea0f606808354eb8f2dfaac095963cb25d9d28e27edcc375d7b30ab01abbf6"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75a9632f1d4f698b2e6e2e1ada40e71f369b15d69baddb8968dcc8e683839b18"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:74da9f97daec6928567b48c90ea2c82a106b2d500f397eeb8941e47d30b1ca85"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:0969e92af09c5687d769731e3f39ed62427cc72176cebb54b7a9d52cc4fa3b73"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:9164361769b6ca7769079f4d426a41df6164879f7f3568be9086e15baca61466"}, + {file = "lxml-5.2.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d26a618ae1766279f2660aca0081b2220aca6bd1aa06b2cf73f07383faf48927"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab67ed772c584b7ef2379797bf14b82df9aa5f7438c5b9a09624dd834c1c1aaf"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:3d1e35572a56941b32c239774d7e9ad724074d37f90c7a7d499ab98761bd80cf"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:8268cbcd48c5375f46e000adb1390572c98879eb4f77910c6053d25cc3ac2c67"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e282aedd63c639c07c3857097fc0e236f984ceb4089a8b284da1c526491e3f3d"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfdc2bfe69e9adf0df4915949c22a25b39d175d599bf98e7ddf620a13678585"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4aefd911793b5d2d7a921233a54c90329bf3d4a6817dc465f12ffdfe4fc7b8fe"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8b8df03a9e995b6211dafa63b32f9d405881518ff1ddd775db4e7b98fb545e1c"}, + {file = "lxml-5.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f11ae142f3a322d44513de1018b50f474f8f736bc3cd91d969f464b5bfef8836"}, + {file = "lxml-5.2.2-cp312-cp312-win32.whl", hash = "sha256:16a8326e51fcdffc886294c1e70b11ddccec836516a343f9ed0f82aac043c24a"}, + {file = "lxml-5.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:bbc4b80af581e18568ff07f6395c02114d05f4865c2812a1f02f2eaecf0bfd48"}, + {file = "lxml-5.2.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e3d9d13603410b72787579769469af730c38f2f25505573a5888a94b62b920f8"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38b67afb0a06b8575948641c1d6d68e41b83a3abeae2ca9eed2ac59892b36706"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c689d0d5381f56de7bd6966a4541bff6e08bf8d3871bbd89a0c6ab18aa699573"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:cf2a978c795b54c539f47964ec05e35c05bd045db5ca1e8366988c7f2fe6b3ce"}, + {file = "lxml-5.2.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:739e36ef7412b2bd940f75b278749106e6d025e40027c0b94a17ef7968d55d56"}, + {file = "lxml-5.2.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d8bbcd21769594dbba9c37d3c819e2d5847656ca99c747ddb31ac1701d0c0ed9"}, + {file = "lxml-5.2.2-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:2304d3c93f2258ccf2cf7a6ba8c761d76ef84948d87bf9664e14d203da2cd264"}, + {file = "lxml-5.2.2-cp36-cp36m-win32.whl", hash = "sha256:02437fb7308386867c8b7b0e5bc4cd4b04548b1c5d089ffb8e7b31009b961dc3"}, + {file = "lxml-5.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:edcfa83e03370032a489430215c1e7783128808fd3e2e0a3225deee278585196"}, + {file = "lxml-5.2.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:28bf95177400066596cdbcfc933312493799382879da504633d16cf60bba735b"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a745cc98d504d5bd2c19b10c79c61c7c3df9222629f1b6210c0368177589fb8"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b336b0416828022bfd5a2e3083e7f5ba54b96242159f83c7e3eebaec752f1716"}, + {file = "lxml-5.2.2-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:4bc6cb140a7a0ad1f7bc37e018d0ed690b7b6520ade518285dc3171f7a117905"}, + {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:57f0a0bbc9868e10ebe874e9f129d2917750adf008fe7b9c1598c0fbbfdde6a6"}, + {file = "lxml-5.2.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:60499fe961b21264e17a471ec296dcbf4365fbea611bf9e303ab69db7159ce61"}, + {file = "lxml-5.2.2-cp37-cp37m-win32.whl", hash = "sha256:d9b342c76003c6b9336a80efcc766748a333573abf9350f4094ee46b006ec18f"}, + {file = "lxml-5.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b16db2770517b8799c79aa80f4053cd6f8b716f21f8aca962725a9565ce3ee40"}, + {file = "lxml-5.2.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7ed07b3062b055d7a7f9d6557a251cc655eed0b3152b76de619516621c56f5d3"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f60fdd125d85bf9c279ffb8e94c78c51b3b6a37711464e1f5f31078b45002421"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7e24cb69ee5f32e003f50e016d5fde438010c1022c96738b04fc2423e61706"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23cfafd56887eaed93d07bc4547abd5e09d837a002b791e9767765492a75883f"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:19b4e485cd07b7d83e3fe3b72132e7df70bfac22b14fe4bf7a23822c3a35bff5"}, + {file = "lxml-5.2.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7ce7ad8abebe737ad6143d9d3bf94b88b93365ea30a5b81f6877ec9c0dee0a48"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e49b052b768bb74f58c7dda4e0bdf7b79d43a9204ca584ffe1fb48a6f3c84c66"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d14a0d029a4e176795cef99c056d58067c06195e0c7e2dbb293bf95c08f772a3"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:be49ad33819d7dcc28a309b86d4ed98e1a65f3075c6acd3cd4fe32103235222b"}, + {file = "lxml-5.2.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a6d17e0370d2516d5bb9062c7b4cb731cff921fc875644c3d751ad857ba9c5b1"}, + {file = "lxml-5.2.2-cp38-cp38-win32.whl", hash = "sha256:5b8c041b6265e08eac8a724b74b655404070b636a8dd6d7a13c3adc07882ef30"}, + {file = "lxml-5.2.2-cp38-cp38-win_amd64.whl", hash = "sha256:f61efaf4bed1cc0860e567d2ecb2363974d414f7f1f124b1df368bbf183453a6"}, + {file = "lxml-5.2.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fb91819461b1b56d06fa4bcf86617fac795f6a99d12239fb0c68dbeba41a0a30"}, + {file = "lxml-5.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d4ed0c7cbecde7194cd3228c044e86bf73e30a23505af852857c09c24e77ec5d"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54401c77a63cc7d6dc4b4e173bb484f28a5607f3df71484709fe037c92d4f0ed"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:625e3ef310e7fa3a761d48ca7ea1f9d8718a32b1542e727d584d82f4453d5eeb"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:519895c99c815a1a24a926d5b60627ce5ea48e9f639a5cd328bda0515ea0f10c"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c7079d5eb1c1315a858bbf180000757db8ad904a89476653232db835c3114001"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:343ab62e9ca78094f2306aefed67dcfad61c4683f87eee48ff2fd74902447726"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:cd9e78285da6c9ba2d5c769628f43ef66d96ac3085e59b10ad4f3707980710d3"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_ppc64le.whl", hash = "sha256:546cf886f6242dff9ec206331209db9c8e1643ae642dea5fdbecae2453cb50fd"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_s390x.whl", hash = "sha256:02f6a8eb6512fdc2fd4ca10a49c341c4e109aa6e9448cc4859af5b949622715a"}, + {file = "lxml-5.2.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:339ee4a4704bc724757cd5dd9dc8cf4d00980f5d3e6e06d5847c1b594ace68ab"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0a028b61a2e357ace98b1615fc03f76eb517cc028993964fe08ad514b1e8892d"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f90e552ecbad426eab352e7b2933091f2be77115bb16f09f78404861c8322981"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:d83e2d94b69bf31ead2fa45f0acdef0757fa0458a129734f59f67f3d2eb7ef32"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a02d3c48f9bb1e10c7788d92c0c7db6f2002d024ab6e74d6f45ae33e3d0288a3"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6d68ce8e7b2075390e8ac1e1d3a99e8b6372c694bbe612632606d1d546794207"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:453d037e09a5176d92ec0fd282e934ed26d806331a8b70ab431a81e2fbabf56d"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:3b019d4ee84b683342af793b56bb35034bd749e4cbdd3d33f7d1107790f8c472"}, + {file = "lxml-5.2.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb3942960f0beb9f46e2a71a3aca220d1ca32feb5a398656be934320804c0df9"}, + {file = "lxml-5.2.2-cp39-cp39-win32.whl", hash = "sha256:ac6540c9fff6e3813d29d0403ee7a81897f1d8ecc09a8ff84d2eea70ede1cdbf"}, + {file = "lxml-5.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:610b5c77428a50269f38a534057444c249976433f40f53e3b47e68349cca1425"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b537bd04d7ccd7c6350cdaaaad911f6312cbd61e6e6045542f781c7f8b2e99d2"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4820c02195d6dfb7b8508ff276752f6b2ff8b64ae5d13ebe02e7667e035000b9"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a09f6184f17a80897172863a655467da2b11151ec98ba8d7af89f17bf63dae"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:76acba4c66c47d27c8365e7c10b3d8016a7da83d3191d053a58382311a8bf4e1"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b128092c927eaf485928cec0c28f6b8bead277e28acf56800e972aa2c2abd7a2"}, + {file = "lxml-5.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ae791f6bd43305aade8c0e22f816b34f3b72b6c820477aab4d18473a37e8090b"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a2f6a1bc2460e643785a2cde17293bd7a8f990884b822f7bca47bee0a82fc66b"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e8d351ff44c1638cb6e980623d517abd9f580d2e53bfcd18d8941c052a5a009"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bec4bd9133420c5c52d562469c754f27c5c9e36ee06abc169612c959bd7dbb07"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:55ce6b6d803890bd3cc89975fca9de1dff39729b43b73cb15ddd933b8bc20484"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ab6a358d1286498d80fe67bd3d69fcbc7d1359b45b41e74c4a26964ca99c3f8"}, + {file = "lxml-5.2.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:06668e39e1f3c065349c51ac27ae430719d7806c026fec462e5693b08b95696b"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9cd5323344d8ebb9fb5e96da5de5ad4ebab993bbf51674259dbe9d7a18049525"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89feb82ca055af0fe797a2323ec9043b26bc371365847dbe83c7fd2e2f181c34"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e481bba1e11ba585fb06db666bfc23dbe181dbafc7b25776156120bf12e0d5a6"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:9d6c6ea6a11ca0ff9cd0390b885984ed31157c168565702959c25e2191674a14"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3d98de734abee23e61f6b8c2e08a88453ada7d6486dc7cdc82922a03968928db"}, + {file = "lxml-5.2.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:69ab77a1373f1e7563e0fb5a29a8440367dec051da6c7405333699d07444f511"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:34e17913c431f5ae01d8658dbf792fdc457073dcdfbb31dc0cc6ab256e664a8d"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05f8757b03208c3f50097761be2dea0aba02e94f0dc7023ed73a7bb14ff11eb0"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a520b4f9974b0a0a6ed73c2154de57cdfd0c8800f4f15ab2b73238ffed0b36e"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5e097646944b66207023bc3c634827de858aebc226d5d4d6d16f0b77566ea182"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b5e4ef22ff25bfd4ede5f8fb30f7b24446345f3e79d9b7455aef2836437bc38a"}, + {file = "lxml-5.2.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ff69a9a0b4b17d78170c73abe2ab12084bdf1691550c5629ad1fe7849433f324"}, + {file = "lxml-5.2.2.tar.gz", hash = "sha256:bb2dc4898180bea79863d5487e5f9c7c34297414bad54bcd0f0852aee9cfdb87"}, ] [package.extras] @@ -1750,21 +1728,6 @@ html5 = ["html5lib"] htmlsoup = ["BeautifulSoup4"] source = ["Cython (>=3.0.10)"] -[[package]] -name = "markdown" -version = "3.6" -description = "Python implementation of John Gruber's Markdown." -optional = false -python-versions = ">=3.8" -files = [ - {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"}, - {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"}, -] - -[package.extras] -docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] -testing = ["coverage", "pyyaml"] - [[package]] name = "markupsafe" version = "2.1.5" @@ -2407,6 +2370,7 @@ optional = false python-versions = ">=3.9" files = [ {file = "pandas-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce"}, + {file = "pandas-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238"}, {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08"}, {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0"}, {file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51"}, @@ -2427,6 +2391,7 @@ files = [ {file = "pandas-2.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32"}, {file = "pandas-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23"}, {file = "pandas-2.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0ca6377b8fca51815f382bd0b697a0814c8bda55115678cbc94c30aacbb6eff2"}, + {file = "pandas-2.2.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9057e6aa78a584bc93a13f0a9bf7e753a5e9770a30b4d758b8d5f2a62a9433cd"}, {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:001910ad31abc7bf06f49dcc903755d2f7f3a9186c0c040b827e522e9cef0863"}, {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b479b0bd07204e37583c191535505410daa8df638fd8e75ae1b383851fe921"}, {file = "pandas-2.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a77e9d1c386196879aa5eb712e77461aaee433e54c68cf253053a73b7e49c33a"}, @@ -2583,13 +2548,13 @@ xmp = ["defusedxml"] [[package]] name = "platformdirs" -version = "4.2.1" +version = "4.2.2" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = true +optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.2.1-py3-none-any.whl", hash = "sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1"}, - {file = "platformdirs-4.2.1.tar.gz", hash = "sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf"}, + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, ] [package.extras] @@ -2614,13 +2579,13 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "pre-commit" -version = "3.7.0" +version = "3.7.1" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = true python-versions = ">=3.9" files = [ - {file = "pre_commit-3.7.0-py2.py3-none-any.whl", hash = "sha256:5eae9e10c2b5ac51577c3452ec0a490455c45a0533f7960f993a0d01e59decab"}, - {file = "pre_commit-3.7.0.tar.gz", hash = "sha256:e209d61b8acdcf742404408531f0c37d49d2c734fd7cff2d6076083d191cb060"}, + {file = "pre_commit-3.7.1-py2.py3-none-any.whl", hash = "sha256:fae36fd1d7ad7d6a5a1c0b0d5adb2ed1a3bda5a21bf6c3e5372073d7a11cd4c5"}, + {file = "pre_commit-3.7.1.tar.gz", hash = "sha256:8ca3ad567bc78a4972a3f1a477e94a79d4597e8140a6e0b651c5e33899c3654a"}, ] [package.dependencies] @@ -2694,47 +2659,47 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] [[package]] name = "pyarrow" -version = "16.0.0" +version = "16.1.0" description = "Python library for Apache Arrow" optional = false python-versions = ">=3.8" files = [ - {file = "pyarrow-16.0.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:22a1fdb1254e5095d629e29cd1ea98ed04b4bbfd8e42cc670a6b639ccc208b60"}, - {file = "pyarrow-16.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:574a00260a4ed9d118a14770edbd440b848fcae5a3024128be9d0274dbcaf858"}, - {file = "pyarrow-16.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0815d0ddb733b8c1b53a05827a91f1b8bde6240f3b20bf9ba5d650eb9b89cdf"}, - {file = "pyarrow-16.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df0080339387b5d30de31e0a149c0c11a827a10c82f0c67d9afae3981d1aabb7"}, - {file = "pyarrow-16.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:edf38cce0bf0dcf726e074159c60516447e4474904c0033f018c1f33d7dac6c5"}, - {file = "pyarrow-16.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:91d28f9a40f1264eab2af7905a4d95320ac2f287891e9c8b0035f264fe3c3a4b"}, - {file = "pyarrow-16.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:99af421ee451a78884d7faea23816c429e263bd3618b22d38e7992c9ce2a7ad9"}, - {file = "pyarrow-16.0.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:d22d0941e6c7bafddf5f4c0662e46f2075850f1c044bf1a03150dd9e189427ce"}, - {file = "pyarrow-16.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:266ddb7e823f03733c15adc8b5078db2df6980f9aa93d6bb57ece615df4e0ba7"}, - {file = "pyarrow-16.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cc23090224b6594f5a92d26ad47465af47c1d9c079dd4a0061ae39551889efe"}, - {file = "pyarrow-16.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56850a0afe9ef37249d5387355449c0f94d12ff7994af88f16803a26d38f2016"}, - {file = "pyarrow-16.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:705db70d3e2293c2f6f8e84874b5b775f690465798f66e94bb2c07bab0a6bb55"}, - {file = "pyarrow-16.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:5448564754c154997bc09e95a44b81b9e31ae918a86c0fcb35c4aa4922756f55"}, - {file = "pyarrow-16.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:729f7b262aa620c9df8b9967db96c1575e4cfc8c25d078a06968e527b8d6ec05"}, - {file = "pyarrow-16.0.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:fb8065dbc0d051bf2ae2453af0484d99a43135cadabacf0af588a3be81fbbb9b"}, - {file = "pyarrow-16.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:20ce707d9aa390593ea93218b19d0eadab56390311cb87aad32c9a869b0e958c"}, - {file = "pyarrow-16.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5823275c8addbbb50cd4e6a6839952682a33255b447277e37a6f518d6972f4e1"}, - {file = "pyarrow-16.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ab8b9050752b16a8b53fcd9853bf07d8daf19093533e990085168f40c64d978"}, - {file = "pyarrow-16.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:42e56557bc7c5c10d3e42c3b32f6cff649a29d637e8f4e8b311d334cc4326730"}, - {file = "pyarrow-16.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2a7abdee4a4a7cfa239e2e8d721224c4b34ffe69a0ca7981354fe03c1328789b"}, - {file = "pyarrow-16.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:ef2f309b68396bcc5a354106741d333494d6a0d3e1951271849787109f0229a6"}, - {file = "pyarrow-16.0.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:ed66e5217b4526fa3585b5e39b0b82f501b88a10d36bd0d2a4d8aa7b5a48e2df"}, - {file = "pyarrow-16.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cc8814310486f2a73c661ba8354540f17eef51e1b6dd090b93e3419d3a097b3a"}, - {file = "pyarrow-16.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c2f5e239db7ed43e0ad2baf46a6465f89c824cc703f38ef0fde927d8e0955f7"}, - {file = "pyarrow-16.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f293e92d1db251447cb028ae12f7bc47526e4649c3a9924c8376cab4ad6b98bd"}, - {file = "pyarrow-16.0.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:dd9334a07b6dc21afe0857aa31842365a62eca664e415a3f9536e3a8bb832c07"}, - {file = "pyarrow-16.0.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:d91073d1e2fef2c121154680e2ba7e35ecf8d4969cc0af1fa6f14a8675858159"}, - {file = "pyarrow-16.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:71d52561cd7aefd22cf52538f262850b0cc9e4ec50af2aaa601da3a16ef48877"}, - {file = "pyarrow-16.0.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:b93c9a50b965ee0bf4fef65e53b758a7e8dcc0c2d86cebcc037aaaf1b306ecc0"}, - {file = "pyarrow-16.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d831690844706e374c455fba2fb8cfcb7b797bfe53ceda4b54334316e1ac4fa4"}, - {file = "pyarrow-16.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35692ce8ad0b8c666aa60f83950957096d92f2a9d8d7deda93fb835e6053307e"}, - {file = "pyarrow-16.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dd3151d098e56f16a8389c1247137f9e4c22720b01c6f3aa6dec29a99b74d80"}, - {file = "pyarrow-16.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:bd40467bdb3cbaf2044ed7a6f7f251c8f941c8b31275aaaf88e746c4f3ca4a7a"}, - {file = "pyarrow-16.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:00a1dcb22ad4ceb8af87f7bd30cc3354788776c417f493089e0a0af981bc8d80"}, - {file = "pyarrow-16.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:fda9a7cebd1b1d46c97b511f60f73a5b766a6de4c5236f144f41a5d5afec1f35"}, - {file = "pyarrow-16.0.0.tar.gz", hash = "sha256:59bb1f1edbbf4114c72415f039f1359f1a57d166a331c3229788ccbfbb31689a"}, + {file = "pyarrow-16.1.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:17e23b9a65a70cc733d8b738baa6ad3722298fa0c81d88f63ff94bf25eaa77b9"}, + {file = "pyarrow-16.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4740cc41e2ba5d641071d0ab5e9ef9b5e6e8c7611351a5cb7c1d175eaf43674a"}, + {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98100e0268d04e0eec47b73f20b39c45b4006f3c4233719c3848aa27a03c1aef"}, + {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f68f409e7b283c085f2da014f9ef81e885d90dcd733bd648cfba3ef265961848"}, + {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:a8914cd176f448e09746037b0c6b3a9d7688cef451ec5735094055116857580c"}, + {file = "pyarrow-16.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:48be160782c0556156d91adbdd5a4a7e719f8d407cb46ae3bb4eaee09b3111bd"}, + {file = "pyarrow-16.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:9cf389d444b0f41d9fe1444b70650fea31e9d52cfcb5f818b7888b91b586efff"}, + {file = "pyarrow-16.1.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:d0ebea336b535b37eee9eee31761813086d33ed06de9ab6fc6aaa0bace7b250c"}, + {file = "pyarrow-16.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e73cfc4a99e796727919c5541c65bb88b973377501e39b9842ea71401ca6c1c"}, + {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf9251264247ecfe93e5f5a0cd43b8ae834f1e61d1abca22da55b20c788417f6"}, + {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddf5aace92d520d3d2a20031d8b0ec27b4395cab9f74e07cc95edf42a5cc0147"}, + {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:25233642583bf658f629eb230b9bb79d9af4d9f9229890b3c878699c82f7d11e"}, + {file = "pyarrow-16.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a33a64576fddfbec0a44112eaf844c20853647ca833e9a647bfae0582b2ff94b"}, + {file = "pyarrow-16.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:185d121b50836379fe012753cf15c4ba9638bda9645183ab36246923875f8d1b"}, + {file = "pyarrow-16.1.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:2e51ca1d6ed7f2e9d5c3c83decf27b0d17bb207a7dea986e8dc3e24f80ff7d6f"}, + {file = "pyarrow-16.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:06ebccb6f8cb7357de85f60d5da50e83507954af617d7b05f48af1621d331c9a"}, + {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b04707f1979815f5e49824ce52d1dceb46e2f12909a48a6a753fe7cafbc44a0c"}, + {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d32000693deff8dc5df444b032b5985a48592c0697cb6e3071a5d59888714e2"}, + {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8785bb10d5d6fd5e15d718ee1d1f914fe768bf8b4d1e5e9bf253de8a26cb1628"}, + {file = "pyarrow-16.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e1369af39587b794873b8a307cc6623a3b1194e69399af0efd05bb202195a5a7"}, + {file = "pyarrow-16.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:febde33305f1498f6df85e8020bca496d0e9ebf2093bab9e0f65e2b4ae2b3444"}, + {file = "pyarrow-16.1.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b5f5705ab977947a43ac83b52ade3b881eb6e95fcc02d76f501d549a210ba77f"}, + {file = "pyarrow-16.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0d27bf89dfc2576f6206e9cd6cf7a107c9c06dc13d53bbc25b0bd4556f19cf5f"}, + {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d07de3ee730647a600037bc1d7b7994067ed64d0eba797ac74b2bc77384f4c2"}, + {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fbef391b63f708e103df99fbaa3acf9f671d77a183a07546ba2f2c297b361e83"}, + {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:19741c4dbbbc986d38856ee7ddfdd6a00fc3b0fc2d928795b95410d38bb97d15"}, + {file = "pyarrow-16.1.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:f2c5fb249caa17b94e2b9278b36a05ce03d3180e6da0c4c3b3ce5b2788f30eed"}, + {file = "pyarrow-16.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:e6b6d3cd35fbb93b70ade1336022cc1147b95ec6af7d36906ca7fe432eb09710"}, + {file = "pyarrow-16.1.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:18da9b76a36a954665ccca8aa6bd9f46c1145f79c0bb8f4f244f5f8e799bca55"}, + {file = "pyarrow-16.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:99f7549779b6e434467d2aa43ab2b7224dd9e41bdde486020bae198978c9e05e"}, + {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f07fdffe4fd5b15f5ec15c8b64584868d063bc22b86b46c9695624ca3505b7b4"}, + {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddfe389a08ea374972bd4065d5f25d14e36b43ebc22fc75f7b951f24378bf0b5"}, + {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:3b20bd67c94b3a2ea0a749d2a5712fc845a69cb5d52e78e6449bbd295611f3aa"}, + {file = "pyarrow-16.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ba8ac20693c0bb0bf4b238751d4409e62852004a8cf031c73b0e0962b03e45e3"}, + {file = "pyarrow-16.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:31a1851751433d89a986616015841977e0a188662fcffd1a5677453f1df2de0a"}, + {file = "pyarrow-16.1.0.tar.gz", hash = "sha256:15fbb22ea96d11f0b5768504a3f961edab25eaf4197c341720c4a387f6c60315"}, ] [package.dependencies] @@ -2868,74 +2833,74 @@ files = [ [[package]] name = "pymunk" -version = "6.6.0" -description = "Pymunk is a easy-to-use pythonic 2d physics library" +version = "6.8.0" +description = "Pymunk is a easy-to-use pythonic 2D physics library" optional = false python-versions = ">=3.7" files = [ - {file = "pymunk-6.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6da50dd97683337a290110d594fad07a75153d2d837b570ef972478d739c33f8"}, - {file = "pymunk-6.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bcd7d16a2b4d51d45d6780a701f65c8d5b36fdf545c3f4738910da41e2a9c4ee"}, - {file = "pymunk-6.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32c91a783b645267518588515acdc3ff315135297eef39386d488c4ff2a7c139"}, - {file = "pymunk-6.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74694f92f46fe54e2c033b598b2c38185f456711888955aa3f67003692a3ef91"}, - {file = "pymunk-6.6.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fe011afb3f7594a679ba35dc7a44e12c8c8aacb55e58d54f14bfe8b82959695c"}, - {file = "pymunk-6.6.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:60e5cc6e33f7e880418f75a7d6b5ac3eed47396bbe7c68ca47c389de3b5d1d3a"}, - {file = "pymunk-6.6.0-cp310-cp310-win32.whl", hash = "sha256:10518074e33d4fe723bce795f705ad3e850ecec9987559ec3fa072a6539c47ad"}, - {file = "pymunk-6.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:5b163b28f9500df1bb5e123e2dba2d1f255e63be6ca098544936a93c05022a43"}, - {file = "pymunk-6.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8322594fc68858bfc0142f2f7a100cfb4edb85678a75983ce2fc58ed763afb96"}, - {file = "pymunk-6.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c1d0be60b781d1b8bb11303b25936d01cdef7ccfcc3a68b0c2fd689f63ac11c"}, - {file = "pymunk-6.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9462200c47f3eb344373077dc01384cb16355a982ce0e33571201f3b7ee44487"}, - {file = "pymunk-6.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ede46cc44432b1316a402129fc225743f7e9f502d0d055790eab877627ddfd98"}, - {file = "pymunk-6.6.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3582cd67d6ac16f122d2b7100e0b00d9b55f97a0a7e21336df885166e2bffdc3"}, - {file = "pymunk-6.6.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e4247ede965df39d2fd7ae25e9360762cce61f4d39b95af91d29c1c556c80777"}, - {file = "pymunk-6.6.0-cp311-cp311-win32.whl", hash = "sha256:a77f9bb634ab216ac8991f73aa68b4dadfd6690e8cb17627a6646dc8fecd6126"}, - {file = "pymunk-6.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:2f579e8c5498b3e8c0686841f1f5e3adf1bdd32b339ee36001ebae19bbafc008"}, - {file = "pymunk-6.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ad6ca584a9ea1d6a1536ae158350d73dbbdc637f302a86019b7fb299120439c4"}, - {file = "pymunk-6.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b86be4ecfb86d4af26c3dd2e390884305c3b8604e5df8550fbb2968d3ac78411"}, - {file = "pymunk-6.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68006cfb71351b6f23a81f541a2eca56596e69977e051e46cfe93a5ffdc410ef"}, - {file = "pymunk-6.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:361d2fa43e65aa5e47dcb50e6b058b3814e19cbdb5bf062d2da78c2b3bdba192"}, - {file = "pymunk-6.6.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:a3c35975f4172b024e0bb1be6f57f1048dcb469a8cf257c30123d11a9fe57e2a"}, - {file = "pymunk-6.6.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:35a57546294656b5bb989e08426a4926e26a17726aef35daf34c2703ee54c0e9"}, - {file = "pymunk-6.6.0-cp312-cp312-win32.whl", hash = "sha256:a68480440b60bf5acf3a7a8db1eb571e13ed425d5b693a20020f2efa9cc09592"}, - {file = "pymunk-6.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:f7ed11a1e2a306e4213d88a1879ae0fb7c2c983a890fa1b35ed26b9392213c02"}, - {file = "pymunk-6.6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:49961e339571d14afa9ebc815190ebfdda69e6ffd433536451bb07d6bc55e430"}, - {file = "pymunk-6.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70d9d5edcb2e90eeea0afb322c82d75a02e6bb77a9ff08b86daa2245a2c2a4ef"}, - {file = "pymunk-6.6.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:622746251dda14507d3655b64c93a4509125c0a651265c473945f227ba5763ec"}, - {file = "pymunk-6.6.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:35277485eb69cc5dda3f15b139723c77d69b9271f9fedf4264d08e8afdea67d0"}, - {file = "pymunk-6.6.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ceadcf03988c51697a3357d6dd3c96dd60e48b993734346edf8955fcd3770466"}, - {file = "pymunk-6.6.0-cp37-cp37m-win32.whl", hash = "sha256:0d8e0e79135e86b6e0e686fd287f297488e728cb8276fc713cb33fdd7ce4f5f2"}, - {file = "pymunk-6.6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:259a371150a9e264851d0a9caa85b5a19ba661f364da630a231a3eb326d49ca1"}, - {file = "pymunk-6.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e97ad1ce7fa3e9ea15622d1e0c45e2757f02e1c947a354888c2014799575c100"}, - {file = "pymunk-6.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a4cd70ffc259b8069eabb54ed5c7cbc39d0f5158610791c14ad0437f6cb6d18d"}, - {file = "pymunk-6.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cf85e95774a89b2adf084c0129d62f69eaa23b97b800892ddcfa7862b931bbb"}, - {file = "pymunk-6.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8d60b9fcde952d6e25c740a1ced5612ace59fa85e578986f7f053a538a681ed"}, - {file = "pymunk-6.6.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5652c423ea2769b1d44e33fd2b19f2a6f7f4a34acacec9a86b63c780ac611552"}, - {file = "pymunk-6.6.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:939e46d9021cb5bc6ac4dbecafe89245af2b8325787869983b0a99181e37fd39"}, - {file = "pymunk-6.6.0-cp38-cp38-win32.whl", hash = "sha256:7785f5ac0597be5693dd2da819233297984d324b6470bf31b76c71399f25a18e"}, - {file = "pymunk-6.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:26a0834207785878ba2bb244ab5616d9b6e09d01c2f19641f10247ca22d3c10e"}, - {file = "pymunk-6.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ed23f05a65687750cba4d6cde045147d28eee84e44cd33829b79601dc655adf3"}, - {file = "pymunk-6.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b2c23f2f182f91944c4ba5cfd6f652e873e6e8b113506c3eca255df5e6c79b6e"}, - {file = "pymunk-6.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c51b6de5869dcb103467d8ac75f62a1a9f43faa18bf12e37e89247b2d5554a61"}, - {file = "pymunk-6.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b44c4420b43cfdfedd2278e3beb60970a9a9564f1272c7cc74090931268ab43"}, - {file = "pymunk-6.6.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4b8d9c14275fd4853ae863e38bec8a7ae4c7aef4417550ff74fc9f68f120fa00"}, - {file = "pymunk-6.6.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:31631a91bf29dde9c4a5f1283056cb91d451fe352f35a440c5cb668b0de19ad5"}, - {file = "pymunk-6.6.0-cp39-cp39-win32.whl", hash = "sha256:832d83570d0781e2bcba555b0974e9a5f9ee592079dfd3b183a493cf0ceaac7f"}, - {file = "pymunk-6.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:88625cca15c90dc8c0c1b55113f0ff19a8e6601ac0981804d317660c0afde9e2"}, - {file = "pymunk-6.6.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8e27a8c7b762d43e91f18c320ad849c113dead500184d151aa14bd11a62c2c47"}, - {file = "pymunk-6.6.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aad898ca45546f084b0d88f73c771e3de0d19acc65f1171a9dbdba171945a915"}, - {file = "pymunk-6.6.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:45f537c79e817330753e6ed220b3ff46b5b983266d5b85ce7c1381a77b33d1f3"}, - {file = "pymunk-6.6.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:609341ff1329e59ee7a67b622973064c213111e87916981bc45838f38981ba47"}, - {file = "pymunk-6.6.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:345b99d19cb848359fbefcaba54a5f1bcc8dd05b084563d693ca4d0622aa1079"}, - {file = "pymunk-6.6.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f33c418b758e06960fa28e0434c14818c0d9755f431045db05cc93e646df9b22"}, - {file = "pymunk-6.6.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:59991310cb1a6f201878e9519cbb36ff746f825c9fac49fa76cf8c85b64bf7ad"}, - {file = "pymunk-6.6.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c7513caf1add221cfa1228c12e14e0997a7212e583a59f517b68e72b1f02e08f"}, - {file = "pymunk-6.6.0.tar.gz", hash = "sha256:89be7b6ba237e313c440edfb99612de59bf119e43976d5c76802907cb7a3911c"}, + {file = "pymunk-6.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:96b363241569e616bea1d62346552e3503f2b58d6715b5bda20a13ba2522cea2"}, + {file = "pymunk-6.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91aab5c0640cddaf100eaaf6df8578aa3b97b70c5e5e0c1d26f6826eefec8e96"}, + {file = "pymunk-6.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78973d4ef0fa715e127ca408f6063c82722b883d98cf216dddd906aa00debf4e"}, + {file = "pymunk-6.8.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7944db455d81bc552fc1b2edadbf82a6b91b11ee75193552ef629d0b8106975b"}, + {file = "pymunk-6.8.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3ec2a1c2a3b2b0eac97ebd2b84dfd51bd98b2b753a33dce81f4f26fa9e1a8974"}, + {file = "pymunk-6.8.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3134ba935921e0e888d9013258f1de111bc2da05a02ec2a7d520a8c580f28fba"}, + {file = "pymunk-6.8.0-cp310-cp310-win32.whl", hash = "sha256:a3222cb84481408faf6236f4cea6a17045881e5780a4dccc170344a7a4ad160a"}, + {file = "pymunk-6.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:7f13bffe06634f23e0453b0a5e388142cdbaa06f54a243aae98e2b9c2793ebb0"}, + {file = "pymunk-6.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0db72af65205c80d15403e6784bdd7c559e620411394449356dc869b90ade1c"}, + {file = "pymunk-6.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d6e5cc30d15eba4bc33e00b9fb8c366255dac47fe486f5276f6334e8a8c34754"}, + {file = "pymunk-6.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3752e8486a4b8bfaa988be59a9773f0371d0cd52a7901fe7ba9caed1ea5b6129"}, + {file = "pymunk-6.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f20b3dfc56aee57cc910ce65505286e184e045c9169bd8d5eff50974b6a1e97"}, + {file = "pymunk-6.8.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6d807bba8fd7bae35754c29c2cb8809f0cf7817541c8cb4d134872e102899724"}, + {file = "pymunk-6.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ac39afd90800061b353cbeb71171109ef7411cc88f5607b10447b2906e4cde97"}, + {file = "pymunk-6.8.0-cp311-cp311-win32.whl", hash = "sha256:4de7683f832c694b82dbe7c20469765663f06ee82f8b711bd72731684b452889"}, + {file = "pymunk-6.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:6620fc590290c37e58c8495fb74e5eb433f24b7c7d46c8a7b4b54c56ca9990ab"}, + {file = "pymunk-6.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6eee05919e1e8f63b64a75362e82691365918b0ea33af11d2b3aab1d81402a3d"}, + {file = "pymunk-6.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b99fa28a8fa5242560a7f2d59604b9e55eed865d8308dd5f93af97ad2605f84"}, + {file = "pymunk-6.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d9be0614a4c0eaaff209656df464e9eb5653dc171a15230dd4d307a3f3564e6"}, + {file = "pymunk-6.8.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c22598b75ef99dd70fb2c6b8989c55ab00fac379555ebf68cfe7adfa65fd94e"}, + {file = "pymunk-6.8.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:533bb7555df1c904f1056ac9149e59ab039ee195fa22c69500843ef7e3f57062"}, + {file = "pymunk-6.8.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9de831180f7650c47fcfcadadf5d295e72065c8500a4c9a78f6d37229c2ca58b"}, + {file = "pymunk-6.8.0-cp312-cp312-win32.whl", hash = "sha256:8bbc9189c71a6c51825f8246e94c6642823ef42a4b3ed9c2afa7f8ec48425929"}, + {file = "pymunk-6.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:e3b61a162153dfdd0ebbab82eddb417da812085b3587ebf92a225d33df8e044d"}, + {file = "pymunk-6.8.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8a4fa8e3672a3b49850adf71b0eabacabb73db0514cbece0649bc77e1a124924"}, + {file = "pymunk-6.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ada172ee87296fdfdf5ac0d88c43502b482697185ce9b6d03d0f0d4b5b11532"}, + {file = "pymunk-6.8.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c0c9d881ca7d9a9375ce248e90f24efb298d41e4abf8e16f5c7e78c66983c34"}, + {file = "pymunk-6.8.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e5a6e2a7ff652b2977e24b4ed2d33fc7d628bd4e54ddeb488515b1475f715d91"}, + {file = "pymunk-6.8.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:12f0af3417a95c5ab97207a5e54fbc91a54c801b4560283532f5582401a1f36e"}, + {file = "pymunk-6.8.0-cp37-cp37m-win32.whl", hash = "sha256:382aaa71d7615ded7cfc644a091391cf0fd3ecf7bc556e0145d0f6982c942ee7"}, + {file = "pymunk-6.8.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c40361a2b017107303568ace3e506d87ab46d67d31484f656ba7792901d20abd"}, + {file = "pymunk-6.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:54167f0f9b65a49f35fbde56746ce7020b74b39b86ef8cec8804ef9422d258c9"}, + {file = "pymunk-6.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3e32c520ba2729c97fd5031cc0caa99de20a9b6dda85b8468cf769afa7a4a85c"}, + {file = "pymunk-6.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93c86daf68fb0785722cbea3fc36afcf9830af156de9ed99cbf2b6d6475240ab"}, + {file = "pymunk-6.8.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:269576ad7d4241c75611df0f0e3ff0b19de436f4facabb21185e579a573c91d0"}, + {file = "pymunk-6.8.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a4c90c82e6dfd35930ad779287859c3a867518065fce97fee6eeaf81a1754ea6"}, + {file = "pymunk-6.8.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06b5ce0a26a26b3490107c962632f4dd53137df14e11b0e55c9816005509dea1"}, + {file = "pymunk-6.8.0-cp38-cp38-win32.whl", hash = "sha256:ff3b4d086f47f4fee9980977ec4f1121909b5456ed05fcad3c0f2f6e224e1fef"}, + {file = "pymunk-6.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d8f7124ab9e5c69ab698d3836dc0d84e1a31d47b5e7ce6477cf5205d701887"}, + {file = "pymunk-6.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:47803f8229b95e9ae56cada9566e1b92b2789affe2229ed623d3a871fd307982"}, + {file = "pymunk-6.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:194cf34146b7393ebdd2e37cb50d5579e737baf378f900a50ff477c909a163c9"}, + {file = "pymunk-6.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af8d9d0a26dc4d504ac881407ac9d7689b0c89bf8c0535717c15583773eb965"}, + {file = "pymunk-6.8.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:79c50449c12120d05fdf515e4c937220580f945ed1eda8c374734a3418fc18e6"}, + {file = "pymunk-6.8.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:45197c7fcebff6bc3d4b7f3ccef150a6c4c43f71860e03503e851c8ecc0af861"}, + {file = "pymunk-6.8.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:183ecbbafffe8a071ffb0efb6a5daa21f05d2b9a36c0538b47fbd15b6e6fa6e5"}, + {file = "pymunk-6.8.0-cp39-cp39-win32.whl", hash = "sha256:2453eff73e474c1f282088e70a5dfd970ebc9f565c1b39b1da69df1b43dee47f"}, + {file = "pymunk-6.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:769aae66d3918fa7d9ac33fca4e693a53aba1ed801050450c1a42b4c8ecc7250"}, + {file = "pymunk-6.8.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:22153b93074e8f397e245aad2811e50ccc94502616341a1420c2a3a7332c1db0"}, + {file = "pymunk-6.8.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b6d5d62b1f8ad3b8626be64817bed709edbbd03b578e33ae3e39ab7f9301055"}, + {file = "pymunk-6.8.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50d9ff9e7caa3a7f432f4c6da4d1acd0dd1208ca22fc4cea3d48d845ac4111b3"}, + {file = "pymunk-6.8.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b0688613c641c5a018091ba9285a38cb6e53a64daa9ec3bc80006ea6c4531a32"}, + {file = "pymunk-6.8.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:42cf265d55dd90ab3441c9e0a1596094372b063713760d2a5489321d1b9beddb"}, + {file = "pymunk-6.8.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f199f1f291f7ad8ec3c00d529c6207bb7a67497b6ecd79ffb27df1aabe973d7"}, + {file = "pymunk-6.8.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:79fe51090090f4dd4e41603bbc46926be4bae3c3f554664b907fc3fda65019f8"}, + {file = "pymunk-6.8.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:03100f749d276742244d560e12ae125cbcf13606d24fd60455b52d5b9a9f7a17"}, + {file = "pymunk-6.8.0.tar.gz", hash = "sha256:882929eac3cc5107bec13da7bbe9b6a3868df87ecc373475d0d1aae82d2f5dda"}, ] [package.dependencies] cffi = ">=1.15.0" [package.extras] -dev = ["aafigure", "matplotlib", "pygame", "pyglet (<2.0.0)", "sphinx", "wheel"] +dev = ["aafigure", "matplotlib", "numpy", "pygame", "pyglet (<2.0.0)", "sphinx", "wheel"] [[package]] name = "pyopengl" @@ -3064,7 +3029,6 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -3101,90 +3065,90 @@ files = [ [[package]] name = "regex" -version = "2024.4.28" +version = "2024.5.15" description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.8" files = [ - {file = "regex-2024.4.28-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd196d056b40af073d95a2879678585f0b74ad35190fac04ca67954c582c6b61"}, - {file = "regex-2024.4.28-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8bb381f777351bd534462f63e1c6afb10a7caa9fa2a421ae22c26e796fe31b1f"}, - {file = "regex-2024.4.28-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:47af45b6153522733aa6e92543938e97a70ce0900649ba626cf5aad290b737b6"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99d6a550425cc51c656331af0e2b1651e90eaaa23fb4acde577cf15068e2e20f"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bf29304a8011feb58913c382902fde3395957a47645bf848eea695839aa101b7"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:92da587eee39a52c91aebea8b850e4e4f095fe5928d415cb7ed656b3460ae79a"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6277d426e2f31bdbacb377d17a7475e32b2d7d1f02faaecc48d8e370c6a3ff31"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:28e1f28d07220c0f3da0e8fcd5a115bbb53f8b55cecf9bec0c946eb9a059a94c"}, - {file = "regex-2024.4.28-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:aaa179975a64790c1f2701ac562b5eeb733946eeb036b5bcca05c8d928a62f10"}, - {file = "regex-2024.4.28-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6f435946b7bf7a1b438b4e6b149b947c837cb23c704e780c19ba3e6855dbbdd3"}, - {file = "regex-2024.4.28-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:19d6c11bf35a6ad077eb23852827f91c804eeb71ecb85db4ee1386825b9dc4db"}, - {file = "regex-2024.4.28-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:fdae0120cddc839eb8e3c15faa8ad541cc6d906d3eb24d82fb041cfe2807bc1e"}, - {file = "regex-2024.4.28-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:e672cf9caaf669053121f1766d659a8813bd547edef6e009205378faf45c67b8"}, - {file = "regex-2024.4.28-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f57515750d07e14743db55d59759893fdb21d2668f39e549a7d6cad5d70f9fea"}, - {file = "regex-2024.4.28-cp310-cp310-win32.whl", hash = "sha256:a1409c4eccb6981c7baabc8888d3550df518add6e06fe74fa1d9312c1838652d"}, - {file = "regex-2024.4.28-cp310-cp310-win_amd64.whl", hash = "sha256:1f687a28640f763f23f8a9801fe9e1b37338bb1ca5d564ddd41619458f1f22d1"}, - {file = "regex-2024.4.28-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:84077821c85f222362b72fdc44f7a3a13587a013a45cf14534df1cbbdc9a6796"}, - {file = "regex-2024.4.28-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b45d4503de8f4f3dc02f1d28a9b039e5504a02cc18906cfe744c11def942e9eb"}, - {file = "regex-2024.4.28-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:457c2cd5a646dd4ed536c92b535d73548fb8e216ebee602aa9f48e068fc393f3"}, - {file = "regex-2024.4.28-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b51739ddfd013c6f657b55a508de8b9ea78b56d22b236052c3a85a675102dc6"}, - {file = "regex-2024.4.28-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:459226445c7d7454981c4c0ce0ad1a72e1e751c3e417f305722bbcee6697e06a"}, - {file = "regex-2024.4.28-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:670fa596984b08a4a769491cbdf22350431970d0112e03d7e4eeaecaafcd0fec"}, - {file = "regex-2024.4.28-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe00f4fe11c8a521b173e6324d862ee7ee3412bf7107570c9b564fe1119b56fb"}, - {file = "regex-2024.4.28-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:36f392dc7763fe7924575475736bddf9ab9f7a66b920932d0ea50c2ded2f5636"}, - {file = "regex-2024.4.28-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:23a412b7b1a7063f81a742463f38821097b6a37ce1e5b89dd8e871d14dbfd86b"}, - {file = "regex-2024.4.28-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f1d6e4b7b2ae3a6a9df53efbf199e4bfcff0959dbdb5fd9ced34d4407348e39a"}, - {file = "regex-2024.4.28-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:499334ad139557de97cbc4347ee921c0e2b5e9c0f009859e74f3f77918339257"}, - {file = "regex-2024.4.28-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:0940038bec2fe9e26b203d636c44d31dd8766abc1fe66262da6484bd82461ccf"}, - {file = "regex-2024.4.28-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:66372c2a01782c5fe8e04bff4a2a0121a9897e19223d9eab30c54c50b2ebeb7f"}, - {file = "regex-2024.4.28-cp311-cp311-win32.whl", hash = "sha256:c77d10ec3c1cf328b2f501ca32583625987ea0f23a0c2a49b37a39ee5c4c4630"}, - {file = "regex-2024.4.28-cp311-cp311-win_amd64.whl", hash = "sha256:fc0916c4295c64d6890a46e02d4482bb5ccf33bf1a824c0eaa9e83b148291f90"}, - {file = "regex-2024.4.28-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:08a1749f04fee2811c7617fdd46d2e46d09106fa8f475c884b65c01326eb15c5"}, - {file = "regex-2024.4.28-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b8eb28995771c087a73338f695a08c9abfdf723d185e57b97f6175c5051ff1ae"}, - {file = "regex-2024.4.28-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dd7ef715ccb8040954d44cfeff17e6b8e9f79c8019daae2fd30a8806ef5435c0"}, - {file = "regex-2024.4.28-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb0315a2b26fde4005a7c401707c5352df274460f2f85b209cf6024271373013"}, - {file = "regex-2024.4.28-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f2fc053228a6bd3a17a9b0a3f15c3ab3cf95727b00557e92e1cfe094b88cc662"}, - {file = "regex-2024.4.28-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7fe9739a686dc44733d52d6e4f7b9c77b285e49edf8570754b322bca6b85b4cc"}, - {file = "regex-2024.4.28-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a74fcf77d979364f9b69fcf8200849ca29a374973dc193a7317698aa37d8b01c"}, - {file = "regex-2024.4.28-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:965fd0cf4694d76f6564896b422724ec7b959ef927a7cb187fc6b3f4e4f59833"}, - {file = "regex-2024.4.28-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:2fef0b38c34ae675fcbb1b5db760d40c3fc3612cfa186e9e50df5782cac02bcd"}, - {file = "regex-2024.4.28-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bc365ce25f6c7c5ed70e4bc674f9137f52b7dd6a125037f9132a7be52b8a252f"}, - {file = "regex-2024.4.28-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:ac69b394764bb857429b031d29d9604842bc4cbfd964d764b1af1868eeebc4f0"}, - {file = "regex-2024.4.28-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:144a1fc54765f5c5c36d6d4b073299832aa1ec6a746a6452c3ee7b46b3d3b11d"}, - {file = "regex-2024.4.28-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2630ca4e152c221072fd4a56d4622b5ada876f668ecd24d5ab62544ae6793ed6"}, - {file = "regex-2024.4.28-cp312-cp312-win32.whl", hash = "sha256:7f3502f03b4da52bbe8ba962621daa846f38489cae5c4a7b5d738f15f6443d17"}, - {file = "regex-2024.4.28-cp312-cp312-win_amd64.whl", hash = "sha256:0dd3f69098511e71880fb00f5815db9ed0ef62c05775395968299cb400aeab82"}, - {file = "regex-2024.4.28-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:374f690e1dd0dbdcddea4a5c9bdd97632cf656c69113f7cd6a361f2a67221cb6"}, - {file = "regex-2024.4.28-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:25f87ae6b96374db20f180eab083aafe419b194e96e4f282c40191e71980c666"}, - {file = "regex-2024.4.28-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5dbc1bcc7413eebe5f18196e22804a3be1bfdfc7e2afd415e12c068624d48247"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f85151ec5a232335f1be022b09fbbe459042ea1951d8a48fef251223fc67eee1"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:57ba112e5530530fd175ed550373eb263db4ca98b5f00694d73b18b9a02e7185"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:224803b74aab56aa7be313f92a8d9911dcade37e5f167db62a738d0c85fdac4b"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a54a047b607fd2d2d52a05e6ad294602f1e0dec2291152b745870afc47c1397"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a2a512d623f1f2d01d881513af9fc6a7c46e5cfffb7dc50c38ce959f9246c94"}, - {file = "regex-2024.4.28-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c06bf3f38f0707592898428636cbb75d0a846651b053a1cf748763e3063a6925"}, - {file = "regex-2024.4.28-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1031a5e7b048ee371ab3653aad3030ecfad6ee9ecdc85f0242c57751a05b0ac4"}, - {file = "regex-2024.4.28-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d7a353ebfa7154c871a35caca7bfd8f9e18666829a1dc187115b80e35a29393e"}, - {file = "regex-2024.4.28-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7e76b9cfbf5ced1aca15a0e5b6f229344d9b3123439ffce552b11faab0114a02"}, - {file = "regex-2024.4.28-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:5ce479ecc068bc2a74cb98dd8dba99e070d1b2f4a8371a7dfe631f85db70fe6e"}, - {file = "regex-2024.4.28-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7d77b6f63f806578c604dca209280e4c54f0fa9a8128bb8d2cc5fb6f99da4150"}, - {file = "regex-2024.4.28-cp38-cp38-win32.whl", hash = "sha256:d84308f097d7a513359757c69707ad339da799e53b7393819ec2ea36bc4beb58"}, - {file = "regex-2024.4.28-cp38-cp38-win_amd64.whl", hash = "sha256:2cc1b87bba1dd1a898e664a31012725e48af826bf3971e786c53e32e02adae6c"}, - {file = "regex-2024.4.28-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7413167c507a768eafb5424413c5b2f515c606be5bb4ef8c5dee43925aa5718b"}, - {file = "regex-2024.4.28-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:108e2dcf0b53a7c4ab8986842a8edcb8ab2e59919a74ff51c296772e8e74d0ae"}, - {file = "regex-2024.4.28-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f1c5742c31ba7d72f2dedf7968998730664b45e38827637e0f04a2ac7de2f5f1"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecc6148228c9ae25ce403eade13a0961de1cb016bdb35c6eafd8e7b87ad028b1"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7d893c8cf0e2429b823ef1a1d360a25950ed11f0e2a9df2b5198821832e1947"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4290035b169578ffbbfa50d904d26bec16a94526071ebec3dadbebf67a26b25e"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44a22ae1cfd82e4ffa2066eb3390777dc79468f866f0625261a93e44cdf6482b"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd24fd140b69f0b0bcc9165c397e9b2e89ecbeda83303abf2a072609f60239e2"}, - {file = "regex-2024.4.28-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:39fb166d2196413bead229cd64a2ffd6ec78ebab83fff7d2701103cf9f4dfd26"}, - {file = "regex-2024.4.28-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9301cc6db4d83d2c0719f7fcda37229691745168bf6ae849bea2e85fc769175d"}, - {file = "regex-2024.4.28-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7c3d389e8d76a49923683123730c33e9553063d9041658f23897f0b396b2386f"}, - {file = "regex-2024.4.28-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:99ef6289b62042500d581170d06e17f5353b111a15aa6b25b05b91c6886df8fc"}, - {file = "regex-2024.4.28-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:b91d529b47798c016d4b4c1d06cc826ac40d196da54f0de3c519f5a297c5076a"}, - {file = "regex-2024.4.28-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:43548ad74ea50456e1c68d3c67fff3de64c6edb85bcd511d1136f9b5376fc9d1"}, - {file = "regex-2024.4.28-cp39-cp39-win32.whl", hash = "sha256:05d9b6578a22db7dedb4df81451f360395828b04f4513980b6bd7a1412c679cc"}, - {file = "regex-2024.4.28-cp39-cp39-win_amd64.whl", hash = "sha256:3986217ec830c2109875be740531feb8ddafe0dfa49767cdcd072ed7e8927962"}, - {file = "regex-2024.4.28.tar.gz", hash = "sha256:83ab366777ea45d58f72593adf35d36ca911ea8bd838483c1823b883a121b0e4"}, + {file = "regex-2024.5.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a81e3cfbae20378d75185171587cbf756015ccb14840702944f014e0d93ea09f"}, + {file = "regex-2024.5.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7b59138b219ffa8979013be7bc85bb60c6f7b7575df3d56dc1e403a438c7a3f6"}, + {file = "regex-2024.5.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0bd000c6e266927cb7a1bc39d55be95c4b4f65c5be53e659537537e019232b1"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eaa7ddaf517aa095fa8da0b5015c44d03da83f5bd49c87961e3c997daed0de7"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba68168daedb2c0bab7fd7e00ced5ba90aebf91024dea3c88ad5063c2a562cca"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6e8d717bca3a6e2064fc3a08df5cbe366369f4b052dcd21b7416e6d71620dca1"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1337b7dbef9b2f71121cdbf1e97e40de33ff114801263b275aafd75303bd62b5"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9ebd0a36102fcad2f03696e8af4ae682793a5d30b46c647eaf280d6cfb32796"}, + {file = "regex-2024.5.15-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9efa1a32ad3a3ea112224897cdaeb6aa00381627f567179c0314f7b65d354c62"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1595f2d10dff3d805e054ebdc41c124753631b6a471b976963c7b28543cf13b0"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b802512f3e1f480f41ab5f2cfc0e2f761f08a1f41092d6718868082fc0d27143"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:a0981022dccabca811e8171f913de05720590c915b033b7e601f35ce4ea7019f"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:19068a6a79cf99a19ccefa44610491e9ca02c2be3305c7760d3831d38a467a6f"}, + {file = "regex-2024.5.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1b5269484f6126eee5e687785e83c6b60aad7663dafe842b34691157e5083e53"}, + {file = "regex-2024.5.15-cp310-cp310-win32.whl", hash = "sha256:ada150c5adfa8fbcbf321c30c751dc67d2f12f15bd183ffe4ec7cde351d945b3"}, + {file = "regex-2024.5.15-cp310-cp310-win_amd64.whl", hash = "sha256:ac394ff680fc46b97487941f5e6ae49a9f30ea41c6c6804832063f14b2a5a145"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f5b1dff3ad008dccf18e652283f5e5339d70bf8ba7c98bf848ac33db10f7bc7a"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c6a2b494a76983df8e3d3feea9b9ffdd558b247e60b92f877f93a1ff43d26656"}, + {file = "regex-2024.5.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a32b96f15c8ab2e7d27655969a23895eb799de3665fa94349f3b2fbfd547236f"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10002e86e6068d9e1c91eae8295ef690f02f913c57db120b58fdd35a6bb1af35"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ec54d5afa89c19c6dd8541a133be51ee1017a38b412b1321ccb8d6ddbeb4cf7d"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10e4ce0dca9ae7a66e6089bb29355d4432caed736acae36fef0fdd7879f0b0cb"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e507ff1e74373c4d3038195fdd2af30d297b4f0950eeda6f515ae3d84a1770f"}, + {file = "regex-2024.5.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1f059a4d795e646e1c37665b9d06062c62d0e8cc3c511fe01315973a6542e40"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0721931ad5fe0dda45d07f9820b90b2148ccdd8e45bb9e9b42a146cb4f695649"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:833616ddc75ad595dee848ad984d067f2f31be645d603e4d158bba656bbf516c"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:287eb7f54fc81546346207c533ad3c2c51a8d61075127d7f6d79aaf96cdee890"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:19dfb1c504781a136a80ecd1fff9f16dddf5bb43cec6871778c8a907a085bb3d"}, + {file = "regex-2024.5.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:119af6e56dce35e8dfb5222573b50c89e5508d94d55713c75126b753f834de68"}, + {file = "regex-2024.5.15-cp311-cp311-win32.whl", hash = "sha256:1c1c174d6ec38d6c8a7504087358ce9213d4332f6293a94fbf5249992ba54efa"}, + {file = "regex-2024.5.15-cp311-cp311-win_amd64.whl", hash = "sha256:9e717956dcfd656f5055cc70996ee2cc82ac5149517fc8e1b60261b907740201"}, + {file = "regex-2024.5.15-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:632b01153e5248c134007209b5c6348a544ce96c46005d8456de1d552455b014"}, + {file = "regex-2024.5.15-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e64198f6b856d48192bf921421fdd8ad8eb35e179086e99e99f711957ffedd6e"}, + {file = "regex-2024.5.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68811ab14087b2f6e0fc0c2bae9ad689ea3584cad6917fc57be6a48bbd012c49"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8ec0c2fea1e886a19c3bee0cd19d862b3aa75dcdfb42ebe8ed30708df64687a"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d0c0c0003c10f54a591d220997dd27d953cd9ccc1a7294b40a4be5312be8797b"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2431b9e263af1953c55abbd3e2efca67ca80a3de8a0437cb58e2421f8184717a"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a605586358893b483976cffc1723fb0f83e526e8f14c6e6614e75919d9862cf"}, + {file = "regex-2024.5.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:391d7f7f1e409d192dba8bcd42d3e4cf9e598f3979cdaed6ab11288da88cb9f2"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9ff11639a8d98969c863d4617595eb5425fd12f7c5ef6621a4b74b71ed8726d5"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4eee78a04e6c67e8391edd4dad3279828dd66ac4b79570ec998e2155d2e59fd5"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8fe45aa3f4aa57faabbc9cb46a93363edd6197cbc43523daea044e9ff2fea83e"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:d0a3d8d6acf0c78a1fff0e210d224b821081330b8524e3e2bc5a68ef6ab5803d"}, + {file = "regex-2024.5.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c486b4106066d502495b3025a0a7251bf37ea9540433940a23419461ab9f2a80"}, + {file = "regex-2024.5.15-cp312-cp312-win32.whl", hash = "sha256:c49e15eac7c149f3670b3e27f1f28a2c1ddeccd3a2812cba953e01be2ab9b5fe"}, + {file = "regex-2024.5.15-cp312-cp312-win_amd64.whl", hash = "sha256:673b5a6da4557b975c6c90198588181029c60793835ce02f497ea817ff647cb2"}, + {file = "regex-2024.5.15-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:87e2a9c29e672fc65523fb47a90d429b70ef72b901b4e4b1bd42387caf0d6835"}, + {file = "regex-2024.5.15-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c3bea0ba8b73b71b37ac833a7f3fd53825924165da6a924aec78c13032f20850"}, + {file = "regex-2024.5.15-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bfc4f82cabe54f1e7f206fd3d30fda143f84a63fe7d64a81558d6e5f2e5aaba9"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5bb9425fe881d578aeca0b2b4b3d314ec88738706f66f219c194d67179337cb"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64c65783e96e563103d641760664125e91bd85d8e49566ee560ded4da0d3e704"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cf2430df4148b08fb4324b848672514b1385ae3807651f3567871f130a728cc3"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5397de3219a8b08ae9540c48f602996aa6b0b65d5a61683e233af8605c42b0f2"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:455705d34b4154a80ead722f4f185b04c4237e8e8e33f265cd0798d0e44825fa"}, + {file = "regex-2024.5.15-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b2b6f1b3bb6f640c1a92be3bbfbcb18657b125b99ecf141fb3310b5282c7d4ed"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:3ad070b823ca5890cab606c940522d05d3d22395d432f4aaaf9d5b1653e47ced"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:5b5467acbfc153847d5adb21e21e29847bcb5870e65c94c9206d20eb4e99a384"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e6662686aeb633ad65be2a42b4cb00178b3fbf7b91878f9446075c404ada552f"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:2b4c884767504c0e2401babe8b5b7aea9148680d2e157fa28f01529d1f7fcf67"}, + {file = "regex-2024.5.15-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:3cd7874d57f13bf70078f1ff02b8b0aa48d5b9ed25fc48547516c6aba36f5741"}, + {file = "regex-2024.5.15-cp38-cp38-win32.whl", hash = "sha256:e4682f5ba31f475d58884045c1a97a860a007d44938c4c0895f41d64481edbc9"}, + {file = "regex-2024.5.15-cp38-cp38-win_amd64.whl", hash = "sha256:d99ceffa25ac45d150e30bd9ed14ec6039f2aad0ffa6bb87a5936f5782fc1569"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13cdaf31bed30a1e1c2453ef6015aa0983e1366fad2667657dbcac7b02f67133"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cac27dcaa821ca271855a32188aa61d12decb6fe45ffe3e722401fe61e323cd1"}, + {file = "regex-2024.5.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7dbe2467273b875ea2de38ded4eba86cbcbc9a1a6d0aa11dcf7bd2e67859c435"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64f18a9a3513a99c4bef0e3efd4c4a5b11228b48aa80743be822b71e132ae4f5"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d347a741ea871c2e278fde6c48f85136c96b8659b632fb57a7d1ce1872547600"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1878b8301ed011704aea4c806a3cadbd76f84dece1ec09cc9e4dc934cfa5d4da"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4babf07ad476aaf7830d77000874d7611704a7fcf68c9c2ad151f5d94ae4bfc4"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35cb514e137cb3488bce23352af3e12fb0dbedd1ee6e60da053c69fb1b29cc6c"}, + {file = "regex-2024.5.15-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cdd09d47c0b2efee9378679f8510ee6955d329424c659ab3c5e3a6edea696294"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:72d7a99cd6b8f958e85fc6ca5b37c4303294954eac1376535b03c2a43eb72629"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:a094801d379ab20c2135529948cb84d417a2169b9bdceda2a36f5f10977ebc16"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c0c18345010870e58238790a6779a1219b4d97bd2e77e1140e8ee5d14df071aa"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:16093f563098448ff6b1fa68170e4acbef94e6b6a4e25e10eae8598bb1694b5d"}, + {file = "regex-2024.5.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e38a7d4e8f633a33b4c7350fbd8bad3b70bf81439ac67ac38916c4a86b465456"}, + {file = "regex-2024.5.15-cp39-cp39-win32.whl", hash = "sha256:71a455a3c584a88f654b64feccc1e25876066c4f5ef26cd6dd711308aa538694"}, + {file = "regex-2024.5.15-cp39-cp39-win_amd64.whl", hash = "sha256:cab12877a9bdafde5500206d1020a584355a97884dfd388af3699e9137bf7388"}, + {file = "regex-2024.5.15.tar.gz", hash = "sha256:d3ee02d9e5f482cc8309134a91eeaacbdd2261ba111b0fef3748eeb4913e6a2c"}, ] [[package]] @@ -3211,52 +3175,28 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "rerun-sdk" -version = "0.15.1" +version = "0.16.0" description = "The Rerun Logging SDK" optional = false python-versions = "<3.13,>=3.8" files = [ - {file = "rerun_sdk-0.15.1-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:be8f4e55c53bd9734bd0b8e91a9765daeb55e56caddc1bacdb358d12121daaa0"}, - {file = "rerun_sdk-0.15.1-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:e039ed441b6dcd5939e20f0f67fef4ffd54645777574822f48cd6f636efa3756"}, - {file = "rerun_sdk-0.15.1-cp38-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:5c067ba1c3304a0bb74bd33df8f7145ce7d405c823bfc8709396bbdd672a759e"}, - {file = "rerun_sdk-0.15.1-cp38-abi3-manylinux_2_31_x86_64.whl", hash = "sha256:e8a96fff6e0c184a59b433430f5f87c96895e4b69dc0e43abb56a0e0737edc35"}, - {file = "rerun_sdk-0.15.1-cp38-abi3-win_amd64.whl", hash = "sha256:377a888e0cbe06835f376cd160ab322e9935ebd1317384381856236bd4347950"}, + {file = "rerun_sdk-0.16.0-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:1cc6dc66d089e296f945dc238301889efb61dd6d338b5d00f76981cf7aed0a74"}, + {file = "rerun_sdk-0.16.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:faf231897655e46eb975695df2b0ace07db362d697e697f9a3dff52f81c0dc5d"}, + {file = "rerun_sdk-0.16.0-cp38-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:860a6394380d3e9b9e48bf34423bd56dda54d5b0158d2ae0e433698659b34198"}, + {file = "rerun_sdk-0.16.0-cp38-abi3-manylinux_2_31_x86_64.whl", hash = "sha256:5b8d1476f73a3ad1a5d3f21b61c633f3ab62aa80fa0b049f5ad10bf1227681ab"}, + {file = "rerun_sdk-0.16.0-cp38-abi3-win_amd64.whl", hash = "sha256:aff0051a263b8c3067243c0126d319845baf4fe640899f04aeef7daf151f35e4"}, ] [package.dependencies] attrs = ">=23.1.0" numpy = ">=1.23,<2" -pillow = "*" +pillow = ">=8.0.0" pyarrow = ">=14.0.2" typing-extensions = ">=4.5" [package.extras] tests = ["pytest (==7.1.2)"] -[[package]] -name = "robomimic" -version = "0.2.0" -description = "robomimic: A Modular Framework for Robot Learning from Demonstration" -optional = false -python-versions = ">=3" -files = [ - {file = "robomimic-0.2.0.tar.gz", hash = "sha256:ee3bb5cf9c3e1feead6b57b43c5db738fd0a8e0c015fdf6419808af8fffdc463"}, -] - -[package.dependencies] -egl_probe = ">=1.0.1" -h5py = "*" -imageio = "*" -imageio-ffmpeg = "*" -numpy = ">=1.13.3" -psutil = "*" -tensorboard = "*" -tensorboardX = "*" -termcolor = "*" -torch = "*" -torchvision = "*" -tqdm = "*" - [[package]] name = "safetensors" version = "0.4.3" @@ -3381,51 +3321,46 @@ torch = ["safetensors[numpy]", "torch (>=1.10)"] [[package]] name = "scikit-image" -version = "0.22.0" +version = "0.23.2" description = "Image processing in Python" optional = true -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "scikit_image-0.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:74ec5c1d4693506842cc7c9487c89d8fc32aed064e9363def7af08b8f8cbb31d"}, - {file = "scikit_image-0.22.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:a05ae4fe03d802587ed8974e900b943275548cde6a6807b785039d63e9a7a5ff"}, - {file = "scikit_image-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a92dca3d95b1301442af055e196a54b5a5128c6768b79fc0a4098f1d662dee6"}, - {file = "scikit_image-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3663d063d8bf2fb9bdfb0ca967b9ee3b6593139c860c7abc2d2351a8a8863938"}, - {file = "scikit_image-0.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:ebdbdc901bae14dab637f8d5c99f6d5cc7aaf4a3b6f4003194e003e9f688a6fc"}, - {file = "scikit_image-0.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:95d6da2d8a44a36ae04437c76d32deb4e3c993ffc846b394b9949fd8ded73cb2"}, - {file = "scikit_image-0.22.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:2c6ef454a85f569659b813ac2a93948022b0298516b757c9c6c904132be327e2"}, - {file = "scikit_image-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e87872f067444ee90a00dd49ca897208308645382e8a24bd3e76f301af2352cd"}, - {file = "scikit_image-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5c378db54e61b491b9edeefff87e49fcf7fdf729bb93c777d7a5f15d36f743e"}, - {file = "scikit_image-0.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:2bcb74adb0634258a67f66c2bb29978c9a3e222463e003b67ba12056c003971b"}, - {file = "scikit_image-0.22.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:003ca2274ac0fac252280e7179ff986ff783407001459ddea443fe7916e38cff"}, - {file = "scikit_image-0.22.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:cf3c0c15b60ae3e557a0c7575fbd352f0c3ce0afca562febfe3ab80efbeec0e9"}, - {file = "scikit_image-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5b23908dd4d120e6aecb1ed0277563e8cbc8d6c0565bdc4c4c6475d53608452"}, - {file = "scikit_image-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be79d7493f320a964f8fcf603121595ba82f84720de999db0fcca002266a549a"}, - {file = "scikit_image-0.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:722b970aa5da725dca55252c373b18bbea7858c1cdb406e19f9b01a4a73b30b2"}, - {file = "scikit_image-0.22.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:22318b35044cfeeb63ee60c56fc62450e5fe516228138f1d06c7a26378248a86"}, - {file = "scikit_image-0.22.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:9e801c44a814afdadeabf4dffdffc23733e393767958b82319706f5fa3e1eaa9"}, - {file = "scikit_image-0.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c472a1fb3665ec5c00423684590631d95f9afcbc97f01407d348b821880b2cb3"}, - {file = "scikit_image-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b7a6c89e8d6252332121b58f50e1625c35f7d6a85489c0b6b7ee4f5155d547a"}, - {file = "scikit_image-0.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:5071b8f6341bfb0737ab05c8ab4ac0261f9e25dbcc7b5d31e5ed230fd24a7929"}, - {file = "scikit_image-0.22.0.tar.gz", hash = "sha256:018d734df1d2da2719087d15f679d19285fce97cd37695103deadfaef2873236"}, + {file = "scikit_image-0.23.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f9a8db6c52f8d0e1474ea8320d7b8db442b4d6baa29dd0acbd02f8a49572f18a"}, + {file = "scikit_image-0.23.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:524b51a7440e46ed2ebbde7bc288bf2dde1dee2caafdd9513b2aca38a48223b7"}, + {file = "scikit_image-0.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b335c229170d787b3fb8c60d220f72049ccf862d5191a3cfda6ac84b995ac4e"}, + {file = "scikit_image-0.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08b10781efbd6b084f3c847ff4049b657241ea866b9e331b14bf791dcb3e6661"}, + {file = "scikit_image-0.23.2-cp310-cp310-win_amd64.whl", hash = "sha256:a207352e9a1956dda1424bbe872c7795345187138118e8be6a421aef3b988c2a"}, + {file = "scikit_image-0.23.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ee83fdb1843ee938eabdfeb9498623282935ea30aa20dffc5d5d16698efb4b2a"}, + {file = "scikit_image-0.23.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:a158f50d3df4867bbd1c698520ede8bc493e430ad83f54ac1f0d8f57b328779b"}, + {file = "scikit_image-0.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55de3326be124334b89314e9e04c8971ad98d6681e11a243f71bfb85ef9554b0"}, + {file = "scikit_image-0.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fce619a6d84fe40c1208fa579b646e93ce13ef0afc3652a23e9782b2c183291a"}, + {file = "scikit_image-0.23.2-cp311-cp311-win_amd64.whl", hash = "sha256:ee65669aa586e110346f567ed5c92d1bd63799a19e951cb83da3f54b0caf7c52"}, + {file = "scikit_image-0.23.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:15bfb4e8d7bd90a967e6a3c3ab6be678063fc45e950b730684a8db46a02ff892"}, + {file = "scikit_image-0.23.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:5736e66d01b11cd90988ec24ab929c80a03af28f690189c951886891ebf63154"}, + {file = "scikit_image-0.23.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3597ac5d8f51dafbcb7433ef1fdefdefb535f50745b2002ae0a5d651df4f063b"}, + {file = "scikit_image-0.23.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1978be2abe3c3c3189a99a411d48bbb1306f7c2debb3aefbf426e23947f26623"}, + {file = "scikit_image-0.23.2-cp312-cp312-win_amd64.whl", hash = "sha256:ae32bf0cb02b672ed74d28880ca6f88928ae8dd794d67e04fa3ff4836feb9bd6"}, + {file = "scikit_image-0.23.2.tar.gz", hash = "sha256:c9da4b2c3117e3e30364a3d14496ee5c72b09eb1a4ab1292b302416faa360590"}, ] [package.dependencies] -imageio = ">=2.27" -lazy_loader = ">=0.3" +imageio = ">=2.33" +lazy-loader = ">=0.4" networkx = ">=2.8" -numpy = ">=1.22" +numpy = ">=1.23" packaging = ">=21" -pillow = ">=9.0.1" -scipy = ">=1.8" +pillow = ">=9.1" +scipy = ">=1.9" tifffile = ">=2022.8.12" [package.extras] -build = ["Cython (>=0.29.32)", "build", "meson-python (>=0.14)", "ninja", "numpy (>=1.22)", "packaging (>=21)", "pythran", "setuptools (>=67)", "spin (==0.6)", "wheel"] +build = ["Cython (>=3.0.4)", "build", "meson-python (>=0.15)", "ninja", "numpy (>=2.0.0rc1)", "packaging (>=21)", "pythran", "setuptools (>=67)", "spin (==0.8)", "wheel"] data = ["pooch (>=1.6.0)"] -developer = ["pre-commit", "tomli"] -docs = ["PyWavelets (>=1.1.1)", "dask[array] (>=2022.9.2)", "ipykernel", "ipywidgets", "kaleido", "matplotlib (>=3.5)", "myst-parser", "numpydoc (>=1.6)", "pandas (>=1.5)", "plotly (>=5.10)", "pooch (>=1.6)", "pydata-sphinx-theme (>=0.14.1)", "pytest-runner", "scikit-learn (>=1.1)", "seaborn (>=0.11)", "sphinx (>=7.2)", "sphinx-copybutton", "sphinx-gallery (>=0.14)", "sphinx_design (>=0.5)", "tifffile (>=2022.8.12)"] -optional = ["PyWavelets (>=1.1.1)", "SimpleITK", "astropy (>=5.0)", "cloudpickle (>=0.2.1)", "dask[array] (>=2021.1.0)", "matplotlib (>=3.5)", "pooch (>=1.6.0)", "pyamg", "scikit-learn (>=1.1)"] -test = ["asv", "matplotlib (>=3.5)", "numpydoc (>=1.5)", "pooch (>=1.6.0)", "pytest (>=7.0)", "pytest-cov (>=2.11.0)", "pytest-faulthandler", "pytest-localserver"] +developer = ["ipython", "pre-commit", "tomli"] +docs = ["PyWavelets (>=1.1.1)", "dask[array] (>=2022.9.2)", "ipykernel", "ipywidgets", "kaleido", "matplotlib (>=3.6)", "myst-parser", "numpydoc (>=1.7)", "pandas (>=1.5)", "plotly (>=5.10)", "pooch (>=1.6)", "pydata-sphinx-theme (>=0.15.2)", "pytest-doctestplus", "pytest-runner", "scikit-learn (>=1.1)", "seaborn (>=0.11)", "sphinx (>=7.3)", "sphinx-copybutton", "sphinx-gallery (>=0.14)", "sphinx_design (>=0.5)", "tifffile (>=2022.8.12)"] +optional = ["PyWavelets (>=1.1.1)", "SimpleITK", "astropy (>=5.0)", "cloudpickle (>=0.2.1)", "dask[array] (>=2021.1.0)", "matplotlib (>=3.6)", "pooch (>=1.6.0)", "pyamg", "scikit-learn (>=1.1)"] +test = ["asv", "numpydoc (>=1.7)", "pooch (>=1.6.0)", "pytest (>=7.0)", "pytest-cov (>=2.11.0)", "pytest-doctestplus", "pytest-faulthandler", "pytest-localserver"] [[package]] name = "scipy" @@ -3471,13 +3406,13 @@ test = ["array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "mpmath", "po [[package]] name = "sentry-sdk" -version = "2.0.1" +version = "2.2.0" description = "Python client for Sentry (https://sentry.io)" optional = false python-versions = ">=3.6" files = [ - {file = "sentry_sdk-2.0.1-py2.py3-none-any.whl", hash = "sha256:b54c54a2160f509cf2757260d0cf3885b608c6192c2555a3857e3a4d0f84bdb3"}, - {file = "sentry_sdk-2.0.1.tar.gz", hash = "sha256:c278e0f523f6f0ee69dc43ad26dcdb1202dffe5ac326ae31472e012d941bee21"}, + {file = "sentry_sdk-2.2.0-py2.py3-none-any.whl", hash = "sha256:674f58da37835ea7447fe0e34c57b4a4277fad558b0a7cb4a6c83bcb263086be"}, + {file = "sentry_sdk-2.2.0.tar.gz", hash = "sha256:70eca103cf4c6302365a9d7cf522e7ed7720828910eb23d43ada8e50d1ecda9d"}, ] [package.dependencies] @@ -3486,6 +3421,7 @@ urllib3 = ">=1.26.11" [package.extras] aiohttp = ["aiohttp (>=3.5)"] +anthropic = ["anthropic (>=0.16)"] arq = ["arq (>=0.23)"] asyncpg = ["asyncpg (>=0.23)"] beam = ["apache-beam (>=2.12)"] @@ -3501,6 +3437,8 @@ flask = ["blinker (>=1.1)", "flask (>=0.11)", "markupsafe"] grpcio = ["grpcio (>=1.21.1)"] httpx = ["httpx (>=0.16.0)"] huey = ["huey (>=2)"] +huggingface-hub = ["huggingface-hub (>=0.22)"] +langchain = ["langchain (>=0.0.210)"] loguru = ["loguru (>=0.5)"] openai = ["openai (>=1.0.0)", "tiktoken (>=0.3.0)"] opentelemetry = ["opentelemetry-distro (>=0.35b0)"] @@ -3749,55 +3687,6 @@ files = [ {file = "tbb-2021.12.0-py3-none-win_amd64.whl", hash = "sha256:fc2772d850229f2f3df85f1109c4844c495a2db7433d38200959ee9265b34789"}, ] -[[package]] -name = "tensorboard" -version = "2.16.2" -description = "TensorBoard lets you watch Tensors Flow" -optional = false -python-versions = ">=3.9" -files = [ - {file = "tensorboard-2.16.2-py3-none-any.whl", hash = "sha256:9f2b4e7dad86667615c0e5cd072f1ea8403fc032a299f0072d6f74855775cc45"}, -] - -[package.dependencies] -absl-py = ">=0.4" -grpcio = ">=1.48.2" -markdown = ">=2.6.8" -numpy = ">=1.12.0" -protobuf = ">=3.19.6,<4.24.0 || >4.24.0" -setuptools = ">=41.0.0" -six = ">1.9" -tensorboard-data-server = ">=0.7.0,<0.8.0" -werkzeug = ">=1.0.1" - -[[package]] -name = "tensorboard-data-server" -version = "0.7.2" -description = "Fast data loading for TensorBoard" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tensorboard_data_server-0.7.2-py3-none-any.whl", hash = "sha256:7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb"}, - {file = "tensorboard_data_server-0.7.2-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:9fe5d24221b29625dbc7328b0436ca7fc1c23de4acf4d272f1180856e32f9f60"}, - {file = "tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl", hash = "sha256:ef687163c24185ae9754ed5650eb5bc4d84ff257aabdc33f0cc6f74d8ba54530"}, -] - -[[package]] -name = "tensorboardx" -version = "2.6.2.2" -description = "TensorBoardX lets you watch Tensors Flow without Tensorflow" -optional = false -python-versions = "*" -files = [ - {file = "tensorboardX-2.6.2.2-py2.py3-none-any.whl", hash = "sha256:160025acbf759ede23fd3526ae9d9bfbfd8b68eb16c38a010ebe326dc6395db8"}, - {file = "tensorboardX-2.6.2.2.tar.gz", hash = "sha256:c6476d7cd0d529b0b72f4acadb1269f9ed8b22f441e87a84f2a3b940bb87b666"}, -] - -[package.dependencies] -numpy = "*" -packaging = "*" -protobuf = ">=3.20" - [[package]] name = "termcolor" version = "2.4.0" @@ -3814,13 +3703,13 @@ tests = ["pytest", "pytest-cov"] [[package]] name = "tifffile" -version = "2024.4.24" +version = "2024.5.10" description = "Read and write TIFF files" optional = true python-versions = ">=3.9" files = [ - {file = "tifffile-2024.4.24-py3-none-any.whl", hash = "sha256:8d0b982f4b01ace358835ae6c2beb5a70cb7287f5d3a2e96c318bd5befa97b1f"}, - {file = "tifffile-2024.4.24.tar.gz", hash = "sha256:e329f36ac8ff3bbe7dd04609340be26b03c4b9e9a69235fc3ab33434157c38ea"}, + {file = "tifffile-2024.5.10-py3-none-any.whl", hash = "sha256:4154f091aa24d4e75bfad9ab2d5424a68c70e67b8220188066dc61946d4551bd"}, + {file = "tifffile-2024.5.10.tar.gz", hash = "sha256:aa1e1b12be952ab20717d6848bd6d4a5ee88d2aa319f1152bff4354ad728ec86"}, ] [package.dependencies] @@ -3933,13 +3822,13 @@ scipy = ["scipy"] [[package]] name = "tqdm" -version = "4.66.2" +version = "4.66.4" description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.66.2-py3-none-any.whl", hash = "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9"}, - {file = "tqdm-4.66.2.tar.gz", hash = "sha256:6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531"}, + {file = "tqdm-4.66.4-py3-none-any.whl", hash = "sha256:b75ca56b413b030bc3f00af51fd2c1a1a5eac6a0c1cca83cbb37a5c52abce644"}, + {file = "tqdm-4.66.4.tar.gz", hash = "sha256:e4d936c9de8727928f3be6079590e97d9abfe8d39a590be678eb5919ffc186bb"}, ] [package.dependencies] @@ -4015,13 +3904,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.26.1" +version = "20.26.2" description = "Virtual Python Environment builder" optional = true python-versions = ">=3.7" files = [ - {file = "virtualenv-20.26.1-py3-none-any.whl", hash = "sha256:7aa9982a728ae5892558bff6a2839c00b9ed145523ece2274fad6f414690ae75"}, - {file = "virtualenv-20.26.1.tar.gz", hash = "sha256:604bfdceaeece392802e6ae48e69cec49168b9c5f4a44e483963f9242eb0e78b"}, + {file = "virtualenv-20.26.2-py3-none-any.whl", hash = "sha256:a624db5e94f01ad993d476b9ee5346fdf7b9de43ccaee0e0197012dc838a0e9b"}, + {file = "virtualenv-20.26.2.tar.gz", hash = "sha256:82bf0f4eebbb78d36ddaee0283d43fe5736b53880b8a8cdcd37390a07ac3741c"}, ] [package.dependencies] @@ -4035,59 +3924,46 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "wandb" -version = "0.16.6" +version = "0.17.0" description = "A CLI and library for interacting with the Weights & Biases API." optional = false python-versions = ">=3.7" files = [ - {file = "wandb-0.16.6-py3-none-any.whl", hash = "sha256:5810019a3b981c796e98ea58557a7c380f18834e0c6bdaed15df115522e5616e"}, - {file = "wandb-0.16.6.tar.gz", hash = "sha256:86f491e3012d715e0d7d7421a4d6de41abef643b7403046261f962f3e512fe1c"}, + {file = "wandb-0.17.0-py3-none-any.whl", hash = "sha256:b1b056b4cad83b00436cb76049fd29ecedc6045999dcaa5eba40db6680960ac2"}, + {file = "wandb-0.17.0-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:e1e6f04e093a6a027dcb100618ca23b122d032204b2ed4c62e4e991a48041a6b"}, + {file = "wandb-0.17.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:feeb60d4ff506d2a6bc67f953b310d70b004faa789479c03ccd1559c6f1a9633"}, + {file = "wandb-0.17.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7bed8a3dd404a639e6bf5fea38c6efe2fb98d416ff1db4fb51be741278ed328"}, + {file = "wandb-0.17.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56a1dd6e0e635cba3f6ed30b52c71739bdc2a3e57df155619d2d80ee952b4201"}, + {file = "wandb-0.17.0-py3-none-win32.whl", hash = "sha256:1f692d3063a0d50474022cfe6668e1828260436d1cd40827d1e136b7f730c74c"}, + {file = "wandb-0.17.0-py3-none-win_amd64.whl", hash = "sha256:ab582ca0d54d52ef5b991de0717350b835400d9ac2d3adab210022b68338d694"}, ] [package.dependencies] -appdirs = ">=1.4.3" -Click = ">=7.1,<8.0.0 || >8.0.0" +click = ">=7.1,<8.0.0 || >8.0.0" docker-pycreds = ">=0.4.0" -GitPython = ">=1.0.0,<3.1.29 || >3.1.29" +gitpython = ">=1.0.0,<3.1.29 || >3.1.29" +platformdirs = "*" protobuf = {version = ">=3.19.0,<4.21.0 || >4.21.0,<5", markers = "python_version > \"3.9\" or sys_platform != \"linux\""} psutil = ">=5.0.0" -PyYAML = "*" +pyyaml = "*" requests = ">=2.0.0,<3" sentry-sdk = ">=1.0.0" setproctitle = "*" setuptools = "*" [package.extras] -async = ["httpx (>=0.23.0)"] aws = ["boto3"] azure = ["azure-identity", "azure-storage-blob"] gcp = ["google-cloud-storage"] importers = ["filelock", "mlflow", "polars", "rich", "tenacity"] kubeflow = ["google-cloud-storage", "kubernetes", "minio", "sh"] -launch = ["PyYAML (>=6.0.0)", "awscli", "azure-containerregistry", "azure-identity", "azure-storage-blob", "boto3", "botocore", "chardet", "google-auth", "google-cloud-aiplatform", "google-cloud-artifact-registry", "google-cloud-compute", "google-cloud-storage", "iso8601", "kubernetes", "kubernetes-asyncio", "nbconvert", "nbformat", "optuna", "pydantic", "tomli", "typing-extensions"] +launch = ["awscli", "azure-containerregistry", "azure-identity", "azure-storage-blob", "boto3", "botocore", "chardet", "google-auth", "google-cloud-aiplatform", "google-cloud-artifact-registry", "google-cloud-compute", "google-cloud-storage", "iso8601", "kubernetes", "kubernetes-asyncio", "nbconvert", "nbformat", "optuna", "pydantic", "pyyaml (>=6.0.0)", "tomli", "typing-extensions"] media = ["bokeh", "moviepy", "numpy", "pillow", "plotly (>=5.18.0)", "rdkit-pypi", "soundfile"] models = ["cloudpickle"] perf = ["orjson"] reports = ["pydantic (>=2.0.0)"] sweeps = ["sweeps (>=0.2.0)"] -[[package]] -name = "werkzeug" -version = "3.0.2" -description = "The comprehensive WSGI web application library." -optional = false -python-versions = ">=3.8" -files = [ - {file = "werkzeug-3.0.2-py3-none-any.whl", hash = "sha256:3aac3f5da756f93030740bc235d3e09449efcf65f2f55e3602e1d851b8f48795"}, - {file = "werkzeug-3.0.2.tar.gz", hash = "sha256:e39b645a6ac92822588e7b39a692e7828724ceae0b0d702ef96701f90e70128d"}, -] - -[package.dependencies] -MarkupSafe = ">=2.1.1" - -[package.extras] -watchdog = ["watchdog (>=2.3)"] - [[package]] name = "xxhash" version = "3.4.1" @@ -4310,13 +4186,13 @@ multidict = ">=4.0" [[package]] name = "zarr" -version = "2.17.2" +version = "2.18.1" description = "An implementation of chunked, compressed, N-dimensional arrays for Python" optional = false python-versions = ">=3.9" files = [ - {file = "zarr-2.17.2-py3-none-any.whl", hash = "sha256:70d7cc07c24280c380ef80644151d136b7503b0d83c9f214e8000ddc0f57f69b"}, - {file = "zarr-2.17.2.tar.gz", hash = "sha256:2cbaa6cb4e342d45152d4a7a4b2013c337fcd3a8e7bc98253560180de60552ce"}, + {file = "zarr-2.18.1-py3-none-any.whl", hash = "sha256:a1770d194eec4ec0a41a01295a6f724e1c3471d704d3aca906d3b3a7f8830245"}, + {file = "zarr-2.18.1.tar.gz", hash = "sha256:28c360ed123e606c425a694a83300227a907cb86a995fc9eef620ecafbe5f92d"}, ] [package.dependencies] @@ -4331,18 +4207,18 @@ jupyter = ["ipytree (>=0.2.2)", "ipywidgets (>=8.0.0)", "notebook"] [[package]] name = "zipp" -version = "3.18.1" +version = "3.18.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"}, - {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"}, + {file = "zipp-3.18.2-py3-none-any.whl", hash = "sha256:dce197b859eb796242b0622af1b8beb0a722d52aa2f57133ead08edd5bf5374e"}, + {file = "zipp-3.18.2.tar.gz", hash = "sha256:6278d9ddbcfb1f1089a88fde84481528b07b0e10474e09dcfe53dad4069fa059"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [extras] aloha = ["gym-aloha"] @@ -4355,4 +4231,4 @@ xarm = ["gym-xarm"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "d2066576dc4aebaf623c295fe626bf6805fd2ec26a6ba47fa5415204994aa922" +content-hash = "c3044329cfad91ffd91b411e85f16d8dfdcdfd7b9186d38fff5e18f4ee647e7b" diff --git a/pyproject.toml b/pyproject.toml index d7bccbd5..1683b9fd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,37 +28,36 @@ packages = [{include = "lerobot"}] [tool.poetry.dependencies] python = ">=3.10,<3.13" -termcolor = "^2.4.0" -omegaconf = "^2.3.0" -wandb = "^0.16.3" -imageio = {extras = ["ffmpeg"], version = "^2.34.0"} -gdown = "^5.1.0" -hydra-core = "^1.3.2" -einops = "^0.8.0" -pymunk = "^6.6.0" -zarr = "^2.17.0" -numba = "^0.59.0" +termcolor = ">=2.4.0" +omegaconf = ">=2.3.0" +wandb = ">=0.16.3" +imageio = {extras = ["ffmpeg"], version = ">=2.34.0"} +gdown = ">=5.1.0" +hydra-core = ">=1.3.2" +einops = ">=0.8.0" +pymunk = ">=6.6.0" +zarr = ">=2.17.0" +numba = ">=0.59.0" torch = "^2.2.1" -opencv-python = "^4.9.0.80" +opencv-python = ">=4.9.0" diffusers = "^0.27.2" -torchvision = "^0.18.0" -h5py = "^3.10.0" -huggingface-hub = "^0.21.4" -robomimic = "0.2.0" -gymnasium = "^0.29.1" -cmake = "^3.29.0.1" -gym-pusht = { version = "^0.1.0", optional = true} -gym-xarm = { version = "^0.1.0", optional = true} -gym-aloha = { version = "^0.1.0", optional = true} -pre-commit = {version = "^3.7.0", optional = true} -debugpy = {version = "^1.8.1", optional = true} -pytest = {version = "^8.1.0", optional = true} -pytest-cov = {version = "^5.0.0", optional = true} +torchvision = ">=0.17.1" +h5py = ">=3.10.0" +huggingface-hub = {extras = ["hf-transfer"], version = "^0.23.0"} +gymnasium = ">=0.29.1" +cmake = ">=3.29.0.1" +gym-pusht = { version = ">=0.1.3", optional = true} +gym-xarm = { version = ">=0.1.1", optional = true} +gym-aloha = { version = ">=0.1.1", optional = true} +pre-commit = {version = ">=3.7.0", optional = true} +debugpy = {version = ">=1.8.1", optional = true} +pytest = {version = ">=8.1.0", optional = true} +pytest-cov = {version = ">=5.0.0", optional = true} datasets = "^2.19.0" -imagecodecs = { version = "^2024.1.1", optional = true } -pyav = "^12.0.5" -moviepy = "^1.0.3" -rerun-sdk = "^0.15.1" +imagecodecs = { version = ">=2024.1.1", optional = true } +pyav = ">=12.0.5" +moviepy = ">=1.0.3" +rerun-sdk = ">=0.15.1" [tool.poetry.extras] @@ -104,5 +103,5 @@ ignore-init-module-imports = true [build-system] -requires = ["poetry-core>=1.5.0"] +requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" diff --git a/tests/conftest.py b/tests/conftest.py index 856ca455..62f831aa 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. from .utils import DEVICE diff --git a/tests/data/lerobot/aloha_mobile_cabinet/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_cabinet/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..767dadb0 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_cabinet/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f9347c8d9ac90ee44e6dd86f65043438168df6bbe4bab2d2b875e55ef7376ef +size 1488 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/meta_data/info.json b/tests/data/lerobot/aloha_mobile_cabinet/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_cabinet/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_cabinet/meta_data/stats.safetensors new file mode 100644 index 00000000..0d260d7e --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_cabinet/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02fc4ea25766269f65752a60b0594c43d799b0ae528cd773bf024b064b5aa329 +size 4344 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_cabinet/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..73f31bb5 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_cabinet/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55d7b1a06fe3e3051482752740074348bdb5fc98fb2e305b06d6203994117b27 +size 592448 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_cabinet/train/dataset_info.json new file mode 100644 index 00000000..55b885b6 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_cabinet/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b7fbedfdb3d536847bc6fadf2cbabb9f2b5492edf3e2c274a3e8ffb447105e8 +size 1166 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/train/state.json b/tests/data/lerobot/aloha_mobile_cabinet/train/state.json new file mode 100644 index 00000000..393396e7 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_cabinet/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98329e4b40e9be0d63f7d36da9d86c44bbe7eeeb1b10d3ba973c923f3be70867 +size 247 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..6b287d2c --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54e42cdfd016a0ced2ab1fe2966a8c15a2384e0dbe1a2fe87433a2d1b8209ac0 +size 5220057 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..cbebb0ef --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af1ded2a244cb47a96255b75f584a643edf6967e13bb5464b330ffdd9d7ad859 +size 5284692 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..c58387a0 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13d1bebabd79984fd6715971be758ef9a354495adea5e8d33f4e7904365e112b +size 5258380 diff --git a/tests/data/lerobot/aloha_mobile_chair/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_chair/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..933c06e0 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_chair/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f33bc6810f0b91817a42610364cb49ed1b99660f058f0f9407e6f5920d0aee02 +size 1008 diff --git a/tests/data/lerobot/aloha_mobile_chair/meta_data/info.json b/tests/data/lerobot/aloha_mobile_chair/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_chair/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_mobile_chair/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_chair/meta_data/stats.safetensors new file mode 100644 index 00000000..0b037f94 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_chair/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b58d6c89e936a781a307805ebecf0dd473fbc02d52a7094da62e54bffb9454a +size 4344 diff --git a/tests/data/lerobot/aloha_mobile_chair/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_chair/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..969fef0b --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_chair/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a08be578285cbe2d35b78f150d464ff3e10604a9865398c976983e0d711774f9 +size 788528 diff --git a/tests/data/lerobot/aloha_mobile_chair/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_chair/train/dataset_info.json new file mode 100644 index 00000000..55b885b6 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_chair/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b7fbedfdb3d536847bc6fadf2cbabb9f2b5492edf3e2c274a3e8ffb447105e8 +size 1166 diff --git a/tests/data/lerobot/aloha_mobile_chair/train/state.json b/tests/data/lerobot/aloha_mobile_chair/train/state.json new file mode 100644 index 00000000..c59e8787 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_chair/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34e36233477c8aa0b0840314ddace072062d4f486d06546bbd6550832c370065 +size 247 diff --git a/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..741645aa --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66e7349a4a82ca6042a7189608d01eb1cfa38d100d039b5445ae1a9e65d824ab +size 14470946 diff --git a/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..7f9a021c --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2146f0c10c9f2611e57e617983aa4f91ad681b4fc50d91b992b97abd684f926 +size 11662185 diff --git a/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..68cfa02e --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5affbaf1c48895ba3c626e0d8cf1309e5f4ec6bbaa135313096f52a22de66c05 +size 11410342 diff --git a/tests/data/lerobot/aloha_mobile_elevator/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_elevator/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..17839482 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_elevator/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c2b195ca91b88fd16422128d386d2cabd808a1862c6d127e6bf2e83e1fe819a +size 448 diff --git a/tests/data/lerobot/aloha_mobile_elevator/meta_data/info.json b/tests/data/lerobot/aloha_mobile_elevator/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_elevator/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_mobile_elevator/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_elevator/meta_data/stats.safetensors new file mode 100644 index 00000000..4f9629d1 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_elevator/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b360b6b956d2adcb20589947c553348ef1eb6b70743c989dcbe95243d8592ce5 +size 4344 diff --git a/tests/data/lerobot/aloha_mobile_elevator/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_elevator/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..f0ae94ac --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_elevator/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f5c3926b4d4da9271abefcdf6a8952bb1f13258a9c39fe0fd223f548dc89dcb +size 887728 diff --git a/tests/data/lerobot/aloha_mobile_elevator/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_elevator/train/dataset_info.json new file mode 100644 index 00000000..55b885b6 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_elevator/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b7fbedfdb3d536847bc6fadf2cbabb9f2b5492edf3e2c274a3e8ffb447105e8 +size 1166 diff --git a/tests/data/lerobot/aloha_mobile_elevator/train/state.json b/tests/data/lerobot/aloha_mobile_elevator/train/state.json new file mode 100644 index 00000000..d7f90b56 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_elevator/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4993b05fb026619eec5eb70db8cadaa041ba4ab92d38b4a387167ace03b1018b +size 247 diff --git a/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..1663f8eb --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd25d17ef5b7500386761b5e32920879bbdcafe0e17a8a8845628525d861e644 +size 10231081 diff --git a/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..974db761 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b557acbfeb0681c0a38e47263d945f6cd3a03461298d8b17209c81e3fd0aae8 +size 9701371 diff --git a/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..61085310 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da8f3b4f9f965da63819652b2c042d4cf7e07d14631113ea072087d56370310e +size 10473741 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_shrimp/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..d0798d77 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_shrimp/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a053506017d8a78cfd307b2912eeafa1ac1485a280cf90913985fcc40120b5ec +size 416 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/meta_data/info.json b/tests/data/lerobot/aloha_mobile_shrimp/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_shrimp/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_shrimp/meta_data/stats.safetensors new file mode 100644 index 00000000..7fcce357 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_shrimp/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6d172d1bca02face22ceb4c21ea2b054cf3463025485dce64711b6f36b31f8a +size 4344 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_shrimp/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..6b1275d9 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_shrimp/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e5ce817a2c188041f57f8d4c465dab3b9c3e4e1aeb7a9fb270230d1b36df530 +size 1477064 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_shrimp/train/dataset_info.json new file mode 100644 index 00000000..55b885b6 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_shrimp/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b7fbedfdb3d536847bc6fadf2cbabb9f2b5492edf3e2c274a3e8ffb447105e8 +size 1166 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/train/state.json b/tests/data/lerobot/aloha_mobile_shrimp/train/state.json new file mode 100644 index 00000000..f9db9e15 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_shrimp/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eb2dc373e4ea7d474742590f9073d66a773f6ab94b9e73a8673df19f93fae6d +size 247 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..32348f9e --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2c55b146fabe78b18c8a28a7746ab56e1ee7a6918e9e3dad9bd196f97975895 +size 26158915 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..23bd8be1 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71e1958d77f56843acf1ec48da4f04311a5836c87a0e77dbe26aa47c27c6347e +size 18786848 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..6ea368c2 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20780718399b5759ff9a3a79824986310524793066198e3b9a307222f11a93df +size 17769988 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..30b7978a --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:279916f7689ae46af90e92a46eba9486a71fc762e3e2679ab5441eb37126827b +size 928 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/info.json b/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/stats.safetensors new file mode 100644 index 00000000..a8eb54cc --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a7731051b521694b52b5631470720a7f05331915f4ac4e7f8cd83f9ff459bce +size 4344 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_wash_pan/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..102f0a0d --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wash_pan/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99608258e8c9fe5191f1a12edc29b47d307790104149dffb6d3046ddad6aeb1b +size 435600 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_wash_pan/train/dataset_info.json new file mode 100644 index 00000000..55b885b6 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wash_pan/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b7fbedfdb3d536847bc6fadf2cbabb9f2b5492edf3e2c274a3e8ffb447105e8 +size 1166 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/train/state.json b/tests/data/lerobot/aloha_mobile_wash_pan/train/state.json new file mode 100644 index 00000000..427a4ccd --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wash_pan/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae6735b7b394914824e974a7461019373a10f9e2d84ddf834bec8ea268d9ec1e +size 247 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..bd734fa9 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:833e288c5fdacbbe10a5d048cb6f49fe1a396d91b2117b827e130ec11069256a +size 8397615 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..166efdda --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cb870acb4855fef70f19c5f632d94e4c25eef59eeea92f4b1167a44b1b36b33 +size 5912007 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..53b721ca --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8be36298141b455ea51d17a78e4bbc6619639302139fe2db605bdfa3ff5e91bd +size 4794018 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..32c783b1 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:348d0ee38a71929b2017d540de870b9dff6d79efdd0cbc5352fa9697e350134a +size 928 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/info.json b/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/stats.safetensors new file mode 100644 index 00000000..afcf1857 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5c2996f58d5277fa19cf56ec143334fbee940d1de37530452496a6f0aa11f88 +size 4344 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_wipe_wine/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..e734adb9 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wipe_wine/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da3a8efea9ba60d1fdd209d45a3387df22a09f7c156904ecb03f10456736fb74 +size 514056 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_wipe_wine/train/dataset_info.json new file mode 100644 index 00000000..55b885b6 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wipe_wine/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b7fbedfdb3d536847bc6fadf2cbabb9f2b5492edf3e2c274a3e8ffb447105e8 +size 1166 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/train/state.json b/tests/data/lerobot/aloha_mobile_wipe_wine/train/state.json new file mode 100644 index 00000000..a10185eb --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wipe_wine/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b7111ff1ef5c4d6a2990f5f39f42398f061da8c4e81adf46b9d9150ec2feeaf +size 247 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..5b98bbae --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ac8c2755d940534042595ecad33ebea358974ec67bc041c8675e53b7d2272ff +size 9182551 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..34677e98 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b35aaa37e66dd5563d93e6059d5b645e112e020e03bd398f7098a5289970953a +size 6378566 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..cee9add3 --- /dev/null +++ b/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6138247ba7160a3de6c50111e6fcc5ae075044086d8527ae5d435b1f8a7c7a93 +size 6439183 diff --git a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_insertion_human/meta_data/episode_data_index.safetensors index 828c6720..bb503d5d 100644 Binary files a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/episode_data_index.safetensors and b/tests/data/lerobot/aloha_sim_insertion_human/meta_data/episode_data_index.safetensors differ diff --git a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/info.json b/tests/data/lerobot/aloha_sim_insertion_human/meta_data/info.json index 279cf2c2..8c5c4ee8 100644 --- a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/info.json +++ b/tests/data/lerobot/aloha_sim_insertion_human/meta_data/info.json @@ -1,4 +1,3 @@ -{ - "fps": 50, - "video": 1 -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_insertion_human/meta_data/stats.safetensors index 9b6a7c83..84516142 100644 Binary files a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/stats.safetensors and b/tests/data/lerobot/aloha_sim_insertion_human/meta_data/stats.safetensors differ diff --git a/tests/data/lerobot/aloha_sim_insertion_human/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_insertion_human/train/data-00000-of-00001.arrow index d93d0e27..13fb4452 100644 Binary files a/tests/data/lerobot/aloha_sim_insertion_human/train/data-00000-of-00001.arrow and b/tests/data/lerobot/aloha_sim_insertion_human/train/data-00000-of-00001.arrow differ diff --git a/tests/data/lerobot/aloha_sim_insertion_human/train/dataset_info.json b/tests/data/lerobot/aloha_sim_insertion_human/train/dataset_info.json index c6f7b938..1c9122f7 100644 --- a/tests/data/lerobot/aloha_sim_insertion_human/train/dataset_info.json +++ b/tests/data/lerobot/aloha_sim_insertion_human/train/dataset_info.json @@ -1,47 +1,3 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:3f44d13de5d5a417263bbd4984942ed42ed3fa0633405aa14d9a969a45274944 +size 842 diff --git a/tests/data/lerobot/aloha_sim_insertion_human/train/state.json b/tests/data/lerobot/aloha_sim_insertion_human/train/state.json index 6cd9158a..aa5f34da 100644 --- a/tests/data/lerobot/aloha_sim_insertion_human/train/state.json +++ b/tests/data/lerobot/aloha_sim_insertion_human/train/state.json @@ -1,13 +1,3 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "eb913a2b1a68aa74", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:71d6ba89bee5a4ee2761220452999e415bc838a44bebf1b5a2e4ba8622369798 +size 247 diff --git a/tests/data/lerobot/aloha_sim_insertion_human/videos/observation.images.top_episode_000000.mp4 b/tests/data/lerobot/aloha_sim_insertion_human/videos/observation.images.top_episode_000000.mp4 index 56280d53..ef3660f2 100644 Binary files a/tests/data/lerobot/aloha_sim_insertion_human/videos/observation.images.top_episode_000000.mp4 and b/tests/data/lerobot/aloha_sim_insertion_human/videos/observation.images.top_episode_000000.mp4 differ diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..6cd34f25 --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7dbc214a415689ca7fb83b6f8e12ec7824dfe34a66024b0b24bfeb3aeefd0e4 +size 928 diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/info.json b/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/info.json new file mode 100644 index 00000000..5d86c44e --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:083db9efc5c9e3396c5e1159d020c2a3786f1f1a4b069719d327ed7fbc65c34d +size 33 diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/stats.safetensors new file mode 100644 index 00000000..fa5c7586 --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f98bd8f6347590aecdddaceed95d921f2d9f7bf35fbe742c37bdf12cba11dca6 +size 2904 diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_insertion_human_image/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..93a11cf8 --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_human_image/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0013aea549ec290af94bddde1b559fb8d0967d4c43ef14319177c4e62ed1e91 +size 14545712 diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/train/dataset_info.json b/tests/data/lerobot/aloha_sim_insertion_human_image/train/dataset_info.json new file mode 100644 index 00000000..cf816b66 --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_human_image/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c9545525dc1f4d550591bd5efb63b55c15b983ae0510fefda5a16d77c78b6ef +size 837 diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/train/state.json b/tests/data/lerobot/aloha_sim_insertion_human_image/train/state.json new file mode 100644 index 00000000..42d31e8e --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_human_image/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7aa033603dc90582516dbcdf3e71e4d3113b70ad49098535def0b282135b5f3 +size 247 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/episode_data_index.safetensors index 1505d613..4195a89f 100644 Binary files a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/episode_data_index.safetensors and b/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/episode_data_index.safetensors differ diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/info.json b/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/info.json index 279cf2c2..8c5c4ee8 100644 --- a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/info.json +++ b/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/info.json @@ -1,4 +1,3 @@ -{ - "fps": 50, - "video": 1 -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/stats.safetensors index 6cce9ffa..e4bae4af 100644 Binary files a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/stats.safetensors and b/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/stats.safetensors differ diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_insertion_scripted/train/data-00000-of-00001.arrow index 65a231a6..82a39801 100644 Binary files a/tests/data/lerobot/aloha_sim_insertion_scripted/train/data-00000-of-00001.arrow and b/tests/data/lerobot/aloha_sim_insertion_scripted/train/data-00000-of-00001.arrow differ diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/train/dataset_info.json b/tests/data/lerobot/aloha_sim_insertion_scripted/train/dataset_info.json index c6f7b938..1c9122f7 100644 --- a/tests/data/lerobot/aloha_sim_insertion_scripted/train/dataset_info.json +++ b/tests/data/lerobot/aloha_sim_insertion_scripted/train/dataset_info.json @@ -1,47 +1,3 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:3f44d13de5d5a417263bbd4984942ed42ed3fa0633405aa14d9a969a45274944 +size 842 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/train/state.json b/tests/data/lerobot/aloha_sim_insertion_scripted/train/state.json index b96705cb..bb533378 100644 --- a/tests/data/lerobot/aloha_sim_insertion_scripted/train/state.json +++ b/tests/data/lerobot/aloha_sim_insertion_scripted/train/state.json @@ -1,13 +1,3 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "d20c2acf1e107266", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:e48156ce4f71ac15d78732312fbc7e199f0ecdaac3604231e6be2e3e5b31a0ad +size 247 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/videos/observation.images.top_episode_000000.mp4 b/tests/data/lerobot/aloha_sim_insertion_scripted/videos/observation.images.top_episode_000000.mp4 index f36a0c18..07c41ce4 100644 Binary files a/tests/data/lerobot/aloha_sim_insertion_scripted/videos/observation.images.top_episode_000000.mp4 and b/tests/data/lerobot/aloha_sim_insertion_scripted/videos/observation.images.top_episode_000000.mp4 differ diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..4195a89f --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4500f31e62f0928a837fa71783acacda0db516c7b00d0586a41ea5fd8fc5e772 +size 928 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/info.json b/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/info.json new file mode 100644 index 00000000..5d86c44e --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:083db9efc5c9e3396c5e1159d020c2a3786f1f1a4b069719d327ed7fbc65c34d +size 33 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/stats.safetensors new file mode 100644 index 00000000..26f256f5 --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0227d4e9e3b43a86bf33fbd68683ede537fdeab1b53f2ebf155620e10054352f +size 2904 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..735a420b --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bdf02ecf7d5fc502f6dd9f520c636828a5988ad16a69a137780a824f94f8112 +size 10782640 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/dataset_info.json b/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/dataset_info.json new file mode 100644 index 00000000..cf816b66 --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c9545525dc1f4d550591bd5efb63b55c15b983ae0510fefda5a16d77c78b6ef +size 837 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/state.json b/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/state.json new file mode 100644 index 00000000..8c42e0b2 --- /dev/null +++ b/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:752660d8fd884b33b7302a4a42ec7c680de2a3e5022d7d007586f4c6337ce08a +size 247 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/episode_data_index.safetensors index 1505d613..4195a89f 100644 Binary files a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/episode_data_index.safetensors and b/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/episode_data_index.safetensors differ diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/info.json b/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/info.json index 279cf2c2..8c5c4ee8 100644 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/info.json +++ b/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/info.json @@ -1,4 +1,3 @@ -{ - "fps": 50, - "video": 1 -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/stats.safetensors index 2fe6aff2..aa4183d1 100644 Binary files a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/stats.safetensors and b/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/stats.safetensors differ diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_transfer_cube_human/train/data-00000-of-00001.arrow index a9f60d30..0e83c8db 100644 Binary files a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/data-00000-of-00001.arrow and b/tests/data/lerobot/aloha_sim_transfer_cube_human/train/data-00000-of-00001.arrow differ diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/dataset_info.json b/tests/data/lerobot/aloha_sim_transfer_cube_human/train/dataset_info.json index c6f7b938..1c9122f7 100644 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/dataset_info.json +++ b/tests/data/lerobot/aloha_sim_transfer_cube_human/train/dataset_info.json @@ -1,47 +1,3 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:3f44d13de5d5a417263bbd4984942ed42ed3fa0633405aa14d9a969a45274944 +size 842 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/state.json b/tests/data/lerobot/aloha_sim_transfer_cube_human/train/state.json index eb74ba89..5e0a8a48 100644 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/state.json +++ b/tests/data/lerobot/aloha_sim_transfer_cube_human/train/state.json @@ -1,13 +1,3 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "243b01eb8a4b184e", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:6ff72fd4f6f61309191a7f2829b73649d836c1ed10f00983093dc68599c92404 +size 247 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/videos/observation.images.top_episode_000000.mp4 b/tests/data/lerobot/aloha_sim_transfer_cube_human/videos/observation.images.top_episode_000000.mp4 index 12a1e5be..e31121e9 100644 Binary files a/tests/data/lerobot/aloha_sim_transfer_cube_human/videos/observation.images.top_episode_000000.mp4 and b/tests/data/lerobot/aloha_sim_transfer_cube_human/videos/observation.images.top_episode_000000.mp4 differ diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..4195a89f --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4500f31e62f0928a837fa71783acacda0db516c7b00d0586a41ea5fd8fc5e772 +size 928 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/info.json b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/info.json new file mode 100644 index 00000000..5d86c44e --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:083db9efc5c9e3396c5e1159d020c2a3786f1f1a4b069719d327ed7fbc65c34d +size 33 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/stats.safetensors new file mode 100644 index 00000000..544874c4 --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09de36f2d6786e65e26d4602e00f9097f63a087a6a4f36e98c5367724acfc755 +size 2904 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..a8ee8a54 --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f35b1ce169c6355536405718409041da7969cc351d62ef0d2c6f6351ac009e2 +size 10640376 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/dataset_info.json b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/dataset_info.json new file mode 100644 index 00000000..cf816b66 --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c9545525dc1f4d550591bd5efb63b55c15b983ae0510fefda5a16d77c78b6ef +size 837 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/state.json b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/state.json new file mode 100644 index 00000000..35f278ca --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec153065a4e52f7d55a7f026d804c57a3ce05dc1faa255a1947369f83c70f1e7 +size 247 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/episode_data_index.safetensors index 1505d613..4195a89f 100644 Binary files a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/episode_data_index.safetensors and b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/episode_data_index.safetensors differ diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/info.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/info.json index 279cf2c2..8c5c4ee8 100644 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/info.json +++ b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/info.json @@ -1,4 +1,3 @@ -{ - "fps": 50, - "video": 1 -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/stats.safetensors index c2ab5b21..057dceca 100644 Binary files a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/stats.safetensors and b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/stats.safetensors differ diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/data-00000-of-00001.arrow index 405509d1..8f9ae056 100644 Binary files a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/data-00000-of-00001.arrow and b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/data-00000-of-00001.arrow differ diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/dataset_info.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/dataset_info.json index c6f7b938..1c9122f7 100644 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/dataset_info.json +++ b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/dataset_info.json @@ -1,47 +1,3 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:3f44d13de5d5a417263bbd4984942ed42ed3fa0633405aa14d9a969a45274944 +size 842 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/state.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/state.json index 91c46511..706e48ee 100644 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/state.json +++ b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/state.json @@ -1,13 +1,3 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "eb759bbf60df7be9", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:4d5bfac4bd22cab6449b24e457719c6598b367f191160335cba81c3b416b1cd5 +size 247 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/videos/observation.images.top_episode_000000.mp4 b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/videos/observation.images.top_episode_000000.mp4 index 2d25242c..dbd3dfab 100644 Binary files a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/videos/observation.images.top_episode_000000.mp4 and b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/videos/observation.images.top_episode_000000.mp4 differ diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..4195a89f --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4500f31e62f0928a837fa71783acacda0db516c7b00d0586a41ea5fd8fc5e772 +size 928 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/info.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/info.json new file mode 100644 index 00000000..5d86c44e --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:083db9efc5c9e3396c5e1159d020c2a3786f1f1a4b069719d327ed7fbc65c34d +size 33 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/stats.safetensors new file mode 100644 index 00000000..54946e8c --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5dae4fa688991d97145fd975d317b24b177f674cc57e53ef4caba1413fe1aad8 +size 2904 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..61979acb --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3948750400c273b7e3ef2998fa84ca7a520d8972c8759c2428ff6fbdc2bd8fb7 +size 11505144 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/dataset_info.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/dataset_info.json new file mode 100644 index 00000000..cf816b66 --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c9545525dc1f4d550591bd5efb63b55c15b983ae0510fefda5a16d77c78b6ef +size 837 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/state.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/state.json new file mode 100644 index 00000000..bda86ecb --- /dev/null +++ b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fda1fe75c9f987c065d4244594e4f6456b7ac6efd7fae2a7952fb48b044dbd30 +size 247 diff --git a/tests/data/lerobot/aloha_static_battery/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_battery/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..bcf6f38c --- /dev/null +++ b/tests/data/lerobot/aloha_static_battery/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a17b1cd612f06662c14e0a74f9bd4787ab97558d57d6e150d06a401a48eccba9 +size 912 diff --git a/tests/data/lerobot/aloha_static_battery/meta_data/info.json b/tests/data/lerobot/aloha_static_battery/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_battery/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_battery/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_battery/meta_data/stats.safetensors new file mode 100644 index 00000000..59d07cc3 --- /dev/null +++ b/tests/data/lerobot/aloha_static_battery/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f724049d7bd23458f02c606fa59cc1d0f2a44f7fac9e5b4c4eff97c95ac132b3 +size 4208 diff --git a/tests/data/lerobot/aloha_static_battery/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_battery/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..56a3e72b --- /dev/null +++ b/tests/data/lerobot/aloha_static_battery/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52fb2e9785eb8d069def324272008ca829ebb32830165bdcbbfdfd3cc6bf42dd +size 240928 diff --git a/tests/data/lerobot/aloha_static_battery/train/dataset_info.json b/tests/data/lerobot/aloha_static_battery/train/dataset_info.json new file mode 100644 index 00000000..7fe0ac4c --- /dev/null +++ b/tests/data/lerobot/aloha_static_battery/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e066afefdee57f3bc534085ab7af54e62d3ab2736d42863a89deb743cd0d04 +size 1075 diff --git a/tests/data/lerobot/aloha_static_battery/train/state.json b/tests/data/lerobot/aloha_static_battery/train/state.json new file mode 100644 index 00000000..04593ca1 --- /dev/null +++ b/tests/data/lerobot/aloha_static_battery/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e06118a224b4477c0aaf17d43930cd7f516f3de932c6d5547ee741f609a6228 +size 247 diff --git a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..f1f71ae9 --- /dev/null +++ b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:551bb7677b875b263df5b60d6e258e8ca825572938b65c3eacfa7ae3ea325149 +size 4246212 diff --git a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..c91a7999 --- /dev/null +++ b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7230024f74e30b3f0430790f95e4920968d7e1821355006b48c191487ec6ca4d +size 3712553 diff --git a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..5991d529 --- /dev/null +++ b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:376486caa0033cc2b1345e0e838243c4fe09623ae6e655765f5ec92f90a70d4e +size 3358646 diff --git a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..f5343155 --- /dev/null +++ b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfed128b3afe26ad99095944023765cfbe32b35f7ddc267ed4b8c19462211e7c +size 4183134 diff --git a/tests/data/lerobot/aloha_static_candy/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_candy/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..c4f52e96 --- /dev/null +++ b/tests/data/lerobot/aloha_static_candy/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed655b17ac00510afe57cc340cc8fa3b0b7e377f9de41fa53092425174b9730d +size 928 diff --git a/tests/data/lerobot/aloha_static_candy/meta_data/info.json b/tests/data/lerobot/aloha_static_candy/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_candy/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_candy/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_candy/meta_data/stats.safetensors new file mode 100644 index 00000000..370fc150 --- /dev/null +++ b/tests/data/lerobot/aloha_static_candy/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:973576883a1dedcd1d8c21a8ab2879854d7cbdeff8f40787bc654298deeeaa2f +size 4208 diff --git a/tests/data/lerobot/aloha_static_candy/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_candy/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..806e0f0a --- /dev/null +++ b/tests/data/lerobot/aloha_static_candy/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b034ce6eadfd29cbc7eedc62eeb6a01c9ed7ffa411b773d4a1fe9f79bbd847d +size 280536 diff --git a/tests/data/lerobot/aloha_static_candy/train/dataset_info.json b/tests/data/lerobot/aloha_static_candy/train/dataset_info.json new file mode 100644 index 00000000..7fe0ac4c --- /dev/null +++ b/tests/data/lerobot/aloha_static_candy/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e066afefdee57f3bc534085ab7af54e62d3ab2736d42863a89deb743cd0d04 +size 1075 diff --git a/tests/data/lerobot/aloha_static_candy/train/state.json b/tests/data/lerobot/aloha_static_candy/train/state.json new file mode 100644 index 00000000..171981a8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_candy/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f94ca1a43797e9356f1d0d597557ff20f3ca23b7e1bd6a9155df65dcf9f434e2 +size 247 diff --git a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..eaca1761 --- /dev/null +++ b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3b0bbc457659de53ee2b8787dc4e920fbd528488514f752e636c3a9c04899df +size 4911104 diff --git a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..229ce6ba --- /dev/null +++ b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d660ec74fbf088baa8f34861f1c8fbba9f0909563e0768867daa86581502f90e +size 3401787 diff --git a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..bcf4e716 --- /dev/null +++ b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebc983ce4021a4243fd635126a520e20ef83861a586b7f0672b6b608484b93ec +size 4035176 diff --git a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..2da6290c --- /dev/null +++ b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:441479fdd37074272658400b6fb9c8e4c071e98b125320771d63cf4575aff2d2 +size 4215835 diff --git a/tests/data/lerobot/aloha_static_coffee/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_coffee/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..30b7978a --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:279916f7689ae46af90e92a46eba9486a71fc762e3e2679ab5441eb37126827b +size 928 diff --git a/tests/data/lerobot/aloha_static_coffee/meta_data/info.json b/tests/data/lerobot/aloha_static_coffee/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_coffee/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_coffee/meta_data/stats.safetensors new file mode 100644 index 00000000..0ca75755 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc624f3eb2a5b26dfe44c468a24ec1214a8816f50c08c9f946a7ea088bc43c1e +size 4752 diff --git a/tests/data/lerobot/aloha_static_coffee/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_coffee/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..4eb46312 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0efc7f82fb433744f77f86adabbba81df6e1d4a0f3d660725a10359549f75d62 +size 502200 diff --git a/tests/data/lerobot/aloha_static_coffee/train/dataset_info.json b/tests/data/lerobot/aloha_static_coffee/train/dataset_info.json new file mode 100644 index 00000000..144d793b --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55969ea876fc62b17afca0777816d93c1c90f23207a3562c907cfbd6502858f9 +size 1237 diff --git a/tests/data/lerobot/aloha_static_coffee/train/state.json b/tests/data/lerobot/aloha_static_coffee/train/state.json new file mode 100644 index 00000000..bfa74d36 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acbefb679113a410d9b2a337d2d4b5393c60538e4bb5da97686e3abd2fa623b2 +size 247 diff --git a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..80dac156 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:345cc5402794b1566fae73146ac3f0b36b18d1df4badcf1897a2ae3fae3f1e99 +size 9177059 diff --git a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..ee068c57 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f30fba7ee9b10cb3f5eb50f117c742e47d5ec6c205036edfa62bec9fc8b7517c +size 6345170 diff --git a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..72abaad5 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:494871573d44aa601d091f24a4cccd4f625c8290929575ff189636495c970684 +size 7119730 diff --git a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..0c872310 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31dc487809c370dc9e1d740826da03c108740226e19306cf755c27ea623e3e95 +size 6395729 diff --git a/tests/data/lerobot/aloha_static_coffee_new/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_coffee_new/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..beea5395 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee_new/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e2e06405e7a137c3285c74f9bae676ff935c694d446e7000772c8e10df777a8 +size 928 diff --git a/tests/data/lerobot/aloha_static_coffee_new/meta_data/info.json b/tests/data/lerobot/aloha_static_coffee_new/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee_new/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_coffee_new/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_coffee_new/meta_data/stats.safetensors new file mode 100644 index 00000000..af12bb36 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee_new/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b32796a498a506e7701ba91607a3dc59b9dfd8b1efde93ee423a921f05805663 +size 4752 diff --git a/tests/data/lerobot/aloha_static_coffee_new/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_coffee_new/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..7e026666 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee_new/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5da09bf6e21a26299eddae1cf583ab6ce627dd3b6b3cfd488da2783a04672e58 +size 683048 diff --git a/tests/data/lerobot/aloha_static_coffee_new/train/dataset_info.json b/tests/data/lerobot/aloha_static_coffee_new/train/dataset_info.json new file mode 100644 index 00000000..144d793b --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee_new/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55969ea876fc62b17afca0777816d93c1c90f23207a3562c907cfbd6502858f9 +size 1237 diff --git a/tests/data/lerobot/aloha_static_coffee_new/train/state.json b/tests/data/lerobot/aloha_static_coffee_new/train/state.json new file mode 100644 index 00000000..76b538c6 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee_new/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de36f736a398cc5f11db8f196a92d48a7cba67f19012d529bf0b69ba0e07003d +size 247 diff --git a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..fcd1135c --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a5057fc6e4bd535dffdb0e6faad693a2786936ffa666a75280d0db6ae201712 +size 12232643 diff --git a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..2677fe66 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4928be2328d324bbb0281cc10307f8987a39a6f1b5c90d39631fdd5b5fa3fbde +size 7717890 diff --git a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..8f7f21a3 --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4188937513012a3de8d6778f90b968f1fface275b82ee843a59d435a21f64bd7 +size 8759488 diff --git a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..acb5814c --- /dev/null +++ b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:773337beb37a7c463a729914eed354ccf6ce649a3978e4c257be7cd4861f67a0 +size 8968282 diff --git a/tests/data/lerobot/aloha_static_cups_open/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_cups_open/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..4195a89f --- /dev/null +++ b/tests/data/lerobot/aloha_static_cups_open/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4500f31e62f0928a837fa71783acacda0db516c7b00d0586a41ea5fd8fc5e772 +size 928 diff --git a/tests/data/lerobot/aloha_static_cups_open/meta_data/info.json b/tests/data/lerobot/aloha_static_cups_open/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_cups_open/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_cups_open/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_cups_open/meta_data/stats.safetensors new file mode 100644 index 00000000..2e4012f6 --- /dev/null +++ b/tests/data/lerobot/aloha_static_cups_open/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2926f7125dab62160ba0c8fd19ce8586305344fc218069f45f73b6b672bfff00 +size 4208 diff --git a/tests/data/lerobot/aloha_static_cups_open/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_cups_open/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..3d387b61 --- /dev/null +++ b/tests/data/lerobot/aloha_static_cups_open/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ac5379f3dc5151c84dc9300f9384dc09beabf2f11138797410f5a3f53440a21 +size 161640 diff --git a/tests/data/lerobot/aloha_static_cups_open/train/dataset_info.json b/tests/data/lerobot/aloha_static_cups_open/train/dataset_info.json new file mode 100644 index 00000000..7fe0ac4c --- /dev/null +++ b/tests/data/lerobot/aloha_static_cups_open/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e066afefdee57f3bc534085ab7af54e62d3ab2736d42863a89deb743cd0d04 +size 1075 diff --git a/tests/data/lerobot/aloha_static_cups_open/train/state.json b/tests/data/lerobot/aloha_static_cups_open/train/state.json new file mode 100644 index 00000000..ccd89115 --- /dev/null +++ b/tests/data/lerobot/aloha_static_cups_open/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e2a558362c1cc7842381b36550e23853cec672d20af98e97dc1fae064a758ed +size 247 diff --git a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..4621cc81 --- /dev/null +++ b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2f3eb9c8f613dba69ed59f0d28778a04ce6f0eddbc4de86145692fe2f3bde40 +size 2787770 diff --git a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..b13f506c --- /dev/null +++ b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:213eaa3d61b6867f86be0f580aa8860d1431ac280d0b27a794da5f49e98d97ac +size 1881751 diff --git a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..513286d7 --- /dev/null +++ b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04ab62f752164281b398e377d9b0c6212d3dd5543459ecf9150d123def7425b7 +size 2188614 diff --git a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..1b5dc13c --- /dev/null +++ b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:806e3eab682e7404fc5fe487ca24ad8f94b07ff161018be3944edcb6b97a6219 +size 2588560 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..4a634f47 --- /dev/null +++ b/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df5cde6d9bffddea00f30b29d987c3f0dfbed30b78637d0758d8e107c438b7c1 +size 1736 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/info.json b/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/stats.safetensors new file mode 100644 index 00000000..3a89b9df --- /dev/null +++ b/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91f7c8d82b012f8e78d5ea02360079f020337bd1c4bee2b8b500c58618f7dfa3 +size 4752 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_fork_pick_up/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..b1ff1173 --- /dev/null +++ b/tests/data/lerobot/aloha_static_fork_pick_up/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:864372abf759e77b9632759455424eb753f190893db3ef301095f197f655da2f +size 274824 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/train/dataset_info.json b/tests/data/lerobot/aloha_static_fork_pick_up/train/dataset_info.json new file mode 100644 index 00000000..144d793b --- /dev/null +++ b/tests/data/lerobot/aloha_static_fork_pick_up/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55969ea876fc62b17afca0777816d93c1c90f23207a3562c907cfbd6502858f9 +size 1237 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/train/state.json b/tests/data/lerobot/aloha_static_fork_pick_up/train/state.json new file mode 100644 index 00000000..c0688ecc --- /dev/null +++ b/tests/data/lerobot/aloha_static_fork_pick_up/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de515786e9268bce42b97ae7e8090dfdb1bf865beead255ba28f0901b0adf8d5 +size 247 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..faa9dfea --- /dev/null +++ b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4274f639490f60855c4d58ccc0095839e8c6f07849ee986eeaedf90aeca5f8e +size 3859460 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..d76da528 --- /dev/null +++ b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1632488aaebcf20a1f1bc4889f422c8afad605521024ae0a569f4d3cba30e24e +size 3572791 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..84763450 --- /dev/null +++ b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a57d601ffd4ce86fe706d678c79ef20987d1875ba4126284b5f5dc093ce0e861 +size 2880255 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..992fdc9d --- /dev/null +++ b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:409f4ce179fbba18920bf09c17bdeb11a8ed4b9fab080fd6b1d51f9c58d95c46 +size 3745968 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_pingpong_test/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..672d46d0 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pingpong_test/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63985365b49c12789a9a0e3dc330cc3fd492d9e2c70af55928ebdae3b0bcca8e +size 288 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/meta_data/info.json b/tests/data/lerobot/aloha_static_pingpong_test/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pingpong_test/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_pingpong_test/meta_data/stats.safetensors new file mode 100644 index 00000000..72661188 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pingpong_test/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea4df04d8c0a084209af94b60a9bed646c8fe5a6400ab22fa15661bab0fe5a89 +size 4752 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_pingpong_test/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..669d7d10 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pingpong_test/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0045279e29d55a7d686bee2cf5cd80993229710e1ede8c750703c56dcc573d56 +size 274824 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/train/dataset_info.json b/tests/data/lerobot/aloha_static_pingpong_test/train/dataset_info.json new file mode 100644 index 00000000..144d793b --- /dev/null +++ b/tests/data/lerobot/aloha_static_pingpong_test/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55969ea876fc62b17afca0777816d93c1c90f23207a3562c907cfbd6502858f9 +size 1237 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/train/state.json b/tests/data/lerobot/aloha_static_pingpong_test/train/state.json new file mode 100644 index 00000000..b9b97753 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pingpong_test/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:240fae9fa494f7557328dd5e80c5448ceb7271084217b3bc96e123b0e7f4d7bf +size 247 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..3bfcb67c --- /dev/null +++ b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15934e7d48d2914b1d89f262e59799175d2bb2e27a97401e51bc83d5b9fe3837 +size 4403990 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..d97364e4 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bf1fbd424c53914d485472ed2bc9d3ecedc1a6f126b83c90fe951deb3a13a65 +size 4025665 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..5bcdadb6 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8965a19d085ffff9de779de0eba79a6a51f4bb84325a2919604498753778e1c5 +size 3271435 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..71553951 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:961a12feea3870f45d4ae3fb9a20b8bdb8928020d96c556c24cb48c10a3c9200 +size 3972027 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_pro_pencil/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..0a3e7b18 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pro_pencil/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e36408014ca0be67de36d9d5d0910cb94734ac76421d8bdb5dbb9bd0707ef82f +size 528 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/meta_data/info.json b/tests/data/lerobot/aloha_static_pro_pencil/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pro_pencil/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_pro_pencil/meta_data/stats.safetensors new file mode 100644 index 00000000..6da8678b --- /dev/null +++ b/tests/data/lerobot/aloha_static_pro_pencil/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a54e6fbefceec2db7c850d872ba825cbddef0ddfeb7621beca2f26705344de4 +size 4752 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_pro_pencil/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..97b16748 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pro_pencil/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:783d2d14b19a81ded4e00226c20f1d24f6b52f0522a661d716afdb22d6346643 +size 161792 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/train/dataset_info.json b/tests/data/lerobot/aloha_static_pro_pencil/train/dataset_info.json new file mode 100644 index 00000000..144d793b --- /dev/null +++ b/tests/data/lerobot/aloha_static_pro_pencil/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55969ea876fc62b17afca0777816d93c1c90f23207a3562c907cfbd6502858f9 +size 1237 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/train/state.json b/tests/data/lerobot/aloha_static_pro_pencil/train/state.json new file mode 100644 index 00000000..b2e0f18a --- /dev/null +++ b/tests/data/lerobot/aloha_static_pro_pencil/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db661ba3cf29bf8e16fba3fb79041f987e4aa0f43305e4e81fe1fcc58925d5ca +size 247 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..965bd33b --- /dev/null +++ b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72437edfae1ae4f76ee1800b77c4f31f0e60a7f49d12447a07bcae8710217f26 +size 4493363 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..9443d090 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cfec31227cd9f6eec767dd14cf480da92ae17808b003531ee596ca37ae3f2c2 +size 4528034 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..6485a67a --- /dev/null +++ b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24971ddc33b11e012cf2e5d2ae89ac2f8d06f31ae82db5b8ade5583c812a96a3 +size 3243037 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..3fa03fb0 --- /dev/null +++ b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f8e887ee52d8ad4125dceea04aa8db83477c924a7d8bc3cc3fbeb7085814b3b +size 4517634 diff --git a/tests/data/lerobot/aloha_static_screw_driver/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_screw_driver/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..4195a89f --- /dev/null +++ b/tests/data/lerobot/aloha_static_screw_driver/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4500f31e62f0928a837fa71783acacda0db516c7b00d0586a41ea5fd8fc5e772 +size 928 diff --git a/tests/data/lerobot/aloha_static_screw_driver/meta_data/info.json b/tests/data/lerobot/aloha_static_screw_driver/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_screw_driver/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_screw_driver/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_screw_driver/meta_data/stats.safetensors new file mode 100644 index 00000000..092cce00 --- /dev/null +++ b/tests/data/lerobot/aloha_static_screw_driver/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df11137a7ff1c75eedeae7b6b15fbfbaf9d4c152583f34371b95add3a10bd2b1 +size 4752 diff --git a/tests/data/lerobot/aloha_static_screw_driver/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_screw_driver/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..ecb2c3e6 --- /dev/null +++ b/tests/data/lerobot/aloha_static_screw_driver/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7480735fb1263858492ed6384b43606c8019f46ac06cc12b945170db72b6e487 +size 184336 diff --git a/tests/data/lerobot/aloha_static_screw_driver/train/dataset_info.json b/tests/data/lerobot/aloha_static_screw_driver/train/dataset_info.json new file mode 100644 index 00000000..144d793b --- /dev/null +++ b/tests/data/lerobot/aloha_static_screw_driver/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55969ea876fc62b17afca0777816d93c1c90f23207a3562c907cfbd6502858f9 +size 1237 diff --git a/tests/data/lerobot/aloha_static_screw_driver/train/state.json b/tests/data/lerobot/aloha_static_screw_driver/train/state.json new file mode 100644 index 00000000..176af15f --- /dev/null +++ b/tests/data/lerobot/aloha_static_screw_driver/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d842fe613f4f21d84bbf3e233ea637bce2b20e4145cc23f964a5b7a18f002051 +size 247 diff --git a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..c35e8b8f --- /dev/null +++ b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b184062800c884b7f75d57d69619dc9a85fe2320acc0d6591f76cbab1924bbaf +size 2918070 diff --git a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..e85a8339 --- /dev/null +++ b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fb27591eb299d2a452dca6dd56154149629597d9acb0f40b98b78794758f064 +size 2084920 diff --git a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..7cb600d0 --- /dev/null +++ b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a49ab61d1c17bc3f69a157e292625885342b3f324b1b84c79d843572ce03c17e +size 2194056 diff --git a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..1fc81239 --- /dev/null +++ b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79765f8cb272841bed0992d15ba47622d73bb0c22970f8cd53382f178081d7cf +size 2364180 diff --git a/tests/data/lerobot/aloha_static_tape/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_tape/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..c4f52e96 --- /dev/null +++ b/tests/data/lerobot/aloha_static_tape/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed655b17ac00510afe57cc340cc8fa3b0b7e377f9de41fa53092425174b9730d +size 928 diff --git a/tests/data/lerobot/aloha_static_tape/meta_data/info.json b/tests/data/lerobot/aloha_static_tape/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_tape/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_tape/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_tape/meta_data/stats.safetensors new file mode 100644 index 00000000..edaeec16 --- /dev/null +++ b/tests/data/lerobot/aloha_static_tape/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c7e81c07331d8caea03629ea375b2c5340a743df7d9eeafa09b91a8caa5a91d +size 4208 diff --git a/tests/data/lerobot/aloha_static_tape/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_tape/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..e0d1657e --- /dev/null +++ b/tests/data/lerobot/aloha_static_tape/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e93500bcef4b6e05090336376677e8448b360313cc64103d671efe56e0a1762c +size 280536 diff --git a/tests/data/lerobot/aloha_static_tape/train/dataset_info.json b/tests/data/lerobot/aloha_static_tape/train/dataset_info.json new file mode 100644 index 00000000..7fe0ac4c --- /dev/null +++ b/tests/data/lerobot/aloha_static_tape/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e066afefdee57f3bc534085ab7af54e62d3ab2736d42863a89deb743cd0d04 +size 1075 diff --git a/tests/data/lerobot/aloha_static_tape/train/state.json b/tests/data/lerobot/aloha_static_tape/train/state.json new file mode 100644 index 00000000..c4f01bcc --- /dev/null +++ b/tests/data/lerobot/aloha_static_tape/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:592c54d3d35819519fab84710b9065fa4fec379fb5f6f0fcc16204bc8342afbc +size 247 diff --git a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..7023e6ef --- /dev/null +++ b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:609ae43ed4cdbace153441f7b5c242a05a6d77b03bf95a54085d9d516f99177d +size 4952309 diff --git a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..d327ad86 --- /dev/null +++ b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4fc833e1230e3bd76bebe05b8140cf8b7ddedcd9f92ecada24cf18797b1122a +size 3595177 diff --git a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..41c475c3 --- /dev/null +++ b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b6ba12e71d62e794ada84ce6ed60d7d95b1966a019e08461935382869a934a0 +size 4198952 diff --git a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..11fa8895 --- /dev/null +++ b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cc38c231137681dfbbc881545f022cbe8eaab31e0daa172c3cc0ce59b4a747e +size 3352048 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_thread_velcro/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..18fe71f2 --- /dev/null +++ b/tests/data/lerobot/aloha_static_thread_velcro/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e035ea351dc5a5456bd43d75acbe292ca27e03d340ab7fbb325a42abe4f7cacf +size 672 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/meta_data/info.json b/tests/data/lerobot/aloha_static_thread_velcro/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_thread_velcro/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_thread_velcro/meta_data/stats.safetensors new file mode 100644 index 00000000..88472415 --- /dev/null +++ b/tests/data/lerobot/aloha_static_thread_velcro/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61d5deeefd272040d74b61ce07a08fd04ca9e2edd6c80f8a6b3e3e4eff91bfa8 +size 4208 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_thread_velcro/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..a77c1adf --- /dev/null +++ b/tests/data/lerobot/aloha_static_thread_velcro/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e11a8bd12e572d46f68bd5705822f659f3933009dba93beb15623c4433a12420 +size 240928 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/train/dataset_info.json b/tests/data/lerobot/aloha_static_thread_velcro/train/dataset_info.json new file mode 100644 index 00000000..7fe0ac4c --- /dev/null +++ b/tests/data/lerobot/aloha_static_thread_velcro/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e066afefdee57f3bc534085ab7af54e62d3ab2736d42863a89deb743cd0d04 +size 1075 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/train/state.json b/tests/data/lerobot/aloha_static_thread_velcro/train/state.json new file mode 100644 index 00000000..fcd38aa8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_thread_velcro/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d1ab3212e4f5b5d9873f466c99c37078651d54f087758d8c5cee452701bbcbc +size 247 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..6f078a3a --- /dev/null +++ b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebafc3dd30d15fcbf474269ede2f55f120bdf73c16e20e98504b5bbda3a57149 +size 4385458 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..b859b63b --- /dev/null +++ b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa07ba8bc6a4d4bed7681b7ce3298ccdcd519f0697f6435a59b7b7b7f3502234 +size 3215036 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..796250b6 --- /dev/null +++ b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca347f88364e5e9437f35213d7704629f4a327419bf9edaf0d2747536a254743 +size 3101902 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..10613bce --- /dev/null +++ b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e9336bba763a7ba923c1440e1c99a7e10bbcec9da514dd7426ba31057496d1b +size 3517470 diff --git a/tests/data/lerobot/aloha_static_towel/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_towel/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..6cd34f25 --- /dev/null +++ b/tests/data/lerobot/aloha_static_towel/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7dbc214a415689ca7fb83b6f8e12ec7824dfe34a66024b0b24bfeb3aeefd0e4 +size 928 diff --git a/tests/data/lerobot/aloha_static_towel/meta_data/info.json b/tests/data/lerobot/aloha_static_towel/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_towel/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_towel/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_towel/meta_data/stats.safetensors new file mode 100644 index 00000000..12f74dd1 --- /dev/null +++ b/tests/data/lerobot/aloha_static_towel/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e409aa663d47e19875b2c20a6360f71b335285fa4f091471cb0fa07f82f0801 +size 4752 diff --git a/tests/data/lerobot/aloha_static_towel/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_towel/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..50829c6f --- /dev/null +++ b/tests/data/lerobot/aloha_static_towel/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e98de2ea8c8c838600b3bb8407c3eeeab3ab78e6632c49c7377b0491fdd0640 +size 229608 diff --git a/tests/data/lerobot/aloha_static_towel/train/dataset_info.json b/tests/data/lerobot/aloha_static_towel/train/dataset_info.json new file mode 100644 index 00000000..144d793b --- /dev/null +++ b/tests/data/lerobot/aloha_static_towel/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55969ea876fc62b17afca0777816d93c1c90f23207a3562c907cfbd6502858f9 +size 1237 diff --git a/tests/data/lerobot/aloha_static_towel/train/state.json b/tests/data/lerobot/aloha_static_towel/train/state.json new file mode 100644 index 00000000..6b123113 --- /dev/null +++ b/tests/data/lerobot/aloha_static_towel/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbc5bf36c81ecd2f8acceaec82826ab1be434e79ca721e5b026841a8af66ea77 +size 247 diff --git a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..f49c3c07 --- /dev/null +++ b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e68d65e88e8374d3d274e1dc53e4e033de4cd9edcd92c91b6389491a59de3f2d +size 3405972 diff --git a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..4e9fa0d7 --- /dev/null +++ b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fcdeacda3ab3818eb7ef0a965bca879b5e7546c70cf567e61137e1d4d0b1939 +size 2846253 diff --git a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..0ba050a0 --- /dev/null +++ b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7f8b2fe954a90cdaccf69ca1e4650fc351a02113e6ad8fa4ff23814e24db7df +size 2933255 diff --git a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..916a8999 --- /dev/null +++ b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63dc60583af5e6187c5edc947eafa1cc7b005585f4e4e3f70fd2d17ba3011e21 +size 2208369 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_vinh_cup/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..ab81e5db --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3fca9067e7bae957ed575e036a22570e352148c56c41827e289d66dd18b3edf +size 1752 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/meta_data/info.json b/tests/data/lerobot/aloha_static_vinh_cup/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_vinh_cup/meta_data/stats.safetensors new file mode 100644 index 00000000..a2ffb946 --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e82e25831f4e1576bf7e1ae54edb1a4557b69012fb7cfca790b38d5f86d1f541 +size 4752 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_vinh_cup/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..3c92756b --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:327b9895d3bcedba90ccf93608cfc02258ed0fe37453cc3d8e129a882b7cce21 +size 229608 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/train/dataset_info.json b/tests/data/lerobot/aloha_static_vinh_cup/train/dataset_info.json new file mode 100644 index 00000000..144d793b --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55969ea876fc62b17afca0777816d93c1c90f23207a3562c907cfbd6502858f9 +size 1237 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/train/state.json b/tests/data/lerobot/aloha_static_vinh_cup/train/state.json new file mode 100644 index 00000000..07581a05 --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f2bd3596d09a26ef6b3ec93bd2640a3aae8b4e57662a46641335c2f538e0d42 +size 247 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..6351f498 --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b08ab3633d1b4f72f05b1606420454d10a0f5e54dc9e8862ccd7236383c521e +size 3117796 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..3f02b5d8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5079b973b7a0741423071fa0270127267424339be87ea03f629a92add56f7e5e +size 2444814 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..c599e415 --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de35095f8a76f9fc4993322546b6308c8816b3bdbb1ba690f8c0ce71e24237c8 +size 2523272 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..2b262701 --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc9652e2d4c95d45bead8bb79049b1bf36c8c7e177d2bcf906ee0eee0f8b47c7 +size 3278890 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..4496bc5c --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f447f38b8e6ae16234359701bf3463c0e8a732f332b1ee98fd7838f70030f0cb +size 1736 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/info.json b/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/stats.safetensors new file mode 100644 index 00000000..526e9a3a --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06288d8c4353940ffe283330ae99cdbb7f0513396983ee518470a2523203c442 +size 4752 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_vinh_cup_left/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..0433fbd5 --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup_left/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:433a22f0e6aea55befe841737eeb2f719fbdc769f1bd6cb8831182b3f09606df +size 229608 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/train/dataset_info.json b/tests/data/lerobot/aloha_static_vinh_cup_left/train/dataset_info.json new file mode 100644 index 00000000..144d793b --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup_left/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55969ea876fc62b17afca0777816d93c1c90f23207a3562c907cfbd6502858f9 +size 1237 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/train/state.json b/tests/data/lerobot/aloha_static_vinh_cup_left/train/state.json new file mode 100644 index 00000000..7320e0c4 --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup_left/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0f697e633fcb09ac7384c27132ca9a6637782ab7e832de0dc8dcdc036a13e62 +size 247 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..9b92e67b --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e447647fe72ee8d8fc3e16669c468217660557cee92579c1bc72be43fe7308d +size 3157366 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..4288c349 --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:243268ba041e1cefe2118a0a996e99a986e59e44e19a1cd8787c5af24b777839 +size 3427057 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..4901a8ac --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86e7dca367bb1fc7ce4ab0e34d568d9e6fcd186c8a48f56fb8ccb814e0c0ac18 +size 2479380 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..b3538b3d --- /dev/null +++ b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87f1915600f6ffb86273f3c3d33406650f68bd563fe2fadb12827cf86a108b05 +size 3431257 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..31f6d028 --- /dev/null +++ b/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88e43cf494635aa058483f6cc9953a11ab8269f78849c66f53dfccb3d0a7521b +size 1024 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/info.json b/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/info.json new file mode 100644 index 00000000..8c5c4ee8 --- /dev/null +++ b/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf148247bf191c7f7e8af738a7b9e147f9ffffeec0e4b9d1c4783c4e384da7eb +size 33 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/stats.safetensors new file mode 100644 index 00000000..fac49b2b --- /dev/null +++ b/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f103a4914944258a996601d94515516691749772ff51e227a00b044b9352479b +size 4208 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_ziploc_slide/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..c0ba4810 --- /dev/null +++ b/tests/data/lerobot/aloha_static_ziploc_slide/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de3f86519175aba9a03308e16f92b101c669c1c38d8ffb0703baf7ee0c70a2bc +size 122088 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/train/dataset_info.json b/tests/data/lerobot/aloha_static_ziploc_slide/train/dataset_info.json new file mode 100644 index 00000000..7fe0ac4c --- /dev/null +++ b/tests/data/lerobot/aloha_static_ziploc_slide/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2e066afefdee57f3bc534085ab7af54e62d3ab2736d42863a89deb743cd0d04 +size 1075 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/train/state.json b/tests/data/lerobot/aloha_static_ziploc_slide/train/state.json new file mode 100644 index 00000000..75907f4d --- /dev/null +++ b/tests/data/lerobot/aloha_static_ziploc_slide/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bb2830cf2074a67f74027da45417c6e78c1a6476e4d6311ac245ad56a9aeb7a +size 247 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_high_episode_000000.mp4 new file mode 100644 index 00000000..9d4b355e --- /dev/null +++ b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_high_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f829ea261a361c974db69b358f4bff54aabe1ab7290499dc1cd10dab07f8759 +size 2054720 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_left_wrist_episode_000000.mp4 new file mode 100644 index 00000000..47d2a043 --- /dev/null +++ b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_left_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2598c5ae7ba614e2eb729dc12220aa3618b60cbb1d69736d4d1b7e53ca548c2c +size 1422844 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_low_episode_000000.mp4 new file mode 100644 index 00000000..82a07ab2 --- /dev/null +++ b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_low_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36f59dd411e43e34629e6191d2d7d96eedd9ec5225ee1f66ac99d413a2a08639 +size 2649400 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_right_wrist_episode_000000.mp4 new file mode 100644 index 00000000..989ab175 --- /dev/null +++ b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_right_wrist_episode_000000.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6a99787d215fb56532b542efae97f6cd04046e8bdc8df3baab2542de48a6c83 +size 1543621 diff --git a/tests/data/lerobot/pusht/meta_data/episode_data_index.safetensors b/tests/data/lerobot/pusht/meta_data/episode_data_index.safetensors index 3511c266..600f8e0f 100644 Binary files a/tests/data/lerobot/pusht/meta_data/episode_data_index.safetensors and b/tests/data/lerobot/pusht/meta_data/episode_data_index.safetensors differ diff --git a/tests/data/lerobot/pusht/meta_data/info.json b/tests/data/lerobot/pusht/meta_data/info.json index b7f39715..1df647c6 100644 --- a/tests/data/lerobot/pusht/meta_data/info.json +++ b/tests/data/lerobot/pusht/meta_data/info.json @@ -1,4 +1,3 @@ -{ - "fps": 10, - "video": 1 -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:c306c34ef0ae885bb607026a819b0eeddbc664cba1254f67d0615f90675ca485 +size 33 diff --git a/tests/data/lerobot/pusht/meta_data/stats.safetensors b/tests/data/lerobot/pusht/meta_data/stats.safetensors index e4ebbefe..6202887c 100644 Binary files a/tests/data/lerobot/pusht/meta_data/stats.safetensors and b/tests/data/lerobot/pusht/meta_data/stats.safetensors differ diff --git a/tests/data/lerobot/pusht/train/data-00000-of-00001.arrow b/tests/data/lerobot/pusht/train/data-00000-of-00001.arrow index b99aa290..c46989b3 100644 Binary files a/tests/data/lerobot/pusht/train/data-00000-of-00001.arrow and b/tests/data/lerobot/pusht/train/data-00000-of-00001.arrow differ diff --git a/tests/data/lerobot/pusht/train/dataset_info.json b/tests/data/lerobot/pusht/train/dataset_info.json index a0db336b..e6cac4dc 100644 --- a/tests/data/lerobot/pusht/train/dataset_info.json +++ b/tests/data/lerobot/pusht/train/dataset_info.json @@ -1,55 +1,3 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 2, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 2, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "next.success": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:30d9830b3ef9fc452a1988cd8bcc9ccac35cf8a8081e2a33049369224053cc1b +size 987 diff --git a/tests/data/lerobot/pusht/train/state.json b/tests/data/lerobot/pusht/train/state.json index 776f29ff..a37ac848 100644 --- a/tests/data/lerobot/pusht/train/state.json +++ b/tests/data/lerobot/pusht/train/state.json @@ -1,13 +1,3 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "3e02d7879f423c56", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:8c1a72239bb56a6c5714f18d849557c89feb858840e8f86689d017bb49551379 +size 247 diff --git a/tests/data/lerobot/pusht/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/pusht/videos/observation.image_episode_000000.mp4 index b2040bdd..f6cfaadc 100644 Binary files a/tests/data/lerobot/pusht/videos/observation.image_episode_000000.mp4 and b/tests/data/lerobot/pusht/videos/observation.image_episode_000000.mp4 differ diff --git a/tests/data/lerobot/pusht_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/pusht_image/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..529898ff --- /dev/null +++ b/tests/data/lerobot/pusht_image/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ab094bd9de1a90273cefa1e02a84b3c3916e7812b9c73932f8f92ab2f1b9ba9 +size 3432 diff --git a/tests/data/lerobot/pusht_image/meta_data/info.json b/tests/data/lerobot/pusht_image/meta_data/info.json new file mode 100644 index 00000000..1c234978 --- /dev/null +++ b/tests/data/lerobot/pusht_image/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbf25de102227dd2d8c3b6c61e1fc25a026d44f151161b88bc9a9eb101e942e4 +size 33 diff --git a/tests/data/lerobot/pusht_image/meta_data/stats.safetensors b/tests/data/lerobot/pusht_image/meta_data/stats.safetensors new file mode 100644 index 00000000..d788079d --- /dev/null +++ b/tests/data/lerobot/pusht_image/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65ceff2650ebbba2ee024be9ec083b7f8f20a69cd2c5bd6624382fe5fb974697 +size 3056 diff --git a/tests/data/lerobot/pusht_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/pusht_image/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..01a08dad --- /dev/null +++ b/tests/data/lerobot/pusht_image/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c453a47e3852f3ca09eedfa0f47fabacccff676809678fc3bded273d51ff25e3 +size 197792 diff --git a/tests/data/lerobot/pusht_image/train/dataset_info.json b/tests/data/lerobot/pusht_image/train/dataset_info.json new file mode 100644 index 00000000..7d38d37b --- /dev/null +++ b/tests/data/lerobot/pusht_image/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af0c9dfe9d1e8caa0f9b85ea64895ac7898d6a39414b00b6ced19955e8eceef6 +size 982 diff --git a/tests/data/lerobot/pusht_image/train/state.json b/tests/data/lerobot/pusht_image/train/state.json new file mode 100644 index 00000000..5c5e609a --- /dev/null +++ b/tests/data/lerobot/pusht_image/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87d7942da6c4fe7c7a6caefa9a170c0929ac1c57a08889dec8edfe1904e85d42 +size 247 diff --git a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/episode_data_index.safetensors b/tests/data/lerobot/umi_cup_in_the_wild/meta_data/episode_data_index.safetensors index 1505d613..7359c867 100644 Binary files a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/episode_data_index.safetensors and b/tests/data/lerobot/umi_cup_in_the_wild/meta_data/episode_data_index.safetensors differ diff --git a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/info.json b/tests/data/lerobot/umi_cup_in_the_wild/meta_data/info.json index b7f39715..1df647c6 100644 --- a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/info.json +++ b/tests/data/lerobot/umi_cup_in_the_wild/meta_data/info.json @@ -1,4 +1,3 @@ -{ - "fps": 10, - "video": 1 -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:c306c34ef0ae885bb607026a819b0eeddbc664cba1254f67d0615f90675ca485 +size 33 diff --git a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/stats.safetensors b/tests/data/lerobot/umi_cup_in_the_wild/meta_data/stats.safetensors index d936f449..9519460e 100644 Binary files a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/stats.safetensors and b/tests/data/lerobot/umi_cup_in_the_wild/meta_data/stats.safetensors differ diff --git a/tests/data/lerobot/umi_cup_in_the_wild/train/data-00000-of-00001.arrow b/tests/data/lerobot/umi_cup_in_the_wild/train/data-00000-of-00001.arrow index 11f45a5d..ab8c75f1 100644 Binary files a/tests/data/lerobot/umi_cup_in_the_wild/train/data-00000-of-00001.arrow and b/tests/data/lerobot/umi_cup_in_the_wild/train/data-00000-of-00001.arrow differ diff --git a/tests/data/lerobot/umi_cup_in_the_wild/train/dataset_info.json b/tests/data/lerobot/umi_cup_in_the_wild/train/dataset_info.json index f590f3e4..822a028e 100644 --- a/tests/data/lerobot/umi_cup_in_the_wild/train/dataset_info.json +++ b/tests/data/lerobot/umi_cup_in_the_wild/train/dataset_info.json @@ -1,67 +1,3 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 7, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "episode_data_index_from": { - "dtype": "int64", - "_type": "Value" - }, - "episode_data_index_to": { - "dtype": "int64", - "_type": "Value" - }, - "end_pose": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 6, - "_type": "Sequence" - }, - "start_pos": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 6, - "_type": "Sequence" - }, - "gripper_width": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 1, - "_type": "Sequence" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:ffb9f0f0c5001460cfe1d49ba84ad2722be5ee7885de97dd733cf9b36104a702 +size 1245 diff --git a/tests/data/lerobot/umi_cup_in_the_wild/train/state.json b/tests/data/lerobot/umi_cup_in_the_wild/train/state.json index 80e610ba..ec2c1c94 100644 --- a/tests/data/lerobot/umi_cup_in_the_wild/train/state.json +++ b/tests/data/lerobot/umi_cup_in_the_wild/train/state.json @@ -1,13 +1,3 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "c8b78ec1bbf7a579", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:2d810eb9bdf2f3d2529a17d1a07d7437780383792747299a5d256fc67f991450 +size 247 diff --git a/tests/data/lerobot/umi_cup_in_the_wild/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/umi_cup_in_the_wild/videos/observation.image_episode_000000.mp4 index 3266cf76..3bf18f72 100644 Binary files a/tests/data/lerobot/umi_cup_in_the_wild/videos/observation.image_episode_000000.mp4 and b/tests/data/lerobot/umi_cup_in_the_wild/videos/observation.image_episode_000000.mp4 differ diff --git a/tests/data/lerobot/xarm_lift_medium/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_lift_medium/meta_data/episode_data_index.safetensors index f5e09ec5..3cf01178 100644 Binary files a/tests/data/lerobot/xarm_lift_medium/meta_data/episode_data_index.safetensors and b/tests/data/lerobot/xarm_lift_medium/meta_data/episode_data_index.safetensors differ diff --git a/tests/data/lerobot/xarm_lift_medium/meta_data/info.json b/tests/data/lerobot/xarm_lift_medium/meta_data/info.json index d73052c5..f161e07e 100644 --- a/tests/data/lerobot/xarm_lift_medium/meta_data/info.json +++ b/tests/data/lerobot/xarm_lift_medium/meta_data/info.json @@ -1,4 +1,3 @@ -{ - "fps": 15, - "video": 1 -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:0c6e3c50bb65c5e47ac24bc32e53ab533c78b82c6debab45da6ecea4ce067e37 +size 33 diff --git a/tests/data/lerobot/xarm_lift_medium/meta_data/stats.safetensors b/tests/data/lerobot/xarm_lift_medium/meta_data/stats.safetensors index 712c6252..3687f501 100644 Binary files a/tests/data/lerobot/xarm_lift_medium/meta_data/stats.safetensors and b/tests/data/lerobot/xarm_lift_medium/meta_data/stats.safetensors differ diff --git a/tests/data/lerobot/xarm_lift_medium/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_lift_medium/train/data-00000-of-00001.arrow index 9625a747..6976bc35 100644 Binary files a/tests/data/lerobot/xarm_lift_medium/train/data-00000-of-00001.arrow and b/tests/data/lerobot/xarm_lift_medium/train/data-00000-of-00001.arrow differ diff --git a/tests/data/lerobot/xarm_lift_medium/train/dataset_info.json b/tests/data/lerobot/xarm_lift_medium/train/dataset_info.json index 3791deef..979b529c 100644 --- a/tests/data/lerobot/xarm_lift_medium/train/dataset_info.json +++ b/tests/data/lerobot/xarm_lift_medium/train/dataset_info.json @@ -1,51 +1,3 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:a219f973d6535f40737265fd15d81944aabf8eb7527384d28c507926bfa89f25 +size 912 diff --git a/tests/data/lerobot/xarm_lift_medium/train/state.json b/tests/data/lerobot/xarm_lift_medium/train/state.json index 3989b594..c476db98 100644 --- a/tests/data/lerobot/xarm_lift_medium/train/state.json +++ b/tests/data/lerobot/xarm_lift_medium/train/state.json @@ -1,13 +1,3 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "720072274a55db4d", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:814a0694efe765a72beb63e3d21af715835e085cbbda768955c5c204502a7607 +size 247 diff --git a/tests/data/lerobot/xarm_lift_medium/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/xarm_lift_medium/videos/observation.image_episode_000000.mp4 index 618b888d..2ede48f4 100644 Binary files a/tests/data/lerobot/xarm_lift_medium/videos/observation.image_episode_000000.mp4 and b/tests/data/lerobot/xarm_lift_medium/videos/observation.image_episode_000000.mp4 differ diff --git a/tests/data/lerobot/xarm_lift_medium_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_lift_medium_image/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..e7e90dc3 --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_image/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ddb52e362094cc1469f34f7d723e235abccd24713b962f9765b4f910e85cebd +size 12936 diff --git a/tests/data/lerobot/xarm_lift_medium_image/meta_data/info.json b/tests/data/lerobot/xarm_lift_medium_image/meta_data/info.json new file mode 100644 index 00000000..f3b70e14 --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_image/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1cdc5343e413f5cc546079201b1cfb3f49a46e2bfcee67912f9eb5420c00ce6 +size 33 diff --git a/tests/data/lerobot/xarm_lift_medium_image/meta_data/stats.safetensors b/tests/data/lerobot/xarm_lift_medium_image/meta_data/stats.safetensors new file mode 100644 index 00000000..c5e2b21b --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_image/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:625213579edb7c82580ded28b3bb3dd6894bf27502b401a98de2908a65a2a15d +size 2808 diff --git a/tests/data/lerobot/xarm_lift_medium_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_lift_medium_image/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..53cd0088 --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_image/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c5814b892ceeb0869ec2f1821ab2c5040cbc0f1351a89f5369c67bd137cfe48 +size 105064 diff --git a/tests/data/lerobot/xarm_lift_medium_image/train/dataset_info.json b/tests/data/lerobot/xarm_lift_medium_image/train/dataset_info.json new file mode 100644 index 00000000..e4b66000 --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_image/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba5e9fec857b85adfa021d06c8679f6f7e030c2bfc5d3be3f6590fb250a17d7c +size 907 diff --git a/tests/data/lerobot/xarm_lift_medium_image/train/state.json b/tests/data/lerobot/xarm_lift_medium_image/train/state.json new file mode 100644 index 00000000..401c77f8 --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_image/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:939e376b61bed55ef489fdb209444bc22e7e220a3390faa5415b2b39a2612cb5 +size 247 diff --git a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_lift_medium_replay/meta_data/episode_data_index.safetensors index f5e09ec5..3cf01178 100644 Binary files a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/episode_data_index.safetensors and b/tests/data/lerobot/xarm_lift_medium_replay/meta_data/episode_data_index.safetensors differ diff --git a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/info.json b/tests/data/lerobot/xarm_lift_medium_replay/meta_data/info.json index d73052c5..f161e07e 100644 --- a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/info.json +++ b/tests/data/lerobot/xarm_lift_medium_replay/meta_data/info.json @@ -1,4 +1,3 @@ -{ - "fps": 15, - "video": 1 -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:0c6e3c50bb65c5e47ac24bc32e53ab533c78b82c6debab45da6ecea4ce067e37 +size 33 diff --git a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/stats.safetensors b/tests/data/lerobot/xarm_lift_medium_replay/meta_data/stats.safetensors index a7548bad..9e4aed95 100644 Binary files a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/stats.safetensors and b/tests/data/lerobot/xarm_lift_medium_replay/meta_data/stats.safetensors differ diff --git a/tests/data/lerobot/xarm_lift_medium_replay/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_lift_medium_replay/train/data-00000-of-00001.arrow index 102a6154..27899ba9 100644 Binary files a/tests/data/lerobot/xarm_lift_medium_replay/train/data-00000-of-00001.arrow and b/tests/data/lerobot/xarm_lift_medium_replay/train/data-00000-of-00001.arrow differ diff --git a/tests/data/lerobot/xarm_lift_medium_replay/train/dataset_info.json b/tests/data/lerobot/xarm_lift_medium_replay/train/dataset_info.json index 69bf84eb..bd1e76b9 100644 --- a/tests/data/lerobot/xarm_lift_medium_replay/train/dataset_info.json +++ b/tests/data/lerobot/xarm_lift_medium_replay/train/dataset_info.json @@ -1,51 +1,3 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 3, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:8133fe105b6e35182c4e24d8ac092730cb8f684f6591e4f1b3a4a2adaf224c46 +size 912 diff --git a/tests/data/lerobot/xarm_lift_medium_replay/train/state.json b/tests/data/lerobot/xarm_lift_medium_replay/train/state.json index 6522dcbd..8436b889 100644 --- a/tests/data/lerobot/xarm_lift_medium_replay/train/state.json +++ b/tests/data/lerobot/xarm_lift_medium_replay/train/state.json @@ -1,13 +1,3 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "9f3d8cbb0b2e74a2", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:71f84c95ef32e00060d1658cb601be1bc640a85b9e7200a3af481ba93c145de0 +size 247 diff --git a/tests/data/lerobot/xarm_lift_medium_replay/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/xarm_lift_medium_replay/videos/observation.image_episode_000000.mp4 index f1089c15..e0dc68fa 100644 Binary files a/tests/data/lerobot/xarm_lift_medium_replay/videos/observation.image_episode_000000.mp4 and b/tests/data/lerobot/xarm_lift_medium_replay/videos/observation.image_episode_000000.mp4 differ diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..e7e90dc3 --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ddb52e362094cc1469f34f7d723e235abccd24713b962f9765b4f910e85cebd +size 12936 diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/info.json b/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/info.json new file mode 100644 index 00000000..f3b70e14 --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1cdc5343e413f5cc546079201b1cfb3f49a46e2bfcee67912f9eb5420c00ce6 +size 33 diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/stats.safetensors b/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/stats.safetensors new file mode 100644 index 00000000..c5e2b21b --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:625213579edb7c82580ded28b3bb3dd6894bf27502b401a98de2908a65a2a15d +size 2808 diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_lift_medium_replay_image/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..53cd0088 --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_replay_image/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c5814b892ceeb0869ec2f1821ab2c5040cbc0f1351a89f5369c67bd137cfe48 +size 105064 diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/train/dataset_info.json b/tests/data/lerobot/xarm_lift_medium_replay_image/train/dataset_info.json new file mode 100644 index 00000000..e4b66000 --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_replay_image/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba5e9fec857b85adfa021d06c8679f6f7e030c2bfc5d3be3f6590fb250a17d7c +size 907 diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/train/state.json b/tests/data/lerobot/xarm_lift_medium_replay_image/train/state.json new file mode 100644 index 00000000..401c77f8 --- /dev/null +++ b/tests/data/lerobot/xarm_lift_medium_replay_image/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:939e376b61bed55ef489fdb209444bc22e7e220a3390faa5415b2b39a2612cb5 +size 247 diff --git a/tests/data/lerobot/xarm_push_medium/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_push_medium/meta_data/episode_data_index.safetensors index f5e09ec5..3cf01178 100644 Binary files a/tests/data/lerobot/xarm_push_medium/meta_data/episode_data_index.safetensors and b/tests/data/lerobot/xarm_push_medium/meta_data/episode_data_index.safetensors differ diff --git a/tests/data/lerobot/xarm_push_medium/meta_data/info.json b/tests/data/lerobot/xarm_push_medium/meta_data/info.json index d73052c5..f161e07e 100644 --- a/tests/data/lerobot/xarm_push_medium/meta_data/info.json +++ b/tests/data/lerobot/xarm_push_medium/meta_data/info.json @@ -1,4 +1,3 @@ -{ - "fps": 15, - "video": 1 -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:0c6e3c50bb65c5e47ac24bc32e53ab533c78b82c6debab45da6ecea4ce067e37 +size 33 diff --git a/tests/data/lerobot/xarm_push_medium/meta_data/stats.safetensors b/tests/data/lerobot/xarm_push_medium/meta_data/stats.safetensors index a7548bad..9e4aed95 100644 Binary files a/tests/data/lerobot/xarm_push_medium/meta_data/stats.safetensors and b/tests/data/lerobot/xarm_push_medium/meta_data/stats.safetensors differ diff --git a/tests/data/lerobot/xarm_push_medium/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_push_medium/train/data-00000-of-00001.arrow index 102a6154..27899ba9 100644 Binary files a/tests/data/lerobot/xarm_push_medium/train/data-00000-of-00001.arrow and b/tests/data/lerobot/xarm_push_medium/train/data-00000-of-00001.arrow differ diff --git a/tests/data/lerobot/xarm_push_medium/train/dataset_info.json b/tests/data/lerobot/xarm_push_medium/train/dataset_info.json index 69bf84eb..bd1e76b9 100644 --- a/tests/data/lerobot/xarm_push_medium/train/dataset_info.json +++ b/tests/data/lerobot/xarm_push_medium/train/dataset_info.json @@ -1,51 +1,3 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 3, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:8133fe105b6e35182c4e24d8ac092730cb8f684f6591e4f1b3a4a2adaf224c46 +size 912 diff --git a/tests/data/lerobot/xarm_push_medium/train/state.json b/tests/data/lerobot/xarm_push_medium/train/state.json index 6522dcbd..8436b889 100644 --- a/tests/data/lerobot/xarm_push_medium/train/state.json +++ b/tests/data/lerobot/xarm_push_medium/train/state.json @@ -1,13 +1,3 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "9f3d8cbb0b2e74a2", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:71f84c95ef32e00060d1658cb601be1bc640a85b9e7200a3af481ba93c145de0 +size 247 diff --git a/tests/data/lerobot/xarm_push_medium/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/xarm_push_medium/videos/observation.image_episode_000000.mp4 index f1089c15..e0dc68fa 100644 Binary files a/tests/data/lerobot/xarm_push_medium/videos/observation.image_episode_000000.mp4 and b/tests/data/lerobot/xarm_push_medium/videos/observation.image_episode_000000.mp4 differ diff --git a/tests/data/lerobot/xarm_push_medium_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_push_medium_image/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..e7e90dc3 --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_image/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ddb52e362094cc1469f34f7d723e235abccd24713b962f9765b4f910e85cebd +size 12936 diff --git a/tests/data/lerobot/xarm_push_medium_image/meta_data/info.json b/tests/data/lerobot/xarm_push_medium_image/meta_data/info.json new file mode 100644 index 00000000..f3b70e14 --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_image/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1cdc5343e413f5cc546079201b1cfb3f49a46e2bfcee67912f9eb5420c00ce6 +size 33 diff --git a/tests/data/lerobot/xarm_push_medium_image/meta_data/stats.safetensors b/tests/data/lerobot/xarm_push_medium_image/meta_data/stats.safetensors new file mode 100644 index 00000000..c5e2b21b --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_image/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:625213579edb7c82580ded28b3bb3dd6894bf27502b401a98de2908a65a2a15d +size 2808 diff --git a/tests/data/lerobot/xarm_push_medium_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_push_medium_image/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..53cd0088 --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_image/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c5814b892ceeb0869ec2f1821ab2c5040cbc0f1351a89f5369c67bd137cfe48 +size 105064 diff --git a/tests/data/lerobot/xarm_push_medium_image/train/dataset_info.json b/tests/data/lerobot/xarm_push_medium_image/train/dataset_info.json new file mode 100644 index 00000000..e4b66000 --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_image/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba5e9fec857b85adfa021d06c8679f6f7e030c2bfc5d3be3f6590fb250a17d7c +size 907 diff --git a/tests/data/lerobot/xarm_push_medium_image/train/state.json b/tests/data/lerobot/xarm_push_medium_image/train/state.json new file mode 100644 index 00000000..401c77f8 --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_image/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:939e376b61bed55ef489fdb209444bc22e7e220a3390faa5415b2b39a2612cb5 +size 247 diff --git a/tests/data/lerobot/xarm_push_medium_replay/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_push_medium_replay/meta_data/episode_data_index.safetensors index f5e09ec5..3cf01178 100644 Binary files a/tests/data/lerobot/xarm_push_medium_replay/meta_data/episode_data_index.safetensors and b/tests/data/lerobot/xarm_push_medium_replay/meta_data/episode_data_index.safetensors differ diff --git a/tests/data/lerobot/xarm_push_medium_replay/meta_data/info.json b/tests/data/lerobot/xarm_push_medium_replay/meta_data/info.json index d73052c5..f161e07e 100644 --- a/tests/data/lerobot/xarm_push_medium_replay/meta_data/info.json +++ b/tests/data/lerobot/xarm_push_medium_replay/meta_data/info.json @@ -1,4 +1,3 @@ -{ - "fps": 15, - "video": 1 -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:0c6e3c50bb65c5e47ac24bc32e53ab533c78b82c6debab45da6ecea4ce067e37 +size 33 diff --git a/tests/data/lerobot/xarm_push_medium_replay/meta_data/stats.safetensors b/tests/data/lerobot/xarm_push_medium_replay/meta_data/stats.safetensors index a7548bad..9e4aed95 100644 Binary files a/tests/data/lerobot/xarm_push_medium_replay/meta_data/stats.safetensors and b/tests/data/lerobot/xarm_push_medium_replay/meta_data/stats.safetensors differ diff --git a/tests/data/lerobot/xarm_push_medium_replay/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_push_medium_replay/train/data-00000-of-00001.arrow index 102a6154..27899ba9 100644 Binary files a/tests/data/lerobot/xarm_push_medium_replay/train/data-00000-of-00001.arrow and b/tests/data/lerobot/xarm_push_medium_replay/train/data-00000-of-00001.arrow differ diff --git a/tests/data/lerobot/xarm_push_medium_replay/train/dataset_info.json b/tests/data/lerobot/xarm_push_medium_replay/train/dataset_info.json index 69bf84eb..bd1e76b9 100644 --- a/tests/data/lerobot/xarm_push_medium_replay/train/dataset_info.json +++ b/tests/data/lerobot/xarm_push_medium_replay/train/dataset_info.json @@ -1,51 +1,3 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 3, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:8133fe105b6e35182c4e24d8ac092730cb8f684f6591e4f1b3a4a2adaf224c46 +size 912 diff --git a/tests/data/lerobot/xarm_push_medium_replay/train/state.json b/tests/data/lerobot/xarm_push_medium_replay/train/state.json index 6522dcbd..8436b889 100644 --- a/tests/data/lerobot/xarm_push_medium_replay/train/state.json +++ b/tests/data/lerobot/xarm_push_medium_replay/train/state.json @@ -1,13 +1,3 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "9f3d8cbb0b2e74a2", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file +version https://git-lfs.github.com/spec/v1 +oid sha256:71f84c95ef32e00060d1658cb601be1bc640a85b9e7200a3af481ba93c145de0 +size 247 diff --git a/tests/data/lerobot/xarm_push_medium_replay/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/xarm_push_medium_replay/videos/observation.image_episode_000000.mp4 index f1089c15..e0dc68fa 100644 Binary files a/tests/data/lerobot/xarm_push_medium_replay/videos/observation.image_episode_000000.mp4 and b/tests/data/lerobot/xarm_push_medium_replay/videos/observation.image_episode_000000.mp4 differ diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/episode_data_index.safetensors new file mode 100644 index 00000000..e7e90dc3 --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/episode_data_index.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ddb52e362094cc1469f34f7d723e235abccd24713b962f9765b4f910e85cebd +size 12936 diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/info.json b/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/info.json new file mode 100644 index 00000000..f3b70e14 --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1cdc5343e413f5cc546079201b1cfb3f49a46e2bfcee67912f9eb5420c00ce6 +size 33 diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/stats.safetensors b/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/stats.safetensors new file mode 100644 index 00000000..c5e2b21b --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:625213579edb7c82580ded28b3bb3dd6894bf27502b401a98de2908a65a2a15d +size 2808 diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_push_medium_replay_image/train/data-00000-of-00001.arrow new file mode 100644 index 00000000..53cd0088 --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_replay_image/train/data-00000-of-00001.arrow @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c5814b892ceeb0869ec2f1821ab2c5040cbc0f1351a89f5369c67bd137cfe48 +size 105064 diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/train/dataset_info.json b/tests/data/lerobot/xarm_push_medium_replay_image/train/dataset_info.json new file mode 100644 index 00000000..e4b66000 --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_replay_image/train/dataset_info.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba5e9fec857b85adfa021d06c8679f6f7e030c2bfc5d3be3f6590fb250a17d7c +size 907 diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/train/state.json b/tests/data/lerobot/xarm_push_medium_replay_image/train/state.json new file mode 100644 index 00000000..401c77f8 --- /dev/null +++ b/tests/data/lerobot/xarm_push_medium_replay_image/train/state.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:939e376b61bed55ef489fdb209444bc22e7e220a3390faa5415b2b39a2612cb5 +size 247 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_0.safetensors new file mode 100644 index 00000000..0b3f80c6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32a3b53455e9364264dce5ee98eacefcd32624fbeb0c1ee7c951a45dafe6590e +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_1.safetensors new file mode 100644 index 00000000..350e36f0 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4808cc1a1af8b5ebe8fbabbd6d7be70cd9378321062045f359f14547c71973f1 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_1498.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_1498.safetensors new file mode 100644 index 00000000..b638bda9 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_1498.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c73ae67e3c0858679efc3c83b63a2d8971fd370d57d7880262186848565b7ac9 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_1499.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_1499.safetensors new file mode 100644 index 00000000..8bdd6de6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_1499.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0a32a9adea43ad5f117cd0a9d9079c8e12df7ae608edd16356e82b0067e2d5a +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_750.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_750.safetensors new file mode 100644 index 00000000..69d53e5c --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_750.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17696b496824421cf2d260a302750ee00fae0ce9b6cf6820f84f211d52ac6c92 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_751.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_751.safetensors new file mode 100644 index 00000000..7702715f --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_cabinet/frame_751.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91fb996ff9935cbd3e1d06d72eae719411551863520f98381b269b7754c83c9f +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_0.safetensors new file mode 100644 index 00000000..911996d2 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d6a3c984ac0777ed7d6b7db277a1623c19affbe7365a104d90f6fc59f39927f +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1.safetensors new file mode 100644 index 00000000..59975441 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a03cf3bd6d225129b81167f3f671a0034f52646ce2cd6f97fdd4c1ba7aa16e14 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1000.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1000.safetensors new file mode 100644 index 00000000..f3615c6b --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1000.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d1616690cc28bbb635b503e156d488d2eeb20333b2c8a2cd848eaea98f835a9 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1001.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1001.safetensors new file mode 100644 index 00000000..79fd57a1 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1001.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:746e739e50d0e29c6f37b62f030aa849568b36a72dec60b8dc537d13d640679b +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1998.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1998.safetensors new file mode 100644 index 00000000..92a2c420 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1998.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7be1b4a25c29d39fe4d0503000b66d164e73c33e4adbe054e202896c17a17525 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1999.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1999.safetensors new file mode 100644 index 00000000..fa1453c0 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_chair/frame_1999.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:129ba85086c93df80be8166390d0364ce93a485ed0831d2581619194d2b500e5 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_0.safetensors new file mode 100644 index 00000000..8c66eac6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f989c9938006e36b65793cf81504e62b665a73926e8d5bdcd675bdd23a6b9f9 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_1.safetensors new file mode 100644 index 00000000..586b5634 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:661cf3f5bfa068c6e5318eab8abe943d1674a7d2e738759a8f0dc64f99d3ec38 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_1125.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_1125.safetensors new file mode 100644 index 00000000..faca3291 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_1125.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c8b10705606794fbccd986db80584f8aff9e0aa0b94a93a676765198a6ec941 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_1126.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_1126.safetensors new file mode 100644 index 00000000..cd9033ed --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_1126.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:037ca2aa98af6c16acc1ee53342038783d9f6f12e6d5dca8538baede4a7cac3c +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_2248.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_2248.safetensors new file mode 100644 index 00000000..a7e42cbb --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_2248.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04084eafdde395698b6413506c5bb97b703afca8ffbebf985562531caafb69aa +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_2249.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_2249.safetensors new file mode 100644 index 00000000..ec6f9c69 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_elevator/frame_2249.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18abee589c474bd628896e89c1c950d4e49f2098039cc7c7399a03eef97e9a30 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_0.safetensors new file mode 100644 index 00000000..b716bcc2 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d213757efff680cbeec99e112913804f0d6a006681b52333175e53d69bc35b49 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_1.safetensors new file mode 100644 index 00000000..fed98889 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29f66531c8d9ed4f0d96f48b700c459e11eba22ae143cb3aa91fcf4efcb37116 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_1875.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_1875.safetensors new file mode 100644 index 00000000..769a9e2d --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_1875.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc913ed5a8a0fae6cd77dee1d8ed2eb0d2d405e3a390561d5eb78343f19131a1 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_1876.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_1876.safetensors new file mode 100644 index 00000000..ad24ed8d --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_1876.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87fe3188e72c2cb7f1378a828454d3979ec290f257608a19d81301adc3686ca4 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_3748.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_3748.safetensors new file mode 100644 index 00000000..ebd4f3de --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_3748.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a46d04275eec0a121288b5d4a0473a42157ab8a804ff304c21405af388f2e6a +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_3749.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_3749.safetensors new file mode 100644 index 00000000..eb2290f0 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_shrimp/frame_3749.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ff968d0cbff4bb271ddb45f90094ba37041536d3f29d0a2a94ec31760532b05 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_0.safetensors new file mode 100644 index 00000000..5099bcbe --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a82151149bd9b0049cc798c3157e778318207e714b2d7161c7740da99aefdfc3 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_1.safetensors new file mode 100644 index 00000000..7bc05d1d --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bcd8dce72039bc4863ec26c194f508a12b82ce09ed1bc9fcee09b937c93591e +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_1098.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_1098.safetensors new file mode 100644 index 00000000..c5fe4e44 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_1098.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:933dbe688cb9e5286c1b451f2835fe8b9056453d36757c4284f9dc1c9e583131 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_1099.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_1099.safetensors new file mode 100644 index 00000000..a0824577 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_1099.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3720e6b410e637992fb3ec6ffbc915a262a2b4c728aff258daa523e338479ecd +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_550.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_550.safetensors new file mode 100644 index 00000000..6f9c5756 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_550.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef6a3fd3d4120bf757f6249ff5ecda07a45b3e90f4ea348d9885eedd871eabdf +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_551.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_551.safetensors new file mode 100644 index 00000000..fad4b28b --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wash_pan/frame_551.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:400455865132b2ac1b14b41418867d2c0b93e7e300605e122b161cac3a714e81 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_0.safetensors new file mode 100644 index 00000000..f5eee1f2 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcb1c2338a29918e824d261ecb0816a7752459e733f03042bc4c6e161911d818 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_1.safetensors new file mode 100644 index 00000000..36bf9969 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de1dcead740d6767926f80037ee117ba3184d28058c52e92a172feb6e4a0a38f +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_1298.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_1298.safetensors new file mode 100644 index 00000000..d9f2277a --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_1298.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e84653faf1326fa0eb79379b7bce982f7bd59662d7855a9fc6212e502f345a5 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_1299.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_1299.safetensors new file mode 100644 index 00000000..4c150d35 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_1299.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:952e1a841dcdac4aed009cdaf65c7cc9eb2bf77746579e04656433d820e3b735 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_650.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_650.safetensors new file mode 100644 index 00000000..a5fd854d --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_650.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:011b6e2846cc3a66f7b6d38d7046bfb6f9c5a58889d6f552ddf843c70e07baa9 +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_651.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_651.safetensors new file mode 100644 index 00000000..a1b211c3 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_mobile_wipe_wine/frame_651.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8940f9734ee2c1058394b44db84e327647d9b8205e4b9f1c9c671f5fa001db3a +size 11060269 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_0.safetensors index 2a896887..6f46ec88 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_0.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_0.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_1.safetensors index b144d764..df6c16e4 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_1.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_1.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_250.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_250.safetensors index 9c1ab2f3..4d3add53 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_250.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_250.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_251.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_251.safetensors index b631637b..413d370a 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_251.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_251.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_498.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_498.safetensors index f61e9d20..2df39dbb 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_498.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_498.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_499.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_499.safetensors index 80a3642c..866b1f32 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_499.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human/frame_499.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_0.safetensors new file mode 100644 index 00000000..b07da829 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2af6d705aa80d5f2c6c31908caaf0fdb0ebceb8fbf36346b71413e81a481e87d +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_1.safetensors new file mode 100644 index 00000000..17ec5399 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffd2b58881159b00fc3cf34d5bf1d410c1c1f233eb9a5b47e3bbeff3eff23e91 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_250.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_250.safetensors new file mode 100644 index 00000000..ee25fa75 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_250.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93c3b99038aa736f627726002ab86f08becf17d947636144c430e37150007036 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_251.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_251.safetensors new file mode 100644 index 00000000..2d61a88f --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_251.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d918a8acd304895d6c94a871cf8653992265147b49b84f39d217a7f3123fe559 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_498.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_498.safetensors new file mode 100644 index 00000000..b188b710 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_498.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4067ddb4a061b4cbdd8a30432edd9d99821c9e765e2aa8c47e123a859836d15c +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_499.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_499.safetensors new file mode 100644 index 00000000..4c5aa1cb --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_human_image/frame_499.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d24f81c1c6e9addaea10474804080bdeed09fde586281dd6394cba1a17496ac +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_0.safetensors new file mode 100644 index 00000000..47a1382b --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b505e6ce5e901d29f45959788c4b73b12aff600dd417df25e61bd11a8ad39ca1 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_1.safetensors new file mode 100644 index 00000000..ee124112 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c2f7a1d9331716395acd62cce6a012dbf70a7cdea02fb8bd7cbce288ce08f2c +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_200.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_200.safetensors new file mode 100644 index 00000000..4f7548f8 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_200.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d224db93c92cc1f77cd05cef1b29cbe6bea9686c69753ce53afabdd426a6d01 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_201.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_201.safetensors new file mode 100644 index 00000000..ff708af0 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_201.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96f7529aeff338e33108b805d2fe45c04fa8900b21d445e12e42bd5b505b9d85 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_398.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_398.safetensors new file mode 100644 index 00000000..82e13902 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_398.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ea66e7d84c7a55c2bec476265f9e46c3f04bed749deb21c525fcf1495d25026 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_399.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_399.safetensors new file mode 100644 index 00000000..ef623676 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted/frame_399.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7abc89987da95800f162b7932f4cab48a91ef7cd9c3fc2d65e57319e9613791 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_0.safetensors new file mode 100644 index 00000000..11574835 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12b287bd4e15918ceccbdbf3bfdb8790504daa9cc1edcefb8c371b124931dab3 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_1.safetensors new file mode 100644 index 00000000..5493531c --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f50e076fd71eceec087c8d94ceaf26a33e7f0a9578a6955693549f44a4699585 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_200.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_200.safetensors new file mode 100644 index 00000000..7e1652b4 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_200.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09007af2e8b05545b366df5c1d9e628fc5ca311b6ecd2859994239d69d0feac6 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_201.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_201.safetensors new file mode 100644 index 00000000..c7a6d8df --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_201.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bffaa9e7e4c75c770a09a068110dd8c3d6f6f547bf90aae4a268deb0817b32a0 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_398.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_398.safetensors new file mode 100644 index 00000000..a83fa3a6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_398.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4328b4c2cd212828344368de7147b0ce4e59f69a3908ff3aa7982ccafdd254d +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_399.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_399.safetensors new file mode 100644 index 00000000..d6f18b75 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_insertion_scripted_image/frame_399.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91bf8d4aad329d4e39b534ebb86ae2b8785af57279e539fc44be17ba89d21f17 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_0.safetensors new file mode 100644 index 00000000..036582db --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4da8e6125f4e59ab3bd7462e5f0a56da927577c3f0d7aef31d89d54def347b44 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_1.safetensors new file mode 100644 index 00000000..a47e1ccd --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9713af3b6c3af368b605c9b9d7f3c4d37ff071c06aa703c795a37d2a9760697 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_200.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_200.safetensors new file mode 100644 index 00000000..cc04ab7a --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_200.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:692e0c6559658c42bb279ab366111d3ad2e1d0c8a78e57ebc2ca71fbc5fc98e5 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_201.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_201.safetensors new file mode 100644 index 00000000..9fe62316 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_201.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c99ce2d4e089f75e5ae94a0e40037b94ef6afd252967070b1d8b36762eb2bef +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_398.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_398.safetensors new file mode 100644 index 00000000..5d1bb8ee --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_398.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6c2575e1dd0d1dc5c4fee10156c6cdcff2a03a77d66780d0013902ae139246d +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_399.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_399.safetensors new file mode 100644 index 00000000..d96099aa --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human/frame_399.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1172add204cc5996d7ec364dbb571dfa455c0bc3d53bb4ba582b1ed85bf20b21 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_0.safetensors new file mode 100644 index 00000000..98d61908 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:695c6351107b8fdd0b5773653a8f033a9e63991e0234260ca9b859c3ca669e43 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_1.safetensors new file mode 100644 index 00000000..d5459df0 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6315b8a699e72dac4104f1410a48041469804c8b8d24501b1bfd6bf95ea0be4 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_200.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_200.safetensors new file mode 100644 index 00000000..68231cbf --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_200.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:445e8afca0b92f7b084e41df803aa1bf2c0783040fbc810df48bc6d9d57675ac +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_201.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_201.safetensors new file mode 100644 index 00000000..cc5c7be4 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_201.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0e25939a57ce02b4fadc4f2b982936ecc420e40c85f460015d4ea707f9ce04f +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_398.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_398.safetensors new file mode 100644 index 00000000..bcec5334 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_398.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da0c3e8bc471310a6426b6e459a07fa44c7776ad9209a78963f401e33db1bfed +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_399.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_399.safetensors new file mode 100644 index 00000000..64dccd29 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_human_image/frame_399.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:158257d4890ed2d633ebb66c0a1fd9dafc58565b5b04ff75717b97ffddf13972 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_0.safetensors new file mode 100644 index 00000000..4cc74d4f --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fb4aa159232636e8b6fa2eb0572be11293609e8e9c4ddf28f2cd5e4b7e969af +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_1.safetensors new file mode 100644 index 00000000..eb2c94ce --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51421e68efd2503f08eead4cb20088260f041bb481fb6e42ddd016ece40bde0d +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_200.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_200.safetensors new file mode 100644 index 00000000..8798afab --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_200.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0595d669fd9a8cf6917583e295a8d72a8c620d10a7fac0ed17bc7fdbd0e1f08 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_201.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_201.safetensors new file mode 100644 index 00000000..f3a845ab --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_201.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ed7e661e6c852c8dde6c2a9dafac523440aa89d84ddec1a74de2a48a90a30b8 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_398.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_398.safetensors new file mode 100644 index 00000000..5017e228 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_398.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a01e4c8ac11c1d279e76cda7ec5d555301b7d6069a2fbfc0ab97aa6bba0991e9 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_399.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_399.safetensors new file mode 100644 index 00000000..768a09e2 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted/frame_399.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb5d1c5fed18ba2df5cfb64febc1ea0e567878fc6bb881da179693c02843941f +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_0.safetensors new file mode 100644 index 00000000..4c2d6857 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d80263ab4343c9e7974e537563992b0dc56d618a751877f62e2fea4cc57befad +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_1.safetensors new file mode 100644 index 00000000..0c4beef8 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb7fc4b1ced815abb3bbb32664914c3f4840ace37deabcfaec436615fcd19bf1 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_200.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_200.safetensors new file mode 100644 index 00000000..d335f0da --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_200.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1340061f2747abb10c4bc76c5ff7bf0f214f5bf7e61c18660b29f377a6167247 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_201.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_201.safetensors new file mode 100644 index 00000000..9f0b1f1c --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_201.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c6e4aaedd3011ef5482e1f37f0019faf60080f4dbf722ee5d3446204eb70a76 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_398.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_398.safetensors new file mode 100644 index 00000000..167dce76 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_398.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4847a373c47f2f7385f1e08dcd6eb36fc9d2322cdb6a04051aad6fcb4f593497 +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_399.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_399.safetensors new file mode 100644 index 00000000..0c45ff90 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_sim_transfer_cube_scripted_image/frame_399.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71a92b3ed9ebc4c914911ae21e6fd653fe926e8d834f48e6d522e47fd8d710cb +size 3687117 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_0.safetensors new file mode 100644 index 00000000..c94599ab --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d1910016a994ff85c17ebf000037e22e526d5dd0ba64bbafc87962e86dd2b2e +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_1.safetensors new file mode 100644 index 00000000..8918b76f --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b596e0196ad9fcb144e32e59b28f18f9825b220737ed49aa725b19fa74b9b625 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_300.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_300.safetensors new file mode 100644 index 00000000..a04b3cbd --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_300.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52cc6e8d8893f291f6659f05effc2dd416bb971b702d27afab05e1480746ba87 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_301.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_301.safetensors new file mode 100644 index 00000000..ad31ce2a --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_301.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95c2ae9651355de406bd43ad537164783b650bbfc5230793aad7caae87ac0196 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_598.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_598.safetensors new file mode 100644 index 00000000..688c23eb --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_598.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f4ca6734fdd442e75b01fd5d2ea322f9e3bc1f9c37b11092c39bb8789fbe0af +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_599.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_599.safetensors new file mode 100644 index 00000000..8004e64c --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_battery/frame_599.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:925eba693dda7469f79af510d3cff17e24bbf65f75cc4ca1ed745469fe41860a +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_0.safetensors new file mode 100644 index 00000000..6ac1c693 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9a5423a2e6ae916616b9777bc688f9c2eee2fffd376a84eddfe8614d00daf55 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_1.safetensors new file mode 100644 index 00000000..7054ee47 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c9ea83939b17228347bf8a8cfbe9d94499936668bc8252f0b6643a6918f9cd3 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_350.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_350.safetensors new file mode 100644 index 00000000..17df84f9 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_350.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee0dc1da74261be897ab51dab269d60b90b40796caf6b2d6217994d54b1d2a9a +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_351.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_351.safetensors new file mode 100644 index 00000000..511a7021 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_351.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c64df28a98d92348eb5f4d0f7ddcb900cc8541a83ef8b1dcbab84259927df3e +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_698.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_698.safetensors new file mode 100644 index 00000000..e4debd2a --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_698.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ea4f809dbd9d063d3067b5a58934fc26dc7a7e111a8bfb3d71970cb0f0801d6 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_699.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_699.safetensors new file mode 100644 index 00000000..641c9cd4 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_candy/frame_699.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e78227acd8bbb7c5cafb39681cc1b815135ac5eb72bf47c074caf882855cccc +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_0.safetensors new file mode 100644 index 00000000..4ea9921f --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2af3c8de0b648af094dced6a8e33294371554ba632913823cd03b711bc45ec7 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_1.safetensors new file mode 100644 index 00000000..5cb0ec61 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:787b0630cfa91de73c5c8b6954c5ce83978e0f0144a0905bb996eab276a48edc +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_1098.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_1098.safetensors new file mode 100644 index 00000000..4f0d0d8d --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_1098.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50c38571b46a10d7401267b9a1d3ca51d3f694f5611581d67b4db8b2990507d9 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_1099.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_1099.safetensors new file mode 100644 index 00000000..6f358a26 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_1099.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6498ff75f3cf6dca41757f65ae59d5f692dd4a35c649cb160dfc23f88923c69d +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_550.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_550.safetensors new file mode 100644 index 00000000..55480a69 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_550.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ac3083e8c3f7258e7e846907c34f631fa0d9a39548c4addd26bceb26765d859 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_551.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_551.safetensors new file mode 100644 index 00000000..4677aeac --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee/frame_551.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a75d71cb4a1dbc79b67c9d2c70e40a03983788ce5e829e7c8bd23c12fdc81a56 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_0.safetensors new file mode 100644 index 00000000..bbd2e786 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61c977c9b0250ad9072c10eb103797d16820e6594b9fc85d1ff4af751fc967b4 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_1.safetensors new file mode 100644 index 00000000..dce2c769 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c79db975e6a0a3b7fedadb6a752e009dd174dc218651234ec1b9bdcfdf160326 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_1498.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_1498.safetensors new file mode 100644 index 00000000..622a4c68 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_1498.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55016a32eb8bcd248bf48cb8b77094c2ba328a7854be69687225b520ceb7df34 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_1499.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_1499.safetensors new file mode 100644 index 00000000..a398a705 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_1499.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd287bf2e4453f31569f38a1e4708c9b833e27483079e7ee380003c89eb540f4 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_750.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_750.safetensors new file mode 100644 index 00000000..e2934d74 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_750.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f5bfe4dba4ecf566b1f31fb7d0fff906e15b809a9a707eebec2c4782cab5fd8 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_751.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_751.safetensors new file mode 100644 index 00000000..18da5226 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_coffee_new/frame_751.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a2e14c339168deb3c06ac5a39514031de0f1c4bc2b7f40a470a8a0585e8ba71 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_0.safetensors new file mode 100644 index 00000000..dfce98fc --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b42a23eee3fb1fd9eb80c742c2ce48036a08080cbe8bb0dd59e0aa8cfc3f2735 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_1.safetensors new file mode 100644 index 00000000..3c6f2e34 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9492c14c40845dbcf0e94f2631c52c074b2fb3264c7ef6db45015298dc921ec +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_200.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_200.safetensors new file mode 100644 index 00000000..6e41b200 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_200.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c6f6ff40fdf3121e57088ae8c5be91666354e140eaa003b8fb4ef7c806dd77a +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_201.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_201.safetensors new file mode 100644 index 00000000..e52ebe25 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_201.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01b43229fb0eb11f4a3e9a4e9854eec7addbb371c9a3f305979513593751dfa4 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_398.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_398.safetensors new file mode 100644 index 00000000..63bd9df1 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_398.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7ecb2c7db34b1d91f35c50383e44327c7922c0067af85962e69bbc72ca2d5fe +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_399.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_399.safetensors new file mode 100644 index 00000000..1e206ab6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_cups_open/frame_399.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:460c1229d0fc8b302758e26316e66f7e2533aed1c0ab027179e14afd1184ab87 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_0.safetensors new file mode 100644 index 00000000..7ebdff9c --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a18c1dd56cb3eb5af665b42043fa376943f0334c4d3a95eb2b342ab1881b91e +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_1.safetensors new file mode 100644 index 00000000..5b153487 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f79ebaeb70ec5ac28fa01705ec7c4652d4423b75900f79919a863456cfd34c54 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_300.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_300.safetensors new file mode 100644 index 00000000..d5af77b8 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_300.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1df0f8d4ad74137fd4f1af54fe84d7711a3dc70d22a0afce9a81fb93db45fb01 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_301.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_301.safetensors new file mode 100644 index 00000000..89f07ac6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_301.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a15c3351341aeee097e29e55b795e767cafcf0eb0d360188417825340cefc5d +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_598.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_598.safetensors new file mode 100644 index 00000000..66177b87 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_598.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d4576e7d2897a51a6d52e3b8447f62d105e6c3fe6c15e0ec1ce19a6ea3a30d3 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_599.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_599.safetensors new file mode 100644 index 00000000..22b4746e --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_fork_pick_up/frame_599.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b86f3dcb0279f869cd9ffbeb94c16c98ae78b8474e399494d904293b83cde15 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_0.safetensors new file mode 100644 index 00000000..0c9ea184 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:705661cf02ce74899a6198eda019331ad9c45f9f996388e1b22acc9170c29a92 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_1.safetensors new file mode 100644 index 00000000..f70515e6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d71a11ae3c076bfec917cc9c352017084274680de457bdc11030b427f0ad078 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_300.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_300.safetensors new file mode 100644 index 00000000..7ba68a27 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_300.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d03cb79bd2b7ddb2cd2897776a0389ad19ee5d1b4fdd97d85645b9748a5ea645 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_301.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_301.safetensors new file mode 100644 index 00000000..19c70fa9 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_301.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5229c4d1eb9507d16b265601f7222cadb82aece19893f85a70635a0d59d1d858 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_598.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_598.safetensors new file mode 100644 index 00000000..cbfa8510 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_598.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fdfa27751cbd0ecb220af5d66c6641113f16d1505bbdcafedc4824e71fa4c5f +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_599.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_599.safetensors new file mode 100644 index 00000000..266f44ef --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pingpong_test/frame_599.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56141ee6728ca9629b48ff6d41ca5fa0ef998b216455413ebb4a11354db30607 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_0.safetensors new file mode 100644 index 00000000..5a6351af --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:538268195367087cd2c608b94214555c65ff8123dfefe3299836e30c6f3fcbc1 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_1.safetensors new file mode 100644 index 00000000..799e98ba --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3415761128e633d112738489841613811f91020757f9276fc475c6526ed279f +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_175.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_175.safetensors new file mode 100644 index 00000000..cfe4472c --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_175.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14edcf4dde7404e03802bae4003fdc0baa2b77ebbfe5f443474cad3e9b8cbe03 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_176.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_176.safetensors new file mode 100644 index 00000000..9a19b01c --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_176.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:233063f6b91e2bcbd81f5d52a1a28c8e13be9665f363783ce769c4042bbb148d +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_348.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_348.safetensors new file mode 100644 index 00000000..226288b4 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_348.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:996379c7d90070cd840ed73a9858948860d3e714b41a4f04b2d71ebd59854e53 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_349.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_349.safetensors new file mode 100644 index 00000000..1035b29c --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_pro_pencil/frame_349.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae0c867e3fe842bc8280ef8a30631b2c382933d4814ab056f8badc2c22f66e64 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_0.safetensors new file mode 100644 index 00000000..7723d800 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4999aa699ab2a4f94d407b1a875836e7c87c188ae7aedc960df4b5855ac054a +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_1.safetensors new file mode 100644 index 00000000..37233acd --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:801f252ffb4e994976806c88c9b4c3da5558cc3f5f15cc216755cd6345dbc3e0 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_200.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_200.safetensors new file mode 100644 index 00000000..c5c6aab0 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_200.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d218fee28c33b2e44085826eb46316e18480cc9d0d653936b0b000cd7119d4d +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_201.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_201.safetensors new file mode 100644 index 00000000..75d10e48 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_201.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14973b0ca734e585ecc43a955eb2a977ce6fc71e0a5dc2032146bac13faf64e9 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_398.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_398.safetensors new file mode 100644 index 00000000..59a8517e --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_398.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfe8fc36006d7a01506cd5d92f5427da872c5b962596af15a0c699781b0c2d5e +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_399.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_399.safetensors new file mode 100644 index 00000000..dcaa7b8a --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_screw_driver/frame_399.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f92e973197fc8f1aac048ebceef32ca0f70989412121dce3984f5088fe9c477e +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_0.safetensors new file mode 100644 index 00000000..3b5dd212 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:803d805ba87c055d46652b20120514ae1d29d5d46fe3b89f4ceb3f4c44dcd565 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_1.safetensors new file mode 100644 index 00000000..a5bb5938 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:209c369f461123105eb57c2f5531816401e5e61f894ef3c8e15f085ee33d2b3d +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_350.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_350.safetensors new file mode 100644 index 00000000..f6b81841 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_350.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:038888662ad22df8a86887d7d42fb06cfe262b5e133647d258ed63c76594f839 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_351.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_351.safetensors new file mode 100644 index 00000000..aab2f3f7 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_351.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:048f8e0ea4b4bb39509dd373f7fc88e5f817180bf0eb6c61c77a861e4a2d0b25 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_698.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_698.safetensors new file mode 100644 index 00000000..2a6aac2b --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_698.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c52973799fb2ad23d851abfc766c82b87a090104cb168dc39804ab38ae1d355d +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_699.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_699.safetensors new file mode 100644 index 00000000..ecc44a8d --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_tape/frame_699.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d5fa86fa4414b996f6a7c43539dd53cf998176ccbb43f5bfc7db6954de8cf7e +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_0.safetensors new file mode 100644 index 00000000..0212d8d1 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd7ff1e0a15e03a57817f7ce85b7f0621ae448be289b1123a9f594fe9b724968 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_1.safetensors new file mode 100644 index 00000000..ee446c83 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9690de98f24d445fbd355b6ed1a78438c631ef83cab470ded3b37801fa4a1cbd +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_300.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_300.safetensors new file mode 100644 index 00000000..0683ed0c --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_300.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71509a6d4ff3296fdd5d28be4fb385fb7c3d2e4f1fdd4beeb1cc05643804240f +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_301.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_301.safetensors new file mode 100644 index 00000000..da64bdc7 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_301.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8ff39601b5d1394b5d706945a23ddb1bd10c179503b37e5907305adc1f9b55b +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_598.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_598.safetensors new file mode 100644 index 00000000..74dce7e5 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_598.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d7883ea5f9661a58dbdcf585d01eba301bb53d79a62fe36132cfae74d89d52f +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_599.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_599.safetensors new file mode 100644 index 00000000..64deeb2b --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_thread_velcro/frame_599.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28903f7bea923a0577b37af20eea359d7b7237f0680c8c73150ed6f769a297f8 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_0.safetensors new file mode 100644 index 00000000..36d8212d --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bccbbf15d20c5f9643eb2e2286f1ddcd4a08297d7f3b7829f7e9c32fe2ef2a46 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_1.safetensors new file mode 100644 index 00000000..5d9d4572 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2679c48910bfcf9e29571690dbc355ce65ad4ae7d35ee6ab9ee35f48c00aa04 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_250.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_250.safetensors new file mode 100644 index 00000000..27e4dbef --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_250.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16074bdca2bac28982f3823c7e9ccaeeaaae0c2676baee952ac22a2bb0bcf535 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_251.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_251.safetensors new file mode 100644 index 00000000..db2f009f --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_251.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6e1ff5fe6690bf20c59bb802383881665def949912d224fc7dd4ef1686bcc81 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_498.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_498.safetensors new file mode 100644 index 00000000..d77a0295 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_498.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7deab7a2f918721a92881ea9e338b7ca093209c40a42a0ebadf47cda0c5c534 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_499.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_499.safetensors new file mode 100644 index 00000000..36efd61c --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_towel/frame_499.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d7f1cf5764b5d1b7ae6784fecf8372eba3a6e3f08b39e2731874ca26459ca8c +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_0.safetensors new file mode 100644 index 00000000..206e6874 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:092dbf1d1a7b576ff491aef010cc06daea435813f42a87668334b05b0ecd9c8e +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_1.safetensors new file mode 100644 index 00000000..d778fc1d --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1504807c8df2f255f06250c43d98cd057d0486946629f441d64a979e5181046 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_250.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_250.safetensors new file mode 100644 index 00000000..3ba20828 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_250.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a0bb3e21109bdaf2ee7f10fa19df8b168dc470d574d105e58caaf662d851680 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_251.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_251.safetensors new file mode 100644 index 00000000..55a95ac3 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_251.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fcf3cda237cec2f9599b0866b0c1e9cb5054a2426e5cd39273b7310d8e03a44 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_498.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_498.safetensors new file mode 100644 index 00000000..a4f3a365 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_498.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f25504ce7ff734bb9fbf786de06bc3dc939ba176fb5c94e9475ad1d895c2d35 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_499.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_499.safetensors new file mode 100644 index 00000000..ead2aa7b --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup/frame_499.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83f268f1f69ec78f1ad23dd5db67bad32c6b6f58f9609378054a1e25b21185e0 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_0.safetensors new file mode 100644 index 00000000..790e8df4 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc73ba199acc90e43493768864749fdf834deb4690b102ab47ec262e70fa0f74 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_1.safetensors new file mode 100644 index 00000000..e8e70c32 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:559f400e967d153286698f2cdd37b6e5cf60f27af46720584bbfffe1188bc9ae +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_250.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_250.safetensors new file mode 100644 index 00000000..7ef4384e --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_250.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:266aa2de91c860bc5de71b8439fb371b72d2a96e103eb47203437274e9508cfb +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_251.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_251.safetensors new file mode 100644 index 00000000..bb527db3 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_251.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3ca2a8f76f97bf02540ebfaac9775fe2aa17f890f94e24b3827f233e813f794 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_498.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_498.safetensors new file mode 100644 index 00000000..4fd98837 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_498.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c455abecfbada4b98ad32197abb030cbab158d2d6ad247c6f24022b39318546 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_499.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_499.safetensors new file mode 100644 index 00000000..837609fe --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_vinh_cup_left/frame_499.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa9ee297d7557f5cce6030277b230e95248ddcfdc53dc76787470ffa5b9342a1 +size 14746773 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_0.safetensors new file mode 100644 index 00000000..3c0f704f --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f48e8d0c3c0e243918f11440e102d88dbfbba9a5b03f4f9bcdcd1ee93ec18759 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_1.safetensors new file mode 100644 index 00000000..4056b339 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e306f7d873028a2a547806e5da39b111ade93e3fda51b9dec9d8c47f197bff9b +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_150.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_150.safetensors new file mode 100644 index 00000000..b40a52c3 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_150.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c96e924cc3447a11bb19677c771f64750bca1221df77994ffba028ce8470967a +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_151.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_151.safetensors new file mode 100644 index 00000000..6f65d342 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_151.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58dbfcdd88e8ef0e84ae74e6dfcc5ec5d3f7ce7196ddc178562fbfb179b4da3f +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_298.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_298.safetensors new file mode 100644 index 00000000..4815ae90 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_298.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0b6d115b33462877d29f67d71fe8ac7a793c37b0c6c622206b3c087ddf8ccb4 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_299.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_299.safetensors new file mode 100644 index 00000000..35caadf6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/aloha_static_ziploc_slide/frame_299.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46d63645910b87e19cb843232adde7632669a2e3764503a8325d70cdd5f81e37 +size 14746637 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_0.safetensors index 6a3f3e5e..2f690b32 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_0.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_0.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_1.safetensors index 69c89958..761b2f07 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_1.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_1.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_159.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_159.safetensors index cbf1f1fa..d411d8e3 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_159.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_159.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_160.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_160.safetensors index 2107611b..6eda2231 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_160.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_160.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_80.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_80.safetensors index 94c55feb..574d0ef7 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_80.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_80.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_81.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_81.safetensors index 7f63f83f..1c3dc8e4 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_81.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/pusht/frame_81.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_0.safetensors new file mode 100644 index 00000000..955f1461 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15a7bd80a58044ce91bbc17859b6ee59677782223dfef55cfd34a6f9a3d8f253 +size 111338 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_1.safetensors new file mode 100644 index 00000000..b83e75fa --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08ffcac00f0b03ecbc28ee7112fedb6a7a9379a7c6066bc9af7509ac49247284 +size 111338 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_159.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_159.safetensors new file mode 100644 index 00000000..0a0ecf9e --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_159.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74956a949d34ef4d40d547a520271488540153d0f107dcc89025baefd59ab46b +size 111338 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_160.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_160.safetensors new file mode 100644 index 00000000..56e0715e --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_160.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:555215357be71d2cecf7f7cb2837a155af7c7d797a74eb5f73313297706d1cdd +size 111338 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_80.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_80.safetensors new file mode 100644 index 00000000..12aaaa49 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_80.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c87df1a1e7d793fcb3b89343257e107fff855109ad2894cb53c24aba5d9f37fb +size 111338 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_81.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_81.safetensors new file mode 100644 index 00000000..4bf026fc --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/pusht_image/frame_81.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:550aa1a6b32c21f711430c4ce677a3fdb64e0312cd909ecc094a96593d6d25b9 +size 111338 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_0.safetensors new file mode 100644 index 00000000..bea1ca1e --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d0a7f85da5e523fdfc6176aee32933f18c2273435f97c9f0068611a3e04058f +size 603012 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_1.safetensors new file mode 100644 index 00000000..95b1cb4e --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3dfa76aa9e2f06074f142f1da95d3c993f44af9129b6e416f23d2dc7b89b384 +size 603012 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_200.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_200.safetensors new file mode 100644 index 00000000..7630b216 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_200.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b18700564cfcae431d1a7272deedca34793cd4c52b98c2c1a3ebfecca3fd8834 +size 603012 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_201.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_201.safetensors new file mode 100644 index 00000000..da361d3a --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_201.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60b735c470e3ab4404bd008d1ce2f9cb5d2b9878bedbd5070e3e6c5210dac446 +size 603012 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_398.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_398.safetensors new file mode 100644 index 00000000..6fc2a9f1 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_398.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbca24ea09aa2d9ce08d826f0365349890fcc2ff26d25a0de7de501f77b25730 +size 603012 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_399.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_399.safetensors new file mode 100644 index 00000000..bdd1408b --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/umi_cup_in_the_wild/frame_399.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77c138571a4c07ac244f50d6c1d8a6c93a75eaee434185b5e3561ba27fdd7727 +size 603012 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_0.safetensors index d256267b..3b4a15ca 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_0.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_0.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_1.safetensors index 5d0e8001..95cdbb2f 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_1.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_1.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_12.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_12.safetensors index 4c3be9fc..0ffb01d8 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_12.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_12.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_13.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_13.safetensors index bc3f3a35..04fe6479 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_13.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_13.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_23.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_23.safetensors index 9683bb8e..6b5b7836 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_23.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_23.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_24.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_24.safetensors index 0777e9ad..4ef5f6a2 100644 Binary files a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_24.safetensors and b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium/frame_24.safetensors differ diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_0.safetensors new file mode 100644 index 00000000..83eb81ae --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c64420d96e2aff6e34075174dd17a190e3a9b5b69d1efb03ec34d2e4a6a2a9e6 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_1.safetensors new file mode 100644 index 00000000..3e5f163e --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee543bd812f134438bd9051eb243263dcb47782b849498fbb42bdbb9c8fe58f5 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_12.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_12.safetensors new file mode 100644 index 00000000..70cc3ecc --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_12.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83458a1aaa5ce7bf3eb99fccbebac10661e18c008de4cc1c0b6b4fc52b3f07ef +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_13.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_13.safetensors new file mode 100644 index 00000000..3efd7c0f --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_13.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65ad2bff1fb6d4a580228c08375d01d0987c376b9c7bedc1b591588e3b72ad14 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_23.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_23.safetensors new file mode 100644 index 00000000..0b8f00d5 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_23.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9daa07f20f117452d95a4d1ae646037184e92a1eba7a065076ab31001fccfb07 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_24.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_24.safetensors new file mode 100644 index 00000000..8ca052c6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_image/frame_24.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f059ca9dd4eec03cebc728726f51fe2e174a520d4ebb5c9fbc2c6564998b73e +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_0.safetensors new file mode 100644 index 00000000..f04f8190 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9de0a9b57bdf8789dfe18ad4232025c1531774d2a1da2606fd1b10f313120b19 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_1.safetensors new file mode 100644 index 00000000..64e56e52 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a0989c5cee82141bdb8c878661d43e82e40d8bc8a860588ee869db15e628a71 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_12.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_12.safetensors new file mode 100644 index 00000000..d6d98f8a --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_12.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27f5fcf7e2c4b9d201a5f07d30eaed6047c7e48b17ee9c7dd89ed19ebcc098f8 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_13.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_13.safetensors new file mode 100644 index 00000000..fac57a56 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_13.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd04d30f3b234a022cb157e301443bedec553824ba720b6965c38fed263b0e70 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_23.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_23.safetensors new file mode 100644 index 00000000..ea384b10 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_23.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9b15ad185fcd060fc3941c56b662001fcb945588f4819d6ae001b002d969fd3 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_24.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_24.safetensors new file mode 100644 index 00000000..5e50bf50 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay/frame_24.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef8af5274142f5606e04df0fa228bcf60181810c3c31e1de147d24097a599497 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_0.safetensors new file mode 100644 index 00000000..83eb81ae --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c64420d96e2aff6e34075174dd17a190e3a9b5b69d1efb03ec34d2e4a6a2a9e6 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_1.safetensors new file mode 100644 index 00000000..3e5f163e --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee543bd812f134438bd9051eb243263dcb47782b849498fbb42bdbb9c8fe58f5 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_12.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_12.safetensors new file mode 100644 index 00000000..70cc3ecc --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_12.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83458a1aaa5ce7bf3eb99fccbebac10661e18c008de4cc1c0b6b4fc52b3f07ef +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_13.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_13.safetensors new file mode 100644 index 00000000..3efd7c0f --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_13.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65ad2bff1fb6d4a580228c08375d01d0987c376b9c7bedc1b591588e3b72ad14 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_23.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_23.safetensors new file mode 100644 index 00000000..0b8f00d5 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_23.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9daa07f20f117452d95a4d1ae646037184e92a1eba7a065076ab31001fccfb07 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_24.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_24.safetensors new file mode 100644 index 00000000..8ca052c6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_lift_medium_replay_image/frame_24.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f059ca9dd4eec03cebc728726f51fe2e174a520d4ebb5c9fbc2c6564998b73e +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_0.safetensors new file mode 100644 index 00000000..f04f8190 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9de0a9b57bdf8789dfe18ad4232025c1531774d2a1da2606fd1b10f313120b19 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_1.safetensors new file mode 100644 index 00000000..64e56e52 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a0989c5cee82141bdb8c878661d43e82e40d8bc8a860588ee869db15e628a71 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_12.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_12.safetensors new file mode 100644 index 00000000..d6d98f8a --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_12.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27f5fcf7e2c4b9d201a5f07d30eaed6047c7e48b17ee9c7dd89ed19ebcc098f8 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_13.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_13.safetensors new file mode 100644 index 00000000..fac57a56 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_13.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd04d30f3b234a022cb157e301443bedec553824ba720b6965c38fed263b0e70 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_23.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_23.safetensors new file mode 100644 index 00000000..ea384b10 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_23.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9b15ad185fcd060fc3941c56b662001fcb945588f4819d6ae001b002d969fd3 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_24.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_24.safetensors new file mode 100644 index 00000000..5e50bf50 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium/frame_24.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef8af5274142f5606e04df0fa228bcf60181810c3c31e1de147d24097a599497 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_0.safetensors new file mode 100644 index 00000000..83eb81ae --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c64420d96e2aff6e34075174dd17a190e3a9b5b69d1efb03ec34d2e4a6a2a9e6 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_1.safetensors new file mode 100644 index 00000000..3e5f163e --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee543bd812f134438bd9051eb243263dcb47782b849498fbb42bdbb9c8fe58f5 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_12.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_12.safetensors new file mode 100644 index 00000000..70cc3ecc --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_12.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83458a1aaa5ce7bf3eb99fccbebac10661e18c008de4cc1c0b6b4fc52b3f07ef +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_13.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_13.safetensors new file mode 100644 index 00000000..3efd7c0f --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_13.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65ad2bff1fb6d4a580228c08375d01d0987c376b9c7bedc1b591588e3b72ad14 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_23.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_23.safetensors new file mode 100644 index 00000000..0b8f00d5 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_23.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9daa07f20f117452d95a4d1ae646037184e92a1eba7a065076ab31001fccfb07 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_24.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_24.safetensors new file mode 100644 index 00000000..8ca052c6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_image/frame_24.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f059ca9dd4eec03cebc728726f51fe2e174a520d4ebb5c9fbc2c6564998b73e +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_0.safetensors new file mode 100644 index 00000000..f04f8190 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9de0a9b57bdf8789dfe18ad4232025c1531774d2a1da2606fd1b10f313120b19 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_1.safetensors new file mode 100644 index 00000000..64e56e52 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a0989c5cee82141bdb8c878661d43e82e40d8bc8a860588ee869db15e628a71 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_12.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_12.safetensors new file mode 100644 index 00000000..d6d98f8a --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_12.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27f5fcf7e2c4b9d201a5f07d30eaed6047c7e48b17ee9c7dd89ed19ebcc098f8 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_13.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_13.safetensors new file mode 100644 index 00000000..fac57a56 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_13.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd04d30f3b234a022cb157e301443bedec553824ba720b6965c38fed263b0e70 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_23.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_23.safetensors new file mode 100644 index 00000000..ea384b10 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_23.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9b15ad185fcd060fc3941c56b662001fcb945588f4819d6ae001b002d969fd3 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_24.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_24.safetensors new file mode 100644 index 00000000..5e50bf50 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay/frame_24.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef8af5274142f5606e04df0fa228bcf60181810c3c31e1de147d24097a599497 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_0.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_0.safetensors new file mode 100644 index 00000000..83eb81ae --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_0.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c64420d96e2aff6e34075174dd17a190e3a9b5b69d1efb03ec34d2e4a6a2a9e6 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_1.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_1.safetensors new file mode 100644 index 00000000..3e5f163e --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_1.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee543bd812f134438bd9051eb243263dcb47782b849498fbb42bdbb9c8fe58f5 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_12.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_12.safetensors new file mode 100644 index 00000000..70cc3ecc --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_12.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83458a1aaa5ce7bf3eb99fccbebac10661e18c008de4cc1c0b6b4fc52b3f07ef +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_13.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_13.safetensors new file mode 100644 index 00000000..3efd7c0f --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_13.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65ad2bff1fb6d4a580228c08375d01d0987c376b9c7bedc1b591588e3b72ad14 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_23.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_23.safetensors new file mode 100644 index 00000000..0b8f00d5 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_23.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9daa07f20f117452d95a4d1ae646037184e92a1eba7a065076ab31001fccfb07 +size 85349 diff --git a/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_24.safetensors b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_24.safetensors new file mode 100644 index 00000000..8ca052c6 --- /dev/null +++ b/tests/data/save_dataset_to_safetensors/lerobot/xarm_push_medium_replay_image/frame_24.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f059ca9dd4eec03cebc728726f51fe2e174a520d4ebb5c9fbc2c6564998b73e +size 85349 diff --git a/tests/data/save_policy_to_safetensors/aloha_act/actions.safetensors b/tests/data/save_policy_to_safetensors/aloha_act/actions.safetensors index 70c9b6d8..c5176423 100644 Binary files a/tests/data/save_policy_to_safetensors/aloha_act/actions.safetensors and b/tests/data/save_policy_to_safetensors/aloha_act/actions.safetensors differ diff --git a/tests/data/save_policy_to_safetensors/aloha_act/grad_stats.safetensors b/tests/data/save_policy_to_safetensors/aloha_act/grad_stats.safetensors index 2e845189..bdecb18b 100644 Binary files a/tests/data/save_policy_to_safetensors/aloha_act/grad_stats.safetensors and b/tests/data/save_policy_to_safetensors/aloha_act/grad_stats.safetensors differ diff --git a/tests/data/save_policy_to_safetensors/aloha_act/output_dict.safetensors b/tests/data/save_policy_to_safetensors/aloha_act/output_dict.safetensors index e8d537c8..641771c6 100644 Binary files a/tests/data/save_policy_to_safetensors/aloha_act/output_dict.safetensors and b/tests/data/save_policy_to_safetensors/aloha_act/output_dict.safetensors differ diff --git a/tests/data/save_policy_to_safetensors/aloha_act/param_stats.safetensors b/tests/data/save_policy_to_safetensors/aloha_act/param_stats.safetensors index 6e33879f..26d91924 100644 Binary files a/tests/data/save_policy_to_safetensors/aloha_act/param_stats.safetensors and b/tests/data/save_policy_to_safetensors/aloha_act/param_stats.safetensors differ diff --git a/tests/data/save_policy_to_safetensors/pusht_diffusion/actions.safetensors b/tests/data/save_policy_to_safetensors/pusht_diffusion/actions.safetensors index 730f5b2b..538a06a5 100644 Binary files a/tests/data/save_policy_to_safetensors/pusht_diffusion/actions.safetensors and b/tests/data/save_policy_to_safetensors/pusht_diffusion/actions.safetensors differ diff --git a/tests/data/save_policy_to_safetensors/pusht_diffusion/grad_stats.safetensors b/tests/data/save_policy_to_safetensors/pusht_diffusion/grad_stats.safetensors index f27cd678..74bcbd39 100644 Binary files a/tests/data/save_policy_to_safetensors/pusht_diffusion/grad_stats.safetensors and b/tests/data/save_policy_to_safetensors/pusht_diffusion/grad_stats.safetensors differ diff --git a/tests/data/save_policy_to_safetensors/pusht_diffusion/output_dict.safetensors b/tests/data/save_policy_to_safetensors/pusht_diffusion/output_dict.safetensors index 5f33535d..37125b65 100644 Binary files a/tests/data/save_policy_to_safetensors/pusht_diffusion/output_dict.safetensors and b/tests/data/save_policy_to_safetensors/pusht_diffusion/output_dict.safetensors differ diff --git a/tests/data/save_policy_to_safetensors/pusht_diffusion/param_stats.safetensors b/tests/data/save_policy_to_safetensors/pusht_diffusion/param_stats.safetensors index ade6a9e0..45efd3eb 100644 Binary files a/tests/data/save_policy_to_safetensors/pusht_diffusion/param_stats.safetensors and b/tests/data/save_policy_to_safetensors/pusht_diffusion/param_stats.safetensors differ diff --git a/tests/data/save_policy_to_safetensors/xarm_tdmpc/actions.safetensors b/tests/data/save_policy_to_safetensors/xarm_tdmpc/actions.safetensors new file mode 100644 index 00000000..49179928 --- /dev/null +++ b/tests/data/save_policy_to_safetensors/xarm_tdmpc/actions.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d24b5021db38e4007d22732a8986800f68aa1faa9d95dc9a90caaf5e69814d9 +size 928 diff --git a/tests/data/save_policy_to_safetensors/xarm_tdmpc/grad_stats.safetensors b/tests/data/save_policy_to_safetensors/xarm_tdmpc/grad_stats.safetensors new file mode 100644 index 00000000..a9320466 --- /dev/null +++ b/tests/data/save_policy_to_safetensors/xarm_tdmpc/grad_stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0468f1972b603378a525e3bee3108ad46c6f5addaff45f9970242eab0f42425 +size 16904 diff --git a/tests/data/save_policy_to_safetensors/xarm_tdmpc/output_dict.safetensors b/tests/data/save_policy_to_safetensors/xarm_tdmpc/output_dict.safetensors new file mode 100644 index 00000000..ef49ce97 --- /dev/null +++ b/tests/data/save_policy_to_safetensors/xarm_tdmpc/output_dict.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fcd69177bfc5d64da957ca968770dcb9ad6af413255ea824014ded04815d070 +size 240 diff --git a/tests/data/save_policy_to_safetensors/xarm_tdmpc/param_stats.safetensors b/tests/data/save_policy_to_safetensors/xarm_tdmpc/param_stats.safetensors new file mode 100644 index 00000000..9b399a4c --- /dev/null +++ b/tests/data/save_policy_to_safetensors/xarm_tdmpc/param_stats.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:071a6465638e35f31fb24eba1095546ee608fadf91d53b0aa87310fe3adbba35 +size 36312 diff --git a/tests/scripts/save_dataset_to_safetensors.py b/tests/scripts/save_dataset_to_safetensors.py index 17cf2b38..4aa8131f 100644 --- a/tests/scripts/save_dataset_to_safetensors.py +++ b/tests/scripts/save_dataset_to_safetensors.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. """ This script provides a utility for saving a dataset as safetensors files for the purpose of testing backward compatibility when updating the data format. It uses the `PushtDataset` to create a DataLoader and saves selected frame from the @@ -66,11 +81,5 @@ def save_dataset_to_safetensors(output_dir, repo_id="lerobot/pusht"): if __name__ == "__main__": - available_datasets = [ - "lerobot/pusht", - "lerobot/xarm_lift_medium", - "lerobot/aloha_sim_insertion_human", - # "lerobot/umi_cup_in_the_wild", - ] for dataset in available_datasets: save_dataset_to_safetensors("tests/data/save_dataset_to_safetensors", repo_id=dataset) diff --git a/tests/scripts/save_policy_to_safetensor.py b/tests/scripts/save_policy_to_safetensor.py index 29e9a34f..89f33374 100644 --- a/tests/scripts/save_policy_to_safetensor.py +++ b/tests/scripts/save_policy_to_safetensor.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import shutil from pathlib import Path @@ -11,7 +26,7 @@ from lerobot.scripts.train import make_optimizer_and_scheduler from tests.utils import DEFAULT_CONFIG_PATH -def get_policy_stats(env_name, policy_name, extra_overrides=None): +def get_policy_stats(env_name, policy_name, extra_overrides): cfg = init_hydra_config( DEFAULT_CONFIG_PATH, overrides=[ @@ -77,6 +92,9 @@ def save_policy_to_safetensors(output_dir, env_name, policy_name, extra_override env_policy_dir = Path(output_dir) / f"{env_name}_{policy_name}" if env_policy_dir.exists(): + print(f"Overwrite existing safetensors in '{env_policy_dir}':") + print(f" - Validate with: `git add {env_policy_dir}`") + print(f" - Revert with: `git checkout -- {env_policy_dir}`") shutil.rmtree(env_policy_dir) env_policy_dir.mkdir(parents=True, exist_ok=True) @@ -88,8 +106,14 @@ def save_policy_to_safetensors(output_dir, env_name, policy_name, extra_override if __name__ == "__main__": - # Instructions: include the policies that you want to save artifacts for here. Please make sure to revert - # your changes when you are done. - env_policies = [] + env_policies = [ + ("xarm", "tdmpc", []), + ( + "pusht", + "diffusion", + ["policy.n_action_steps=8", "policy.num_inference_steps=10", "policy.down_dims=[128, 256, 512]"], + ), + ("aloha", "act", ["policy.n_action_steps=10"]), + ] for env, policy, extra_overrides in env_policies: save_policy_to_safetensors("tests/data/save_policy_to_safetensors", env, policy, extra_overrides) diff --git a/tests/test_available.py b/tests/test_available.py index ead9296a..db5bd520 100644 --- a/tests/test_available.py +++ b/tests/test_available.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import importlib import gymnasium as gym diff --git a/tests/test_datasets.py b/tests/test_datasets.py index 1d93d48f..afea16a5 100644 --- a/tests/test_datasets.py +++ b/tests/test_datasets.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import json import logging from copy import deepcopy diff --git a/tests/test_envs.py b/tests/test_envs.py index f172a645..aec9999d 100644 --- a/tests/test_envs.py +++ b/tests/test_envs.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import importlib import gymnasium as gym diff --git a/tests/test_examples.py b/tests/test_examples.py index c1f3c1dc..0a6ce422 100644 --- a/tests/test_examples.py +++ b/tests/test_examples.py @@ -1,8 +1,26 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. # TODO(aliberts): Mute logging for these tests +import io import subprocess import sys from pathlib import Path +from tests.utils import require_package + def _find_and_replace(text: str, finds_and_replaces: list[tuple[str, str]]) -> str: for f, r in finds_and_replaces: @@ -15,24 +33,29 @@ def _run_script(path): subprocess.run([sys.executable, path], check=True) +def _read_file(path): + with open(path) as file: + return file.read() + + def test_example_1(): path = "examples/1_load_lerobot_dataset.py" _run_script(path) assert Path("outputs/examples/1_load_lerobot_dataset/episode_0.mp4").exists() -def test_examples_3_and_2(): +@require_package("gym_pusht") +def test_examples_basic2_basic3_advanced1(): """ Train a model with example 3, check the outputs. Evaluate the trained model with example 2, check the outputs. + Calculate the validation loss with advanced example 1, check the outputs. """ - path = "examples/3_train_policy.py" + ### Test example 3 + file_contents = _read_file("examples/3_train_policy.py") - with open(path) as file: - file_contents = file.read() - - # Do less steps, use smaller batch, use CPU, and don't complicate things with dataloader workers. + # Do fewer steps, use smaller batch, use CPU, and don't complicate things with dataloader workers. file_contents = _find_and_replace( file_contents, [ @@ -49,16 +72,17 @@ def test_examples_3_and_2(): for file_name in ["model.safetensors", "config.json"]: assert Path(f"outputs/train/example_pusht_diffusion/{file_name}").exists() - path = "examples/2_evaluate_pretrained_policy.py" + ### Test example 2 + file_contents = _read_file("examples/2_evaluate_pretrained_policy.py") - with open(path) as file: - file_contents = file.read() - - # Do less evals, use CPU, and use the local model. + # Do fewer evals, use CPU, and use the local model. file_contents = _find_and_replace( file_contents, [ - ('pretrained_policy_path = Path(snapshot_download("lerobot/diffusion_pusht"))', ""), + ( + 'pretrained_policy_path = Path(snapshot_download("lerobot/diffusion_pusht"))', + "", + ), ( '# pretrained_policy_path = Path("outputs/train/example_pusht_diffusion")', 'pretrained_policy_path = Path("outputs/train/example_pusht_diffusion")', @@ -71,3 +95,34 @@ def test_examples_3_and_2(): exec(file_contents, {}) assert Path("outputs/eval/example_pusht_diffusion/rollout.mp4").exists() + + ## Test example 4 + file_contents = _read_file("examples/advanced/2_calculate_validation_loss.py") + + # Run on a single example from the last episode, use CPU, and use the local model. + file_contents = _find_and_replace( + file_contents, + [ + ( + 'pretrained_policy_path = Path(snapshot_download("lerobot/diffusion_pusht"))', + "", + ), + ( + '# pretrained_policy_path = Path("outputs/train/example_pusht_diffusion")', + 'pretrained_policy_path = Path("outputs/train/example_pusht_diffusion")', + ), + ('split=f"train[{first_val_frame_index}:]"', 'split="train[30:]"'), + ("num_workers=4", "num_workers=0"), + ('device = torch.device("cuda")', 'device = torch.device("cpu")'), + ("batch_size=64", "batch_size=1"), + ], + ) + + # Capture the output of the script + output_buffer = io.StringIO() + sys.stdout = output_buffer + exec(file_contents, {}) + printed_output = output_buffer.getvalue() + # Restore stdout to its original state + sys.stdout = sys.__stdout__ + assert "Average loss on validation set" in printed_output diff --git a/tests/test_policies.py b/tests/test_policies.py index 12beec92..bb0c7b80 100644 --- a/tests/test_policies.py +++ b/tests/test_policies.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import inspect from pathlib import Path @@ -16,7 +31,7 @@ from lerobot.common.policies.normalize import Normalize, Unnormalize from lerobot.common.policies.policy_protocol import Policy from lerobot.common.utils.utils import init_hydra_config from tests.scripts.save_policy_to_safetensor import get_policy_stats -from tests.utils import DEFAULT_CONFIG_PATH, DEVICE, require_env, require_x86_64_kernel +from tests.utils import DEFAULT_CONFIG_PATH, DEVICE, require_cpu, require_env, require_x86_64_kernel @pytest.mark.parametrize("policy_name", available_policies) @@ -49,6 +64,14 @@ def test_get_policy_and_config_classes(policy_name: str): "act", ["env.task=AlohaTransferCube-v0", "dataset_repo_id=lerobot/aloha_sim_transfer_cube_scripted"], ), + # Note: these parameters also need custom logic in the test function for overriding the Hydra config. + ( + "aloha", + "diffusion", + ["env.task=AlohaInsertion-v0", "dataset_repo_id=lerobot/aloha_sim_insertion_human"], + ), + # Note: these parameters also need custom logic in the test function for overriding the Hydra config. + ("pusht", "act", ["env.task=PushT-v0", "dataset_repo_id=lerobot/pusht"]), ], ) @require_env @@ -72,6 +95,31 @@ def test_policy(env_name, policy_name, extra_overrides): + extra_overrides, ) + # Additional config override logic. + if env_name == "aloha" and policy_name == "diffusion": + for keys in [ + ("training", "delta_timestamps"), + ("policy", "input_shapes"), + ("policy", "input_normalization_modes"), + ]: + dct = dict(cfg[keys[0]][keys[1]]) + dct["observation.images.top"] = dct["observation.image"] + del dct["observation.image"] + cfg[keys[0]][keys[1]] = dct + cfg.override_dataset_stats = None + + # Additional config override logic. + if env_name == "pusht" and policy_name == "act": + for keys in [ + ("policy", "input_shapes"), + ("policy", "input_normalization_modes"), + ]: + dct = dict(cfg[keys[0]][keys[1]]) + dct["observation.image"] = dct["observation.images.top"] + del dct["observation.images.top"] + cfg[keys[0]][keys[1]] = dct + cfg.override_dataset_stats = None + # Check that we can make the policy object. dataset = make_dataset(cfg) policy = make_policy(hydra_cfg=cfg, dataset_stats=dataset.stats) @@ -236,7 +284,7 @@ def test_normalize(insert_temporal_dim): @pytest.mark.parametrize( "env_name, policy_name, extra_overrides", [ - # ("xarm", "tdmpc", ["policy.n_action_repeats=2"]), + ("xarm", "tdmpc", []), ( "pusht", "diffusion", @@ -248,16 +296,17 @@ def test_normalize(insert_temporal_dim): # As artifacts have been generated on an x86_64 kernel, this test won't # pass if it's run on another platform due to floating point errors @require_x86_64_kernel +@require_cpu def test_backward_compatibility(env_name, policy_name, extra_overrides): """ NOTE: If this test does not pass, and you have intentionally changed something in the policy: 1. Inspect the differences in policy outputs and make sure you can account for them. Your PR should include a report on what changed and how that affected the outputs. - 2. Go to the `if __name__ == "__main__"` block of `test/scripts/save_policy_to_safetensors.py` and + 2. Go to the `if __name__ == "__main__"` block of `tests/scripts/save_policy_to_safetensors.py` and add the policies you want to update the test artifacts for. - 3. Run `python test/scripts/save_policy_to_safetensors.py`. The test artifact should be updated. + 3. Run `python tests/scripts/save_policy_to_safetensors.py`. The test artifact should be updated. 4. Check that this test now passes. - 5. Remember to restore `test/scripts/save_policy_to_safetensors.py` to its original state. + 5. Remember to restore `tests/scripts/save_policy_to_safetensors.py` to its original state. 6. Remember to stage and commit the resulting changes to `tests/data`. """ env_policy_dir = Path("tests/data/save_policy_to_safetensors") / f"{env_name}_{policy_name}" diff --git a/tests/test_utils.py b/tests/test_utils.py new file mode 100644 index 00000000..a7f770fb --- /dev/null +++ b/tests/test_utils.py @@ -0,0 +1,74 @@ +import random +from typing import Callable + +import numpy as np +import pytest +import torch +from datasets import Dataset + +from lerobot.common.datasets.utils import ( + calculate_episode_data_index, + hf_transform_to_torch, + reset_episode_index, +) +from lerobot.common.utils.utils import seeded_context, set_global_seed + + +@pytest.mark.parametrize( + "rand_fn", + ( + [ + random.random, + np.random.random, + lambda: torch.rand(1).item(), + ] + + [lambda: torch.rand(1, device="cuda")] + if torch.cuda.is_available() + else [] + ), +) +def test_seeding(rand_fn: Callable[[], int]): + set_global_seed(0) + a = rand_fn() + with seeded_context(1337): + c = rand_fn() + b = rand_fn() + set_global_seed(0) + a_ = rand_fn() + b_ = rand_fn() + # Check that `set_global_seed` lets us reproduce a and b. + assert a_ == a + # Additionally, check that the `seeded_context` didn't interrupt the global RNG. + assert b_ == b + set_global_seed(1337) + c_ = rand_fn() + # Check that `seeded_context` and `global_seed` give the same reproducibility. + assert c_ == c + + +def test_calculate_episode_data_index(): + dataset = Dataset.from_dict( + { + "timestamp": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6], + "index": [0, 1, 2, 3, 4, 5], + "episode_index": [0, 0, 1, 2, 2, 2], + }, + ) + dataset.set_transform(hf_transform_to_torch) + episode_data_index = calculate_episode_data_index(dataset) + assert torch.equal(episode_data_index["from"], torch.tensor([0, 2, 3])) + assert torch.equal(episode_data_index["to"], torch.tensor([2, 3, 6])) + + +def test_reset_episode_index(): + dataset = Dataset.from_dict( + { + "timestamp": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6], + "index": [0, 1, 2, 3, 4, 5], + "episode_index": [10, 10, 11, 12, 12, 12], + }, + ) + dataset.set_transform(hf_transform_to_torch) + correct_episode_index = [0, 0, 1, 2, 2, 2] + dataset = reset_episode_index(dataset) + assert dataset["episode_index"] == correct_episode_index diff --git a/tests/test_visualize_dataset.py b/tests/test_visualize_dataset.py index 0124afd3..99954040 100644 --- a/tests/test_visualize_dataset.py +++ b/tests/test_visualize_dataset.py @@ -1,3 +1,18 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import pytest from lerobot.scripts.visualize_dataset import visualize_dataset diff --git a/tests/utils.py b/tests/utils.py index 6a706694..ba49ee70 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -1,4 +1,20 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import platform +from functools import wraps import pytest import torch @@ -61,7 +77,6 @@ def require_env(func): Decorator that skips the test if the required environment package is not installed. As it need 'env_name' in args, it also checks whether it is provided as an argument. """ - from functools import wraps @wraps(func) def wrapper(*args, **kwargs): @@ -82,3 +97,20 @@ def require_env(func): return func(*args, **kwargs) return wrapper + + +def require_package(package_name): + """ + Decorator that skips the test if the specified package is not installed. + """ + + def decorator(func): + @wraps(func) + def wrapper(*args, **kwargs): + if not is_package_available(package_name): + pytest.skip(f"{package_name} not installed") + return func(*args, **kwargs) + + return wrapper + + return decorator