build(deps): bump openai from 2.44.0 to 3.20.0 #129

Open
dependabot[bot] wants to merge 1 commits from dependabot/pip/main/openai-3.20.0 into main
pull from: dependabot/pip/main/openai-3.20.0
dependabot[bot] commented 2026-10-02 01:13:49 +00:00 (Migrated from github.com)

Bumps openai from 2.44.0 to 3.20.0.

Release notes

Sourced from openai's releases.

v3.20.0

3.20.0 (2026-09-28)

Features

  • api: add Agents credential and session options (#3967) (bb68198)
  • api: add Cyber access programs to Responses (#3956) (09c5b6f)
  • responses: opt in to incremental WebSocket text and tool snapshots (#3973) (d0207b4)
  • responses: preserve detailed WebSocket accumulator snapshots (#3981) (a380cf2)

Bug Fixes

  • client: retry unmapped TLS transport errors (#3982) (0d35a26)
  • live: avoid hangs at fractional transcript grouping deadlines (#3970) (4ef4129)
  • live: keep query parameters out of WebSocket endpoint paths (#3972) (f9c458b)
  • live: preserve caller queues and prevent uncertain WebSocket replay (#3980) (80e9686)
  • realtime: preserve base URL queries in WebSocket upgrades (#3971) (f7bd4a7)
  • realtime: retain configured queues without replaying attempted sends (#3978) (a52805c)

Chores

  • api: clarify documented API error responses (#3965) (384fee3)
  • api: document batch error responses (#3961) (6e4a79c)
  • api: document files and uploads error responses (#3960) (a9d727f)
  • api: document fine-tuning and model errors (#3964) (5d4003c)
  • api: document Responses not-found errors (#3959) (63099e7)
  • api: document stored chat completion errors (#3963) (a73fe0c)

v3.19.2

3.19.2 (2026-09-23)

Bug Fixes

  • preserve single files for fallback extraction paths (#3875) (bfd3680)

Chores

  • api: clarify approximate web search location defaults (#3953) (a95c95e)
  • api: clarify Realtime modality array definitions (#3954) (e79cf53)
  • api: correct fine-tuning bounds and Realtime response reference (#3949) (325a948)

v3.19.1

3.19.1 (2026-09-23)

... (truncated)

Changelog

Sourced from openai's changelog.

3.20.0 (2026-09-28)

Features

  • api: add Agents credential and session options (#3967) (bb68198)
  • api: add Cyber access programs to Responses (#3956) (09c5b6f)
  • responses: opt in to incremental WebSocket text and tool snapshots (#3973) (d0207b4)
  • responses: preserve detailed WebSocket accumulator snapshots (#3981) (a380cf2)

Bug Fixes

  • client: retry unmapped TLS transport errors (#3982) (0d35a26)
  • live: avoid hangs at fractional transcript grouping deadlines (#3970) (4ef4129)
  • live: keep query parameters out of WebSocket endpoint paths (#3972) (f9c458b)
  • live: preserve caller queues and prevent uncertain WebSocket replay (#3980) (80e9686)
  • realtime: preserve base URL queries in WebSocket upgrades (#3971) (f7bd4a7)
  • realtime: retain configured queues without replaying attempted sends (#3978) (a52805c)

Chores

  • api: clarify documented API error responses (#3965) (384fee3)
  • api: document batch error responses (#3961) (6e4a79c)
  • api: document files and uploads error responses (#3960) (a9d727f)
  • api: document fine-tuning and model errors (#3964) (5d4003c)
  • api: document Responses not-found errors (#3959) (63099e7)
  • api: document stored chat completion errors (#3963) (a73fe0c)

3.19.2 (2026-09-23)

Bug Fixes

  • preserve single files for fallback extraction paths (#3875) (bfd3680)

Chores

  • api: clarify approximate web search location defaults (#3953) (a95c95e)
  • api: clarify Realtime modality array definitions (#3954) (e79cf53)
  • api: correct fine-tuning bounds and Realtime response reference (#3949) (325a948)

3.19.1 (2026-09-23)

Bug Fixes

  • chat: preserve single-pass tool iterables (#3770) (33ffa1f)

... (truncated)

Commits
  • 68b173a release: 3.20.0 (#3957)
  • 0d35a26 fix(client): retry unmapped TLS transport errors (#3982)
  • a380cf2 feat(responses): preserve detailed WebSocket accumulator snapshots (#3981)
  • 80e9686 fix(live): preserve caller queues and prevent uncertain WebSocket replay (#3980)
  • 78074d7 test(realtime): verify recovery boundaries and replacement credentials (#3979)
  • a52805c fix(realtime): retain configured queues without replaying attempted sends (#3...
  • a444e42 test: verify Live grouper disposal on a shared Python WebSocket (#3977)
  • d0207b4 feat(responses): opt in to incremental WebSocket text and tool snapshots (#3973)
  • 4ef4129 fix(live): avoid hangs at fractional transcript grouping deadlines (#3970)
  • f9c458b fix(live): keep query parameters out of WebSocket endpoint paths (#3972)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot 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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps [openai](https://github.com/openai/openai-python) from 2.44.0 to 3.20.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/openai/openai-python/releases">openai's releases</a>.</em></p> <blockquote> <h2>v3.20.0</h2> <h2><a href="https://github.com/openai/openai-python/compare/v3.19.2...v3.20.0">3.20.0</a> (2026-09-28)</h2> <h3>Features</h3> <ul> <li><strong>api:</strong> add Agents credential and session options (<a href="https://redirect.github.com/openai/openai-python/issues/3967">#3967</a>) (<a href="https://github.com/openai/openai-python/commit/bb68198a4bb4a161cbb32a28c3888a51540eaf0f">bb68198</a>)</li> <li><strong>api:</strong> add Cyber access programs to Responses (<a href="https://redirect.github.com/openai/openai-python/issues/3956">#3956</a>) (<a href="https://github.com/openai/openai-python/commit/09c5b6f13f716ad4e417fd7ba9209a8a057e0383">09c5b6f</a>)</li> <li><strong>responses:</strong> opt in to incremental WebSocket text and tool snapshots (<a href="https://redirect.github.com/openai/openai-python/issues/3973">#3973</a>) (<a href="https://github.com/openai/openai-python/commit/d0207b48c043741ff483d7a8c945f8003d1ee714">d0207b4</a>)</li> <li><strong>responses:</strong> preserve detailed WebSocket accumulator snapshots (<a href="https://redirect.github.com/openai/openai-python/issues/3981">#3981</a>) (<a href="https://github.com/openai/openai-python/commit/a380cf256abc2aa51cbf5d49437ae039b9aa9b12">a380cf2</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>client:</strong> retry unmapped TLS transport errors (<a href="https://redirect.github.com/openai/openai-python/issues/3982">#3982</a>) (<a href="https://github.com/openai/openai-python/commit/0d35a2640458b64ed2ff4a7c9b1f1a1e5705336e">0d35a26</a>)</li> <li><strong>live:</strong> avoid hangs at fractional transcript grouping deadlines (<a href="https://redirect.github.com/openai/openai-python/issues/3970">#3970</a>) (<a href="https://github.com/openai/openai-python/commit/4ef4129e85e81a285905755e57b392aa9e77f9bd">4ef4129</a>)</li> <li><strong>live:</strong> keep query parameters out of WebSocket endpoint paths (<a href="https://redirect.github.com/openai/openai-python/issues/3972">#3972</a>) (<a href="https://github.com/openai/openai-python/commit/f9c458b759e3756979fceebf50bffa78d9cf0b97">f9c458b</a>)</li> <li><strong>live:</strong> preserve caller queues and prevent uncertain WebSocket replay (<a href="https://redirect.github.com/openai/openai-python/issues/3980">#3980</a>) (<a href="https://github.com/openai/openai-python/commit/80e96860b5ccbfcf4a1c9dd9947fc31cd021037a">80e9686</a>)</li> <li><strong>realtime:</strong> preserve base URL queries in WebSocket upgrades (<a href="https://redirect.github.com/openai/openai-python/issues/3971">#3971</a>) (<a href="https://github.com/openai/openai-python/commit/f7bd4a703cad904e4f5d91ec9d7abac70d8c0bd6">f7bd4a7</a>)</li> <li><strong>realtime:</strong> retain configured queues without replaying attempted sends (<a href="https://redirect.github.com/openai/openai-python/issues/3978">#3978</a>) (<a href="https://github.com/openai/openai-python/commit/a52805c2537422ad602eba2bf66072880ea3fd22">a52805c</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>api:</strong> clarify documented API error responses (<a href="https://redirect.github.com/openai/openai-python/issues/3965">#3965</a>) (<a href="https://github.com/openai/openai-python/commit/384fee3252e2336a85450ff38f9bae41f9199616">384fee3</a>)</li> <li><strong>api:</strong> document batch error responses (<a href="https://redirect.github.com/openai/openai-python/issues/3961">#3961</a>) (<a href="https://github.com/openai/openai-python/commit/6e4a79cc8c7e640e7ac4be710db32fe20b1020f2">6e4a79c</a>)</li> <li><strong>api:</strong> document files and uploads error responses (<a href="https://redirect.github.com/openai/openai-python/issues/3960">#3960</a>) (<a href="https://github.com/openai/openai-python/commit/a9d727ff9c4a38fc5dca8d31bd3dd76f473cfc27">a9d727f</a>)</li> <li><strong>api:</strong> document fine-tuning and model errors (<a href="https://redirect.github.com/openai/openai-python/issues/3964">#3964</a>) (<a href="https://github.com/openai/openai-python/commit/5d4003c12d5df5a5faed35971cac3bcb711fdf7d">5d4003c</a>)</li> <li><strong>api:</strong> document Responses not-found errors (<a href="https://redirect.github.com/openai/openai-python/issues/3959">#3959</a>) (<a href="https://github.com/openai/openai-python/commit/63099e739d25cb18f90cae93648471bf037bc46f">63099e7</a>)</li> <li><strong>api:</strong> document stored chat completion errors (<a href="https://redirect.github.com/openai/openai-python/issues/3963">#3963</a>) (<a href="https://github.com/openai/openai-python/commit/a73fe0c3d404335a342d1251bd32709b8e3d76f2">a73fe0c</a>)</li> </ul> <h2>v3.19.2</h2> <h2><a href="https://github.com/openai/openai-python/compare/v3.19.1...v3.19.2">3.19.2</a> (2026-09-23)</h2> <h3>Bug Fixes</h3> <ul> <li>preserve single files for fallback extraction paths (<a href="https://redirect.github.com/openai/openai-python/issues/3875">#3875</a>) (<a href="https://github.com/openai/openai-python/commit/bfd3680c8d3b715bb3175b82cd0fa1c1fb53162f">bfd3680</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>api:</strong> clarify approximate web search location defaults (<a href="https://redirect.github.com/openai/openai-python/issues/3953">#3953</a>) (<a href="https://github.com/openai/openai-python/commit/a95c95ed372476168e9893723ff694ead5db8586">a95c95e</a>)</li> <li><strong>api:</strong> clarify Realtime modality array definitions (<a href="https://redirect.github.com/openai/openai-python/issues/3954">#3954</a>) (<a href="https://github.com/openai/openai-python/commit/e79cf53878b1d8580fac3a46e375eb98d9ca161d">e79cf53</a>)</li> <li><strong>api:</strong> correct fine-tuning bounds and Realtime response reference (<a href="https://redirect.github.com/openai/openai-python/issues/3949">#3949</a>) (<a href="https://github.com/openai/openai-python/commit/325a948a545add0201e082e778ca11b90ddb9426">325a948</a>)</li> </ul> <h2>v3.19.1</h2> <h2><a href="https://github.com/openai/openai-python/compare/v3.19.0...v3.19.1">3.19.1</a> (2026-09-23)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/openai/openai-python/blob/main/CHANGELOG.md">openai's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/openai/openai-python/compare/v3.19.2...v3.20.0">3.20.0</a> (2026-09-28)</h2> <h3>Features</h3> <ul> <li><strong>api:</strong> add Agents credential and session options (<a href="https://redirect.github.com/openai/openai-python/issues/3967">#3967</a>) (<a href="https://github.com/openai/openai-python/commit/bb68198a4bb4a161cbb32a28c3888a51540eaf0f">bb68198</a>)</li> <li><strong>api:</strong> add Cyber access programs to Responses (<a href="https://redirect.github.com/openai/openai-python/issues/3956">#3956</a>) (<a href="https://github.com/openai/openai-python/commit/09c5b6f13f716ad4e417fd7ba9209a8a057e0383">09c5b6f</a>)</li> <li><strong>responses:</strong> opt in to incremental WebSocket text and tool snapshots (<a href="https://redirect.github.com/openai/openai-python/issues/3973">#3973</a>) (<a href="https://github.com/openai/openai-python/commit/d0207b48c043741ff483d7a8c945f8003d1ee714">d0207b4</a>)</li> <li><strong>responses:</strong> preserve detailed WebSocket accumulator snapshots (<a href="https://redirect.github.com/openai/openai-python/issues/3981">#3981</a>) (<a href="https://github.com/openai/openai-python/commit/a380cf256abc2aa51cbf5d49437ae039b9aa9b12">a380cf2</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>client:</strong> retry unmapped TLS transport errors (<a href="https://redirect.github.com/openai/openai-python/issues/3982">#3982</a>) (<a href="https://github.com/openai/openai-python/commit/0d35a2640458b64ed2ff4a7c9b1f1a1e5705336e">0d35a26</a>)</li> <li><strong>live:</strong> avoid hangs at fractional transcript grouping deadlines (<a href="https://redirect.github.com/openai/openai-python/issues/3970">#3970</a>) (<a href="https://github.com/openai/openai-python/commit/4ef4129e85e81a285905755e57b392aa9e77f9bd">4ef4129</a>)</li> <li><strong>live:</strong> keep query parameters out of WebSocket endpoint paths (<a href="https://redirect.github.com/openai/openai-python/issues/3972">#3972</a>) (<a href="https://github.com/openai/openai-python/commit/f9c458b759e3756979fceebf50bffa78d9cf0b97">f9c458b</a>)</li> <li><strong>live:</strong> preserve caller queues and prevent uncertain WebSocket replay (<a href="https://redirect.github.com/openai/openai-python/issues/3980">#3980</a>) (<a href="https://github.com/openai/openai-python/commit/80e96860b5ccbfcf4a1c9dd9947fc31cd021037a">80e9686</a>)</li> <li><strong>realtime:</strong> preserve base URL queries in WebSocket upgrades (<a href="https://redirect.github.com/openai/openai-python/issues/3971">#3971</a>) (<a href="https://github.com/openai/openai-python/commit/f7bd4a703cad904e4f5d91ec9d7abac70d8c0bd6">f7bd4a7</a>)</li> <li><strong>realtime:</strong> retain configured queues without replaying attempted sends (<a href="https://redirect.github.com/openai/openai-python/issues/3978">#3978</a>) (<a href="https://github.com/openai/openai-python/commit/a52805c2537422ad602eba2bf66072880ea3fd22">a52805c</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>api:</strong> clarify documented API error responses (<a href="https://redirect.github.com/openai/openai-python/issues/3965">#3965</a>) (<a href="https://github.com/openai/openai-python/commit/384fee3252e2336a85450ff38f9bae41f9199616">384fee3</a>)</li> <li><strong>api:</strong> document batch error responses (<a href="https://redirect.github.com/openai/openai-python/issues/3961">#3961</a>) (<a href="https://github.com/openai/openai-python/commit/6e4a79cc8c7e640e7ac4be710db32fe20b1020f2">6e4a79c</a>)</li> <li><strong>api:</strong> document files and uploads error responses (<a href="https://redirect.github.com/openai/openai-python/issues/3960">#3960</a>) (<a href="https://github.com/openai/openai-python/commit/a9d727ff9c4a38fc5dca8d31bd3dd76f473cfc27">a9d727f</a>)</li> <li><strong>api:</strong> document fine-tuning and model errors (<a href="https://redirect.github.com/openai/openai-python/issues/3964">#3964</a>) (<a href="https://github.com/openai/openai-python/commit/5d4003c12d5df5a5faed35971cac3bcb711fdf7d">5d4003c</a>)</li> <li><strong>api:</strong> document Responses not-found errors (<a href="https://redirect.github.com/openai/openai-python/issues/3959">#3959</a>) (<a href="https://github.com/openai/openai-python/commit/63099e739d25cb18f90cae93648471bf037bc46f">63099e7</a>)</li> <li><strong>api:</strong> document stored chat completion errors (<a href="https://redirect.github.com/openai/openai-python/issues/3963">#3963</a>) (<a href="https://github.com/openai/openai-python/commit/a73fe0c3d404335a342d1251bd32709b8e3d76f2">a73fe0c</a>)</li> </ul> <h2><a href="https://github.com/openai/openai-python/compare/v3.19.1...v3.19.2">3.19.2</a> (2026-09-23)</h2> <h3>Bug Fixes</h3> <ul> <li>preserve single files for fallback extraction paths (<a href="https://redirect.github.com/openai/openai-python/issues/3875">#3875</a>) (<a href="https://github.com/openai/openai-python/commit/bfd3680c8d3b715bb3175b82cd0fa1c1fb53162f">bfd3680</a>)</li> </ul> <h3>Chores</h3> <ul> <li><strong>api:</strong> clarify approximate web search location defaults (<a href="https://redirect.github.com/openai/openai-python/issues/3953">#3953</a>) (<a href="https://github.com/openai/openai-python/commit/a95c95ed372476168e9893723ff694ead5db8586">a95c95e</a>)</li> <li><strong>api:</strong> clarify Realtime modality array definitions (<a href="https://redirect.github.com/openai/openai-python/issues/3954">#3954</a>) (<a href="https://github.com/openai/openai-python/commit/e79cf53878b1d8580fac3a46e375eb98d9ca161d">e79cf53</a>)</li> <li><strong>api:</strong> correct fine-tuning bounds and Realtime response reference (<a href="https://redirect.github.com/openai/openai-python/issues/3949">#3949</a>) (<a href="https://github.com/openai/openai-python/commit/325a948a545add0201e082e778ca11b90ddb9426">325a948</a>)</li> </ul> <h2><a href="https://github.com/openai/openai-python/compare/v3.19.0...v3.19.1">3.19.1</a> (2026-09-23)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>chat:</strong> preserve single-pass tool iterables (<a href="https://redirect.github.com/openai/openai-python/issues/3770">#3770</a>) (<a href="https://github.com/openai/openai-python/commit/33ffa1f9fa4f49553ab0287b9359283be818fe40">33ffa1f</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/openai/openai-python/commit/68b173a24fa9ebfc6b84694a39a0dd0f9a1e6087"><code>68b173a</code></a> release: 3.20.0 (<a href="https://redirect.github.com/openai/openai-python/issues/3957">#3957</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/0d35a2640458b64ed2ff4a7c9b1f1a1e5705336e"><code>0d35a26</code></a> fix(client): retry unmapped TLS transport errors (<a href="https://redirect.github.com/openai/openai-python/issues/3982">#3982</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/a380cf256abc2aa51cbf5d49437ae039b9aa9b12"><code>a380cf2</code></a> feat(responses): preserve detailed WebSocket accumulator snapshots (<a href="https://redirect.github.com/openai/openai-python/issues/3981">#3981</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/80e96860b5ccbfcf4a1c9dd9947fc31cd021037a"><code>80e9686</code></a> fix(live): preserve caller queues and prevent uncertain WebSocket replay (<a href="https://redirect.github.com/openai/openai-python/issues/3980">#3980</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/78074d7561b3ca7ade35357fcad26f5531f024c8"><code>78074d7</code></a> test(realtime): verify recovery boundaries and replacement credentials (<a href="https://redirect.github.com/openai/openai-python/issues/3979">#3979</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/a52805c2537422ad602eba2bf66072880ea3fd22"><code>a52805c</code></a> fix(realtime): retain configured queues without replaying attempted sends (<a href="https://redirect.github.com/openai/openai-python/issues/3">#3</a>...</li> <li><a href="https://github.com/openai/openai-python/commit/a444e4256d9b9a2349d187f792dc4bfa2dfba533"><code>a444e42</code></a> test: verify Live grouper disposal on a shared Python WebSocket (<a href="https://redirect.github.com/openai/openai-python/issues/3977">#3977</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/d0207b48c043741ff483d7a8c945f8003d1ee714"><code>d0207b4</code></a> feat(responses): opt in to incremental WebSocket text and tool snapshots (<a href="https://redirect.github.com/openai/openai-python/issues/3973">#3973</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/4ef4129e85e81a285905755e57b392aa9e77f9bd"><code>4ef4129</code></a> fix(live): avoid hangs at fractional transcript grouping deadlines (<a href="https://redirect.github.com/openai/openai-python/issues/3970">#3970</a>)</li> <li><a href="https://github.com/openai/openai-python/commit/f9c458b759e3756979fceebf50bffa78d9cf0b97"><code>f9c458b</code></a> fix(live): keep query parameters out of WebSocket endpoint paths (<a href="https://redirect.github.com/openai/openai-python/issues/3972">#3972</a>)</li> <li>Additional commits viewable in <a href="https://github.com/openai/openai-python/compare/v2.44.0...v3.20.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openai&package-manager=pip&previous-version=2.44.0&new-version=3.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin dependabot/pip/main/openai-3.20.0:dependabot/pip/main/openai-3.20.0
git checkout dependabot/pip/main/openai-3.20.0
Sign in to join this conversation.