chore(python-deps): bump openai from 2.38.0 to 2.41.0 - #6047
Conversation
Bumps [openai](https://github.com/openai/openai-python) from 2.38.0 to 2.41.0. - [Release notes](https://github.com/openai/openai-python/releases) - [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md) - [Commits](openai/openai-python@v2.38.0...v2.41.0) --- updated-dependencies: - dependency-name: openai dependency-version: 2.41.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
|
✅ Constraint-dependencies updated Updated |
…enAI client (backport #6344) (#6365) Issue: #6343 ## What does this PR do? Fixes a regression in the `remote::passthrough` inference provider that breaks all requests (model listing, inference, background refresh) on openai >= 2.34.0. The passthrough provider hardcodes `api_key=""` when constructing its `AsyncOpenAI` client so that auth flows entirely through `default_headers`. This was valid when the project required `openai>=2.30.0`, but openai 2.34.0 added a constructor-level credentials enforcement check that raises `Missing credentials` when `api_key` is empty — before any headers are read or any request is made. The regression was introduced in v1.1.0 when [PR #6047](#6047) bumped the openai requirement from `>=2.30.0` to `>=2.41.0`, silently crossing the 2.34.0 boundary where enforcement was introduced. `_enforce_credentials=False` bypasses the constructor check without changing any auth behavior. It is available in all openai versions OGX currently requires (>=2.41.0). The bug was invisible in the test suite because all tests that exercise `_get_openai_client()` [mock `AsyncOpenAI` entirely](https://github.com/ogx-ai/ogx/blob/main/tests/unit/providers/inference/test_passthrough_forward_headers.py#L173), so the real SDK constructor — and its validation — never runs. **Impact without this fix:** - `GET /v1/models` returns `{"object":"list","data":[]}` — exception caught silently, logged only at DEBUG - `POST /v1/responses` returns HTTP 500 - Background model refresh fails silently — no models ever registered in the KV registry Verified against `quay.io/opendatahub/odh-ogx-core:latest` (openai 2.46.0). ## Test Plan Start OGX with a passthrough provider configured against any OpenAI-compatible endpoint: ```yaml providers: inference: - provider_id: anthropic-passthrough provider_type: remote::passthrough config: base_url: https://api.anthropic.com api_key: "<ANTHROPIC_API_KEY>" refresh_models: true registered_resources: models: - provider_id: anthropic-passthrough model_id: claude-haiku-4-5-20251001 provider_model_id: claude-haiku-4-5-20251001 model_type: llm ``` **Before fix — POST /v1/responses returns 500:** ```bash curl -s -X POST http://localhost:8323/v1/responses \ -H "Content-Type: application/json" \ -d '{"model":"anthropic-passthrough/claude-haiku-4-5-20251001","input":"Say hello","stream":false}' ``` Output: ``` {"detail":"An unexpected error occurred while generating the response."} HTTP 500 ``` Server log: ``` WARNING ogx.core.routing_tables.models:104 Model refresh failed error=Missing credentials. Please pass an `api_key`, `workload_identity`, `admin_api_key`, or set the `OPENAI_API_KEY` or `OPENAI_ADMIN_KEY` environment variable. ``` **After fix — POST /v1/responses returns 200:** ```bash curl -s -X POST http://localhost:8323/v1/responses \ -H "Content-Type: application/json" \ -d '{"model":"anthropic-passthrough/claude-haiku-4-5-20251001","input":"Say hello","stream":false}' ``` Output: ```json { "id": "resp_c0b3b7a8-476d-40c6-90bc-ae303378fa16", "object": "response", "model": "anthropic-passthrough/claude-haiku-4-5-20251001", "status": "completed", "output": [{"role": "assistant", "content": [{"type": "output_text", "text": "Hello!"}]}], "usage": {"input_tokens": 12, "output_tokens": 5, "total_tokens": 17} } ``` Additional details: [passthrough-debug.txt](https://github.com/user-attachments/files/30361254/passthrough-debug.txt) <hr>This is an automatic backport of pull request #6344 done by [Mergify](https://mergify.com). Signed-off-by: Nick Gagan <ngagan@redhat.com> Co-authored-by: Nick Gagan <40474241+NickGagan@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…enAI client (backport #6344) (#6364) Issue: #6343 ## What does this PR do? Fixes a regression in the `remote::passthrough` inference provider that breaks all requests (model listing, inference, background refresh) on openai >= 2.34.0. The passthrough provider hardcodes `api_key=""` when constructing its `AsyncOpenAI` client so that auth flows entirely through `default_headers`. This was valid when the project required `openai>=2.30.0`, but openai 2.34.0 added a constructor-level credentials enforcement check that raises `Missing credentials` when `api_key` is empty — before any headers are read or any request is made. The regression was introduced in v1.1.0 when [PR #6047](#6047) bumped the openai requirement from `>=2.30.0` to `>=2.41.0`, silently crossing the 2.34.0 boundary where enforcement was introduced. `_enforce_credentials=False` bypasses the constructor check without changing any auth behavior. It is available in all openai versions OGX currently requires (>=2.41.0). The bug was invisible in the test suite because all tests that exercise `_get_openai_client()` [mock `AsyncOpenAI` entirely](https://github.com/ogx-ai/ogx/blob/main/tests/unit/providers/inference/test_passthrough_forward_headers.py#L173), so the real SDK constructor — and its validation — never runs. **Impact without this fix:** - `GET /v1/models` returns `{"object":"list","data":[]}` — exception caught silently, logged only at DEBUG - `POST /v1/responses` returns HTTP 500 - Background model refresh fails silently — no models ever registered in the KV registry Verified against `quay.io/opendatahub/odh-ogx-core:latest` (openai 2.46.0). ## Test Plan Start OGX with a passthrough provider configured against any OpenAI-compatible endpoint: ```yaml providers: inference: - provider_id: anthropic-passthrough provider_type: remote::passthrough config: base_url: https://api.anthropic.com api_key: "<ANTHROPIC_API_KEY>" refresh_models: true registered_resources: models: - provider_id: anthropic-passthrough model_id: claude-haiku-4-5-20251001 provider_model_id: claude-haiku-4-5-20251001 model_type: llm ``` **Before fix — POST /v1/responses returns 500:** ```bash curl -s -X POST http://localhost:8323/v1/responses \ -H "Content-Type: application/json" \ -d '{"model":"anthropic-passthrough/claude-haiku-4-5-20251001","input":"Say hello","stream":false}' ``` Output: ``` {"detail":"An unexpected error occurred while generating the response."} HTTP 500 ``` Server log: ``` WARNING ogx.core.routing_tables.models:104 Model refresh failed error=Missing credentials. Please pass an `api_key`, `workload_identity`, `admin_api_key`, or set the `OPENAI_API_KEY` or `OPENAI_ADMIN_KEY` environment variable. ``` **After fix — POST /v1/responses returns 200:** ```bash curl -s -X POST http://localhost:8323/v1/responses \ -H "Content-Type: application/json" \ -d '{"model":"anthropic-passthrough/claude-haiku-4-5-20251001","input":"Say hello","stream":false}' ``` Output: ```json { "id": "resp_c0b3b7a8-476d-40c6-90bc-ae303378fa16", "object": "response", "model": "anthropic-passthrough/claude-haiku-4-5-20251001", "status": "completed", "output": [{"role": "assistant", "content": [{"type": "output_text", "text": "Hello!"}]}], "usage": {"input_tokens": 12, "output_tokens": 5, "total_tokens": 17} } ``` Additional details: [passthrough-debug.txt](https://github.com/user-attachments/files/30361254/passthrough-debug.txt) <hr>This is an automatic backport of pull request #6344 done by [Mergify](https://mergify.com). Signed-off-by: Nick Gagan <ngagan@redhat.com> Co-authored-by: Nick Gagan <40474241+NickGagan@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…enAI client (ogx-ai#6344) Issue: ogx-ai#6343 ## What does this PR do? Fixes a regression in the `remote::passthrough` inference provider that breaks all requests (model listing, inference, background refresh) on openai >= 2.34.0. The passthrough provider hardcodes `api_key=""` when constructing its `AsyncOpenAI` client so that auth flows entirely through `default_headers`. This was valid when the project required `openai>=2.30.0`, but openai 2.34.0 added a constructor-level credentials enforcement check that raises `Missing credentials` when `api_key` is empty — before any headers are read or any request is made. The regression was introduced in v1.1.0 when [PR ogx-ai#6047](ogx-ai#6047) bumped the openai requirement from `>=2.30.0` to `>=2.41.0`, silently crossing the 2.34.0 boundary where enforcement was introduced. `_enforce_credentials=False` bypasses the constructor check without changing any auth behavior. It is available in all openai versions OGX currently requires (>=2.41.0). The bug was invisible in the test suite because all tests that exercise `_get_openai_client()` [mock `AsyncOpenAI` entirely](https://github.com/ogx-ai/ogx/blob/main/tests/unit/providers/inference/test_passthrough_forward_headers.py#L173), so the real SDK constructor — and its validation — never runs. **Impact without this fix:** - `GET /v1/models` returns `{"object":"list","data":[]}` — exception caught silently, logged only at DEBUG - `POST /v1/responses` returns HTTP 500 - Background model refresh fails silently — no models ever registered in the KV registry Verified against `quay.io/opendatahub/odh-ogx-core:latest` (openai 2.46.0). ## Test Plan Start OGX with a passthrough provider configured against any OpenAI-compatible endpoint: ```yaml providers: inference: - provider_id: anthropic-passthrough provider_type: remote::passthrough config: base_url: https://api.anthropic.com api_key: "<ANTHROPIC_API_KEY>" refresh_models: true registered_resources: models: - provider_id: anthropic-passthrough model_id: claude-haiku-4-5-20251001 provider_model_id: claude-haiku-4-5-20251001 model_type: llm ``` **Before fix — POST /v1/responses returns 500:** ```bash curl -s -X POST http://localhost:8323/v1/responses \ -H "Content-Type: application/json" \ -d '{"model":"anthropic-passthrough/claude-haiku-4-5-20251001","input":"Say hello","stream":false}' ``` Output: ``` {"detail":"An unexpected error occurred while generating the response."} HTTP 500 ``` Server log: ``` WARNING ogx.core.routing_tables.models:104 Model refresh failed error=Missing credentials. Please pass an `api_key`, `workload_identity`, `admin_api_key`, or set the `OPENAI_API_KEY` or `OPENAI_ADMIN_KEY` environment variable. ``` **After fix — POST /v1/responses returns 200:** ```bash curl -s -X POST http://localhost:8323/v1/responses \ -H "Content-Type: application/json" \ -d '{"model":"anthropic-passthrough/claude-haiku-4-5-20251001","input":"Say hello","stream":false}' ``` Output: ```json { "id": "resp_c0b3b7a8-476d-40c6-90bc-ae303378fa16", "object": "response", "model": "anthropic-passthrough/claude-haiku-4-5-20251001", "status": "completed", "output": [{"role": "assistant", "content": [{"type": "output_text", "text": "Hello!"}]}], "usage": {"input_tokens": 12, "output_tokens": 5, "total_tokens": 17} } ``` Additional details: [passthrough-debug.txt](https://github.com/user-attachments/files/30361254/passthrough-debug.txt) Signed-off-by: Nick Gagan <ngagan@redhat.com> Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Bumps openai from 2.38.0 to 2.41.0.
Release notes
Sourced from openai's releases.
Changelog
Sourced from openai's changelog.
Commits
2d955a1Merge pull request #3359 from openai/release-please--branches--main--changes-...519cd02release: 2.41.087e46c2feat(api): responses.moderation and chat_completions.moderationa28a3f6Merge pull request #3352 from openai/release-please--branches--main--changes-...db6ccafUpdate CHANGELOG.md2264f70release: 2.40.04d5bfdefix(api): allow setting bedrock api keys on the client directlyccef143Merge pull request #3326 from openai/codex/bedrock-responses-reviewa50ff0aFix Bedrock with_options overridesfdf4901codegen metadataDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)