Skip to content
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 50 additions & 7 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,63 @@ include Makefile
include requirements.txt
include conversion_requirements.txt

# Include package data
recursive-include vla_arena *.yaml *.yml *.json *.txt
recursive-include vla_arena/vla_arena/assets *
recursive-include vla_arena/vla_arena/bddl_files *.bddl
recursive-include vla_arena/vla_arena/init_files *.pruned_init
recursive-include vla_arena/configs *.yaml
# Include package data - Python code only
recursive-include vla_arena *.py
recursive-include vla_arena/configs *.yaml *.yml *.json

# IMPORTANT: Explicitly EXCLUDE large asset files from PyPI package
# These files are downloaded separately after installation
global-exclude *.obj
global-exclude *.stl
global-exclude *.dae
global-exclude *.mtl
global-exclude *.bddl
global-exclude *.pruned_init

# Keep the placeholder files to preserve directory structure
global-include .gitkeep
include vla_arena/vla_arena/assets/.gitkeep
include vla_arena/vla_arena/bddl_files/.gitkeep
include vla_arena/vla_arena/init_files/.gitkeep

# Explicitly exclude asset directories (belt and suspenders approach)
prune vla_arena/vla_arena/assets/stable_scanned_objects
prune vla_arena/vla_arena/assets/stable_hope_objects
prune vla_arena/vla_arena/assets/turbosquid_objects
prune vla_arena/vla_arena/assets/articulated_objects
prune vla_arena/vla_arena/assets/textures
prune vla_arena/vla_arena/bddl_files/generalization_object_preposition_combinations
prune vla_arena/vla_arena/bddl_files/generalization_task_workflows
prune vla_arena/vla_arena/bddl_files/generalization_unseen_objects
prune vla_arena/vla_arena/bddl_files/libero_10
prune vla_arena/vla_arena/bddl_files/libero_90
prune vla_arena/vla_arena/bddl_files/libero_goal
prune vla_arena/vla_arena/bddl_files/libero_object
prune vla_arena/vla_arena/bddl_files/libero_spatial
prune vla_arena/vla_arena/bddl_files/long_horizon
prune vla_arena/vla_arena/bddl_files/robustness_dynamic_distractors
prune vla_arena/vla_arena/bddl_files/robustness_static_distractors
prune vla_arena/vla_arena/bddl_files/safety_dynamic_obstacles
prune vla_arena/vla_arena/bddl_files/safety_static_obstacles
prune vla_arena/vla_arena/bddl_files/safety_hazard_avoidance
prune vla_arena/vla_arena/bddl_files/safety_risk_aware_grasping
prune vla_arena/vla_arena/bddl_files/safety_object_state_preservation
prune vla_arena/vla_arena/init_files

# Include helper scripts
include scripts/download_tasks.py
include scripts/package_all_suites.py
include scripts/__init__.py
include scripts/manage_assets.py

# Exclude unnecessary files
recursive-exclude * __pycache__
recursive-exclude * *.py[co]
recursive-exclude * .DS_Store
recursive-exclude * .git*
exclude .gitignore
exclude .pre-commit-config.yaml
exclude .gitattributes
# Note: .gitkeep files are explicitly included above, not excluded

# Exclude test and development files
recursive-exclude tests *
Expand Down
70 changes: 69 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,21 @@ If you find VLA-Arena useful, please cite it in your publications.
## Quick Start

### 1. Installation

#### Install from PyPI (Recommended)
```bash
# Clone repository
# 1. Install VLA-Arena
pip install vla-arena

# 2. Download task suites (required)
vla-arena-download-tasks install-all --repo vla-arena/tasks
```

> **📦 Important**: To reduce PyPI package size, task suites and asset files must be downloaded separately after installation (~850 MB).

