Skip to content

Commit 950a551

Browse files
xumapleclaude
andcommitted
Fix CI lint/test for conflicting dependency groups
The langsmith-tracing group conflicts with both langchain and openai-agents (temporalio>=1.26 requires openai-agents>=0.14, langchain pins langsmith<0.2). Split poe lint-types and poe test into two invocations using --no-group to exclude the conflicting groups, so each run resolves cleanly. Also add inline comment on max_retries=0 explaining Temporal handles retries. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 5d7612f commit 950a551

3 files changed

Lines changed: 13 additions & 2 deletions

File tree

langsmith_tracing/basic/activities.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ async def call_openai(request: OpenAIRequest) -> str:
2121
"""Call OpenAI Responses API. Retries handled by Temporal, not the OpenAI client."""
2222
# wrap_openai patches the client so each API call (e.g. responses.create)
2323
# creates its own child span with model parameters and token usage.
24+
# max_retries=0 disables OpenAI's built-in retries — Temporal's activity
25+
# retry policy handles retries instead, with full visibility in the UI.
2426
client = wrap_openai(AsyncOpenAI(max_retries=0))
2527
response = await client.responses.create(
2628
model=request.model,

langsmith_tracing/chatbot/activities.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ async def call_openai(request: OpenAIRequest) -> Response:
2929
"""Call OpenAI Responses API. Retries handled by Temporal, not the OpenAI client."""
3030
# wrap_openai patches the client so each API call (e.g. responses.create)
3131
# creates its own child span with model parameters and token usage.
32+
# max_retries=0 disables OpenAI's built-in retries — Temporal's activity
33+
# retry policy handles retries instead, with full visibility in the UI.
3234
client = wrap_openai(AsyncOpenAI(max_retries=0))
3335
response_args: dict[str, Any] = {
3436
"model": request.model,

pyproject.toml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,15 @@ lint = [
123123
{ cmd = "uv run ruff format --check" },
124124
{ ref = "lint-types" },
125125
]
126-
lint-types = "uv run --all-groups mypy --check-untyped-defs --namespace-packages ."
127-
test = "uv run --all-groups pytest"
126+
# Run twice to cover the conflicting langsmith-tracing vs langchain/openai-agents groups
127+
lint-types = [
128+
{ cmd = "uv run --all-groups --no-group=langsmith-tracing mypy --check-untyped-defs --namespace-packages ." },
129+
{ cmd = "uv run --all-groups --no-group=langchain --no-group=openai-agents mypy --check-untyped-defs --namespace-packages ." },
130+
]
131+
test = [
132+
{ cmd = "uv run --all-groups --no-group=langsmith-tracing pytest" },
133+
{ cmd = "uv run --all-groups --no-group=langchain --no-group=openai-agents pytest" },
134+
]
128135

129136
[tool.pytest.ini_options]
130137
asyncio_mode = "auto"

0 commit comments

Comments
 (0)