Xuwznln e30c01d54e Dev backward (#228)
* Workbench example, adjust log level, and ci check (#220)

* TestLatency Return Value Example & gitignore update

* Adjust log level & Add workbench virtual example & Add not action decorator & Add check_mode &

* Add CI Check

* CI Check Fix 1

* CI Check Fix 2

* CI Check Fix 3

* CI Check Fix 4

* CI Check Fix 5

* Upgrade to py 3.11.14; ros 0.7; unilabos 0.10.16

* Update to ROS2 Humble 0.7

* Fix Build 1

* Fix Build 2

* Fix Build 3

* Fix Build 4

* Fix Build 5

* Fix Build 6

* Fix Build 7

* ci(deps): bump actions/configure-pages from 4 to 5 (#222)

Bumps [actions/configure-pages](https://github.com/actions/configure-pages) from 4 to 5.
- [Release notes](https://github.com/actions/configure-pages/releases)
- [Commits](https://github.com/actions/configure-pages/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/configure-pages
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci(deps): bump actions/upload-artifact from 4 to 6 (#224)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci(deps): bump actions/upload-pages-artifact from 3 to 4 (#225)

Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases)
- [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci(deps): bump actions/checkout from 4 to 6 (#223)

Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix Build 8

* Fix Build 9

* Fix Build 10

* Fix Build 11

* Fix Build 12

* Fix Build 13

* v0.10.17

(cherry picked from commit 176de521b4)

* CI Check use production mode

* Fix OT2 & ReAdd Virtual Devices

* add msg goal

* transfer liquid handles

* gather query

* add unilabos_class

* Support root node change pos

* save class name when deserialize & protocol execute test

* fix upload workflow json

* workflow upload & set liquid fix & add set liquid with plate

* speed up registry load

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hanhua@dp.tech <2509856570@qq.com>
2026-02-02 23:57:13 +08:00
2026-02-02 23:57:13 +08:00
2026-02-02 23:57:13 +08:00
2026-02-02 23:57:13 +08:00
2026-02-02 23:57:13 +08:00
2026-02-02 23:57:13 +08:00
2026-02-02 23:57:13 +08:00
2026-02-02 23:57:13 +08:00
2026-02-02 23:57:13 +08:00
2025-04-17 15:19:47 +08:00
2026-02-02 23:57:13 +08:00
2025-11-15 03:16:04 +08:00
2025-04-17 14:19:48 +08:00
2026-02-02 23:57:13 +08:00
2026-01-07 20:40:02 +08:00
2026-02-02 23:57:13 +08:00
2026-02-02 23:57:13 +08:00
2026-02-02 23:57:13 +08:00

Uni-Lab Logo

Uni-Lab-OS

English | 中文

GitHub Stars GitHub Forks GitHub Issues GitHub License

Uni-Lab-OS is a platform for laboratory automation, designed to connect and control various experimental equipment, enabling automation and standardization of experimental workflows.

Key Features

  • Multi-device integration management
  • Automated experimental workflows
  • Cloud connectivity capabilities
  • Flexible configuration system
  • Support for multiple experimental protocols

Documentation

Detailed documentation can be found at:

Quick Start

1. Setup Conda Environment

Uni-Lab-OS recommends using mamba for environment management. Choose the package that fits your needs:

Package Use Case Contents
unilabos Recommended for most users Complete package, ready to use
unilabos-env Developers (editable install) Environment only, install unilabos via pip
unilabos-full Simulation/Visualization unilabos + ROS2 Desktop + Gazebo + MoveIt
# Create new environment
mamba create -n unilab python=3.11.14
mamba activate unilab

# Option A: Standard installation (recommended for most users)
mamba install uni-lab::unilabos -c robostack-staging -c conda-forge

# Option B: For developers (editable mode development)
mamba install uni-lab::unilabos-env -c robostack-staging -c conda-forge
# Then install unilabos and dependencies:
git clone https://github.com/deepmodeling/Uni-Lab-OS.git && cd Uni-Lab-OS
pip install -e .
uv pip install -r unilabos/utils/requirements.txt

# Option C: Full installation (simulation/visualization)
mamba install uni-lab::unilabos-full -c robostack-staging -c conda-forge

When to use which?

  • unilabos: Standard installation for production deployment and general usage (recommended)
  • unilabos-env: For developers who need pip install -e . editable mode, modify source code
  • unilabos-full: For simulation (Gazebo), visualization (rviz2), and Jupyter notebooks

2. Clone Repository (Optional, for developers)

# Clone the repository (only needed for development or examples)
git clone https://github.com/deepmodeling/Uni-Lab-OS.git
cd Uni-Lab-OS
  1. Start Uni-Lab System

Please refer to Documentation - Boot Examples

  1. Best Practice

See Best Practice Guide

Message Format

Uni-Lab-OS uses pre-built unilabos_msgs for system communication. You can find the built versions on the GitHub Releases page.

Citation

If you use Uni-Lab-OS in academic research, please cite:

@article{gao2025unilabos,
    title = {UniLabOS: An AI-Native Operating System for Autonomous Laboratories},
    doi = {10.48550/arXiv.2512.21766},
    publisher = {arXiv},
    author = {Gao, Jing and Chang, Junhan and Que, Haohui and Xiong, Yanfei and
              Zhang, Shixiang and Qi, Xianwei and Liu, Zhen and Wang, Jun-Jie and
              Ding, Qianjun and Li, Xinyu and Pan, Ziwei and Xie, Qiming and
              Yan, Zhuang and Yan, Junchi and Zhang, Linfeng},
    year = {2025}
}

License

This project uses a dual licensing structure:

  • Main Framework: GPL-3.0 - see LICENSE
  • Device Drivers (unilabos/devices/): DP Technology Proprietary License

See NOTICE for complete licensing details.

Project Statistics

Stars Trend

Star History Chart

Contact Us

Description
No description provided
Readme GPL-3.0 109 MiB
Languages
Python 86%
Jupyter Notebook 10.7%
HTML 2.6%
Shell 0.2%
CSS 0.2%
Other 0.2%