-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
buildBuild system or dependency changesBuild system or dependency changescicdCI/CD pipeline changesCI/CD pipeline changesdocumentationIndicates that a PR includes changes to documentationIndicates that a PR includes changes to documentationfeatureNew feature or capabilityNew feature or capability
Milestone
Description
Summary
Implement Wool's wire protocol — protobuf schema definitions, generated Python bindings, and wrapper modules — as the wool-protocol namespace package.
The package provides:
- Protobuf schemas (
task.proto,worker.proto) defining the gRPCWorkerservice, task dispatch messages (Task,Result,Exception,TaskVersionEnvelope), and response streaming protocol (Ack,Nack,Response) - Generated Python code (
*_pb2.py,*_pb2.pyi,*_pb2_grpc.py) with type stubs - Wrapper modules (
task.py,worker.py) providing a clean public API with error handling and a service registry - CI/CD workflows for testing (pyright + pytest across Python 3.11–3.13), releasing (cut-release, publish-release), and repo hygiene (PR validation, labeling, branch sync)
Motivation
Publishing the wire protocol as its own package allows it to be versioned and released independently from the main Wool runtime. Consumers of the protocol (e.g., non-Python workers, third-party integrations) can depend on wool-protocol without pulling in the full Wool framework and its runtime dependencies.
Affected code
wool-protocol/proto/—task.proto,worker.protowool-protocol/src/wool/protocol/— wrapper modules and public APIwool-protocol/pyproject.toml— package configuration and build hooks.github/workflows/— 7 workflow files for thewool-protocolnamespace.github/actions/— 6 composite actions.github/scripts/— shell scripts for versioning, publishing, and setup
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
buildBuild system or dependency changesBuild system or dependency changescicdCI/CD pipeline changesCI/CD pipeline changesdocumentationIndicates that a PR includes changes to documentationIndicates that a PR includes changes to documentationfeatureNew feature or capabilityNew feature or capability