Skip to content

Latest commit

 

History

History
53 lines (40 loc) · 1.51 KB

File metadata and controls

53 lines (40 loc) · 1.51 KB

Contributing to Connect Python

Thank you for contributing to connect-python! Please read the Contributor License Agreement (CLA) before submitting any contributions.

Development Setup

Prerequisites:

  • Python 3.13+, Go, protoc, uv

Setup:

git clone https://github.com/YOUR_USERNAME/connect-python.git
cd connect-python
uv sync

go build -o ./bin/protoc-gen-connect-python -v -x ./cmd/protoc-gen-connect-python

Development

Tests:

pytest                           # Unit tests

# Conformance tests
cd conformance
connectconformance -vv --trace --conf ./server_config.yaml --mode server -- uv run python server_runner.py
connectconformance -vv --trace --conf ./client_config.yaml --mode client -- uv run python client_runner.py

Code Quality:

make lint     # Run all checks
make format   # Format and fix

Code Generation:

# Regenerate examples
go build -o ./bin/protoc-gen-connect-python -v -x ./cmd/protoc-gen-connect-python && protoc --plugin=${PWD}/bin/protoc-gen-connect-python -I . --connect-python_out=. --connect-python_opt=paths=source_relative ./examples/proto/connectrpc/eliza/v1/eliza.proto

Contributions

Bug Reports:

  • Clear description and reproduction steps
  • Environment details and code examples

Pull Requests:

  • Create issue first for major changes
  • Write tests and update docs
  • Keep changes focused (one feature per PR)
  • Ensure CI passes