Skip to content

Commit e04582c

Browse files
authored
all update docs (#104)
1 parent b934841 commit e04582c

52 files changed

Lines changed: 3091 additions & 2073 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

cmd/protoc-gen-connect-python/generator/generator.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ func (g *Generator) generate(gen *protogen.GeneratedFile, f *protogen.File) {
180180
p.P(`from connect import (`)
181181
p.P(` Client,`)
182182
p.P(` ClientOptions,`)
183-
p.P(` ConnectOptions,`)
183+
p.P(` HandlerOptions,`)
184184
p.P(` Handler,`)
185185
p.P(` HandlerContext,`)
186186
p.P(` IdempotencyLevel,`)
@@ -307,7 +307,7 @@ func (g *Generator) generate(gen *protogen.GeneratedFile, f *protogen.File) {
307307
}
308308
p.P()
309309
p.P()
310-
p.P(`def create_`, upperSvcName, `_handlers`, `(`, `service: `, handler, `, options: ConnectOptions | None = None`, `) -> list[Handler]:`)
310+
p.P(`def create_`, upperSvcName, `_handlers`, `(`, `service: `, handler, `, options: HandlerOptions | None = None`, `) -> list[Handler]:`)
311311
p.P(` handlers = [`)
312312
for _, meth := range sortedMap(p.services) {
313313
svc := p.services[meth]
@@ -339,7 +339,7 @@ func (g *Generator) generate(gen *protogen.GeneratedFile, f *protogen.File) {
339339
p.P(` output=`, svc.output.method, `,`)
340340
if options := meth.Options; options != nil {
341341
if desc, ok := options.(*descriptorpb.MethodOptions); ok && desc.GetIdempotencyLevel() != descriptorpb.MethodOptions_IDEMPOTENCY_UNKNOWN {
342-
p.P(` options=ConnectOptions(idempotency_level=IdempotencyLevel.`, desc.GetIdempotencyLevel().String(), `).merge(options),`)
342+
p.P(` options=HandlerOptions(idempotency_level=IdempotencyLevel.`, desc.GetIdempotencyLevel().String(), `).merge(options),`)
343343
} else {
344344
p.P(` options=options,`)
345345
}

cmd/protoc-gen-connect-python/generator/package.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
// p.P()
1010
// p.P(`from connect.connect import UnaryRequest, UnaryResponse`)
1111
// p.P(`from connect.handler import UnaryHandler`)
12-
// p.P(`from connect.options import ConnectOptions`)
12+
// p.P(`from connect.options import HandlerOptions`)
1313
// p.P(`from google.protobuf.descriptor import MethodDescriptor, ServiceDescriptor`)
1414

1515
// PythonIdent is a Python identifier, consisting of a name and import path.

conformance/gen/connectrpc/conformance/v1/conformancev1connect/service_connect.py

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,43 @@
11
# Generated by the protoc-gen-connect-python. DO NOT EDIT!
22
# source: connectrpc/conformance/v1/conformancev1connect/service.proto
33
# Protobuf Python Version: (unknown)
4-
# protoc-gen-connect-python version: v0.0.0-20250225131640-797060f503da+dirty
4+
# protoc-gen-connect-python version: v0.0.0-20250710124620-c0c8871def6b+dirty
55
"""Generated connect code."""
66

7+
import abc
78
from enum import Enum
89

9-
from connect.client import Client
10-
import connect.connect
11-
from connect.handler import ClientStreamHandler, Handler, ServerStreamHandler, UnaryHandler, BidiStreamHandler
12-
from connect.handler_context import HandlerContext
13-
from connect.options import ClientOptions, ConnectOptions
10+
from connect import (
11+
Client,
12+
ClientOptions,
13+
HandlerOptions,
14+
Handler,
15+
HandlerContext,
16+
IdempotencyLevel,
17+
StreamRequest,
18+
StreamResponse,
19+
)
20+
from connect import UnaryRequest as ConnectUnaryRequest
21+
from connect import UnaryResponse as ConnectUnaryResponse
1422
from connect.connection_pool import AsyncConnectionPool
23+
from connect.handler import BidiStreamHandler, ClientStreamHandler, ServerStreamHandler, UnaryHandler
1524
from google.protobuf.descriptor import MethodDescriptor, ServiceDescriptor
16-
from connect.idempotency_level import IdempotencyLevel
1725

1826
from .. import service_pb2
19-
from ..service_pb2 import UnaryRequest, UnaryResponse, ServerStreamRequest, ServerStreamResponse, ClientStreamRequest, ClientStreamResponse, BidiStreamRequest, BidiStreamResponse, UnimplementedRequest, UnimplementedResponse, IdempotentUnaryRequest, IdempotentUnaryResponse
27+
from ..service_pb2 import (
28+
UnaryRequest,
29+
UnaryResponse,
30+
ServerStreamRequest,
31+
ServerStreamResponse,
32+
ClientStreamRequest,
33+
ClientStreamResponse,
34+
BidiStreamRequest,
35+
BidiStreamResponse,
36+
UnimplementedRequest,
37+
UnimplementedResponse,
38+
IdempotentUnaryRequest,
39+
IdempotentUnaryResponse,
40+
)
2041

2142

2243
class ConformanceServiceProcedures(Enum):
@@ -60,33 +81,33 @@ def __init__(self, base_url: str, pool: AsyncConnectionPool, options: ClientOpti
6081
pool, base_url + ConformanceServiceProcedures.Unimplemented.value, UnimplementedRequest, UnimplementedResponse, options
6182
).call_unary
6283
self.IdempotentUnary = Client[IdempotentUnaryRequest, IdempotentUnaryResponse](
63-
pool, base_url + ConformanceServiceProcedures.IdempotentUnary.value, IdempotentUnaryRequest, IdempotentUnaryResponse, ClientOptions(idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, enable_get=True).merge(options),
84+
pool, base_url + ConformanceServiceProcedures.IdempotentUnary.value, IdempotentUnaryRequest, IdempotentUnaryResponse, ClientOptions(idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS, enable_get=True).merge(options)
6485
).call_unary
6586

6687

67-
class ConformanceServiceHandler:
88+
class ConformanceServiceHandler(metaclass=abc.ABCMeta):
6889
"""Handler for the conformanceService service."""
6990

70-
async def Unary(self, request: connect.connect.UnaryRequest[UnaryRequest], context: HandlerContext) -> connect.connect.UnaryResponse[UnaryResponse]:
91+
async def Unary(self, request: ConnectUnaryRequest[UnaryRequest], context: HandlerContext) -> ConnectUnaryResponse[UnaryResponse]:
7192
raise NotImplementedError()
7293

73-
async def ServerStream(self, request: connect.connect.StreamRequest[ServerStreamRequest], context: HandlerContext) -> connect.connect.StreamResponse[ServerStreamResponse]:
94+
async def ServerStream(self, request: StreamRequest[ServerStreamRequest], context: HandlerContext) -> StreamResponse[ServerStreamResponse]:
7495
raise NotImplementedError()
7596

76-
async def ClientStream(self, request: connect.connect.StreamRequest[ClientStreamRequest], context: HandlerContext) -> connect.connect.StreamResponse[ClientStreamResponse]:
97+
async def ClientStream(self, request: StreamRequest[ClientStreamRequest], context: HandlerContext) -> StreamResponse[ClientStreamResponse]:
7798
raise NotImplementedError()
7899

79-
async def BidiStream(self, request: connect.connect.StreamRequest[BidiStreamRequest], context: HandlerContext) -> connect.connect.StreamResponse[BidiStreamResponse]:
100+
async def BidiStream(self, request: StreamRequest[BidiStreamRequest], context: HandlerContext) -> StreamResponse[BidiStreamResponse]:
80101
raise NotImplementedError()
81102

82-
async def Unimplemented(self, request: connect.connect.UnaryRequest[UnimplementedRequest], context: HandlerContext) -> connect.connect.UnaryResponse[UnimplementedResponse]:
103+
async def Unimplemented(self, request: ConnectUnaryRequest[UnimplementedRequest], context: HandlerContext) -> ConnectUnaryResponse[UnimplementedResponse]:
83104
raise NotImplementedError()
84105

85-
async def IdempotentUnary(self, request: connect.connect.UnaryRequest[IdempotentUnaryRequest], context: HandlerContext) -> connect.connect.UnaryResponse[IdempotentUnaryResponse]:
106+
async def IdempotentUnary(self, request: ConnectUnaryRequest[IdempotentUnaryRequest], context: HandlerContext) -> ConnectUnaryResponse[IdempotentUnaryResponse]:
86107
raise NotImplementedError()
87108

88109

89-
def create_ConformanceService_handlers(service: ConformanceServiceHandler, options: ConnectOptions | None = None) -> list[Handler]:
110+
def create_ConformanceService_handlers(service: ConformanceServiceHandler, options: HandlerOptions | None = None) -> list[Handler]:
90111
handlers = [
91112
UnaryHandler(
92113
procedure=ConformanceServiceProcedures.Unary.value,
@@ -128,7 +149,7 @@ def create_ConformanceService_handlers(service: ConformanceServiceHandler, optio
128149
unary=service.IdempotentUnary,
129150
input=IdempotentUnaryRequest,
130151
output=IdempotentUnaryResponse,
131-
options=ConnectOptions(idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS).merge(options),
152+
options=HandlerOptions(idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS).merge(options),
132153
),
133154
]
134155
return handlers

examples/proto/connectrpc/eliza/v1/v1connect/eliza_connect.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Generated by the protoc-gen-connect-python. DO NOT EDIT!
22
# source: examples/proto/connectrpc/eliza/v1/v1connect/eliza.proto
33
# Protobuf Python Version: v5.29.3
4-
# protoc-gen-connect-python version: v0.0.0-20250708090951-d93686e5039f
4+
# protoc-gen-connect-python version: v0.0.0-20250710124620-c0c8871def6b+dirty
55
"""Generated connect code."""
66

77
import abc
@@ -10,7 +10,7 @@
1010
from connect import (
1111
Client,
1212
ClientOptions,
13-
ConnectOptions,
13+
HandlerOptions,
1414
Handler,
1515
HandlerContext,
1616
IdempotencyLevel,
@@ -87,14 +87,14 @@ async def Reflect(self, request: StreamRequest[ReflectRequest], context: Handler
8787
raise NotImplementedError()
8888

8989

90-
def create_ElizaService_handlers(service: ElizaServiceHandler, options: ConnectOptions | None = None) -> list[Handler]:
90+
def create_ElizaService_handlers(service: ElizaServiceHandler, options: HandlerOptions | None = None) -> list[Handler]:
9191
handlers = [
9292
UnaryHandler(
9393
procedure=ElizaServiceProcedures.Say.value,
9494
unary=service.Say,
9595
input=SayRequest,
9696
output=SayResponse,
97-
options=ConnectOptions(idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS).merge(options),
97+
options=HandlerOptions(idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS).merge(options),
9898
),
9999
BidiStreamHandler(
100100
procedure=ElizaServiceProcedures.Converse.value,

examples/proto/connectrpc/eliza/v1/v1connect/eliza_connect_pb2.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
from connect import (
1111
Client,
1212
ClientOptions,
13-
ConnectOptions,
1413
Handler,
1514
HandlerContext,
15+
HandlerOptions,
1616
IdempotencyLevel,
1717
StreamRequest,
1818
StreamResponse,
@@ -93,14 +93,14 @@ async def Reflect(
9393
raise NotImplementedError()
9494

9595

96-
def create_ElizaService_handlers(service: ElizaServiceHandler, options: ConnectOptions | None = None) -> list[Handler]:
96+
def create_ElizaService_handlers(service: ElizaServiceHandler, options: HandlerOptions | None = None) -> list[Handler]:
9797
handlers = [
9898
UnaryHandler(
9999
procedure=ElizaServiceProcedures.Say.value,
100100
unary=service.Say,
101101
input=SayRequest,
102102
output=SayResponse,
103-
options=ConnectOptions(idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS).merge(options),
103+
options=HandlerOptions(idempotency_level=IdempotencyLevel.NO_SIDE_EFFECTS).merge(options),
104104
),
105105
BidiStreamHandler(
106106
procedure=ElizaServiceProcedures.Converse.value,

src/connect/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from connect.headers import Headers
2424
from connect.idempotency_level import IdempotencyLevel
2525
from connect.middleware import ConnectMiddleware
26-
from connect.options import ClientOptions, ConnectOptions
26+
from connect.options import ClientOptions, HandlerOptions
2727
from connect.protocol import Protocol
2828
from connect.request import Request
2929
from connect.response import Response as HTTPResponse
@@ -43,7 +43,7 @@
4343
"Compression",
4444
"ConnectError",
4545
"ConnectMiddleware",
46-
"ConnectOptions",
46+
"HandlerOptions",
4747
"GZipCompression",
4848
"Handler",
4949
"HandlerContext",

src/connect/call_options.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
1-
"""Options and configuration for making calls, including timeout and abort event support."""
1+
"""Call options configuration models."""
22

33
import asyncio
44

55
from pydantic import BaseModel, ConfigDict, Field
66

77

88
class CallOptions(BaseModel):
9-
"""Options for configuring a call, such as timeout and abort event."""
9+
"""Options for configuring a call.
10+
11+
Attributes:
12+
timeout (float | None): Timeout for the call in seconds. If None, no timeout is applied.
13+
abort_event (asyncio.Event | None): Event to abort the call. If set, the call can be cancelled by setting this event.
14+
"""
1015

1116
model_config = ConfigDict(arbitrary_types_allowed=True)
1217

0 commit comments

Comments
 (0)