# MsgCenterPy
[](https://badge.fury.io/py/msgcenterpy)
[](https://pypi.org/project/msgcenterpy/)
[](https://pypi.org/project/msgcenterpy/)
[](https://github.com/ZGCA-Forge/MsgCenterPy/actions)
[](https://zgca-forge.github.io/MsgCenterPy/)
[](https://github.com/ZGCA-Forge/MsgCenterPy)
[](https://github.com/ZGCA-Forge/MsgCenterPy/fork)
[](https://github.com/ZGCA-Forge/MsgCenterPy/issues)
[](https://github.com/ZGCA-Forge/MsgCenterPy/blob/main/LICENSE)
---
MsgCenterPy is a multi-format message conversion system based on a unified instance manager architecture, supporting seamless conversion between **ROS2**, **Pydantic**, **Dataclass**, **JSON**, **Dict**, **YAML**, and **JSON Schema**.
### Supported Formats
| Format | Read | Write | JSON Schema | Type Constraints |
| ----------- | ---- | ----- | ----------- | ---------------- |
| ROS2 | ✅ | ✅ | ✅ | ✅ |
| JSON Schema | ✅ | ✅ | ✅ | ✅ |
| Pydantic | 🚧 | 🚧 | 🚧 | 🚧 |
| Dataclass | 🚧 | 🚧 | 🚧 | 🚧 |
| JSON | 🚧 | 🚧 | 🚧 | 🚧 |
| Dict | 🚧 | 🚧 | 🚧 | 🚧 |
| YAML | 🚧 | 🚧 | 🚧 | 🚧 |
## Installation
### Basic Installation
```bash
pip install msgcenterpy
```
### With Optional Dependencies
```bash
# Install ROS2 support
conda install ros-humble-ros-core ros-humble-std-msgs ros-humble-geometry-msgs -c robostack-staging
```
### From Source
```bash
git clone https://github.com/ZGCA-Forge/MsgCenterPy.git
cd MsgCenterPy
pip install -e .[dev]
```
## Quick Start
Please visit: [https://zgca-forge.github.io/MsgCenterPy/](https://zgca-forge.github.io/MsgCenterPy/)
## Development
### Quick Development Setup
For **Linux/macOS**:
```bash
git clone https://github.com/ZGCA-Forge/MsgCenterPy.git
cd MsgCenterPy
./scripts/setup-dev.sh
```
For **Windows**:
```powershell
git clone https://github.com/ZGCA-Forge/MsgCenterPy.git
cd MsgCenterPy
.\scripts\setup-dev.ps1
```
### Manual Development Setup
```bash
git clone https://github.com/ZGCA-Forge/MsgCenterPy.git
cd MsgCenterPy
pip install -e .[dev]
pre-commit install
```
For API documentation, please refer to Quick Start
## Star History
[](https://star-history.com/#ZGCA-Forge/MsgCenterPy&Date)
## License
This project is licensed under Apache-2.0 License - see the [LICENSE](LICENSE) file for details.
---
Made with ❤️ by the MsgCenterPy Team