This repository contains sample code and contributions for enhancing serialization in Dubbo Python using Pydantic with JSON and Protobuf support. The goal is to improve data validation, performance, and ease of use for serialization in Dubbo Python RPC.
Dubbo Python currently requires users to implement custom serialization methods. This project aims to:
- Standardize serialization by providing built-in support for JSON and Protobuf.
- Improve data validation using Pydantic schemas.
- Enhance performance by optimizing serialization mechanisms.
- Simplify configuration for developers using Dubbo Python.
import json
def serialize(data):
return json.dumps(data)
def deserialize(data):
return json.loads(data)from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
def serialize(data: User):
return data.json()
def deserialize(data):
return User.parse_raw(data)- Automatic data validation with Pydantic.
- Standardized serialization format for JSON and Protobuf.
- Performance improvements through optimized serialization logic.
This repository contains:
- Sample Pydantic-based serialization module.
- Unit tests for serialization and deserialization.
- Performance benchmarks comparing old vs. new serialization.
- Documentation on how to integrate serialization into Dubbo Python.
- Clone this repository:
git clone https://github.com/YOUR_GITHUB_USERNAME/dubbo-python-serialization.git cd dubbo-python-serialization - Install dependencies:
pip install pydantic protobuf
- Run the sample serialization script:
python serialize_example.py
- Run unit tests:
pytest tests/
This project follows the Apache 2.0 License.
This repository is part of my Google Summer of Code 2025 application for contributing to the Dubbo Python project by implementing an enhanced serialization system. 🚀