Instructions to use RoboColosseum/so101-pi0.5 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use RoboColosseum/so101-pi0.5 with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
Download code/lerobot.patch from RoboColosseum/so101-pi0.5: direct link, hf CLI and curl.
- Browser
- Download file 53.3 kB
-
https://huggingface.co/RoboColosseum/so101-pi0.5/resolve/main/code/lerobot.patch
- Command line
-
hf download hf://RoboColosseum/so101-pi0.5/code/lerobot.patch
-
curl -L -o lerobot.patch https://huggingface.co/RoboColosseum/so101-pi0.5/resolve/main/code/lerobot.patch
53.3 kB
| diff --git a/pyproject.toml b/pyproject.toml | |
| index cd0ac2f0..1bf2cc05 100644 | |
| --- a/pyproject.toml | |
| +++ b/pyproject.toml | |
| wallx = [ | |
| "torchdiffeq>=0.2.4,<0.3.0", | |
| "lerobot[qwen-vl-utils-dep]", | |
| ] | |
| -pi = ["lerobot[transformers-dep]", "lerobot[scipy-dep]"] | |
| +pi = [ | |
| + "lerobot[transformers-dep]", | |
| + "lerobot[scipy-dep]", | |
| + "sentencepiece>=0.2.1,<0.3", | |
| +] | |
| molmoact2 = ["lerobot[transformers-dep]", "lerobot[peft-dep]", "lerobot[scipy-dep]"] | |
| smolvla = ["lerobot[transformers-dep]", "num2words>=0.5.14,<0.6.0", "lerobot[accelerate-dep]"] | |
| multi_task_dit = ["lerobot[transformers-dep]", "lerobot[diffusers-dep]"] | |
| diff --git a/src/lerobot/policies/pi05/configuration_pi05.py b/src/lerobot/policies/pi05/configuration_pi05.py | |
| index 282799a9..9d94cd6c 100644 | |
| --- a/src/lerobot/policies/pi05/configuration_pi05.py | |
| +++ b/src/lerobot/policies/pi05/configuration_pi05.py | |
| class PI05Config(PreTrainedConfig): | |
| # Training settings | |
| gradient_checkpointing: bool = False # Enable gradient checkpointing for memory optimization | |
| + checkpoint_joint_stack: bool = True # Retain the historical outer checkpoint by default | |
| + training_attention_backend: str = "eager" # Optional fused SDPA for joint training attention | |
| compile_model: bool = False # Whether to use torch.compile for model optimization | |
| compile_mode: str = "max-autotune" # Torch compile mode | |
| device: str | None = None # Device to use for the model (None = auto-detect) | |
| diff --git a/src/lerobot/policies/pi05/modeling_pi05.py b/src/lerobot/policies/pi05/modeling_pi05.py | |
| index 20293a1e..f6a02b9f 100644 | |
| --- a/src/lerobot/policies/pi05/modeling_pi05.py | |
| +++ b/src/lerobot/policies/pi05/modeling_pi05.py | |
| def _reduce_training_rtc_loss( | |
| # Define the complete layer computation function for gradient checkpointing | |
| -def compute_layer_complete(inputs_embeds, attention_mask, position_ids, adarms_cond, layers, rotary_emb): | |
| +def compute_layer_complete( | |
| + inputs_embeds, attention_mask, position_ids, adarms_cond, layers, rotary_emb, attention_backend="eager" | |
| +): | |
| query_states = [] | |
| key_states = [] | |
| value_states = [] | |
| def compute_layer_complete(inputs_embeds, attention_mask, position_ids, adarms_c | |
| paligemma_layer = layers[0] | |
| scaling = paligemma_layer.self_attn.scaling | |
| # Attention computation | |
| - att_output, _ = modeling_gemma.eager_attention_forward( | |
| - paligemma_layer.self_attn, | |
| - query_states, | |
| - key_states, | |
| - value_states, | |
| - attention_mask, | |
| - scaling, | |
| - ) | |
| + if attention_backend == "sdpa": | |
| + att_output = ( | |
| + F.scaled_dot_product_attention( | |
| + query_states, | |
| + key_states, | |
| + value_states, | |
| + attn_mask=attention_mask, | |
| + dropout_p=0.0, | |
| + is_causal=False, | |
| + scale=scaling, | |
| + enable_gqa=query_states.shape[1] != key_states.shape[1], | |
| + ) | |
| + .transpose(1, 2) | |
| + .contiguous() | |
| + ) | |
| + elif attention_backend == "eager": | |
| + att_output, _ = modeling_gemma.eager_attention_forward( | |
| + paligemma_layer.self_attn, | |
| + query_states, | |
| + key_states, | |
| + value_states, | |
| + attention_mask, | |
| + scaling, | |
| + ) | |
| + else: | |
| + raise ValueError(f"Unknown training attention backend: {attention_backend}") | |
| # Get head_dim from the current layer, not from the model | |
| head_dim = paligemma_layer.self_attn.head_dim | |
| att_output = att_output.reshape(batch_size, -1, 1 * 8 * head_dim) | |
| class PaliGemmaWithExpertModel( | |
| preserve_rng_state=False, | |
| layers=layers, | |
| rotary_emb=rotary_emb, | |
| + attention_backend=getattr(self, "training_attention_backend", "eager"), | |
| ) | |
| else: | |
| inputs_embeds = compute_layer_complete( | |
| class PaliGemmaWithExpertModel( | |
| adarms_cond, | |
| layers=layers, | |
| rotary_emb=rotary_emb, | |
| + attention_backend=getattr(self, "training_attention_backend", "eager"), | |
| ) | |
| # final norm | |
| class PI05Pytorch(nn.Module): # see openpi `PI0Pytorch` | |
| ) | |
| # Initialize gradient checkpointing flag | |
| + self.paligemma_with_expert.training_attention_backend = config.training_attention_backend | |
| self.gradient_checkpointing_enabled = False | |
| # Compile model if requested | |
| class PI05Pytorch(nn.Module): # see openpi `PI0Pytorch` | |
| ) | |
| return suffix_out | |
| - suffix_out = self._apply_checkpoint( | |
| - forward_func, prefix_embs, suffix_embs, att_2d_masks_4d, position_ids, adarms_cond | |
| - ) | |
| + if self.config.checkpoint_joint_stack: | |
| + suffix_out = self._apply_checkpoint( | |
| + forward_func, prefix_embs, suffix_embs, att_2d_masks_4d, position_ids, adarms_cond | |
| + ) | |
| + else: | |
| + # Individual decoder layers retain their checkpoints. Avoid checkpointing | |
| + # the complete stack again, which would repeat its forward a second time. | |
| + suffix_out = forward_func(prefix_embs, suffix_embs, att_2d_masks_4d, position_ids, adarms_cond) | |
| suffix_out = suffix_out[:, -self.config.chunk_size :] | |
| suffix_out = suffix_out.to(dtype=torch.float32) | |
| class PI05Policy(PreTrainedPolicy): | |
| images.append(img) | |
| bsize = img.shape[0] | |
| pad_key = f"{key}_is_pad" | |
| - if is_video and pad_key in batch: | |
| - mask = ~batch[pad_key].bool() | |
| + if pad_key in batch: | |
| + mask = ~batch[pad_key].to(device=device, dtype=torch.bool) | |
| + expected_shape = img.shape[:2] if is_video else (bsize,) | |
| + if mask.shape != expected_shape: | |
| + raise ValueError(f"{pad_key} has shape {mask.shape}, expected {expected_shape}") | |
| else: | |
| mask_shape = img.shape[:2] if is_video else (bsize,) | |
| mask = torch.ones(mask_shape, dtype=torch.bool, device=device) | |
| class PI05Policy(PreTrainedPolicy): | |
| original_action_dim = self.config.output_features[ACTION].shape[0] | |
| losses = losses[:, :, :original_action_dim] | |
| + if "action_is_pad" in batch: | |
| + action_padding = batch["action_is_pad"].to(device=losses.device, dtype=torch.bool) | |
| + if action_padding.shape != losses.shape[:2]: | |
| + raise ValueError("action_is_pad must match the batch and action-horizon dimensions") | |
| + prefix_mask = action_padding if prefix_mask is None else prefix_mask | action_padding | |
| + | |
| if prefix_mask is None: | |
| loss_per_dim = losses.mean(dim=(0, 1)) | |
| else: | |
| diff --git a/src/lerobot/policies/pi05/processor_pi05.py b/src/lerobot/policies/pi05/processor_pi05.py | |
| index fefe6428..a93a157b 100644 | |
| --- a/src/lerobot/policies/pi05/processor_pi05.py | |
| +++ b/src/lerobot/policies/pi05/processor_pi05.py | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| +import shutil | |
| from copy import deepcopy | |
| from dataclasses import dataclass | |
| +from pathlib import Path | |
| from typing import Any | |
| import numpy as np | |
| from lerobot.utils.constants import OBS_STATE | |
| from .configuration_pi05 import PI05Config | |
| +@ProcessorStepRegistry.register(name="pi05_sentencepiece_tokenizer") | |
| +@dataclass | |
| +class Pi05SentencePieceTokenizerProcessorStep(TokenizerProcessorStep): | |
| + """OpenPI's native public PaliGemma tokenizer, with serializable local assets.""" | |
| + | |
| + def __post_init__(self): | |
| + from lerobot.utils.import_utils import require_package | |
| + | |
| + require_package("sentencepiece", extra="pi") | |
| + import sentencepiece | |
| + | |
| + if not self.tokenizer_name or self.padding_side != "right" or self.padding != "max_length": | |
| + raise ValueError("OpenPI tokenization requires a local model and right max_length padding") | |
| + self.input_tokenizer = sentencepiece.SentencePieceProcessor(model_file=self.tokenizer_name) | |
| + | |
| + def _tokenize_text(self, text): | |
| + texts = [text] if isinstance(text, str) else text | |
| + ids = torch.zeros(len(texts), self.max_length, dtype=torch.long) | |
| + mask = torch.zeros_like(ids, dtype=torch.bool) | |
| + for i, prompt in enumerate(texts): | |
| + tokens = self.input_tokenizer.encode(prompt, add_bos=True) | |
| + if len(tokens) > self.max_length and not self.truncation: | |
| + raise ValueError("Prompt exceeds maximum token length") | |
| + tokens = tokens[: self.max_length] | |
| + ids[i, : len(tokens)] = torch.tensor(tokens) | |
| + mask[i, : len(tokens)] = True | |
| + return {"input_ids": ids, "attention_mask": mask} | |
| + | |
| + def save_artifacts(self, save_directory): | |
| + target = Path(save_directory) / "tokenizer/tokenizer.model" | |
| + target.parent.mkdir(parents=True, exist_ok=True) | |
| + if Path(self.tokenizer_name).resolve() != target.resolve(): | |
| + shutil.copy2(self.tokenizer_name, target) | |
| + return {"tokenizer_name": "tokenizer/tokenizer.model"} | |
| + | |
| + | |
| @ProcessorStepRegistry.register(name="pi05_prepare_state_tokenizer_processor_step") | |
| @dataclass | |
| class Pi05PrepareStateTokenizerProcessorStep(ProcessorStep): | |
| def make_pi05_pre_post_processors( | |
| max_state_dim=config.max_state_dim, | |
| include_state_in_prompt=not config.use_proprioceptive_memory, | |
| ), | |
| - TokenizerProcessorStep( | |
| + ( | |
| + Pi05SentencePieceTokenizerProcessorStep | |
| + if config.text_tokenizer_name.endswith(".model") | |
| + else TokenizerProcessorStep | |
| + )( | |
| tokenizer_name=config.text_tokenizer_name, | |
| max_length=config.tokenizer_max_length, | |
| padding_side="right", | |
| diff --git a/uv.lock b/uv.lock | |
| index b33bf4b7..ada621ac 100644 | |
| --- a/uv.lock | |
| +++ b/uv.lock | |
| name = "bddl" | |
| version = "1.0.1" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "jupytext" }, | |
| - { name = "networkx" }, | |
| - { name = "numpy" }, | |
| - { name = "pytest" }, | |
| + { name = "jupytext", marker = "sys_platform == 'linux'" }, | |
| + { name = "networkx", marker = "sys_platform == 'linux'" }, | |
| + { name = "numpy", marker = "sys_platform == 'linux'" }, | |
| + { name = "pytest", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/5c/37/0211f82891a9f14efcfd2b2096f8d9e4351398ad637fdd1ee59cfc580b0e/bddl-1.0.1.tar.gz", hash = "sha256:1fa4e6e5050b93888ff6fd8455c39bfb29d3864ce06b4c37c0f781f513a2ae26", size = 164809, upload-time = "2022-03-08T01:48:23.564Z" } | |
| name = "cuda-bindings" | |
| version = "12.9.7" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "cuda-pathfinder" }, | |
| + { name = "cuda-pathfinder", marker = "sys_platform == 'linux'" }, | |
| ] | |
| wheels = [ | |
| { url = "https://files.pythonhosted.org/packages/32/45/557d4ed1fa54f0c7db8aee083229f624990d69f7d00f55477eed5c7e169a/cuda_bindings-12.9.7-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0666d3c082ef8f4b2d670950589373550e9f3bf564d635dd883f24a0b40402ff", size = 7071026, upload-time = "2026-05-27T18:44:13.356Z" }, | |
| wheels = [ | |
| [package.optional-dependencies] | |
| cublas = [ | |
| - { name = "nvidia-cublas-cu12" }, | |
| + { name = "nvidia-cublas-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| cudart = [ | |
| - { name = "nvidia-cuda-runtime-cu12" }, | |
| + { name = "nvidia-cuda-runtime-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| cufft = [ | |
| - { name = "nvidia-cufft-cu12" }, | |
| + { name = "nvidia-cufft-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| cufile = [ | |
| - { name = "nvidia-cufile-cu12" }, | |
| + { name = "nvidia-cufile-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| cupti = [ | |
| - { name = "nvidia-cuda-cupti-cu12" }, | |
| + { name = "nvidia-cuda-cupti-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| curand = [ | |
| - { name = "nvidia-curand-cu12" }, | |
| + { name = "nvidia-curand-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| cusolver = [ | |
| - { name = "nvidia-cusolver-cu12" }, | |
| + { name = "nvidia-cusolver-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| cusparse = [ | |
| - { name = "nvidia-cusparse-cu12" }, | |
| + { name = "nvidia-cusparse-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| nvjitlink = [ | |
| - { name = "nvidia-nvjitlink-cu12" }, | |
| + { name = "nvidia-nvjitlink-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| nvrtc = [ | |
| - { name = "nvidia-cuda-nvrtc-cu12" }, | |
| + { name = "nvidia-cuda-nvrtc-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| nvtx = [ | |
| - { name = "nvidia-nvtx-cu12" }, | |
| + { name = "nvidia-nvtx-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| [[package]] | |
| name = "decord" | |
| version = "0.6.0" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "numpy" }, | |
| + { name = "numpy", marker = "(platform_machine != 'arm64' and sys_platform == 'darwin') or (platform_machine == 'AMD64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" }, | |
| ] | |
| wheels = [ | |
| { url = "https://files.pythonhosted.org/packages/11/79/936af42edf90a7bd4e41a6cac89c913d4b47fa48a26b042d5129a9242ee3/decord-0.6.0-py3-none-manylinux2010_x86_64.whl", hash = "sha256:51997f20be8958e23b7c4061ba45d0efcd86bffd5fe81c695d0befee0d442976", size = 13602299, upload-time = "2021-06-14T21:30:55.486Z" }, | |
| resolution-markers = [ | |
| "python_full_version == '3.14.*' and sys_platform == 'win32'", | |
| ] | |
| dependencies = [ | |
| - { name = "absl-py" }, | |
| - { name = "attrs" }, | |
| - { name = "numpy" }, | |
| - { name = "wrapt" }, | |
| + { name = "absl-py", marker = "python_full_version >= '3.14'" }, | |
| + { name = "attrs", marker = "python_full_version >= '3.14'" }, | |
| + { name = "numpy", marker = "python_full_version >= '3.14'" }, | |
| + { name = "wrapt", marker = "python_full_version >= '3.14'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/a6/83/ce29720ccf934c6cfa9b9c95ebbe96558386e66886626066632b5e44afed/dm_tree-0.1.9.tar.gz", hash = "sha256:a4c7db3d3935a5a2d5e4b383fc26c6b0cd6f78c6d4605d3e7b518800ecd5342b", size = 35623, upload-time = "2025-01-30T20:45:37.13Z" } | |
| wheels = [ | |
| resolution-markers = [ | |
| "python_full_version < '3.13' and sys_platform == 'win32'", | |
| ] | |
| dependencies = [ | |
| - { name = "absl-py" }, | |
| - { name = "attrs" }, | |
| - { name = "numpy" }, | |
| - { name = "wrapt" }, | |
| + { name = "absl-py", marker = "python_full_version < '3.14'" }, | |
| + { name = "attrs", marker = "python_full_version < '3.14'" }, | |
| + { name = "numpy", marker = "python_full_version < '3.14'" }, | |
| + { name = "wrapt", marker = "python_full_version < '3.14'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/5a/66/a3ec619d22b6baffa5ab853e8dc6ec9d0c837127948af59bb15b988d7312/dm_tree-0.1.10.tar.gz", hash = "sha256:22f37b599e01cc3402a17f79c257a802aebd8d326de05b54657650845956208a", size = 35748, upload-time = "2026-03-31T17:35:39.03Z" } | |
| wheels = [ | |
| name = "h5py" | |
| version = "3.16.0" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "numpy" }, | |
| + { name = "numpy", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/db/33/acd0ce6863b6c0d7735007df01815403f5589a21ff8c2e1ee2587a38f548/h5py-3.16.0.tar.gz", hash = "sha256:a0dbaad796840ccaa67a4c144a0d0c8080073c34c76d5a6941d6818678ef2738", size = 446526, upload-time = "2026-03-06T13:49:08.07Z" } | |
| wheels = [ | |
| name = "hf-libero" | |
| version = "0.1.4" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "bddl" }, | |
| - { name = "cloudpickle" }, | |
| - { name = "easydict" }, | |
| - { name = "einops" }, | |
| - { name = "future" }, | |
| - { name = "gymnasium" }, | |
| - { name = "hf-egl-probe" }, | |
| - { name = "hydra-core" }, | |
| - { name = "matplotlib" }, | |
| - { name = "mujoco" }, | |
| - { name = "numpy" }, | |
| - { name = "opencv-python" }, | |
| - { name = "robomimic" }, | |
| - { name = "robosuite" }, | |
| - { name = "thop" }, | |
| - { name = "transformers" }, | |
| - { name = "wandb" }, | |
| + { name = "bddl", marker = "sys_platform == 'linux'" }, | |
| + { name = "cloudpickle", marker = "sys_platform == 'linux'" }, | |
| + { name = "easydict", marker = "sys_platform == 'linux'" }, | |
| + { name = "einops", marker = "sys_platform == 'linux'" }, | |
| + { name = "future", marker = "sys_platform == 'linux'" }, | |
| + { name = "gymnasium", marker = "sys_platform == 'linux'" }, | |
| + { name = "hf-egl-probe", marker = "sys_platform == 'linux'" }, | |
| + { name = "hydra-core", marker = "sys_platform == 'linux'" }, | |
| + { name = "matplotlib", marker = "sys_platform == 'linux'" }, | |
| + { name = "mujoco", marker = "sys_platform == 'linux'" }, | |
| + { name = "numpy", marker = "sys_platform == 'linux'" }, | |
| + { name = "opencv-python", marker = "sys_platform == 'linux'" }, | |
| + { name = "robomimic", marker = "sys_platform == 'linux'" }, | |
| + { name = "robosuite", marker = "sys_platform == 'linux'" }, | |
| + { name = "thop", marker = "sys_platform == 'linux'" }, | |
| + { name = "transformers", marker = "sys_platform == 'linux'" }, | |
| + { name = "wandb", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/af/aa/4e9eb8715e0bff9cb6553db563a35d253393097d446f82bd53575e8b253d/hf_libero-0.1.4.tar.gz", hash = "sha256:c058d67ad5a2b589529c14d614282ef4cca3a7763dafa134f58a6c9039657e34", size = 2961319, upload-time = "2026-06-10T09:56:13.994Z" } | |
| wheels = [ | |
| name = "hydra-core" | |
| version = "1.3.6" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "antlr4-python3-runtime" }, | |
| - { name = "omegaconf" }, | |
| - { name = "packaging" }, | |
| + { name = "antlr4-python3-runtime", marker = "sys_platform == 'linux'" }, | |
| + { name = "omegaconf", marker = "sys_platform == 'linux'" }, | |
| + { name = "packaging", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/78/03/adfa2bf3a9eef568a85f2e7cf18ce1938e7aa0b5257c432e5eb48f89960a/hydra_core-1.3.6.tar.gz", hash = "sha256:8c4c215b6cfba68e9a4e76f565bd7399fc2a86b93cfe8cb7328b046834dfbee5", size = 3272413, upload-time = "2026-08-29T14:36:08.092Z" } | |
| wheels = [ | |
| name = "jupytext" | |
| version = "1.19.5" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "markdown-it-py" }, | |
| - { name = "mdit-py-plugins" }, | |
| - { name = "nbformat" }, | |
| - { name = "packaging" }, | |
| - { name = "pyyaml" }, | |
| + { name = "markdown-it-py", marker = "sys_platform == 'linux'" }, | |
| + { name = "mdit-py-plugins", marker = "sys_platform == 'linux'" }, | |
| + { name = "nbformat", marker = "sys_platform == 'linux'" }, | |
| + { name = "packaging", marker = "sys_platform == 'linux'" }, | |
| + { name = "pyyaml", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/a1/ca/473f8ebb101553fb2ea6ab1d34324d6677844c968947ac050c759d539f2c/jupytext-1.19.5.tar.gz", hash = "sha256:605026446d605aa54fd7f7fc69df6ae51c7a46053d4cebf05afdc64d66de3df0", size = 4600916, upload-time = "2026-07-21T22:00:29.198Z" } | |
| wheels = [ | |
| all = [ | |
| { name = "ruff" }, | |
| { name = "scikit-image" }, | |
| { name = "scipy" }, | |
| + { name = "sentencepiece" }, | |
| { name = "teleop" }, | |
| { name = "timm" }, | |
| { name = "torchcodec", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'AMD64' and sys_platform == 'linux') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'arm64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or sys_platform == 'win32'" }, | |
| phone = [ | |
| ] | |
| pi = [ | |
| { name = "scipy" }, | |
| + { name = "sentencepiece" }, | |
| { name = "transformers" }, | |
| ] | |
| placo-dep = [ | |
| requires-dist = [ | |
| { name = "scikit-image", marker = "extra == 'video-benchmark'", specifier = ">=0.23.2,<0.26.0" }, | |
| { name = "scipy", marker = "extra == 'all'", specifier = ">=1.14.0,<2.0.0" }, | |
| { name = "scipy", marker = "extra == 'scipy-dep'", specifier = ">=1.14.0,<2.0.0" }, | |
| + { name = "sentencepiece", marker = "extra == 'pi'", specifier = ">=0.2.1,<0.3" }, | |
| { name = "setuptools", specifier = ">=71.0.0,<82.0.0" }, | |
| { name = "teleop", marker = "extra == 'phone'", specifier = ">=0.1.0,<0.2.0" }, | |
| { name = "termcolor", specifier = ">=2.4.0,<4.0.0" }, | |
| name = "mdit-py-plugins" | |
| version = "0.6.1" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "markdown-it-py" }, | |
| + { name = "markdown-it-py", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/59/fc/f8d0863f8862f25602c0404d75568e89fb6b4109804645e5cdfb1be5cf56/mdit_py_plugins-0.6.1.tar.gz", hash = "sha256:a2bca0f039f39dbd35fb74ae1b5f998608c437463371f0ff7f49a19a17a114d0", size = 56114, upload-time = "2026-05-13T09:03:38.91Z" } | |
| wheels = [ | |
| name = "numba" | |
| version = "0.67.0" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "llvmlite" }, | |
| - { name = "numpy" }, | |
| + { name = "llvmlite", marker = "sys_platform == 'linux'" }, | |
| + { name = "numpy", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/7a/90/2544f4e3a61e501d6c9a5418fd4b905323222693d54a02cab0106a0af865/numba-0.67.0.tar.gz", hash = "sha256:cd75aa535b33fa05d9d930b1ae8af9f97a2881e96d72dfb38ec9b78284d9f851", size = 2836515, upload-time = "2026-08-11T23:04:00.174Z" } | |
| wheels = [ | |
| name = "nvidia-cudnn-cu12" | |
| version = "9.19.0.56" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "nvidia-cublas-cu12" }, | |
| + { name = "nvidia-cublas-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| wheels = [ | |
| { url = "https://files.pythonhosted.org/packages/09/b8/277c51962ee46fa3e5b203ac5f76107c650f781d6891e681e28e6f3e9fe6/nvidia_cudnn_cu12-9.19.0.56-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:08caaf27fe556aca82a3ee3b5aa49a77e7de0cfcb7ff4e5c29da426387a8267e", size = 656910700, upload-time = "2026-02-03T20:40:25.508Z" }, | |
| name = "nvidia-cufft-cu12" | |
| version = "11.3.3.83" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "nvidia-nvjitlink-cu12" }, | |
| + { name = "nvidia-nvjitlink-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| wheels = [ | |
| { url = "https://files.pythonhosted.org/packages/60/bc/7771846d3a0272026c416fbb7e5f4c1f146d6d80704534d0b187dd6f4800/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:848ef7224d6305cdb2a4df928759dca7b1201874787083b6e7550dd6765ce69a", size = 193109211, upload-time = "2025-03-07T01:44:56.873Z" }, | |
| name = "nvidia-cusolver-cu12" | |
| version = "11.7.3.90" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "nvidia-cublas-cu12" }, | |
| - { name = "nvidia-cusparse-cu12" }, | |
| - { name = "nvidia-nvjitlink-cu12" }, | |
| + { name = "nvidia-cublas-cu12", marker = "sys_platform == 'linux'" }, | |
| + { name = "nvidia-cusparse-cu12", marker = "sys_platform == 'linux'" }, | |
| + { name = "nvidia-nvjitlink-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| wheels = [ | |
| { url = "https://files.pythonhosted.org/packages/c8/32/f7cd6ce8a7690544d084ea21c26e910a97e077c9b7f07bf5de623ee19981/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:db9ed69dbef9715071232caa9b69c52ac7de3a95773c2db65bdba85916e4e5c0", size = 267229841, upload-time = "2025-03-07T01:46:54.356Z" }, | |
| name = "nvidia-cusparse-cu12" | |
| version = "12.5.8.93" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "nvidia-nvjitlink-cu12" }, | |
| + { name = "nvidia-nvjitlink-cu12", marker = "sys_platform == 'linux'" }, | |
| ] | |
| wheels = [ | |
| { url = "https://files.pythonhosted.org/packages/bc/f7/cd777c4109681367721b00a106f491e0d0d15cfa1fd59672ce580ce42a97/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9b6c161cb130be1a07a27ea6923df8141f3c295852f4b260c65f18f3e0a091dc", size = 288117129, upload-time = "2025-03-07T01:47:40.407Z" }, | |
| name = "omegaconf" | |
| version = "2.3.1" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "antlr4-python3-runtime" }, | |
| - { name = "pyyaml" }, | |
| + { name = "antlr4-python3-runtime", marker = "sys_platform == 'linux'" }, | |
| + { name = "pyyaml", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/ce/3d/e4b57b8d9008c6ebe0d5eff901f91d5700cf7bdb8c8863df817463a7fd5e/omegaconf-2.3.1.tar.gz", hash = "sha256:e5e7de64aeebeddaf8e6d3f7a783b32ac2a01c0fbd9c878012caecb891a1f42a", size = 3298472, upload-time = "2026-06-11T05:05:12.885Z" } | |
| wheels = [ | |
| name = "pexpect" | |
| version = "4.9.0" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "ptyprocess" }, | |
| + { name = "ptyprocess", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } | |
| wheels = [ | |
| name = "pyobjc-framework-applicationservices" | |
| version = "12.2.2" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "pyobjc-core" }, | |
| - { name = "pyobjc-framework-cocoa" }, | |
| - { name = "pyobjc-framework-coretext" }, | |
| - { name = "pyobjc-framework-quartz" }, | |
| + { name = "pyobjc-core", marker = "sys_platform != 'emscripten' and sys_platform != 'linux' and sys_platform != 'win32'" }, | |
| + { name = "pyobjc-framework-cocoa", marker = "sys_platform != 'emscripten' and sys_platform != 'linux' and sys_platform != 'win32'" }, | |
| + { name = "pyobjc-framework-coretext", marker = "sys_platform != 'emscripten' and sys_platform != 'linux' and sys_platform != 'win32'" }, | |
| + { name = "pyobjc-framework-quartz", marker = "sys_platform != 'emscripten' and sys_platform != 'linux' and sys_platform != 'win32'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/29/40/b792ecc88a9fa639318509c127f0b153cd334bd27b47df373f4b7362a36d/pyobjc_framework_applicationservices-12.2.2.tar.gz", hash = "sha256:0bcc09531d5854598fd74706d999e4ae3b7c503204d318910d02eba30e8eecef", size = 109668, upload-time = "2026-08-11T19:43:45.347Z" } | |
| wheels = [ | |
| name = "pyobjc-framework-cocoa" | |
| version = "12.2.2" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "pyobjc-core" }, | |
| + { name = "pyobjc-core", marker = "sys_platform != 'emscripten' and sys_platform != 'linux' and sys_platform != 'win32'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/75/76/49c6da2c6a831020b4854ba20079d5a1030474bffc776b7b73c2eeff8c15/pyobjc_framework_cocoa-12.2.2.tar.gz", hash = "sha256:c96c0ef69a71afbbb0e6a7d594b455c5fe47d62e0db376ee7a2b4b828c16ace9", size = 3132831, upload-time = "2026-08-11T19:44:02.288Z" } | |
| wheels = [ | |
| name = "pyobjc-framework-coretext" | |
| version = "12.2.2" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "pyobjc-core" }, | |
| - { name = "pyobjc-framework-cocoa" }, | |
| - { name = "pyobjc-framework-quartz" }, | |
| + { name = "pyobjc-core", marker = "sys_platform != 'emscripten' and sys_platform != 'linux' and sys_platform != 'win32'" }, | |
| + { name = "pyobjc-framework-cocoa", marker = "sys_platform != 'emscripten' and sys_platform != 'linux' and sys_platform != 'win32'" }, | |
| + { name = "pyobjc-framework-quartz", marker = "sys_platform != 'emscripten' and sys_platform != 'linux' and sys_platform != 'win32'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/6d/66/405006d3502ffcd3bc69e0b7249ab7c05a5b43a07fa3959ce6b2a84f3278/pyobjc_framework_coretext-12.2.2.tar.gz", hash = "sha256:64ddc02303217028e32e22c7cc00b5112d84e9d9a67c37d00c2e54f9172284ab", size = 97658, upload-time = "2026-08-11T19:44:17.207Z" } | |
| wheels = [ | |
| name = "pyobjc-framework-quartz" | |
| version = "12.2.2" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "pyobjc-core" }, | |
| - { name = "pyobjc-framework-cocoa" }, | |
| + { name = "pyobjc-core", marker = "sys_platform != 'emscripten' and sys_platform != 'linux' and sys_platform != 'win32'" }, | |
| + { name = "pyobjc-framework-cocoa", marker = "sys_platform != 'emscripten' and sys_platform != 'linux' and sys_platform != 'win32'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/35/b1/426a37c7ae37280b3ffca2571fb48f211946aee2f4ca31a603ed1943c4a7/pyobjc_framework_quartz-12.2.2.tar.gz", hash = "sha256:810f97b210cfd93704d240860286dfd6df09f9f1c52525fc5c2166723aea3f9e", size = 3218295, upload-time = "2026-08-11T19:45:15.189Z" } | |
| wheels = [ | |
| name = "robomimic" | |
| version = "0.2.0" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "egl-probe" }, | |
| - { name = "h5py" }, | |
| - { name = "imageio" }, | |
| - { name = "imageio-ffmpeg" }, | |
| - { name = "numpy" }, | |
| - { name = "psutil" }, | |
| - { name = "tensorboard" }, | |
| - { name = "tensorboardx" }, | |
| - { name = "termcolor" }, | |
| - { name = "torch", version = "2.11.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" } }, | |
| - { name = "torchvision", version = "0.26.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" } }, | |
| - { name = "tqdm" }, | |
| + { name = "egl-probe", marker = "sys_platform == 'linux'" }, | |
| + { name = "h5py", marker = "sys_platform == 'linux'" }, | |
| + { name = "imageio", marker = "sys_platform == 'linux'" }, | |
| + { name = "imageio-ffmpeg", marker = "sys_platform == 'linux'" }, | |
| + { name = "numpy", marker = "sys_platform == 'linux'" }, | |
| + { name = "psutil", marker = "sys_platform == 'linux'" }, | |
| + { name = "tensorboard", marker = "sys_platform == 'linux'" }, | |
| + { name = "tensorboardx", marker = "sys_platform == 'linux'" }, | |
| + { name = "termcolor", marker = "sys_platform == 'linux'" }, | |
| + { name = "torch", version = "2.11.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "sys_platform == 'linux'" }, | |
| + { name = "torchvision", version = "0.26.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "sys_platform == 'linux'" }, | |
| + { name = "tqdm", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/3d/c3/44b1d1ea4bcb4bbed43d19e09505f4142714451ded74020d4f679cdc89fb/robomimic-0.2.0.tar.gz", hash = "sha256:ee3bb5cf9c3e1feead6b57b43c5db738fd0a8e0c015fdf6419808af8fffdc463", size = 192919, upload-time = "2021-12-17T19:00:33.279Z" } | |
| name = "robosuite" | |
| version = "1.4.0" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "mujoco" }, | |
| - { name = "numba" }, | |
| - { name = "numpy" }, | |
| - { name = "opencv-python" }, | |
| - { name = "pillow" }, | |
| - { name = "scipy" }, | |
| + { name = "mujoco", marker = "sys_platform == 'linux'" }, | |
| + { name = "numba", marker = "sys_platform == 'linux'" }, | |
| + { name = "numpy", marker = "sys_platform == 'linux'" }, | |
| + { name = "opencv-python", marker = "sys_platform == 'linux'" }, | |
| + { name = "pillow", marker = "sys_platform == 'linux'" }, | |
| + { name = "scipy", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/25/a1/9dd07a9a5e09c6aa032faf531da985808b34437cbf6c8f358fe8f7c47118/robosuite-1.4.0.tar.gz", hash = "sha256:a8a6233d7458dbd91bf00a86cab15aa1c178bd9d1b28d515db2cf3d152cb48e6", size = 192182147, upload-time = "2022-12-01T07:31:55.791Z" } | |
| wheels = [ | |
| wheels = [ | |
| { url = "https://files.pythonhosted.org/packages/1c/78/504fdd027da3b84ff1aecd9f6957e65f35134534ccc6da8628eb71e76d3f/send2trash-2.1.0-py3-none-any.whl", hash = "sha256:0da2f112e6d6bb22de6aa6daa7e144831a4febf2a87261451c4ad849fe9a873c", size = 17610, upload-time = "2026-01-14T06:27:35.218Z" }, | |
| ] | |
| +[[package]] | |
| +name = "sentencepiece" | |
| +version = "0.2.2" | |
| +source = { registry = "https://pypi.org/simple" } | |
| +sdist = { url = "https://files.pythonhosted.org/packages/cc/33/ea3cb3839607eb175da835244a798f797f478c5ddf0e8ecdf57ea85a4c70/sentencepiece-0.2.2.tar.gz", hash = "sha256:3d2b5e824b5622038dc7b490897efe05ebbbb9e7350fc142f3ecc8789ef9bdf6", size = 8218435, upload-time = "2026-07-12T08:39:34.701Z" } | |
| +wheels = [ | |
| + { url = "https://files.pythonhosted.org/packages/b8/13/7a562289c8d5b49ebdf3f9c1e8ab67cf14a8743b1d90c8f406bfdec36b72/sentencepiece-0.2.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1edb10e520e4bddf74d85b0f5ae74cc2d60c2b448885080bfb618bc2b3a49f6b", size = 2188384, upload-time = "2026-07-12T08:38:28.486Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/85/d1/912f14fd5eae168aba726ffb6a9a2dc1c71fe7676c53da6f5c442b886d4a/sentencepiece-0.2.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7c06c751c19d923435a54bff4f7e66e728fad160e8da28254f133abc9725820", size = 1441553, upload-time = "2026-07-12T08:38:30.552Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/bd/44/caa9cab5f261a019e2808bc5046152775dc57352ba9cbae7525e9e7a1ed4/sentencepiece-0.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38111ed1f79268f399c505028023d5eaaf0ab4e5eafceb709468b0d3323e7838", size = 1347176, upload-time = "2026-07-12T08:38:32.211Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/19/90/cd798935668cff71d309d8ff10385844ecf216b1fe454f1993ed8bf2cb91/sentencepiece-0.2.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cbce24284f51f71d10a42b7b9c964dcb9048b28f1c8e5db40bcbcb6f428cba6a", size = 1325200, upload-time = "2026-07-12T08:38:33.689Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/b6/2d/37e3da037318a70066ded0d51bc2a7f35491ae6338dd993d5eb1503fc3b5/sentencepiece-0.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c8a168b040bc61681293f79a949b5d911c8e25086f4260285b8d97ab5f1195da", size = 1397736, upload-time = "2026-07-12T08:38:35.771Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/8d/11/753fca2e6b109be3ab7867abf357dfe48677fe726ae5a5363d0b54ca9450/sentencepiece-0.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:7c6e7bf684dc12145bfa685d3060beaea55139134ba848289bee514ed42e7383", size = 1248030, upload-time = "2026-07-12T08:38:37.604Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/e2/0a/70efbe861ca182d7d4b6e1a20f58e043400848fa9f2915229f082e221648/sentencepiece-0.2.2-cp312-cp312-win_arm64.whl", hash = "sha256:76ff5814db72e7462dece042d7593cdf102b8ec82c2b1cc201a2add34ee3050d", size = 1187325, upload-time = "2026-07-12T08:38:39.348Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/b9/a3/b3b05095c174d6e80d37d5ddc2f57c2c56237333e7bbd6079cf3243c2a8a/sentencepiece-0.2.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:77c3ce990b23441e5ecfa5bce181fd6f408b564aeb6d7e1d1e7de9c5612501c8", size = 2188346, upload-time = "2026-07-12T08:38:41.089Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/ca/f3/72ebc4acb10a06bcf7503fbc6091c8f5db68300f6aac4356c09e6c76e0e1/sentencepiece-0.2.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fd523c4992041faa5c2b3cde62253d11a96c30d73a34afe48a486e8e2254cd1c", size = 1441434, upload-time = "2026-07-12T08:38:42.56Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/34/db/f9ea1a6844b4fa5dfe2312095cd866a1f724cd0905054ab9d5991778ba50/sentencepiece-0.2.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:201a8e0f55501a76e08dbf2c54bc45f4642b379271e89c667d517bfbc2191f2a", size = 1347267, upload-time = "2026-07-12T08:38:44.389Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/32/4f/31c1073314ad94466bca37d29581761d70110237ee3d46b0efece59a8c1e/sentencepiece-0.2.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8eed98514bffe5ecac37f493f91869c351fbb05629328bfdbc08502c6c094dc0", size = 1324980, upload-time = "2026-07-12T08:38:46.304Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/59/b4/a0356fa04d6a14337a6e0e443556785a0422c53ec58baae6b9568120eb0f/sentencepiece-0.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64b656f025355cf8c51abe9fbe3848540756c6d7ca5e6791b1afa664bc24c7cb", size = 1397593, upload-time = "2026-07-12T08:38:48.302Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/09/fa/d2d6369257fd2f0de616b1c7110b73fab409ef61b14f1b9e0010ed325914/sentencepiece-0.2.2-cp313-cp313-win_amd64.whl", hash = "sha256:74f0ee601047c0c12a783088b51be4e6214a62ecd9e02278c477433cd16e0ed9", size = 1247987, upload-time = "2026-07-12T08:38:50.15Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/17/ee/2bb594da6fd95e32f29057f1aa7fa996701b8980090923c2d8711fdc0a24/sentencepiece-0.2.2-cp313-cp313-win_arm64.whl", hash = "sha256:b23fe17779834d3c27aaf2edac9486d04cca1a7deb8f5facda35150ac6263a91", size = 1187250, upload-time = "2026-07-12T08:38:52.246Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/58/9c/dfc82846460e7a712310f5613f23d8b553cabb4e2e648663c11d8382af56/sentencepiece-0.2.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:72b7825b331b1b7e7c45be2e674b3e3c65af608fa376bad2d851b20aaf0cdc78", size = 2223080, upload-time = "2026-07-12T08:38:54.391Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/8d/4e/3ff12cebe6d31662d9ceeabfb282de20bd0d6098fa282b4a3b8305abc7e8/sentencepiece-0.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:d795c4ac689a57f9d4ba2288126ec7901d389ad5827d2f8b8533c883974fe563", size = 1458511, upload-time = "2026-07-12T08:38:56.811Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/59/5a/16d51d05360be4cee3ebfe4837c184054c4eed16cabaeb3b039524e9a000/sentencepiece-0.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3ab3f1ae98970b5590e2209341522718900ba19bcc2c207ffaa6bd417ad960c5", size = 1361138, upload-time = "2026-07-12T08:38:58.808Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/0f/af/c30ee2a9f99d51db9844acaa8fa0b611a97c2fa7116646fa43db3300b187/sentencepiece-0.2.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ec27c152a1f1b24bc9168b55a5880f3c16e2334e697da6f55a1046a22405a3d", size = 1328625, upload-time = "2026-07-12T08:39:00.849Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/3e/1a/4c6b39d03f5ba8439509adbd5a23c9538088a3cb679e7a47b911e8442bc6/sentencepiece-0.2.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:59d6588712101ccfcae9b03692be3aaae1514c2078666d7b05f15ba3a702e41b", size = 1398595, upload-time = "2026-07-12T08:39:02.86Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/0f/bc/9eedddcec1fd57bc70200fa3ebf792d18fa63527a5369581cd416c81f97f/sentencepiece-0.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:89625fb43765cccaa1443b9adb61f283e5fe4cb1536728205d06bada730caa53", size = 1259346, upload-time = "2026-07-12T08:39:04.559Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/41/15/7e74c8533848866ff560b29f7d8719921b76c4ec7149592d6d28e0deee75/sentencepiece-0.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:4f0603267cd15b92b68c2c0e852a441507614b70dc7773659baa6b8c214a91fd", size = 1196596, upload-time = "2026-07-12T08:39:06.454Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/0b/7e/f5df63edb6bcb46c1343cfa5d9192d73a4eb61af2e800d9402efff387523/sentencepiece-0.2.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c62bd361cec1f5b556eb8210264ecfff37486cd990c3386cc00310f26c54090a", size = 2190240, upload-time = "2026-07-12T08:39:08.178Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/52/0a/095d183b453b2a2e20b016829029c58eca90adc1c9911113e5d26fff45ed/sentencepiece-0.2.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:46ba07b543add034de0ff47ac5f907e9a06682f91d85121a972764628933be6b", size = 1442220, upload-time = "2026-07-12T08:39:09.91Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/d1/18/823954c9c90e74eba09fb96752dc37a5555df00d69866cb9406d1725dc7e/sentencepiece-0.2.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:79bac5a251f23a7341e28fda9ce0d5319edf45328239ce037c0682936f137906", size = 1348056, upload-time = "2026-07-12T08:39:11.744Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/10/ca/1b6c251321901cbf8a2d2e48b8b70eb82a449011b766af52a228d0a90b6b/sentencepiece-0.2.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1402d8ee36f0d851cea8eee4dbb85fea14643b7503cf4d00d102eec0fe3ca719", size = 1325463, upload-time = "2026-07-12T08:39:13.413Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/24/b3/718847349da7b25c8220ed86d85b89080af94740b2d87a59198104ae5c51/sentencepiece-0.2.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8d44b20234905ff022b7d535f79d1f823ad7670c9851cc4f03cdc34787cdb3ab", size = 1398138, upload-time = "2026-07-12T08:39:15.564Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/33/fe/4906f12c458274edd96387e4baaad7c6f064a2b7c11a1cc2401c8a7bd483/sentencepiece-0.2.2-cp314-cp314-win_amd64.whl", hash = "sha256:63250cfab8b80a1ef82a614eb2b3cadfec2c405f870cedc139d08e2f063eb708", size = 1356144, upload-time = "2026-07-12T08:39:17.313Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/d3/eb/22f89b6542aba400b0007cf0b1697cc3f99be8fb682fdb4c05eec450e33f/sentencepiece-0.2.2-cp314-cp314-win_arm64.whl", hash = "sha256:65d84ec36888de4a848eee5f910e67fbc79b064685ef1e10a502e14520ead9c9", size = 1294351, upload-time = "2026-07-12T08:39:18.967Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/84/c4/7afe8c2315b76e46818851a057e50a378a0382aa00b970a1fa444181b6f6/sentencepiece-0.2.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:d254c98ca6387655400b3959c33c83efd807f5edeb608e3aca45800ceaa77151", size = 2223281, upload-time = "2026-07-12T08:39:20.978Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/98/42/fb678e472c554ef086be6375d20060ca610a2c4218854d4c091001fc6f91/sentencepiece-0.2.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:3fd9ce2ab4460c713cfdeb4aca693ca6732a11538e05fb332d5af42e3d7fde25", size = 1458779, upload-time = "2026-07-12T08:39:22.812Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/78/52/ffe402b13bce1889228a98dc6cd86ae8afac1112362236be3468be784441/sentencepiece-0.2.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7fc14c1585139fa6b68775e616a6b90cf622ebf219f9558c0aeaf5d253ee6c9b", size = 1361736, upload-time = "2026-07-12T08:39:24.602Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/78/4a/2288f60e7283583ec0a0f16e72f9c8e68557d7e7a4b585d2cda4f9f47e64/sentencepiece-0.2.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df88b0c34f2fa909d322f7b06b1398e1e81af4b2f42a7b8e3556f928b25d1811", size = 1328155, upload-time = "2026-07-12T08:39:26.422Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/26/31/5dd6882ebe899f741a5cfe40ff56c6efc06bc26ee287abdb723b671f409c/sentencepiece-0.2.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3f5851441ab1ef8634963a5100b733a8bbeefe623e0c5c005b1f1f3880e574cf", size = 1398307, upload-time = "2026-07-12T08:39:28.637Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/da/05/7d7780fa63f4b8c1821953b916e25f89ae8f14d4da6ba91e10f6d06dc2b4/sentencepiece-0.2.2-cp314-cp314t-win_amd64.whl", hash = "sha256:046b15ea22d8042e2e173561d464ec3b64a9c2081324df70ebce7bf7ebb3e497", size = 1367133, upload-time = "2026-07-12T08:39:30.546Z" }, | |
| + { url = "https://files.pythonhosted.org/packages/49/a1/70007fef3f818c688de4a730f98024a671599ab67f20270f8efb03d69dcc/sentencepiece-0.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:fa9f5ef0e2a82233dd0b8b32ea3f5710e0c44afbc07ed3620219f32601e56090", size = 1302760, upload-time = "2026-07-12T08:39:32.457Z" }, | |
| +] | |
| + | |
| [[package]] | |
| name = "sentry-sdk" | |
| version = "2.69.1" | |
| name = "tensorboard" | |
| version = "2.20.0" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "absl-py" }, | |
| - { name = "grpcio" }, | |
| - { name = "markdown" }, | |
| - { name = "numpy" }, | |
| - { name = "packaging" }, | |
| - { name = "pillow" }, | |
| - { name = "protobuf" }, | |
| - { name = "setuptools" }, | |
| - { name = "tensorboard-data-server" }, | |
| - { name = "werkzeug" }, | |
| + { name = "absl-py", marker = "sys_platform == 'linux'" }, | |
| + { name = "grpcio", marker = "sys_platform == 'linux'" }, | |
| + { name = "markdown", marker = "sys_platform == 'linux'" }, | |
| + { name = "numpy", marker = "sys_platform == 'linux'" }, | |
| + { name = "packaging", marker = "sys_platform == 'linux'" }, | |
| + { name = "pillow", marker = "sys_platform == 'linux'" }, | |
| + { name = "protobuf", marker = "sys_platform == 'linux'" }, | |
| + { name = "setuptools", marker = "sys_platform == 'linux'" }, | |
| + { name = "tensorboard-data-server", marker = "sys_platform == 'linux'" }, | |
| + { name = "werkzeug", marker = "sys_platform == 'linux'" }, | |
| ] | |
| wheels = [ | |
| { url = "https://files.pythonhosted.org/packages/9c/d9/a5db55f88f258ac669a92858b70a714bbbd5acd993820b41ec4a96a4d77f/tensorboard-2.20.0-py3-none-any.whl", hash = "sha256:9dc9f978cb84c0723acf9a345d96c184f0293d18f166bb8d59ee098e6cfaaba6", size = 5525680, upload-time = "2025-07-17T19:20:49.638Z" }, | |
| name = "tensorboardx" | |
| version = "2.6.5" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "numpy" }, | |
| - { name = "packaging" }, | |
| - { name = "protobuf" }, | |
| + { name = "numpy", marker = "sys_platform == 'linux'" }, | |
| + { name = "packaging", marker = "sys_platform == 'linux'" }, | |
| + { name = "protobuf", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/48/a9/fc520ea91ab1f3ba51cbf3fe24f2b6364ed3b49046969e0868d46d6da372/tensorboardx-2.6.5.tar.gz", hash = "sha256:ca176db3997ee8c07d2eb77381225956a3fd1c10c91beafab1f17069adc47017", size = 4770195, upload-time = "2026-04-03T15:40:23.803Z" } | |
| wheels = [ | |
| name = "thop" | |
| version = "0.1.1.post2209072238" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "torch", version = "2.11.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" } }, | |
| + { name = "torch", version = "2.11.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "sys_platform == 'linux'" }, | |
| ] | |
| wheels = [ | |
| { url = "https://files.pythonhosted.org/packages/bb/0f/72beeab4ff5221dc47127c80f8834b4bcd0cb36f6ba91c0b1d04a1233403/thop-0.1.1.post2209072238-py3-none-any.whl", hash = "sha256:01473c225231927d2ad718351f78ebf7cffe6af3bed464c4f1ba1ef0f7cdda27", size = 15443, upload-time = "2022-09-07T14:38:37.211Z" }, | |
| resolution-markers = [ | |
| "python_full_version < '3.13' and sys_platform == 'win32'", | |
| ] | |
| dependencies = [ | |
| - { name = "filelock" }, | |
| - { name = "fsspec" }, | |
| - { name = "jinja2" }, | |
| - { name = "networkx" }, | |
| - { name = "setuptools" }, | |
| - { name = "sympy" }, | |
| - { name = "typing-extensions" }, | |
| + { name = "filelock", marker = "sys_platform != 'linux'" }, | |
| + { name = "fsspec", marker = "sys_platform != 'linux'" }, | |
| + { name = "jinja2", marker = "sys_platform != 'linux'" }, | |
| + { name = "networkx", marker = "sys_platform != 'linux'" }, | |
| + { name = "setuptools", marker = "sys_platform != 'linux'" }, | |
| + { name = "sympy", marker = "sys_platform != 'linux'" }, | |
| + { name = "typing-extensions", marker = "sys_platform != 'linux'" }, | |
| ] | |
| wheels = [ | |
| { url = "https://files.pythonhosted.org/packages/6f/8b/69e3008d78e5cee2b30183340cc425081b78afc5eff3d080daab0adda9aa/torch-2.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4b5866312ee6e52ea625cd211dcb97d6a2cdc1131a5f15cc0d87eec948f6dd34", size = 80606338, upload-time = "2026-03-23T18:11:34.781Z" }, | |
| resolution-markers = [ | |
| "python_full_version < '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'linux'", | |
| ] | |
| dependencies = [ | |
| - { name = "cuda-bindings" }, | |
| - { name = "cuda-toolkit", extra = ["cublas", "cudart", "cufft", "cufile", "cupti", "curand", "cusolver", "cusparse", "nvjitlink", "nvrtc", "nvtx"] }, | |
| - { name = "filelock" }, | |
| - { name = "fsspec" }, | |
| - { name = "jinja2" }, | |
| - { name = "networkx" }, | |
| - { name = "nvidia-cudnn-cu12" }, | |
| - { name = "nvidia-cusparselt-cu12" }, | |
| - { name = "nvidia-nccl-cu12" }, | |
| - { name = "nvidia-nvshmem-cu12" }, | |
| - { name = "setuptools" }, | |
| - { name = "sympy" }, | |
| - { name = "triton" }, | |
| - { name = "typing-extensions" }, | |
| + { name = "cuda-bindings", marker = "sys_platform == 'linux'" }, | |
| + { name = "cuda-toolkit", extra = ["cublas", "cudart", "cufft", "cufile", "cupti", "curand", "cusolver", "cusparse", "nvjitlink", "nvrtc", "nvtx"], marker = "sys_platform == 'linux'" }, | |
| + { name = "filelock", marker = "sys_platform == 'linux'" }, | |
| + { name = "fsspec", marker = "sys_platform == 'linux'" }, | |
| + { name = "jinja2", marker = "sys_platform == 'linux'" }, | |
| + { name = "networkx", marker = "sys_platform == 'linux'" }, | |
| + { name = "nvidia-cudnn-cu12", marker = "sys_platform == 'linux'" }, | |
| + { name = "nvidia-cusparselt-cu12", marker = "sys_platform == 'linux'" }, | |
| + { name = "nvidia-nccl-cu12", marker = "sys_platform == 'linux'" }, | |
| + { name = "nvidia-nvshmem-cu12", marker = "sys_platform == 'linux'" }, | |
| + { name = "setuptools", marker = "sys_platform == 'linux'" }, | |
| + { name = "sympy", marker = "sys_platform == 'linux'" }, | |
| + { name = "triton", marker = "sys_platform == 'linux'" }, | |
| + { name = "typing-extensions", marker = "sys_platform == 'linux'" }, | |
| ] | |
| wheels = [ | |
| { url = "https://download-r2.pytorch.org/whl/cu128/torch-2.11.0%2Bcu128-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:9c8f38efee365cb9d334de8a83ce52fc7e5fc9e5a7b0853285efa1b69e00b0f2", upload-time = "2026-04-27T17:41:30Z" }, | |
| resolution-markers = [ | |
| "python_full_version < '3.13' and sys_platform == 'win32'", | |
| ] | |
| dependencies = [ | |
| - { name = "numpy" }, | |
| - { name = "pillow" }, | |
| - { name = "torch", version = "2.11.0", source = { registry = "https://pypi.org/simple" } }, | |
| + { name = "numpy", marker = "sys_platform != 'linux'" }, | |
| + { name = "pillow", marker = "sys_platform != 'linux'" }, | |
| + { name = "torch", version = "2.11.0", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform != 'linux'" }, | |
| ] | |
| wheels = [ | |
| { url = "https://files.pythonhosted.org/packages/ae/e7/56b47cc3b132aea90ccce22bcb8975dec688b002150012acc842846039d0/torchvision-0.26.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c409e1c3fdebec7a3834465086dbda8bf7680eff79abf7fd2f10c6b59520a7a4", size = 1863502, upload-time = "2026-03-23T18:12:57.326Z" }, | |
| resolution-markers = [ | |
| "python_full_version < '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'linux'", | |
| ] | |
| dependencies = [ | |
| - { name = "numpy" }, | |
| - { name = "pillow" }, | |
| - { name = "torch", version = "2.11.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" } }, | |
| + { name = "numpy", marker = "sys_platform == 'linux'" }, | |
| + { name = "pillow", marker = "sys_platform == 'linux'" }, | |
| + { name = "torch", version = "2.11.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "sys_platform == 'linux'" }, | |
| ] | |
| wheels = [ | |
| { url = "https://download-r2.pytorch.org/whl/cu128/torchvision-0.26.0%2Bcu128-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:63e35234aed13b6edda37056f417b5c281249669db631e706811917af36b21d7", upload-time = "2026-04-09T23:21:35Z" }, | |
| name = "werkzeug" | |
| version = "3.1.8" | |
| source = { registry = "https://pypi.org/simple" } | |
| dependencies = [ | |
| - { name = "markupsafe" }, | |
| + { name = "markupsafe", marker = "sys_platform == 'linux'" }, | |
| ] | |
| sdist = { url = "https://files.pythonhosted.org/packages/dd/b2/381be8cfdee792dd117872481b6e378f85c957dd7c5bca38897b08f765fd/werkzeug-3.1.8.tar.gz", hash = "sha256:9bad61a4268dac112f1c5cd4630a56ede601b6ed420300677a869083d70a4c44", size = 875852, upload-time = "2026-04-02T18:49:14.268Z" } | |
| wheels = [ | |