Metadata-Version: 2.4
Name: orca-xpbd
Version: 26.8.2
Summary: Packaged OrcaXPBD dual_gripper_rect binary
Author: Orca
License: Proprietary
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# orca-xpbd Release Scripts

This release flow packages one XPBD binary:

```text
Source: XPBD/Orca/XPBD-Patch/src_dual_gripper_rect/main.c
Target: XPBD/build/dual_gripper_rect
Wheel:  orca-xpbd
CLI:    orcaxpbd
```

## Layout

```text
Orca/pyproject.toml
Orca/setup.py
Orca/Scripts/xpbd_targets.conf
Orca/Scripts/configure_cpp.sh
Orca/Scripts/build_cpp.sh
Orca/Scripts/build_package.sh
Orca/Scripts/orcaxpbd_client/
Orca/Scripts/release/
```

## Build Locally

From the XPBD repository root:

```bash
bash Orca/Scripts/release/build.sh
```

The script performs:

```text
1. Generate/verify gRPC protobuf files
2. Run bash build.sh --release dual_gripper_rect
3. Copy build/dual_gripper_rect into Scripts/orcaxpbd_client/bin/
4. Copy required runtime data into Scripts/orcaxpbd_client/data/
5. Build a platform wheel under Orca/dist/
6. Copy the wheel to Orca/dist-test/
```

## Test Install

```bash
bash Orca/Scripts/release/test_install.sh local
```

After install:

```bash
orcaxpbd list
orcaxpbd path dual_gripper_rect
orcaxpbd run dual_gripper_rect
```

`orcaxpbd run` executes the binary with the package directory as the working directory so the binary can resolve:

```text
./data/cube.obj
./data/gripper_palm.obj
./data/gripper_finger.obj
```

## Upload

TestPyPI:

```bash
bash Orca/Scripts/release/release.sh test
```

PyPI:

```bash
bash Orca/Scripts/release/release.sh prod
```

## Version

```bash
bash Orca/Scripts/release/bump_version.sh 0.1.1
```

This updates:

```text
Orca/pyproject.toml
Orca/Scripts/orcaxpbd_client/__init__.py
```

## Extending Later

This flow intentionally supports only `dual_gripper_rect`. To publish more XPBD binaries later, extend:

```text
Orca/Scripts/xpbd_targets.conf
Orca/Scripts/build_cpp.sh
Orca/Scripts/build_package.sh
Orca/Scripts/orcaxpbd_client/__init__.py
```
