Skip to content

deepmodeling/Uni-Lab-OS

Repository files navigation

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