mirror of
https://github.com/deepmodeling/Uni-Lab-OS
synced 2026-04-20 09:52:41 +00:00
ccbf5378dd933ce66c8146ab25467a1d7deb097d
update aksk desc print res query logs Fix skills exec error with action type Update Skills Update Skills addr Change uni-lab. to leap-lab. Support unit in pylabrobot Support async func. change to leap-lab backend. Support feedback interval. Reduce cocurrent lags. fix create_resource_with_slot update unilabos_formulation & batch-submit-exp scale multi exec thread up to 48 update handle creation api fit cocurrent gap add running status debounce allow non @topic_config support update skill add placeholder keys always free 提交实验技能 disable samples correct sample demo ret value 新增试剂reagent update registry 新增manual_confirm add workstation creation skill add virtual_sample_demo 样品追踪测试设备 add external devices param fix registry upload missing type fast registry load minor fix on skill & registry stripe ros2 schema desc add create-device-skill new registry system backwards to yaml remove not exist resource new registry sys exp. support with add device correct raise create resource error ret info fix revert ret info fix fix prcxi check add create_resource schema re signal host ready event add websocket connection timeout and improve reconnection logic add open_timeout parameter to websocket connection add TimeoutError and InvalidStatus exception handling implement exponential backoff for reconnection attempts simplify reconnection logic flow
Uni-Lab-OS
English | 中文
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
- Start Uni-Lab System
Please refer to Documentation - Boot Examples
- Best Practice
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
Contact Us
- GitHub Issues: https://github.com/deepmodeling/Uni-Lab-OS/issues
Languages
Python
86.8%
Jupyter Notebook
10.1%
HTML
2.4%
Shell
0.2%
CSS
0.2%
Other
0.2%