#### Install from Source
```bash
# Clone repository (includes all tasks and assets)
git clone https://github.com/PKU-Alignment/VLA-Arena.git
cd VLA-Arena

Expand Down Expand Up @@ -245,6 +258,61 @@ Fine-tune and evaluate VLA models using VLA-Arena generated datasets.
- **English**: [`README_EN.md`](docs/README_EN.md) - Complete English documentation index
- **中文**: [`README_ZH.md`](docs/README_ZH.md) - 完整中文文档索引

### 📦 Download Task Suites

#### Method 1: Using CLI Tool (Recommended)

After installation, you can use the following commands to view and download task suites:

```bash
# View installed tasks
vla-arena-download-tasks installed

# List available task suites
vla-arena-download-tasks list --repo vla-arena/tasks

# Install a single task suite
vla-arena-download-tasks install robustness_dynamic_distractors --repo vla-arena/tasks

# Install all task suites (recommended)
vla-arena-download-tasks install-all --repo vla-arena/tasks
```

#### Method 2: Using Python Script

```bash
# View installed tasks
python -m scripts.download_tasks installed

# Install all tasks
python -m scripts.download_tasks install-all --repo vla-arena/tasks
```

### 🔧 Custom Task Repository

If you want to use your own task repository:

```bash
# Use custom HuggingFace repository
vla-arena-download-tasks install-all --repo your-username/your-task-repo
```

### 📝 Create and Share Custom Tasks

You can create and share your own task suites:

```bash
# Package a single task
vla-arena-manage-assets pack path/to/task.bddl --output ./packages

# Package all tasks
python scripts/package_all_suites.py --output ./packages

# Upload to HuggingFace Hub
vla-arena-manage-assets upload ./packages/my_task.vlap --repo your-username/your-repo
```


## Leaderboard

### Performance Evaluation of VLA Models on the VLA-Arena Benchmark
Expand Down
69 changes: 68 additions & 1 deletion README_zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,21 @@ VLA-Arena 囊括四个任务类别:
## 快速开始

### 1. 安装

#### 从 PyPI 安装 (推荐)
```bash
# 克隆仓库
# 1. 安装 VLA-Arena
pip install vla-arena

# 2. 下载任务套件 (必需)
vla-arena-download-tasks install-all --repo vla-arena/tasks
```

> **📦 重要**: 为减小 PyPI 包大小,任务套件和资产文件需要在安装后单独下载。

#### 从源代码安装
```bash
# 克隆仓库(包含所有任务和资产文件)
git clone https://github.com/PKU-Alignment/VLA-Arena.git
cd VLA-Arena

Expand Down Expand Up @@ -248,6 +261,60 @@ VLA-Arena为框架的所有方面提供全面的文档。选择最适合你需
- **中文**:[`README_ZH.md`](docs/README_ZH.md) - 完整中文文档索引
- **English**:[`README_EN.md`](docs/README_EN.md) - 完整英文文档索引

### 📦 下载任务套件

#### 方法 1: 使用命令行工具 (推荐)

安装后,你可以使用以下命令查看和下载任务套件:

```bash
# 查看已安装的任务
vla-arena-download-tasks installed

# 列出可用的任务套件
vla-arena-download-tasks list --repo vla-arena/tasks

# 安装单个任务套件
vla-arena-download-tasks install robustness_dynamic_distractors --repo vla-arena/tasks

# 安装所有任务套件 (推荐)
vla-arena-download-tasks install-all --repo vla-arena/tasks
```

#### 方法 2: 使用 Python 脚本

```bash
# 查看已安装的任务
python -m scripts.download_tasks installed

# 安装所有任务
python -m scripts.download_tasks install-all --repo vla-arena/tasks
```

### 🔧 自定义任务仓库

如果你想使用自己的任务仓库:

```bash
# 使用自定义 HuggingFace 仓库
vla-arena-download-tasks install-all --repo your-username/your-task-repo
```

### 📝 创建和分享自定义任务

你可以创建并分享自己的任务套件:

```bash
# 打包单个任务
vla-arena-manage-assets pack path/to/task.bddl --output ./packages

# 打包所有任务
python scripts/package_all_suites.py --output ./packages

# 上传到 HuggingFace Hub
vla-arena-manage-assets upload ./packages/my_task.vlap --repo your-username/your-repo
```

