René's URL Explorer Experiment


Title: gh-128384: Use a context variable for warnings.catch_warnings by nascheme · Pull Request #130010 · python/cpython · GitHub

Open Graph Title: gh-128384: Use a context variable for warnings.catch_warnings by nascheme · Pull Request #130010 · python/cpython

X Title: gh-128384: Use a context variable for warnings.catch_warnings by nascheme · Pull Request #130010 · python/cpython

Description: Make warnings.catch_warnings() use a context variable for holding the warning filtering state if the sys.flags.context_aware_warnings flag is set to true. This makes using the context manager thread-safe in multi-threaded programs and safe for asyncio coroutines and tasks. The flag is true by default in free-threaded builds and is otherwise false. The value of the flag can be overridden by the the -X thread_safe_warnings command-line option or by the PYTHON_CONTEXT_AWARE_WARNINGS environment variable. It is expected that one day the flag might default to true for all Python builds, not just the free-threaded one. However, I think it makes sense to not commit to a schedule to do that until we have a better idea of what code is affected by this change. Feedback from people using the free-threaded build should provide guidance. This PR is on top of gh-128209. A previous version of this PR used a single flag to control both behavior of Thread inheriting the context and also the catch_warnings context manager. However, based on some feedback, I've decided that two flags makes things more clear. Likely programs would like to set both flags to true to get the most intuitive behavior. When the context_aware_warnings flag is true and a catch_warnings() context is active, added filters go into a list of filters stored in the contextvar, not the warnings.filters list. The filters in warnings.filters are still applied but they apply after the contextvar filters. That difference with how warnings.filters works is probably the most likely thing to cause broken user code. In the unit tests, I had to change a number of references to warnings.filters to warnings._get_filters(). That function returns the list of filters from the current context or the global filters if there is no context active. Perhaps _get_filters() should become a public function? I think it would be better if examining and manipulating that list was discouraged and so that's why I made the function non-public, at least for now. I created _py_warnings.py to contain the Python implementation for the warnings module. This matches other modules like decimal that have Python and C versions of the same module. In the case of warnings things are a bit more complicated since you can assign to module globals (the filters list or the showwarning() function are common to override). This is a cleaner organization, IMHO. Now warnings.py just imports the parts it needs and the unit tests are a bit simpler. I cleaned up the unit tests for warnings a bit. Passing module to catch_warnings() actually serves no purpose. Since sys.modules['warnings'] is already swapped to the module under test, the code does the right thing even when that parameter is not given. I also replaced calls to original_warnings.catch_warnings() with self.module.catch_warnings(). Both those calls do the same thing but the second spelling seems less confusing to me. Issue: gh-128384 pyperformance comparison 📚 Documentation preview 📚: https://cpython-previews--130010.org.readthedocs.build/

Open Graph Description: Make warnings.catch_warnings() use a context variable for holding the warning filtering state if the sys.flags.context_aware_warnings flag is set to true. This makes using the context manager thre...

X Description: Make warnings.catch_warnings() use a context variable for holding the warning filtering state if the sys.flags.context_aware_warnings flag is set to true. This makes using the context manager thre...

