diff --git a/.github/workflows/build_wheels.yaml b/.github/workflows/build_wheels.yaml new file mode 100644 index 0000000..592faf1 --- /dev/null +++ b/.github/workflows/build_wheels.yaml @@ -0,0 +1,48 @@ +name: Build and Publish Wheel + +on: + push: + branches: + - master + release: + types: + - published + +jobs: + build_wheel: + name: Build wheel + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + cache: "pip" + + - name: Build wheel + run: | + python -m pip install --upgrade pip build + python -m build --wheel + + - uses: actions/upload-artifact@v4 + with: + name: wheel + path: dist/*.whl + + upload_pypi: + needs: + - build_wheel + runs-on: ubuntu-latest + if: github.event_name == 'release' && github.event.action == 'published' + environment: pypi + permissions: + id-token: write + steps: + - uses: actions/download-artifact@v4 + with: + name: wheel + path: dist + + - uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/README.md b/README.md index aab3757..361b5a5 100644 --- a/README.md +++ b/README.md @@ -30,27 +30,18 @@ The setup is designed to stay reproducible across labs: tasks can be instantiate ## Installation -DuoBench builds on the Robot Control Stack (`rcs`) in the parent repository. A clean Python 3.11 environment is recommended. 🚀 - -### 1. Install RCS - -Make sure common build tools and a C++ compiler such as `gcc` or `clang` are available. - +### Installation from PyPI (recommended) ```shell -git clone https://github.com/RobotControlStack/robot-control-stack.git -cd robot-control-stack - -conda create -n rcs python=3.11 -conda activate rcs -conda install -c conda-forge urdfdom urdfdom_headers glfw - -pip install 'pip>=25.1' -pip install --group build_deps -pip install -ve . +pip install duobench ``` -### 2. Install DuoBench +### Installation from Source +This is recommended for developers that need to modify sources of either DuoBench or RCS. + +#### 1. Install RCS +Follow the install instructions from the [RCS Repo](https://github.com/RobotControlStack/robot-control-stack) (either from PyPI or from source). +#### 2. Install DuoBench ```shell git clone https://github.com/RobotControlStack/duobench.git cd duobench diff --git a/pyproject.toml b/pyproject.toml index 9131976..2b66206 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,8 +5,9 @@ build-backend = "setuptools.build_meta" [project] name = "duobench" version = "0.1.0" -description="RCS models module" +description="FR3 Duo Bimanual Manipulation Benchmark" dependencies = [ + "rcs-core>=0.7.2", "av>=17.0.1", "einops>=0.8.2", "scipy>=1.15.3", @@ -14,10 +15,10 @@ dependencies = [ ] readme = "README.md" maintainers = [ - { name = "Tobias Jülg", email = "tobias.juelg@utn.de" }, + { name = "Tobias Juelg", email = "tobias.juelg@utn.de" }, ] authors = [ - { name = "Tobias Jülg", email = "tobias.juelg@utn.de" }, + { name = "Tobias Juelg", email = "tobias.juelg@utn.de" }, ] requires-python = ">=3.11" license = { text = "Apache-2.0" }