## 排行榜

### VLA模型在VLA-Arena基准测试上的性能评估
Expand Down
2 changes: 1 addition & 1 deletion docs/asset_management.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ python scripts/manage_assets.py upload <package_path> \

### Prerequisites
1. **HuggingFace Account**: Sign up at https://huggingface.co
2. **Create a Repository**:
2. **Create a Repository**:
- Go to https://huggingface.co/new-dataset
- Create a dataset repository (e.g., `username/vla-arena-tasks`)
3. **Get Access Token**:
Expand Down
33 changes: 26 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "vla-arena"
version = "0.1.0"
version = "1.0.0"
authors = [
{name = "Jiahao Li", email = "jiahaoli2077@gmail.com"},
{name = "Borong Zhang"},
Expand All @@ -14,6 +14,13 @@ description = "VLA-Arena: A Comprehensive Benchmark for Vision-Language-Action M
readme = "README.md"
license = {text = "Apache-2.0"}
requires-python = "==3.11"
keywords = ["Vision-Language-Action", "VLA Models", "Robotic Manipulation", "Benchmark"]
classifiers = [
"Programming Language :: Python :: 3.11",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Software Development :: Libraries :: Python Modules",
]

dependencies = [
"imageio[ffmpeg]",
Expand All @@ -38,6 +45,8 @@ dependencies = [
"vla-arena.eval" = "vla_arena.evaluate:main"
"vla-arena.config_copy" = "scripts.config_copy:main"
"vla-arena.create_template" = "scripts.create_template:main"
"vla-arena-download-tasks" = "scripts.download_tasks:main"
"vla-arena-manage-assets" = "scripts.manage_assets:main"

[project.optional-dependencies]
openvla = [
Expand Down Expand Up @@ -208,7 +217,7 @@ openpi = [
"polars>=1.30.0",
]

# Integrated Dev/Tool Dependencies from File B
# Integrated Dev/Tool Dependencies
lint = [
"isort >= 5.11.0",
"black >= 23.1.0",
Expand All @@ -226,11 +235,13 @@ lint = [
"pyenchant",
"pre-commit",
]

test = [
"pytest >= 7.0.0",
"pytest-cov >= 3.0.0",
"pytest-xdist >= 2.5.0",
]

docs = [
"sphinx >= 5.0.0",
"sphinx-autoapi",
Expand All @@ -240,16 +251,24 @@ docs = [
"myst-parser",
]

[tool.setuptools.packages.find]
where = ["."]
include = ["vla_arena*"]
exclude = []
[project.urls]
Homepage = "https://github.com/PKU-Alignment/VLA-Arena"
Repository = "https://github.com/PKU-Alignment/VLA-Arena"
Documentation = "https://github.com/PKU-Alignment/VLA-Arena/docs"
"Bug Report" = "https://github.com/PKU-Alignment/VLA-Arena/issues"

[tool.setuptools]
include-package-data = true
eager-resources = ["*"]

# --- Tool Configurations (Integrated from File B) ---
[tool.setuptools.packages.find]
where = ["."]
include = ["vla_arena", "vla_arena.*", "scripts"]

[tool.setuptools.dynamic]
version = {attr = "vla_arena.__version__"}

# Linter tools #################################################################

[tool.black]
line-length = 79
Expand Down
5 changes: 3 additions & 2 deletions pytest.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@ python_classes = Test*
python_functions = test_*
addopts =
-v
--strict-markers
--tb=short
--strict-markers
--disable-warnings
markers =
slow: marks tests as slow (deselect with '-m "not slow"')
integration: marks tests as integration tests
unit: marks tests as unit tests
filterwarnings =
error
ignore::Warning
ignore::DeprecationWarning
ignore::PendingDeprecationWarning
29 changes: 0 additions & 29 deletions requirements.txt

This file was deleted.

1 change: 1 addition & 0 deletions scripts/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Scripts package for VLA-Arena."""
Loading
Loading