| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:0d248e33-34fb-e637-853d-a56f3fe7cd84 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 8CEC:20D38B:3F52E5:598278:696A45AA |
| html-safe-nonce | 6171d6ba2acf55f6bb17471fe5166bf6fa01d1afbe2b84a0d504cf8b89453318 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4Q0VDOjIwRDM4QjozRjUyRTU6NTk4Mjc4OjY5NkE0NUFBIiwidmlzaXRvcl9pZCI6IjUwODU0MDg2ODk0Njc4MzU4MTgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 2fa1898b86c42651b86e83b7d4534b2dfeca867dee32adbe4dca8afbd9fb3d16 |
| hovercard-subject-tag | pull_request:220939385 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///pull_requests/show/files |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/python/cpython/pull/9748/files |
| twitter:image | https://avatars.githubusercontent.com/u/480395?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/480395?s=400&v=4 |
| og:image:alt | https://bugs.python.org/issue34831 |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3f871c8e07f0ae1886fa8dac284166d28b09ad5bada6476fc10b674e489788ef |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 63c426b30d262aba269ef14c40e3c817b384cd61 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/python/cpython/pull/9748/files#start-of-content |
|
| https://github.com/ |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F9748%2Ffiles |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub SparkBuild and deploy intelligent apps | https://github.com/features/spark |
| GitHub ModelsManage and compare prompts | https://github.com/features/models |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| GitHub SponsorsFund open source developers | https://github.com/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/accelerator |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://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%2Fpython%2Fcpython%2Fpull%2F9748%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=python%2Fcpython |
| Reload | https://github.com/python/cpython/pull/9748/files |
| Reload | https://github.com/python/cpython/pull/9748/files |
| Reload | https://github.com/python/cpython/pull/9748/files |
|
python
| https://github.com/python |
| cpython | https://github.com/python/cpython |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
|
Notifications
| https://github.com/login?return_to=%2Fpython%2Fcpython |
|
Fork
33.9k
| https://github.com/login?return_to=%2Fpython%2Fcpython |
|
Star
71.1k
| https://github.com/login?return_to=%2Fpython%2Fcpython |
|
Code
| https://github.com/python/cpython |
|
Issues
5k+
| https://github.com/python/cpython/issues |
|
Pull requests
2.1k
| https://github.com/python/cpython/pulls |
|
Actions
| https://github.com/python/cpython/actions |
|
Projects
31
| https://github.com/python/cpython/projects |
|
Security
Uh oh!
There was an error while loading. Please reload this page.
| https://github.com/python/cpython/security |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
|
Insights
| https://github.com/python/cpython/pulse |
|
Code
| https://github.com/python/cpython |
|
Issues
| https://github.com/python/cpython/issues |
|
Pull requests
| https://github.com/python/cpython/pulls |
|
Actions
| https://github.com/python/cpython/actions |
|
Projects
| https://github.com/python/cpython/projects |
|
Security
| https://github.com/python/cpython/security |
|
Insights
| https://github.com/python/cpython/pulse |
| Sign up for GitHub
| https://github.com/signup?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose |
| terms of service | https://docs.github.com/terms |
| privacy statement | https://docs.github.com/privacy |
| Sign in | https://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose |
| cjrh | https://github.com/cjrh |
| python:main | https://github.com/python/cpython/tree/main |
| cjrh:bpo-34831-asyncio-tutorial | https://github.com/cjrh/cpython/tree/bpo-34831-asyncio-tutorial |
|
Conversation
41
| https://github.com/python/cpython/pull/9748 |
|
Commits
31
| https://github.com/python/cpython/pull/9748/commits |
|
Checks
0
| https://github.com/python/cpython/pull/9748/checks |
|
Files changed
| https://github.com/python/cpython/pull/9748/files |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
|
bpo-34831: Asyncio tutorial
| https://github.com/python/cpython/pull/9748/files#top |
|
Show all changes
31 commits
| https://github.com/python/cpython/pull/9748/files |
|
16d3b94
Create basic structure of the asyncio tutorial
cjrh Oct 7, 2018
| https://github.com/python/cpython/pull/9748/commits/16d3b94e21986573ba01d07d36a4f04c8a96ee37 |
|
50a901e
Begun work on the case study for the server
cjrh Oct 14, 2018
| https://github.com/python/cpython/pull/9748/commits/50a901eba6b359d0181c1cf31663448cb9769d66 |
|
dfede40
Incorporate review comments from @willingc
cjrh Oct 21, 2018
| https://github.com/python/cpython/pull/9748/commits/dfede40791ad404ae7e7178771bdc515bfe334d1 |
|
a11e659
Refine language around threads and processes
cjrh Oct 21, 2018
| https://github.com/python/cpython/pull/9748/commits/a11e659339a2f9551db039a3dcb220a18f8cf935 |
|
7e205d2
Incorporate message handling into server code
cjrh Oct 21, 2018
| https://github.com/python/cpython/pull/9748/commits/7e205d28117e67ec7472fad6e303b83b87e07635 |
|
7f2f149
Add message receiving to server code.
cjrh Oct 21, 2018
| https://github.com/python/cpython/pull/9748/commits/7f2f14962fe4d7aa590e3a0323f1438d64b6f20d |
|
61402e1
Added skeleton suggestions for the cookbook section
cjrh Oct 21, 2018
| https://github.com/python/cpython/pull/9748/commits/61402e1352b7eaec2a6e3fb231ac379628e03119 |
|
550bdbf
Further notes in the cookbook
cjrh Oct 21, 2018
| https://github.com/python/cpython/pull/9748/commits/550bdbf43ae9cc41eecaa631822a2c9ec572caa9 |
|
e7bc56d
Further work on describing how async def functions work
cjrh Nov 4, 2018
| https://github.com/python/cpython/pull/9748/commits/e7bc56d4b52f1ded7976bc1b012212e6ef8f34ff |
|
3d4cdae
Fix review comment from @tirkarthi
cjrh Jun 15, 2019
| https://github.com/python/cpython/pull/9748/commits/3d4cdaee6a296a24ec6794b466b052fb6d3f88b5 |
|
e0bb48b
Fix typo
cjrh Jun 15, 2019
| https://github.com/python/cpython/pull/9748/commits/e0bb48b62e183ecf82d9f74e12297bce6aad93f9 |
|
5e4550a
Clarify the "What is async" section
cjrh Jun 15, 2019
| https://github.com/python/cpython/pull/9748/commits/5e4550af550542adf097441848f818392c912975 |
|
0de2748
Flesh out the sync-versus-async functions section
cjrh Jun 15, 2019
| https://github.com/python/cpython/pull/9748/commits/0de27489edb84bbb768f01689b132783cbe20c13 |
|
89364f8
Add the blurb entry
cjrh Jun 15, 2019
| https://github.com/python/cpython/pull/9748/commits/89364f861ba8807e57f5f102270a98c93f70db80 |
|
be474f4
Remove TODOs
cjrh Jun 15, 2019
| https://github.com/python/cpython/pull/9748/commits/be474f460c36af063b93da5ca1ebc411bccc192b |
|
c403101
Write "Executing Async Functions"
cjrh Jun 15, 2019
| https://github.com/python/cpython/pull/9748/commits/c40310126d96287608ffb96d5ea4d90bbe92c18c |
|
69190b8
Fix spurious backtick
cjrh Jun 15, 2019
| https://github.com/python/cpython/pull/9748/commits/69190b8462867350426c701859caf2befa2a8ddb |
|
89f7ca2
Make the case study (server) a little neater.
cjrh Jun 15, 2019
| https://github.com/python/cpython/pull/9748/commits/89f7ca26333fb80053ebf98f6ce8d8f542520be1 |
|
36fc743
Some refactoring and finishing off the server.
cjrh Jun 15, 2019
| https://github.com/python/cpython/pull/9748/commits/36fc743ac708cb93cf0999b6a3d0128a6f21dd18 |
|
d55d8fb
Cleaned up the last bit of the chat server code sample.
cjrh Jun 16, 2019
| https://github.com/python/cpython/pull/9748/commits/d55d8fbabf01813a61571ac353323dc9c857f153 |
|
34306f0
Further progress - got a CLI chat client working using prompt-toolkit.
cjrh Jun 16, 2019
| https://github.com/python/cpython/pull/9748/commits/34306f0ae8e78f0e0360775b8b00d054962c8303 |
|
0c82755
Include chat client code in the text.
cjrh Jun 16, 2019
| https://github.com/python/cpython/pull/9748/commits/0c827556c1f7451be8c8e4826a14a51de9d12f24 |
|
a774a98
Fix typo
cjrh Jun 17, 2019
| https://github.com/python/cpython/pull/9748/commits/a774a9895de23825a056313d72b23e54272c84a6 |
|
eedbc97
Clarify switching behaviour
cjrh Jun 17, 2019
| https://github.com/python/cpython/pull/9748/commits/eedbc9783912fcf35a122e500b25047e179db272 |
|
a8a801d
Add async generators and async context managers discussion.
cjrh Jun 17, 2019
| https://github.com/python/cpython/pull/9748/commits/a8a801d95ba9b2c07488e3b82f24958cc786c526 |
|
8e6dcfd
Add some comparison with JavaScript async/await and asyncio.create_task
cjrh Jun 17, 2019
| https://github.com/python/cpython/pull/9748/commits/8e6dcfdc2ec6826c10f52c40d634a49006d74ada |
|
0e5ed3f
Fix "no good read" typo
cjrh Jun 17, 2019
| https://github.com/python/cpython/pull/9748/commits/0e5ed3f9423d68adb1d1df5a272d4625edf29589 |
|
4714ed2
Fix "do not required" typo
cjrh Jun 17, 2019
| https://github.com/python/cpython/pull/9748/commits/4714ed2c10fb805667edd4fc63cf1b13c0fa0a58 |
|
d71da67
Modern -> modern
cjrh Jun 17, 2019
| https://github.com/python/cpython/pull/9748/commits/d71da6709d7878ea696ec1480640e8b7dd1a2b44 |
|
26cc634
Removing the GUI case study section
cjrh Jun 19, 2019
| https://github.com/python/cpython/pull/9748/commits/26cc634f663179710577b3ca1cb7b9d429b984f6 |
|
9530021
Remove problematic backticks inside a code-block
cjrh Sep 11, 2019
| https://github.com/python/cpython/pull/9748/commits/953002165123a6451cebaeae9e0841b9274bd6f8 |
|
Clear filters
| https://github.com/python/cpython/pull/9748/files |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
|
async-functions.rst
| https://github.com/python/cpython/pull/9748/files#diff-1d6f78e9cabdd1900bb4154e0915463e02fbdaf9edc1319f8049e6c02f0ae066 |
|
asyncio-cookbook.rst
| https://github.com/python/cpython/pull/9748/files#diff-fb8bb31dd0390ac756d3572775aaca9e440ee98abc1c0c59f850f9a4b2351980 |
|
case-study-chat-client-cli.rst
| https://github.com/python/cpython/pull/9748/files#diff-aba81d26cfe6f0b3571232d655cd34bd4da1e874a6d268e2225fe7c3c908b1e0 |
|
case-study-chat-server.rst
| https://github.com/python/cpython/pull/9748/files#diff-7703ef08bbb11dc1d8d2e9413d151a93cc6359aa19ddeacf77869a69dcad833e |
|
client05.py
| https://github.com/python/cpython/pull/9748/files#diff-c684f1f0f8e865168a7c2dd6079db1b52efb9b00e43a2401193fb6360b1479d9 |
|
index.rst
| https://github.com/python/cpython/pull/9748/files#diff-995eee5701ac0824fe1be0298e1dec299c785d46a81d6302de5726ec3bce365b |
|
pttest.py
| https://github.com/python/cpython/pull/9748/files#diff-1d1d4da59438b223205dd13c2dc70281764baaaef12b50f1fc18ea9cf2e22b8b |
|
running-async-functions.rst
| https://github.com/python/cpython/pull/9748/files#diff-bd7c2f62401f667839be7cb553e862d9de9fe18f3672496c2c9c4593f0e3701e |
|
server01.py
| https://github.com/python/cpython/pull/9748/files#diff-40658b9e772d1a1141159f5a6bcca4cdc352c021b7855c31f55840eace22e859 |
|
server02.py
| https://github.com/python/cpython/pull/9748/files#diff-16bd572f382bec2b3eb22df670ee6f198b370af420398570ad2eddb2ee519620 |
|
server03.py
| https://github.com/python/cpython/pull/9748/files#diff-a214e994718e39e1507918d6404c59bc7d400f3ef756a18be7347a48baf9cb56 |
|
server04.py
| https://github.com/python/cpython/pull/9748/files#diff-72712cc5de8e3307450d72d0402e868e11c6a4ef44b8a072789f469fb3124a66 |
|
server05.py
| https://github.com/python/cpython/pull/9748/files#diff-d422fe8ca0516116433d6ee5015cf88d9af8e45abf9a4c4ff4a1774a2c01314d |
|
server20.py
| https://github.com/python/cpython/pull/9748/files#diff-cd9184bd737be25405a063418a872fdb9fa66ea4bb76ef39721d6b235aaf3a4d |
|
utils01.py
| https://github.com/python/cpython/pull/9748/files#diff-71ce1c8b192c6a38ca152b18d8821f8833f953471da11c48ae8837a68da434da |
|
utils20.py
| https://github.com/python/cpython/pull/9748/files#diff-dcfa464746a7b74e784394b1678ce715e0117180e438cd922adb643927fd8f3c |
|
what-asyncio.rst
| https://github.com/python/cpython/pull/9748/files#diff-0ffbdd3e3840d19b1b734c893c72a744ddade786b773fca5f4826da53055c2b8 |
|
why-asyncio.rst
| https://github.com/python/cpython/pull/9748/files#diff-b7c56b7fd8f2029ed5e46fa4b9cc978d92457408ba5b23041955361b5a86ee8c |
|
asyncio.rst
| https://github.com/python/cpython/pull/9748/files#diff-7083e2e62a3a95fa47854b65720054c3b1b455877324c54b347133c5e57dbe80 |
|
2019-06-15-14-58-28.bpo-34831.mFkyqe.rst
| https://github.com/python/cpython/pull/9748/files#diff-0b018e96a127e7b3d74c371e6fc39cd5360b0d9f264169c646c0a266e00c0a03 |
| Doc/library/asyncio-tutorial/async-functions.rst | https://github.com/python/cpython/pull/9748/files#diff-1d6f78e9cabdd1900bb4154e0915463e02fbdaf9edc1319f8049e6c02f0ae066 |
|
View file
| https://github.com/cjrh/cpython/blob/953002165123a6451cebaeae9e0841b9274bd6f8/Doc/library/asyncio-tutorial/async-functions.rst |
|
Open in desktop
| https://desktop.github.com |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
| Doc/library/asyncio-tutorial/asyncio-cookbook.rst | https://github.com/python/cpython/pull/9748/files#diff-fb8bb31dd0390ac756d3572775aaca9e440ee98abc1c0c59f850f9a4b2351980 |
|
View file
| https://github.com/cjrh/cpython/blob/953002165123a6451cebaeae9e0841b9274bd6f8/Doc/library/asyncio-tutorial/asyncio-cookbook.rst |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/python/cpython/pull/9748/{{ revealButtonHref }} |
| asvetlov | https://github.com/asvetlov |
| Sep 12, 2019 | https://github.com/python/cpython/pull/9748/files#r323935597 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
| asvetlov | https://github.com/asvetlov |
| Sep 12, 2019 | https://github.com/python/cpython/pull/9748/files#r323937197 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
| asvetlov | https://github.com/asvetlov |
| Sep 12, 2019 | https://github.com/python/cpython/pull/9748/files#r323937336 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
| asvetlov | https://github.com/asvetlov |
| Sep 12, 2019 | https://github.com/python/cpython/pull/9748/files#r323937528 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
| asvetlov | https://github.com/asvetlov |
| Sep 12, 2019 | https://github.com/python/cpython/pull/9748/files#r323938462 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
| Doc/library/asyncio-tutorial/case-study-chat-client-cli.rst | https://github.com/python/cpython/pull/9748/files#diff-aba81d26cfe6f0b3571232d655cd34bd4da1e874a6d268e2225fe7c3c908b1e0 |
|
View file
| https://github.com/cjrh/cpython/blob/953002165123a6451cebaeae9e0841b9274bd6f8/Doc/library/asyncio-tutorial/case-study-chat-client-cli.rst |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/python/cpython/pull/9748/{{ revealButtonHref }} |
| Please reload this page | https://github.com/python/cpython/pull/9748/files |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |