René's URL Explorer Experiment


Title: Replace httpx and httpx-sse with httpx2 by Kludex · Pull Request #2972 · modelcontextprotocol/python-sdk · GitHub

Open Graph Title: Replace httpx and httpx-sse with httpx2 by Kludex · Pull Request #2972 · modelcontextprotocol/python-sdk

X Title: Replace httpx and httpx-sse with httpx2 by Kludex · Pull Request #2972 · modelcontextprotocol/python-sdk

Description: Summary Swaps the httpx + httpx-sse dependencies for httpx2 >=2.5.0. httpx2 is the next-generation httpx fork with server-sent events support built in, so the separate httpx-sse dependency is no longer needed. Changes Replace httpx>=0.27.1,<1.0.0 + httpx-sse>=0.4 with httpx2>=2.5.0 in the SDK and the example projects (lockfile regenerated). Rewrite the SSE transports against httpx2's API: aconnect_sse(...) → client.stream(...) / client.sse(...) wrapped in EventSource, and iterate the EventSource directly instead of .aiter_sse(). Document the swap as a v2 breaking change in docs/migration.md and docs/whats-new.md; update the docs, README, and example sources. Intentional behavior changes SSE GET streams send Accept: application/json, text/event-stream (previously exactly text/event-stream): httpx2's client.sse() lets the transport's headers win where httpx_sse force-overwrote them. Cache-Control: no-store is unchanged. TLS verification uses the operating system trust store via truststore instead of certifi's bundle; SSL_CERT_FILE/SSL_CERT_DIR are honored first. Documented in the migration guide. Loggers rename: httpx → httpx2, httpcore.* → httpcore2.*; the default User-Agent becomes python-httpx2/. simple-chatbot example: except httpx.RequestError → except httpx2.HTTPError, so HTTP status errors are reported instead of propagating (the old handler's status-error branch was unreachable). Notes httpx2 is API-compatible with httpx, so most of the diff is the httpx → httpx2 import rename. Users passing their own http_client only need to change the import. Tests use httpx2's AsyncClient.sse() convenience method for the raw-client SSE call sites. The httpx2 requirement deliberately has no upper bound, unlike v1's httpx<1.0.0 cap (#2345): httpx2 is maintained in lockstep with this SDK, so a breaking httpx2 major would land alongside a coordinated SDK release rather than being fenced off ahead of time. Verification ruff, pyright, and the full test suite all pass at 100% coverage (strict-no-cover clean). AI Disclaimer This PR was developed with the assistance of either Claude or Codex. I've reviewed and verified the changes.

Open Graph Description: Summary Swaps the httpx + httpx-sse dependencies for httpx2 >=2.5.0. httpx2 is the next-generation httpx fork with server-sent events support built in, so the separate httpx-sse dependency is no...

X Description: Summary Swaps the httpx + httpx-sse dependencies for httpx2 &gt;=2.5.0. httpx2 is the next-generation httpx fork with server-sent events support built in, so the separate httpx-sse dependency i...

Opengraph URL: https://github.com/modelcontextprotocol/python-sdk/pull/2972

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:2e7dc8a8-12f4-4fc9-203d-5c9b4b1cc6e8
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE646:3D4B9B:31CBF2:45FAEF:6A57B742
html-safe-noncec6e26a73d57000e129ee78dfd43e2099ee0d9a385c0936e80dc5b276e8ead31e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNjQ2OjNENEI5QjozMUNCRjI6NDVGQUVGOjZBNTdCNzQyIiwidmlzaXRvcl9pZCI6IjEwNjYxOTEyODE4Njc3MDAwMzQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac3515f34389f7c5e3196fd893f6fc088a7379ef6aefc26cc7c55fed74ff01eb60
hovercard-subject-tagpull_request:3936203556
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/modelcontextprotocol/python-sdk/pull/2972/files
twitter:imagehttps://avatars.githubusercontent.com/u/7353520?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/7353520?s=400&v=4
og:image:altSummary Swaps the httpx + httpx-sse dependencies for httpx2 >=2.5.0. httpx2 is the next-generation httpx fork with server-sent events support built in, so the separate httpx-sse dependency is no...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None899c314dfde9abcf8fc1fe8c04f09866b347ea06f43166d653afc482795c9fca
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/modelcontextprotocol/python-sdk git https://github.com/modelcontextprotocol/python-sdk.git
octolytics-dimension-user_id182288589
octolytics-dimension-user_loginmodelcontextprotocol
octolytics-dimension-repository_id862584018
octolytics-dimension-repository_nwomodelcontextprotocol/python-sdk
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id862584018
octolytics-dimension-repository_network_root_nwomodelcontextprotocol/python-sdk
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release67aa73f3bba9e68b2de0ebe01c65fcd120461cba
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F2972%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelcontextprotocol%2Fpython-sdk%2Fpull%2F2972%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=modelcontextprotocol%2Fpython-sdk
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files
Reloadhttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files
modelcontextprotocol https://github.com/modelcontextprotocol
python-sdkhttps://github.com/modelcontextprotocol/python-sdk
Notifications https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk
Fork 3.6k https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk
Star 23.6k https://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk
Code https://github.com/modelcontextprotocol/python-sdk
Issues 251 https://github.com/modelcontextprotocol/python-sdk/issues
Pull requests 290 https://github.com/modelcontextprotocol/python-sdk/pulls
Actions https://github.com/modelcontextprotocol/python-sdk/actions
Projects https://github.com/modelcontextprotocol/python-sdk/projects
Models https://github.com/modelcontextprotocol/python-sdk/models
Security and quality 6 https://github.com/modelcontextprotocol/python-sdk/security
Insights https://github.com/modelcontextprotocol/python-sdk/pulse
Code https://github.com/modelcontextprotocol/python-sdk
Issues https://github.com/modelcontextprotocol/python-sdk/issues
Pull requests https://github.com/modelcontextprotocol/python-sdk/pulls
Actions https://github.com/modelcontextprotocol/python-sdk/actions
Projects https://github.com/modelcontextprotocol/python-sdk/projects
Models https://github.com/modelcontextprotocol/python-sdk/models
Security and quality https://github.com/modelcontextprotocol/python-sdk/security
Insights https://github.com/modelcontextprotocol/python-sdk/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmodelcontextprotocol%2Fpython-sdk%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmodelcontextprotocol%2Fpython-sdk%2Fissues%2Fnew%2Fchoose
maxisbeyhttps://github.com/maxisbey
mainhttps://github.com/modelcontextprotocol/python-sdk/tree/main
httpx2-migrationhttps://github.com/modelcontextprotocol/python-sdk/tree/httpx2-migration
Conversation 18 https://github.com/modelcontextprotocol/python-sdk/pull/2972
Commits 11 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits
Checks 39 https://github.com/modelcontextprotocol/python-sdk/pull/2972/checks
Files changed https://github.com/modelcontextprotocol/python-sdk/pull/2972/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files
Replace httpx and httpx-sse with httpx2 https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#top
Show all changes 11 commits https://github.com/modelcontextprotocol/python-sdk/pull/2972/files
ac69e24 Replace httpx and httpx-sse with httpx2 Kludex Jun 25, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits/ac69e24fe7faa1365bed8d226bc9b90ea21e6987
dc6b9ea Update conformance client to httpx2 maxisbey Jun 29, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits/dc6b9eaaea9485501bdd48d40e05dc985d05ea12
b8775a1 Convert httpx usage added on main to httpx2 maxisbey Jun 29, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits/b8775a1d4b70b8447df590d92801bccd037c6b5d
dae920c Restore SSE request headers via AsyncClient.sse(); fix example fallout maxisbey Jun 29, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits/dae920cc5c530280b17b2367811a2b214082c7cb
bb9af61 Wrap test signature that exceeded the line limit after the rename maxisbey Jun 29, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits/bb9af61334688e43bec3f4e049ce19617721199a
684dfff Drop None args no longer accepted by ServerSentEvent maxisbey Jun 29, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits/684dfff769ac947d929e1698899652175c3318d8
422d7b0 Convert httpx usage added on main since the last rebase to httpx2 maxisbey Jul 14, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits/422d7b0eda726e77d94474cda35ceb0e1019c446
2c901e8 Port the httpx2 migration notes into the restructured docs maxisbey Jul 14, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits/2c901e8d6c05aee501b0260757a37684214bde09
8a2dfbf Mention the SSL_CERT_FILE remedy and update stale HTTPX docstrings maxisbey Jul 14, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits/8a2dfbfa7a6f541367aece4857ff5cd6e56de2ae
4351721 Document httpx2 exception migration and the TLS change in whats-new maxisbey Jul 14, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits/43517218a6b20f0a4bf778fbc1ee993cc11c5516
0fc6043 Lead the whats-new entry with the httpx2 swap; note logger and UA ren… maxisbey Jul 14, 2026 https://github.com/modelcontextprotocol/python-sdk/pull/2972/commits/0fc604300e92af1b4a2af8b4dd395fbc76c9ba2c
Clear filters https://github.com/modelcontextprotocol/python-sdk/pull/2972/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files
client.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
identity-assertion.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fc527143776114113f5c700dcd12be5abb3b2044504c666e4dc75a0fe3ecdb1f
oauth-clients.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fddbc8202fcc19df6fe65cb61729b4ac59bc61a267deb348d4abe479061bad70
transports.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1e8dad68fc5833fd229242cdafbfe85ab6382fbfb42e0c7e3080118ddc9b68c2
installation.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-bec7a916a2ede98d67bf0f64cdbfb53925079833bd17b39f60e7488478725418
migration.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-758ba107a728fccfdf0d098b2c06ded59127dd53ea287d630f72fb51040bc72d
whats-new.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-9428ccc149911a1fdbacb719bfe6f6e4d0c4fbe84f4ce18d14cdb5cd82b9df45
tutorial003.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fdbc5c2ee10fdb42216c507550877693504f95e49084c542727a409e94ff46c5
tutorial001.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-c1a85c88138b90b132f75ac4f800192f3b68cd3229eb095b60e39741db46893b
tutorial001.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-cf4029dcf939a0e84c4a2d45ee3bbe58d6ab62c80ed7d1d98a2df452c79c8eac
tutorial002.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-e977f9ef9cd790f35b4d4ab1aeea39007c95a5478704997b8a6ae2c6f64f62d1
main.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-967e8584a0021a6f5b81aa9ef3f1e549efd761fe3fb4733e5212ce027e0bcfce
main.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-29fac9db8eee314fe4708bc7f3c4f8cef31dd11aec180a8ccb995f840716c4f8
main.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-6ad9c3cc9c33ca331bbbfa4ac4ad2c55c10368471467e3bd916b3a36a094c68f
text_me.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-74ea9fc88733ecdd902c948d2e4665298a4c16d030cc4bb9f3924137ad3ead7b
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-34f843e4019f2b100c08872a8b7285860c46d1d400ac3b250393861395e8d259
token_verifier.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-488377b765d8b32e8e5fb73fa28dec511790c79066d63d37b2e18d85ee5ef19d
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-039e771fa1be035076e8f009e8f6555671a1e40f99fa725215e8aad18357920d
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-17e6152a84f6cbb379f3b01d8432734fcd8e7bec9289c26a1d6c8d99aeb355e5
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-7b58369d5fc59414f3a873f2a00a982c6e346d1d8161c3557c328b22084ec318
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-29182fd5ddbe30191fe84b9af151f3908b2f5782bde6c9ccdb917f36ca28cc4c
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-83fd8aa7e87bae7c254ef4535a234e4a0552e9c57a95e26d8b3f78ad8b5cb966
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-2aff12874a9a0d35f2a96acf99c670ab79183ad8f6300e7163a37a53d45aa370
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-d3fa5793448a523db2dffeb8c1a8bcd2c6e1514a734b2d2458200946dfaa6c3c
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-6664e310b47c9ee7e4cdd3cc719ad50d3d5101fab7ce74c61bb3a64636857db0
identity_assertion_client.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-d9f410e6ec455a5b5eb325f6a53c2a67daf7ffc7376a00ebb1296df6210f74c5
oauth_client.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-027c2794f55d97303e0b285c161c1f068be0f1ae44624885ddb1664bee9edd32
_harness.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-268e95c414f4010a961fad49cf79a97b6169de72c08b464d5b9a580186d9ec4c
_hosting.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-570aaea6036e4234f6b49360fa214fed65ce71cf6525e912d45c99fc9a051ddf
auth.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-f2f595300f009963acd386e038c070bdc7ab4ff532e5f92a11fdd17dba1f0ec1
README.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-9f31deb61f1e774e556df0c51596128f92ee36e9b65f0bbe0260787faa5b1bf6
client.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-2f962e698f7920c6ab7612f66ea981559a8752ed5831ad3ab0b3b5e130e60704
README.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-5fc184f97abddcba8c61980bf17c12e75ea2dfbe3425eb6248c94c5f88d2b1c0
client.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-6354ae90bf2c1b244616b635c8034ae2e263377caa57be9f1879113c6f7d71da
README.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-66dff8cb5766eaa34adbe65164566890169e8a9aa3c858bd6e6e9f42e9866f3e
client.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-ad9d9617e1ccaac4a3cdaa4fa5ea0a610ac4143bc2c6401dea00ca899133aa2f
README.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-55ab17e38bad2ccec39924f7bd63d842644728be61ffcf134ff82065b0038c25
manifest.toml https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-3465e861f1dadb6428365d1d397e322cf53ad60e35501e6aef36abb00106b189
README.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-ec2980215aba699e4eed43935ba76aa3ca85c6ad4143655849f9e240c242df5c
client.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-272ca321406425ef835cb213d6071168e1100bc9d44f219660de8bc9c0705be9
README.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-ccd21533728e5459071764de5e94ff2291dae991d356405ff28717a41f380b0a
client.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-ac128c7b864861caefacffab7e88492857a67ba887c7f7fb72a5b9ea03f6dc2c
README.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-65b832876bc6f8f895a36fab919aae7aca47beedafa4e8c59cbecc312e09f059
README.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-b5e955571138c5704665d4a1269f7906a7f7249ed86a097aa74e1317988048eb
README.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-718f0b9af11329291f03e69c8f7d54068e4eaeb79f6e11d2da01910f23e870a1
pyproject.toml https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
_probe.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-59dc4b81d661c03b7619227f60a2d202e7b8bc873cf4a14e7dbd1fdfcd03b501
__init__.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-7ad3a87606502cd0dc2339923e00e0f6f66844db32c207d4ee35e1030ca48dee
client_credentials.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-6837d10b5e4119fce79b4c19036beeebb72e274519503c921453ce4309f8c2c9
identity_assertion.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-46a914434a87fa6647279942143c579485166d92ba2690db1c704ac88d804a06
oauth2.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-b7aaf2062da175cea9a532176d6eb78b659eaadb757cc48929f0bafccfdb8d98
utils.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1aed3def34492fb7eafa6e7aee6e9cc9973171b28c9574dc5c5b288a09878996
session_group.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-cbe797d477654047e3091f5e3c0a1046d9197e34ed55d884c7d957ef4e61d775
sse.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-41ed2e8548ae223801c0a37a6b50ce913e24f0e660bbbc2ddd91686820c86336
streamable_http.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-e8c18a3067a9b157c5c39a947f53d395afeb00e7026dad2d5a279011da943b5e
extension.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-d9976660bcba2cff27b7bf3f0a108aab399b5cb68aa332585f9d886707e72322
types.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1e54d881b5d815eba8abbe33154fa58a08e77537be0d9f48e167e48f2ecb44bf
_httpx_utils.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-c4baff3567caa38efcdfd8b6a554abe19fcf6429c80e6e693ed1a847a7aec431
test_identity_assertion.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-5d6fc6f0686a5ecd96f4c48fe2790affe1b26dcae8dd2890463e821af12e087b
test_auth.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-f083d075f463e8b1ecfa6b931c33288c3d09b00ee3af3e5f74df16b7e75c3ab1
test_client_caching.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-5d4cc4cc77753c5bd73c2ba2a5212c75a22ae52b9d2680ea0ee81f28b2d2bea5
test_http_unicode.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1abfe619fb6ecef0087c7e77c14530625aee85ec1dc1db958de2f341769c21c9
test_notification_response.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-8c7bb1142c1c9cb43b4d2e7bf265054daca89ba175deec8b690f00464c00c182
test_probe.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-088586c579bbead2ed30c7da4a7c5523c167863b134102eb2ced4d3b67c7d86a
test_scope_bug_1630.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-a6058bf8471c11340ab28cba2da275ba4d712588b0ce523bb26c0fa650ee8765
test_session_group.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-5278bd22bb86f5828e6bd1d889dd74bd0cd7302c9d1eb56c01075b5fe193a232
test_streamable_http.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-09ecebf3cb1cb198a43bd3159ecf388a4dfdc38f93c9812b671f40fc2c83ec29
test_transport_stream_cleanup.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-f372da27644e721eb8454bdf5b4fea1372090965b7bb39414e60861ba3c920e8
test_asgi.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-f3a61e55e7ad11ad703a7f18e5f842459e5c6469ede8a1a8461459f90f9bb461
test_authorization.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-3544daae19d2cf5f421d66ae2e297daa4df4b73b082ccefd1d77d8a10bc5f2e8
test_deploy.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-abfc4630599efe4735cace98881b633d15d24021884667275d0769d37e03b0f7
test_identity_assertion.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-6eca092800027bcda861006898cf33b9312c05a89d114c26e4f6cfa67571f3bc
test_legacy_clients.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-62bb5c0e6b44c7ed7d3c8cfc81d6aae797f69c305eff16ad2fcf3d95bdf992e6
test_oauth_clients.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-656b4d780b5f7f379b16b1a7edb3bec896137af0fe4f8c35644cf4d21ec66936
test_troubleshooting.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-d550640d52d73efdbb48424d0c417b49a38c6a18711fb39667aada283182584b
conftest.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-b386506e7c2a2974e50b11c141ff7170d32c9c1bc175c45defc3745d1d181755
test_stories_smoke.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-f39c19c9014a184c9b348a7fa6e875c2ae28934ad8816428f4f3cd690b536ed2
README.md https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-112d0208d481546644215b9de655e51c63d09dcb845cca6ca95d030ad007d443
_connect.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-6ed9301844e916542b4f858e556d9e255de8891db09e51b737f5dd1238c50b9d
_modern_vocab.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-5db7243dd206ab35bb34a493eca0ec90387d94156184ba8fb630d8b45fef918a
_requirements.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-c12ce54cbf13a11daa3f93343e5df8c89ca2b25d0f20f00b5408a2402a223228
_harness.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-4ac9813efeab1673bfd09096e1374c2d00a185f7948b812eefeb565db6c23247
test_as_handlers.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-276fddce310f4eebd30cd9e80e00a793954284aa79132c556f1f4992c14fb85a
test_bearer.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-39fa737f86bf4beb1870f6befa727071547fb7bd57257244223688eb618bd79f
test_discovery.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-469d07df0d8e675ae3e626c2293e9fdc39917db8ca8e1f04ca02c17339c6e6f6
test_flow.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-2a572c9bff06790dc0655966553e6d8cc41877f4dacaf5f561bb04bf0f91ad61
test_client_connect.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-3a887d54ca83d9ef12ffdb0b58a494e9a7c44167381cb3efb59c3176ea663e42
_bridge.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-6776bddee945aaa483da4fdb6fb6e967660d3eecd4dedd0dfb99e236baab1e65
test_bridge.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-973bd36347e6d5afc67eb34b8a26000f5387e40d5200222400ed01920e68495c
test_client_transport_http.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-adf5fa9c30305bc38e4d3bbf40b5d2a78c31d08471735f586b79c54e6c19813a
test_flows.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-49574413d58082b5b0d094a266103f9e61f3dac0f7bf3bdfacd1b2ad5a07a4c7
test_hosting_http.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-25c736951e89c76e3f06e5f6b36924f2fecb911b5bd98e4c74bf8249e8480fac
test_hosting_http_modern.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-122f8dfa74b6aa90e3cea5c8da3a5bf7829d8ea82e66caf2ab88c0e107858914
test_hosting_resume.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-85f9daa9bed5aaa4f0692a68b218329bd1d04c2bc0d72d270799730e3e7dfa22
test_hosting_session.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-23fb947502e0b134e093023f213e2e4e1a427996777d05da35dfe39499ad0741
test_legacy_wire.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-a4ea4ba5015e2bfa093bdc62b0bfb44f841d094f84ca23dca89eb81390d9c395
test_sse.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-b6e24975d18a40d61bf597c4517ff67abf1495842a7e1231c8e351e918d76bc8
test_1363_race_condition_streamable_http.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-e581901efafbad07422bf926218ce7bec6c7a40e6d726aa538b2818d903bf9f9
test_error_handling.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-91ee20daa15c8be5663ae23f6ebbc6294ef39fd9f22c8165b93f1b6ed9a415ba
test_identity_assertion.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-6bf132fd3c9502c3bede4a04ea3530ce375e870cee00428c7afb6eb8693e239f
test_protected_resource.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-110971ce6136fbafdd141bfc178d95f3fbcfce723728c186b82229bf0675d30e
test_auth_integration.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-5a81a6a5148119d275223ade78614223f48f68203d1ef375fb1b271621d5894c
test_sse_security.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-c4352f0bf263a51087a1f9dbd97e778a2fa4bf3fc0eced12e4bb84af262b7d8e
test_streamable_http_manager.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-ee0bac8ccf39135f1347002539cc4af38ee7e89b85595884e94fb4ab304a111d
test_streamable_http_modern.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1e3c8aa3513b03c2ac6b7534d2b3a45dcbf59ef32f158028e9cc2fff0760893f
test_streamable_http_security.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-99641f6cbe257be62af18938eeaacc6b089a42a859dac58486fe17506a9de558
test_httpx_utils.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-b0498e819959a6703b5a7ae1a5d5738d0779b500589c6fd4eca497bfa0fe32bb
test_sse.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-a2934f5f6ec610dff6774352c41b8c697b539614667643d69fd67f6fc6d7765e
test_streamable_http.py https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-57d1f3c64af36960aa61b1d77387fb6201b90fbc2f3d606bf2761315ce618cc5
uv.lock https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-84321598744d84dbee2318e634c74c9aae39a1c253f1c4bd17ebf9ef2f807b11
.github/actions/conformance/client.pyhttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
View file https://github.com/modelcontextprotocol/python-sdk/blob/0fc604300e92af1b4a2af8b4dd395fbc76c9ba2c/.github/actions/conformance/client.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/2972/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-823c6bf6584b99e84ad74327720949300eb016f0efd6497c143dbd56307b058f
docs/client/identity-assertion.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fc527143776114113f5c700dcd12be5abb3b2044504c666e4dc75a0fe3ecdb1f
View file https://github.com/modelcontextprotocol/python-sdk/blob/0fc604300e92af1b4a2af8b4dd395fbc76c9ba2c/docs/client/identity-assertion.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/2972/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fc527143776114113f5c700dcd12be5abb3b2044504c666e4dc75a0fe3ecdb1f
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fc527143776114113f5c700dcd12be5abb3b2044504c666e4dc75a0fe3ecdb1f
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fc527143776114113f5c700dcd12be5abb3b2044504c666e4dc75a0fe3ecdb1f
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fc527143776114113f5c700dcd12be5abb3b2044504c666e4dc75a0fe3ecdb1f
docs/client/oauth-clients.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fddbc8202fcc19df6fe65cb61729b4ac59bc61a267deb348d4abe479061bad70
View file https://github.com/modelcontextprotocol/python-sdk/blob/0fc604300e92af1b4a2af8b4dd395fbc76c9ba2c/docs/client/oauth-clients.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/2972/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fddbc8202fcc19df6fe65cb61729b4ac59bc61a267deb348d4abe479061bad70
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fddbc8202fcc19df6fe65cb61729b4ac59bc61a267deb348d4abe479061bad70
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fddbc8202fcc19df6fe65cb61729b4ac59bc61a267deb348d4abe479061bad70
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fddbc8202fcc19df6fe65cb61729b4ac59bc61a267deb348d4abe479061bad70
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fddbc8202fcc19df6fe65cb61729b4ac59bc61a267deb348d4abe479061bad70
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fddbc8202fcc19df6fe65cb61729b4ac59bc61a267deb348d4abe479061bad70
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fddbc8202fcc19df6fe65cb61729b4ac59bc61a267deb348d4abe479061bad70
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-fddbc8202fcc19df6fe65cb61729b4ac59bc61a267deb348d4abe479061bad70
docs/client/transports.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1e8dad68fc5833fd229242cdafbfe85ab6382fbfb42e0c7e3080118ddc9b68c2
View file https://github.com/modelcontextprotocol/python-sdk/blob/0fc604300e92af1b4a2af8b4dd395fbc76c9ba2c/docs/client/transports.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/2972/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1e8dad68fc5833fd229242cdafbfe85ab6382fbfb42e0c7e3080118ddc9b68c2
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1e8dad68fc5833fd229242cdafbfe85ab6382fbfb42e0c7e3080118ddc9b68c2
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1e8dad68fc5833fd229242cdafbfe85ab6382fbfb42e0c7e3080118ddc9b68c2
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1e8dad68fc5833fd229242cdafbfe85ab6382fbfb42e0c7e3080118ddc9b68c2
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1e8dad68fc5833fd229242cdafbfe85ab6382fbfb42e0c7e3080118ddc9b68c2
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-1e8dad68fc5833fd229242cdafbfe85ab6382fbfb42e0c7e3080118ddc9b68c2
docs/get-started/installation.mdhttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-bec7a916a2ede98d67bf0f64cdbfb53925079833bd17b39f60e7488478725418
View file https://github.com/modelcontextprotocol/python-sdk/blob/0fc604300e92af1b4a2af8b4dd395fbc76c9ba2c/docs/get-started/installation.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelcontextprotocol/python-sdk/pull/2972/{{ revealButtonHref }}
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-bec7a916a2ede98d67bf0f64cdbfb53925079833bd17b39f60e7488478725418
https://github.com/modelcontextprotocol/python-sdk/pull/2972/files#diff-bec7a916a2ede98d67bf0f64cdbfb53925079833bd17b39f60e7488478725418
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files
Please reload this pagehttps://github.com/modelcontextprotocol/python-sdk/pull/2972/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.