Opengraph URL: https://github.com/python/cpython/pull/130010

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:686075d2-dbd7-8c35-1be9-330abbe69527
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idDB46:268A21:B43EA2:F3C95C:6A5318F9
html-safe-nonce315fa264800f37f6c97834a4d7c186cc4938b47affeaa8c9360d3f7b99137791
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQjQ2OjI2OEEyMTpCNDNFQTI6RjNDOTVDOjZBNTMxOEY5IiwidmlzaXRvcl9pZCI6Ijg5NDYzMzk4MDE4Njg3MzY3NjEiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac88e6b8f04b98c646993bb10eb0bdaef3f0613f6a677398f5acb369f425230255
hovercard-subject-tagpull_request:2329439975
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/python/cpython/pull/130010/files
twitter:imagehttps://avatars.githubusercontent.com/u/690853?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/690853?s=400&v=4
og:image:altMake warnings.catch_warnings() use a context variable for holding the warning filtering state if the sys.flags.context_aware_warnings flag is set to true. This makes using the context manager thre...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
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
release07a982c1d40157c619b364352b704c3ce66bb332
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/130010/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F130010%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%2Fpython%2Fcpython%2Fpull%2F130010%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
Reloadhttps://github.com/python/cpython/pull/130010/files
Reloadhttps://github.com/python/cpython/pull/130010/files
Reloadhttps://github.com/python/cpython/pull/130010/files
Please reload this pagehttps://github.com/python/cpython/pull/130010/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/130010/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 35k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 73.8k 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.3k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality 0 https://github.com/python/cpython/security
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 and quality 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 servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
naschemehttps://github.com/nascheme
python:mainhttps://github.com/python/cpython/tree/main
nascheme:gh-128384-warnings-contextvarhttps://github.com/nascheme/cpython/tree/gh-128384-warnings-contextvar
Conversation 28 https://github.com/python/cpython/pull/130010
Commits 47 https://github.com/python/cpython/pull/130010/commits
Checks 0 https://github.com/python/cpython/pull/130010/checks
Files changed https://github.com/python/cpython/pull/130010/files
Please reload this pagehttps://github.com/python/cpython/pull/130010/files
gh-128384: Use a context variable for warnings.catch_warnings https://github.com/python/cpython/pull/130010/files#top
Show all changes 47 commits https://github.com/python/cpython/pull/130010/files
ba99f2e Make _contextvars a builtin module. nascheme Dec 28, 2024 https://github.com/python/cpython/pull/130010/commits/ba99f2e455f29a5b3bd2f12f85e0b8985ec49bb2
6d00c2a Add 'context' parameter to Thread. nascheme Dec 21, 2024 https://github.com/python/cpython/pull/130010/commits/6d00c2aeec9a0e222d8df6383acde2f707f33bf6
a868fe9 Tweak blurb markup. nascheme Feb 7, 2025 https://github.com/python/cpython/pull/130010/commits/a868fe97356f97f56468d43b3ca23b4b95636f62
16fa2c3 Doc markup fix. nascheme Feb 7, 2025 https://github.com/python/cpython/pull/130010/commits/16fa2c3891e143eca728a84b6942670ff810276d
f0ccc8d Use contextvar for catch_warnings(). nascheme Dec 27, 2024 https://github.com/python/cpython/pull/130010/commits/f0ccc8d21ae6c99ed4d706dcfbbfb4f1a0deca63
bcadd20 Add blurb. nascheme Feb 11, 2025 https://github.com/python/cpython/pull/130010/commits/bcadd20b918e16f730d085b3e550e38ed2a49a6c
0cfe578 Add "_warnings_context" as identifier. nascheme Feb 11, 2025 https://github.com/python/cpython/pull/130010/commits/0cfe578fbf8912b131b0762e7e013ab8bb583869
928c2df Fix test_support for context var filters. nascheme Feb 11, 2025 https://github.com/python/cpython/pull/130010/commits/928c2dfcca6dee85bbfc38ee8a3fa79028c676d5
65751d9 Regenerate 'configure' script. nascheme Feb 11, 2025 https://github.com/python/cpython/pull/130010/commits/65751d9f7c09bcf26b6d1c279f8f039abe4ecc34
09e72b8 Rename flag to `thread_inherit_context`. nascheme Feb 11, 2025 https://github.com/python/cpython/pull/130010/commits/09e72b8d76ec25b1b23477ff7b8beb4218ee26a4
75f1b38 Merge branch 'main' into thread_inherit_context nascheme Feb 11, 2025 https://github.com/python/cpython/pull/130010/commits/75f1b3863dceef3bd21e4a8ab6c515d77ed46057
872920d Regenerate 'configure' script. nascheme Feb 11, 2025 https://github.com/python/cpython/pull/130010/commits/872920d525f3938bd22c623d4e0041f012688aba
5b6b59e Merge branch 'thread_inherit_context' into gh-128384-warnings-contextvar nascheme Feb 11, 2025 https://github.com/python/cpython/pull/130010/commits/5b6b59ed4aa847c15d24859b6233d10c02422644
9e955dc Use separate flag `thread_safe_warnings`. nascheme Feb 12, 2025 https://github.com/python/cpython/pull/130010/commits/9e955dc723d60d1f0d1017781fa098579f83d1bb
3a56c64 Add doc for ``thread_safe_warnings`` flag. nascheme Feb 12, 2025 https://github.com/python/cpython/pull/130010/commits/3a56c64d90f8926d130362a2556a0a4a2e3c7345
daa3d52 Create _py_warnings.py for Python implementation. nascheme Feb 18, 2025 https://github.com/python/cpython/pull/130010/commits/daa3d52245b8ec527425219960933b8474c285f9
83419e4 Add _warnings_context to _warnings module. nascheme Feb 18, 2025 https://github.com/python/cpython/pull/130010/commits/83419e462b9d9e009b17ac4fe3230cec8a779903
15443e8 Remove '_warnings_context' global string. nascheme Feb 18, 2025 https://github.com/python/cpython/pull/130010/commits/15443e826e072d793b165bd6492ce9c28a361437
983e7ee Rename flag to 'context_aware_warnings'. nascheme Feb 18, 2025 https://github.com/python/cpython/pull/130010/commits/983e7ee7272244de3ff8d4e2415ee7e37dccd5a2
e5e660c Use catch_warnings() for module under test. nascheme Feb 18, 2025 https://github.com/python/cpython/pull/130010/commits/e5e660c50ad10b435c62df065e6240a86c0f72b3
e054a57 Don't pass 'module' to catch_warnings(). nascheme Feb 18, 2025 https://github.com/python/cpython/pull/130010/commits/e054a57c20f19b2ac309431b9a3d13fe1774ebb7
2466cec Correct error in warnings module docs. nascheme Feb 19, 2025 https://github.com/python/cpython/pull/130010/commits/2466cec58123ab198aef91f9b42da4c88d0a30b8
165a573 Use PyObject_GetAttr. nascheme Feb 19, 2025 https://github.com/python/cpython/pull/130010/commits/165a57359d6085513ecf95faa2b76c68064553a3
af8728d Typo fix for docstring. nascheme Feb 19, 2025 https://github.com/python/cpython/pull/130010/commits/af8728db16d5ffcc1c4d4995814a0770a1537b52
1c02b7e Avoid DECREF calls on None. nascheme Feb 19, 2025 https://github.com/python/cpython/pull/130010/commits/1c02b7e7f82d7f52d1daee2d9ac8a7b746b2f659
dba89e0 Add warnings.py module (missed in previous commit). nascheme Feb 19, 2025 https://github.com/python/cpython/pull/130010/commits/dba89e0d1a4dd96cfdc07afb58e9d49cbd6495fa
2c48fc5 Add comment about why 'context' is passed in test. nascheme Feb 19, 2025 https://github.com/python/cpython/pull/130010/commits/2c48fc5122522a8aaefa358c1b7e860bc0d268de
53eb72d Revise "decimal' docs, adding note about flag. nascheme Feb 21, 2025 https://github.com/python/cpython/pull/130010/commits/53eb72d5511ab0f6e2cd6c0c8b8ea6c52db45c6b
9cb6f73 Merge branch 'thread_inherit_context' into gh-128384-warnings-contextvar nascheme Feb 21, 2025 https://github.com/python/cpython/pull/130010/commits/9cb6f7354884eddc8febf920c8953b950e3d3c07
f79daaa Fix race in filter_search(). nascheme Feb 25, 2025 https://github.com/python/cpython/pull/130010/commits/f79daaa392c854880ce8af16ee0d0f17503f3a56
5ca1d39 Add note to free-threading howto. nascheme Mar 11, 2025 https://github.com/python/cpython/pull/130010/commits/5ca1d39dc3431c219bc46d875d151dc219d048fd
9420a9d Merge branch 'main' into gh-128384-warnings-contextvar nascheme Mar 11, 2025 https://github.com/python/cpython/pull/130010/commits/9420a9d0fa3a72eb0426b961e441f6f75a26d326
bad0fdb Doc fixes for missing refs. nascheme Mar 12, 2025 https://github.com/python/cpython/pull/130010/commits/bad0fdba3b37d4d491c6b96214aca1a01a13a4e4
bb35c2e Add "_py_warnings" to stdlib_module_names.h. nascheme Mar 12, 2025 https://github.com/python/cpython/pull/130010/commits/bb35c2e5d59e9ad17beaadf557468e70617fad62
adf32cb Improve error text in Python/_warnings.c nascheme Mar 17, 2025 https://github.com/python/cpython/pull/130010/commits/adf32cb66b38d950b63dc633ae81b27c31c4a23c
47d0b6f Avoid unused-variable warning in _warnings.c. nascheme Mar 17, 2025 https://github.com/python/cpython/pull/130010/commits/47d0b6f3d3a0f40e610ac68b4274411fbb110184
b880dd1 Minor code improvement to _warnings.c. nascheme Mar 17, 2025 https://github.com/python/cpython/pull/130010/commits/b880dd1f5923c5480d214d1dea48ac4973909930
5a1115b Merge 'origin/main' into gh-128384-warnings-contextvar nascheme Mar 17, 2025 https://github.com/python/cpython/pull/130010/commits/5a1115bb482a23150d96c00ff8fc532ee1045cbd
ae701e3 Merge branch 'origin/main' into gh-128384-warnings-contextvar nascheme Mar 18, 2025 https://github.com/python/cpython/pull/130010/commits/ae701e3ead9f08fd16f451bc8c121632cbf611f9
153c6b1 Merge 'origin/main' into gh-128384-warnings-contextvar nascheme Mar 26, 2025 https://github.com/python/cpython/pull/130010/commits/153c6b170fa8ca72a252deb1b94559962531d388
9220223 Add extra unit tests. nascheme Mar 27, 2025 https://github.com/python/cpython/pull/130010/commits/9220223ebfc51110a0cddd4a684c3cae9c28a647
c2c90cb Use asyncio events to get deterministic execution. nascheme Mar 27, 2025 https://github.com/python/cpython/pull/130010/commits/c2c90cb5014566120c5ad3a9266139bb6972aa59
c1def22 Merge 'origin/main' into gh-128384-warnings-contextvar nascheme Apr 9, 2025 https://github.com/python/cpython/pull/130010/commits/c1def22818a6770bc27139beb19a657752d48de6
4e461d9 Add unit test for asyncio tasks. nascheme Apr 9, 2025 https://github.com/python/cpython/pull/130010/commits/4e461d9227200014bb0addbaca6c91a6e59da927
543927b Update Doc/howto/free-threading-python.rst nascheme Apr 9, 2025 https://github.com/python/cpython/pull/130010/commits/543927b7b3cb80cb23b06e63f01f6fcc5c926752
4f11910 Use asyncio.gather() rather than create_task(). nascheme Apr 9, 2025 https://github.com/python/cpython/pull/130010/commits/4f1191019a1a1ce6f7a2c77889e7d08373a69493
42d157b Call resetwarnings() in a few places. nascheme Apr 9, 2025 https://github.com/python/cpython/pull/130010/commits/42d157beabc196862b3819941d7ba05f6c73ce72
Clear filters https://github.com/python/cpython/pull/130010/files
Please reload this pagehttps://github.com/python/cpython/pull/130010/files
Please reload this pagehttps://github.com/python/cpython/pull/130010/files
free-threading-python.rst https://github.com/python/cpython/pull/130010/files#diff-99c15b7c040cc25ce8399287cd85d76007c4490165b59bfb590da14abc734ed0
decimal.rst https://github.com/python/cpython/pull/130010/files#diff-d8a17dd951457652b5c434d4da321636c7e6dfc9e42b77c58dd384a38824110a
sys.rst https://github.com/python/cpython/pull/130010/files#diff-26fe9050845b6be0f74760ffe9095874cfe2dfec55c22b18e7dba58f3978a418
threading.rst https://github.com/python/cpython/pull/130010/files#diff-6a424b7e58eb2394ee0335dd6e08ab8d67e7058852fae0f3aa1b40493fa14a64
warnings.rst https://github.com/python/cpython/pull/130010/files#diff-a1bebcbcf4952228ae2da9a070595507107a212259b66cd81fd843adc38f5cc0
cmdline.rst https://github.com/python/cpython/pull/130010/files#diff-5f4de3bbf22aa3cc7412333ded7d7729ae0ac23703551daecac350869768b4ef
initconfig.h https://github.com/python/cpython/pull/130010/files#diff-35a650b0af7753c2aee8a2a7512fe62158d8b7150bf79ebf1c32201b00cc5124
pycore_global_objects_fini_generated.h https://github.com/python/cpython/pull/130010/files#diff-31f682b2a04cda997f449a9816ee5fae305e3bfa7357afcb794615921c6a88d2
pycore_global_strings.h https://github.com/python/cpython/pull/130010/files#diff-7656e411eccd63ff8aab3e11de3f45035665f6b639206d3f440727dfb5e0ebcf
pycore_interp_structs.h https://github.com/python/cpython/pull/130010/files#diff-6075b6142803c1eccc213aa150704fd639443c65311d5999f69a5ea77cb76756
pycore_runtime_init_generated.h https://github.com/python/cpython/pull/130010/files#diff-69a1fc720f0b1e9005cf7717dd81c823399da81dd2f6480664b51238c1ef93f0
pycore_unicodeobject_generated.h https://github.com/python/cpython/pull/130010/files#diff-510f6084b63d39305481b719ae0a29475ba759e259a8e4cee4f07c451ffbb2d6
_py_warnings.py https://github.com/python/cpython/pull/130010/files#diff-b842f439dd72c6160fec74021d37a3ea7fef8e6786d8829512f04518645e1d00
__init__.py https://github.com/python/cpython/pull/130010/files#diff-d925268c057737ba320c489ca302fd5125f14840d22e50cfe226bdb5bb88ba8d
warnings_helper.py https://github.com/python/cpython/pull/130010/files#diff-cd6f328408b75e092c20adb690ff05429dc2e44dfc4860c267af1d1de96e4862
test_config.py https://github.com/python/cpython/pull/130010/files#diff-6d447bbdd654d28c3835f8c580f223ef8a356e6991640720d44969a0fc6b6f9f
test_context.py https://github.com/python/cpython/pull/130010/files#diff-792103db84a1a30161bf2c8d994d0fc5ee17ca7635119249ba520c96d0f238a4
test_decimal.py https://github.com/python/cpython/pull/130010/files#diff-0bf3efdde952043078e322013c2459632397c6a9b312d49e70ae4a9791e2a1d8
test_embed.py https://github.com/python/cpython/pull/130010/files#diff-573be25566e43f5adc6650ad1b58d106dbbd79521cb9c6e6d5df9588616a1ffd
test_races.py https://github.com/python/cpython/pull/130010/files#diff-1e18dbe7edafebe908dbcd077e3d0a15dffcf31397971ecdb445801c6f6b3fa5
test_support.py https://github.com/python/cpython/pull/130010/files#diff-cb42fd26146ec61cb2242243494a9f314667a9a39153ad17e37465ff5a8a8000
test_sys.py https://github.com/python/cpython/pull/130010/files#diff-f3ae0e3fbb12fe0717e2d9d8801f5d9f3091c34254d1302b228422d7d07fdc5d
__init__.py https://github.com/python/cpython/pull/130010/files#diff-21be9e4809f5cd7dcd4665eb0054b4bf9d924c2c9ce0a010e85dba405e94d9e9
threading.py https://github.com/python/cpython/pull/130010/files#diff-b250d3d0e0d909784a67083e9069ce507513a67e8514a011e2f364027e25e0b0
warnings.py https://github.com/python/cpython/pull/130010/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
Makefile.pre.in https://github.com/python/cpython/pull/130010/files#diff-1f0a8db227d22005511b0d90f5339b97db345917b863954b3b3ccb9ec308767c
2025-01-06-10-55-41.gh-issue-128555.tAK_AY.rst https://github.com/python/cpython/pull/130010/files#diff-8bbdce1d68c9c7352171782cb486ceea8db794c4c35aeb6742bb8d3a894416ed
2025-02-11-10-22-11.gh-issue-128384.jyWEkA.rst https://github.com/python/cpython/pull/130010/files#diff-8cc3e36b2e875a8084fe252e9b772f0a63a8dfae82beff38f310ddf1639bb02e
Setup https://github.com/python/cpython/pull/130010/files#diff-54b4e964e44dd7cf194c63f73a4b01d68cc670e72018d895003b48709c7e88db
Setup.stdlib.in https://github.com/python/cpython/pull/130010/files#diff-93b54a98829ea89eaf6335c02f546511f7780d865131407436b10a401ecd375c
config.c.in https://github.com/python/cpython/pull/130010/files#diff-172de381ccdd80b69a8e904eed0683c7979080fe3395f0bdd3cca511dfb9baa4
pythoncore.vcxproj https://github.com/python/cpython/pull/130010/files#diff-4295039788386c2986b811f2a6b59cf088be59822b24b4f1243c9e9b184f65fb
pythoncore.vcxproj.filters https://github.com/python/cpython/pull/130010/files#diff-9e715828befc9c50c8b483b06d4923cda0db44f57d0c20e6a6d428ba60bfa0c5
_contextvars.c https://github.com/python/cpython/pull/130010/files#diff-423ea0723359d0da162e01f28c419c5669bc0ab824496e2a0945207d3d91592a
_warnings.c https://github.com/python/cpython/pull/130010/files#diff-868cb9c3ec7f49459c652319e480e03ee132976b45fbedacb94958f8e0a9ea58
_contextvars.c.h https://github.com/python/cpython/pull/130010/files#diff-aa09e4385ba7cf59177f7f8bf2a43673469b45cfbafe1c6e65ccd3852a5927e9
initconfig.c https://github.com/python/cpython/pull/130010/files#diff-bde30a9f2283aadeea54d703778ec8edf01c71bac3cfe6479035fc13ddc3296b
stdlib_module_names.h https://github.com/python/cpython/pull/130010/files#diff-152e0a1d932d06bae2302482de6c49082b62169699729700d445d4f588504af5
sysmodule.c https://github.com/python/cpython/pull/130010/files#diff-a3a5c73931235f7f344c072dc755d6508e13923db3f5d581c5e88652075871cb
configure https://github.com/python/cpython/pull/130010/files#diff-90d08e583c4c9c6f391b2ae90f819f600a6326928ea9512c9e0c6d98e9f29ac2
configure.ac https://github.com/python/cpython/pull/130010/files#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810
Doc/howto/free-threading-python.rsthttps://github.com/python/cpython/pull/130010/files#diff-99c15b7c040cc25ce8399287cd85d76007c4490165b59bfb590da14abc734ed0
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Doc/howto/free-threading-python.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/130010/{{ revealButtonHref }}
https://github.com/python/cpython/pull/130010/files#diff-99c15b7c040cc25ce8399287cd85d76007c4490165b59bfb590da14abc734ed0
Doc/library/decimal.rsthttps://github.com/python/cpython/pull/130010/files#diff-d8a17dd951457652b5c434d4da321636c7e6dfc9e42b77c58dd384a38824110a
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Doc/library/decimal.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/130010/{{ revealButtonHref }}
https://github.com/python/cpython/pull/130010/files#diff-d8a17dd951457652b5c434d4da321636c7e6dfc9e42b77c58dd384a38824110a
https://github.com/python/cpython/pull/130010/files#diff-d8a17dd951457652b5c434d4da321636c7e6dfc9e42b77c58dd384a38824110a
Doc/library/sys.rsthttps://github.com/python/cpython/pull/130010/files#diff-26fe9050845b6be0f74760ffe9095874cfe2dfec55c22b18e7dba58f3978a418
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Doc/library/sys.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/130010/{{ revealButtonHref }}
https://github.com/python/cpython/pull/130010/files#diff-26fe9050845b6be0f74760ffe9095874cfe2dfec55c22b18e7dba58f3978a418
https://github.com/python/cpython/pull/130010/files#diff-26fe9050845b6be0f74760ffe9095874cfe2dfec55c22b18e7dba58f3978a418
https://github.com/python/cpython/pull/130010/files#diff-26fe9050845b6be0f74760ffe9095874cfe2dfec55c22b18e7dba58f3978a418
https://github.com/python/cpython/pull/130010/files#diff-26fe9050845b6be0f74760ffe9095874cfe2dfec55c22b18e7dba58f3978a418
https://github.com/python/cpython/pull/130010/files#diff-26fe9050845b6be0f74760ffe9095874cfe2dfec55c22b18e7dba58f3978a418
Doc/library/threading.rsthttps://github.com/python/cpython/pull/130010/files#diff-6a424b7e58eb2394ee0335dd6e08ab8d67e7058852fae0f3aa1b40493fa14a64
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Doc/library/threading.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/130010/{{ revealButtonHref }}
https://github.com/python/cpython/pull/130010/files#diff-6a424b7e58eb2394ee0335dd6e08ab8d67e7058852fae0f3aa1b40493fa14a64
https://github.com/python/cpython/pull/130010/files#diff-6a424b7e58eb2394ee0335dd6e08ab8d67e7058852fae0f3aa1b40493fa14a64
https://github.com/python/cpython/pull/130010/files#diff-6a424b7e58eb2394ee0335dd6e08ab8d67e7058852fae0f3aa1b40493fa14a64
https://github.com/python/cpython/pull/130010/files#diff-6a424b7e58eb2394ee0335dd6e08ab8d67e7058852fae0f3aa1b40493fa14a64
Doc/library/warnings.rsthttps://github.com/python/cpython/pull/130010/files#diff-a1bebcbcf4952228ae2da9a070595507107a212259b66cd81fd843adc38f5cc0
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Doc/library/warnings.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/130010/{{ revealButtonHref }}
https://github.com/python/cpython/pull/130010/files#diff-a1bebcbcf4952228ae2da9a070595507107a212259b66cd81fd843adc38f5cc0
https://github.com/python/cpython/pull/130010/files#diff-a1bebcbcf4952228ae2da9a070595507107a212259b66cd81fd843adc38f5cc0
https://github.com/python/cpython/pull/130010/files#diff-a1bebcbcf4952228ae2da9a070595507107a212259b66cd81fd843adc38f5cc0
https://github.com/python/cpython/pull/130010/files#diff-a1bebcbcf4952228ae2da9a070595507107a212259b66cd81fd843adc38f5cc0
https://github.com/python/cpython/pull/130010/files#diff-a1bebcbcf4952228ae2da9a070595507107a212259b66cd81fd843adc38f5cc0
Doc/using/cmdline.rsthttps://github.com/python/cpython/pull/130010/files#diff-5f4de3bbf22aa3cc7412333ded7d7729ae0ac23703551daecac350869768b4ef
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Doc/using/cmdline.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/130010/{{ revealButtonHref }}
https://github.com/python/cpython/pull/130010/files#diff-5f4de3bbf22aa3cc7412333ded7d7729ae0ac23703551daecac350869768b4ef
https://github.com/python/cpython/pull/130010/files#diff-5f4de3bbf22aa3cc7412333ded7d7729ae0ac23703551daecac350869768b4ef
https://github.com/python/cpython/pull/130010/files#diff-5f4de3bbf22aa3cc7412333ded7d7729ae0ac23703551daecac350869768b4ef
https://github.com/python/cpython/pull/130010/files#diff-5f4de3bbf22aa3cc7412333ded7d7729ae0ac23703551daecac350869768b4ef
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L281
Include/cpython/initconfig.hhttps://github.com/python/cpython/pull/130010/files#diff-35a650b0af7753c2aee8a2a7512fe62158d8b7150bf79ebf1c32201b00cc5124
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Include/cpython/initconfig.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/130010/{{ revealButtonHref }}
https://github.com/python/cpython/pull/130010/files#diff-35a650b0af7753c2aee8a2a7512fe62158d8b7150bf79ebf1c32201b00cc5124
https://github.com/python/cpython/pull/130010/files#diff-35a650b0af7753c2aee8a2a7512fe62158d8b7150bf79ebf1c32201b00cc5124
Include/internal/pycore_global_objects_fini_generated.hhttps://github.com/python/cpython/pull/130010/files#diff-31f682b2a04cda997f449a9816ee5fae305e3bfa7357afcb794615921c6a88d2
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Include/internal/pycore_global_objects_fini_generated.h
Open in desktop https://desktop.github.com
how customized files appear on GitHubhttps://docs.github.com/github/administering-a-repository/customizing-how-changed-files-appear-on-github
Please reload this pagehttps://github.com/python/cpython/pull/130010/files
Include/internal/pycore_global_strings.hhttps://github.com/python/cpython/pull/130010/files#diff-7656e411eccd63ff8aab3e11de3f45035665f6b639206d3f440727dfb5e0ebcf
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Include/internal/pycore_global_strings.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/130010/{{ revealButtonHref }}
https://github.com/python/cpython/pull/130010/files#diff-7656e411eccd63ff8aab3e11de3f45035665f6b639206d3f440727dfb5e0ebcf
https://github.com/python/cpython/pull/130010/files#diff-7656e411eccd63ff8aab3e11de3f45035665f6b639206d3f440727dfb5e0ebcf
Include/internal/pycore_interp_structs.hhttps://github.com/python/cpython/pull/130010/files#diff-6075b6142803c1eccc213aa150704fd639443c65311d5999f69a5ea77cb76756
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Include/internal/pycore_interp_structs.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/130010/{{ revealButtonHref }}
https://github.com/python/cpython/pull/130010/files#diff-6075b6142803c1eccc213aa150704fd639443c65311d5999f69a5ea77cb76756
https://github.com/python/cpython/pull/130010/files#diff-6075b6142803c1eccc213aa150704fd639443c65311d5999f69a5ea77cb76756
Include/internal/pycore_runtime_init_generated.hhttps://github.com/python/cpython/pull/130010/files#diff-69a1fc720f0b1e9005cf7717dd81c823399da81dd2f6480664b51238c1ef93f0
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Include/internal/pycore_runtime_init_generated.h
Open in desktop https://desktop.github.com
how customized files appear on GitHubhttps://docs.github.com/github/administering-a-repository/customizing-how-changed-files-appear-on-github
Please reload this pagehttps://github.com/python/cpython/pull/130010/files
Include/internal/pycore_unicodeobject_generated.hhttps://github.com/python/cpython/pull/130010/files#diff-510f6084b63d39305481b719ae0a29475ba759e259a8e4cee4f07c451ffbb2d6
View file https://github.com/nascheme/cpython/blob/42d157beabc196862b3819941d7ba05f6c73ce72/Include/internal/pycore_unicodeobject_generated.h
Open in desktop https://desktop.github.com
how customized files appear on GitHubhttps://docs.github.com/github/administering-a-repository/customizing-how-changed-files-appear-on-github
Please reload this pagehttps://github.com/python/cpython/pull/130010/files
Please reload this pagehttps://github.com/python/cpython/pull/130010/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.