Skip to content

Conversation

johanste
Copy link
Owner

  • I understand that this repository is auto-generated and my pull request may not be merged

Changes being requested

Provide callable to allow refresh of the bearer token. The callable must support IO calls being made and thus has to be async in an asynchronous context.

Additional context & links

stainless-app bot and others added 30 commits June 20, 2025 11:44
* feat(api): make model and inputs not required to create response

* release: 1.90.0

---------

Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
* feat(api): update api shapes for usage and code interpreter

* release: 1.91.0

---------

Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
* chore(tests): skip some failing tests on the latest python versions

* chore(internal): add tests for breaking change detection

* move over parse and stream methods out of beta

* update docs

* update tests

* remove old beta files

* fix relative import

* fix(ci): release-doctor — report correct token name

* feat(api): webhook and deep research support

* release: 1.92.0

---------

Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
Co-authored-by: David Meadows <[email protected]>
* chore(api): remove unsupported property

* release: 1.92.2

---------

Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>

@override
def _prepare_options(self, options: FinalRequestOptions) -> FinalRequestOptions:
self.refresh_auth_headers()
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not great to. have to remember to call refresh_auth_headers before accessing them. But since the current implementation is a (sync) property, we have to somehow allow for async refresh.

We could do the refresh in the sync context, but I believe that the asymmetry between sync and async is worse than splitting it apart for both sync and async clients....

return Querystring(array_format="brackets")

def refresh_auth_headers(self):
bearer_token = self.bearer_token_provider() if self.bearer_token_provider else self.api_key
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have context for the change, but it looks like if the api_key or token is an empty string, they've updated the code to not send the header: https://github.com/openai/openai-python/blob/main/src/openai/_client.py#L286

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants