Thank you for contributing to connect-python! Please read the Contributor License Agreement (CLA) before submitting any contributions.
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-pythonTests:
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.pyCode Quality:
make lint # Run all checks
make format # Format and fixCode 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.protoBug 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