René's URL Explorer Experiment


Title: Python 3.14 free-threaded support by greateggsgreg · Pull Request #2721 · pythonnet/pythonnet · GitHub

Open Graph Title: Python 3.14 free-threaded support by greateggsgreg · Pull Request #2721 · pythonnet/pythonnet

X Title: Python 3.14 free-threaded support by greateggsgreg · Pull Request #2721 · pythonnet/pythonnet

Description: Python for .NET is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and provides a powerful application scripting tool for .NET developers. - Python 3.14 free-threaded support by greateggsgreg · Pull Request #2721 · pythonnet/pythonnet

Open Graph Description: First step toward Python 3.14 free-threaded (Py_GIL_DISABLED) support, tracked under #2720 (and the umbrella #2610). After this PR, pythonnet runs the full pytest suite on python3.14t against both ...

X Description: First step toward Python 3.14 free-threaded (Py_GIL_DISABLED) support, tracked under #2720 (and the umbrella #2610). After this PR, pythonnet runs the full pytest suite on python3.14t against both ...

Opengraph URL: https://github.com/pythonnet/pythonnet/pull/2721

X: @github

direct link

Domain: github.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:11c3dc4e-5854-bbc1-0d71-99be4a996e93
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE282:2D0EDC:25F3A86:37264CC:6A5509C9
html-safe-nonce34d792fe7abd52ca8ab970ecad93d443a465aaa12e043a1a5a2a70242a15a8a1
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMjgyOjJEMEVEQzoyNUYzQTg2OjM3MjY0Q0M6NkE1NTA5QzkiLCJ2aXNpdG9yX2lkIjoiODc1OTYxMzI4MTE3NjcxNzc2OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacf4dc407a2afe9af34aaf16f071f8a1de216c47e3f0825722b7dcb520e7851189
hovercard-subject-tagpull_request:3655997459
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///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/pythonnet/pythonnet/2721/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/5ae4a324fda380dd88967c1ae2cd453e516a5e0f3ac8a0599dac580ec69ea97e/pythonnet/pythonnet/pull/2721
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/5ae4a324fda380dd88967c1ae2cd453e516a5e0f3ac8a0599dac580ec69ea97e/pythonnet/pythonnet/pull/2721
og:image:altFirst step toward Python 3.14 free-threaded (Py_GIL_DISABLED) support, tracked under #2720 (and the umbrella #2610). After this PR, pythonnet runs the full pytest suite on python3.14t against both ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamegreateggsgreg
hostnamegithub.com
expected-hostnamegithub.com
Noneeae2aab99907699a22d2c8449aa683ca74454fca87211b98f7c7b722086b2839
turbo-cache-controlno-cache
go-importgithub.com/pythonnet/pythonnet git https://github.com/pythonnet/pythonnet.git
octolytics-dimension-user_id6050430
octolytics-dimension-user_loginpythonnet
octolytics-dimension-repository_id14748123
octolytics-dimension-repository_nwopythonnet/pythonnet
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id14748123
octolytics-dimension-repository_network_root_nwopythonnet/pythonnet
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release6a35ab858be185cd86d12b93a43bccf34e8d8536
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/pythonnet/pythonnet/pull/2721#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpythonnet%2Fpythonnet%2Fpull%2F2721
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%2Fpythonnet%2Fpythonnet%2Fpull%2F2721
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%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=pythonnet%2Fpythonnet
Reloadhttps://github.com/pythonnet/pythonnet/pull/2721
Reloadhttps://github.com/pythonnet/pythonnet/pull/2721
Reloadhttps://github.com/pythonnet/pythonnet/pull/2721
Please reload this pagehttps://github.com/pythonnet/pythonnet/pull/2721
pythonnet https://github.com/pythonnet
pythonnethttps://github.com/pythonnet/pythonnet
Notifications https://github.com/login?return_to=%2Fpythonnet%2Fpythonnet
Fork 777 https://github.com/login?return_to=%2Fpythonnet%2Fpythonnet
Star 5.5k https://github.com/login?return_to=%2Fpythonnet%2Fpythonnet
Code https://github.com/pythonnet/pythonnet
Issues 151 https://github.com/pythonnet/pythonnet/issues
Pull requests 15 https://github.com/pythonnet/pythonnet/pulls
Discussions https://github.com/pythonnet/pythonnet/discussions
Actions https://github.com/pythonnet/pythonnet/actions
Projects https://github.com/pythonnet/pythonnet/projects
Wiki https://github.com/pythonnet/pythonnet/wiki
Security and quality 0 https://github.com/pythonnet/pythonnet/security
Insights https://github.com/pythonnet/pythonnet/pulse
Code https://github.com/pythonnet/pythonnet
Issues https://github.com/pythonnet/pythonnet/issues
Pull requests https://github.com/pythonnet/pythonnet/pulls
Discussions https://github.com/pythonnet/pythonnet/discussions
Actions https://github.com/pythonnet/pythonnet/actions
Projects https://github.com/pythonnet/pythonnet/projects
Wiki https://github.com/pythonnet/pythonnet/wiki
Security and quality https://github.com/pythonnet/pythonnet/security
Insights https://github.com/pythonnet/pythonnet/pulse
greateggsgreghttps://github.com/greateggsgreg
pythonnet:masterhttps://github.com/pythonnet/pythonnet/tree/master
greateggsgreg:freethreading-prephttps://github.com/greateggsgreg/pythonnet/tree/freethreading-prep
Conversationhttps://github.com/pythonnet/pythonnet/pull/2721
Commits37 (37)https://github.com/pythonnet/pythonnet/pull/2721/commits
Checkshttps://github.com/pythonnet/pythonnet/pull/2721/checks
Files changedhttps://github.com/pythonnet/pythonnet/pull/2721/files
Python 3.14 free-threaded supporthttps://github.com/pythonnet/pythonnet/pull/2721#top
greateggsgreghttps://github.com/greateggsgreg
pythonnet:masterhttps://github.com/pythonnet/pythonnet/tree/master
greateggsgreg:freethreading-prephttps://github.com/greateggsgreg/pythonnet/tree/freethreading-prep
https://github.com/greateggsgreg
greateggsgreghttps://github.com/greateggsgreg
May 9, 2026https://github.com/pythonnet/pythonnet/pull/2721#issue-4413950102
Please reload this pagehttps://github.com/pythonnet/pythonnet/pull/2721
#2720https://github.com/pythonnet/pythonnet/issues/2720
#2610https://github.com/pythonnet/pythonnet/issues/2610
Please reload this pagehttps://github.com/pythonnet/pythonnet/pull/2721
https://github.com/greateggsgreg
greateggsgreghttps://github.com/greateggsgreg
May 9, 2026 https://github.com/pythonnet/pythonnet/pull/2721#ref-issue-4413945700
Python 3.14 free-threaded support #2720 https://github.com/pythonnet/pythonnet/issues/2720
https://github.com/greateggsgreg
greateggsgreghttps://github.com/greateggsgreg
May 10, 2026https://github.com/pythonnet/pythonnet/pull/2721#event-25346516431
https://github.com/greateggsgreg
greateggsgreghttps://github.com/greateggsgreg
force-pushedhttps://github.com/pythonnet/pythonnet/compare/7f2934b6e87b80433ddca0430d78465bc3afd478..275a9f2ac8a2dc5a862c132560595905db1322ac
7f2934bhttps://github.com/pythonnet/pythonnet/commit/7f2934b6e87b80433ddca0430d78465bc3afd478
275a9f2https://github.com/pythonnet/pythonnet/commit/275a9f2ac8a2dc5a862c132560595905db1322ac
Compare https://github.com/pythonnet/pythonnet/compare/7f2934b6e87b80433ddca0430d78465bc3afd478..275a9f2ac8a2dc5a862c132560595905db1322ac
May 10, 2026 13:09https://github.com/pythonnet/pythonnet/pull/2721#event-25353583889
greateggsgreghttps://github.com/greateggsgreg
May 12, 2026 https://github.com/pythonnet/pythonnet/pull/2721#ref-commit-77bb910
https://github.com/greateggsgreg
Auto-detect free-threaded libpython in venv homehttps://github.com/greateggsgreg/pythonnet/commit/77bb910478c75670604bccb78f9fd351314af992
77bb910https://github.com/greateggsgreg/pythonnet/commit/77bb910478c75670604bccb78f9fd351314af992
pythonnet#2721https://github.com/pythonnet/pythonnet/pull/2721
https://github.com/filmor
filmorhttps://github.com/filmor
force-pushedhttps://github.com/pythonnet/pythonnet/compare/77bb910478c75670604bccb78f9fd351314af992..56e2ace2ce8554b7d11855eb1c974b7beaf34cf0
77bb910https://github.com/pythonnet/pythonnet/commit/77bb910478c75670604bccb78f9fd351314af992
56e2acehttps://github.com/pythonnet/pythonnet/commit/56e2ace2ce8554b7d11855eb1c974b7beaf34cf0
Compare https://github.com/pythonnet/pythonnet/compare/77bb910478c75670604bccb78f9fd351314af992..56e2ace2ce8554b7d11855eb1c974b7beaf34cf0
May 12, 2026 20:25https://github.com/pythonnet/pythonnet/pull/2721#event-25449336053
filmorhttps://github.com/filmor
May 12, 2026 https://github.com/pythonnet/pythonnet/pull/2721#ref-commit-56e2ace
https://github.com/greateggsgreg
https://github.com/filmor
Auto-detect free-threaded libpython in venv homehttps://github.com/greateggsgreg/pythonnet/commit/56e2ace2ce8554b7d11855eb1c974b7beaf34cf0
56e2acehttps://github.com/greateggsgreg/pythonnet/commit/56e2ace2ce8554b7d11855eb1c974b7beaf34cf0
pythonnet#2721https://github.com/pythonnet/pythonnet/pull/2721
https://github.com/filmor
filmorhttps://github.com/filmor
May 12, 2026https://github.com/pythonnet/pythonnet/pull/2721#issuecomment-4434510166
Please reload this pagehttps://github.com/pythonnet/pythonnet/pull/2721
greateggsgreghttps://github.com/greateggsgreg
May 15, 2026 22:21https://github.com/pythonnet/pythonnet/pull/2721#commits-pushed-ebd0a95
https://github.com/greateggsgreg
https://github.com/filmor
Thread-safety prep for free-threading buildshttps://github.com/pythonnet/pythonnet/pull/2721/commits/ebd0a95717fb69cb1fa274230b497807a06c8138
ebd0a95https://github.com/pythonnet/pythonnet/pull/2721/commits/ebd0a95717fb69cb1fa274230b497807a06c8138
https://github.com/greateggsgreg
https://github.com/filmor
Initialise pythonnet on free-threaded Python (https://github.com/pythonnet/pythonnet/pull/2721/commits/cf8372ad89d6cdf61829c7bf5142d16dd0cd426c
pythonnet#2720https://github.com/pythonnet/pythonnet/issues/2720
)https://github.com/pythonnet/pythonnet/pull/2721/commits/cf8372ad89d6cdf61829c7bf5142d16dd0cd426c
cf8372ahttps://github.com/pythonnet/pythonnet/pull/2721/commits/cf8372ad89d6cdf61829c7bf5142d16dd0cd426c
https://github.com/greateggsgreg
https://github.com/filmor
Make extension/CLR-object registries thread-safehttps://github.com/pythonnet/pythonnet/pull/2721/commits/441954f7e589554c988ce1f7026115bcc88ad41b
441954fhttps://github.com/pythonnet/pythonnet/pull/2721/commits/441954f7e589554c988ce1f7026115bcc88ad41b
https://github.com/greateggsgreg
https://github.com/filmor
Atomic type creation in ReflectedClrType.GetOrCreate / TypeManager.Ge…https://github.com/pythonnet/pythonnet/pull/2721/commits/19c7f591be318824450ebd89d949d4db99f3f2f5
19c7f59https://github.com/pythonnet/pythonnet/pull/2721/commits/19c7f591be318824450ebd89d949d4db99f3f2f5
https://github.com/greateggsgreg
https://github.com/filmor
Add free-threaded thread-stress tests and 3.14t to CI matrixhttps://github.com/pythonnet/pythonnet/pull/2721/commits/1029c62c72f4a048d630477e573bbc177142af78
1029c62https://github.com/pythonnet/pythonnet/pull/2721/commits/1029c62c72f4a048d630477e573bbc177142af78
https://github.com/greateggsgreg
https://github.com/filmor
Atomic GCHandle ownership and finalizer-thread shutdown guardshttps://github.com/pythonnet/pythonnet/pull/2721/commits/3158ca5a57de6277296f67604fc0056b915e31b7
3158ca5https://github.com/pythonnet/pythonnet/pull/2721/commits/3158ca5a57de6277296f67604fc0056b915e31b7
https://github.com/greateggsgreg
https://github.com/filmor
Make additional internal registries thread-safehttps://github.com/pythonnet/pythonnet/pull/2721/commits/11492952e27bab10d51919a9c0673e223b16a44d
1149295https://github.com/pythonnet/pythonnet/pull/2721/commits/11492952e27bab10d51919a9c0673e223b16a44d
2f08c98https://github.com/greateggsgreg/pythonnet/commit/2f08c98633cde2f52af43aca72f9e5f268bea797
https://github.com/greateggsgreg
https://github.com/filmor
test_thread: join worker threads before returninghttps://github.com/pythonnet/pythonnet/pull/2721/commits/e8afa853766973f5a2c948cc5dd445a46689b987
e8afa85https://github.com/pythonnet/pythonnet/pull/2721/commits/e8afa853766973f5a2c948cc5dd445a46689b987
https://github.com/greateggsgreg
https://github.com/filmor
test_thread: cover ModuleObject thread-safe registrieshttps://github.com/pythonnet/pythonnet/pull/2721/commits/3954df302a7a01480acfc78406430fddf9c0c3ef
3954df3https://github.com/pythonnet/pythonnet/pull/2721/commits/3954df302a7a01480acfc78406430fddf9c0c3ef
0a9d482https://github.com/greateggsgreg/pythonnet/commit/0a9d482dba393c08a637fe1bea35449b1e8532c5
https://github.com/greateggsgreg
https://github.com/filmor
Wider thread-safety audit fixes for free-threaded Pythonhttps://github.com/pythonnet/pythonnet/pull/2721/commits/28013af87cf80112e872bf95730ff4d6df03fa2b
28013afhttps://github.com/pythonnet/pythonnet/pull/2721/commits/28013af87cf80112e872bf95730ff4d6df03fa2b
a18e872https://github.com/greateggsgreg/pythonnet/commit/a18e8723f270f36d47d0c9574160d5dc7ea861c7
https://github.com/greateggsgreg
https://github.com/filmor
Document lock acquisition sites and strong->weak GCHandle swaphttps://github.com/pythonnet/pythonnet/pull/2721/commits/9a3dd59bb7e0d02ffe476fdebc37c1344804da48
9a3dd59https://github.com/pythonnet/pythonnet/pull/2721/commits/9a3dd59bb7e0d02ffe476fdebc37c1344804da48
https://github.com/greateggsgreg
https://github.com/filmor
Preserve InternString single-write invariant under DEBUGhttps://github.com/pythonnet/pythonnet/pull/2721/commits/cb1dcde69dbbdfa4f1e122ea1f214dda3e7caffd
cb1dcdehttps://github.com/pythonnet/pythonnet/pull/2721/commits/cb1dcde69dbbdfa4f1e122ea1f214dda3e7caffd
0a9d482https://github.com/greateggsgreg/pythonnet/commit/0a9d482dba393c08a637fe1bea35449b1e8532c5
https://github.com/greateggsgreg
https://github.com/filmor
test_thread: cover real-world consumer patternshttps://github.com/pythonnet/pythonnet/pull/2721/commits/74d12f14298d602510b15fc8881f0a626ea41abb
74d12f1https://github.com/pythonnet/pythonnet/pull/2721/commits/74d12f14298d602510b15fc8881f0a626ea41abb
92072bdhttps://github.com/greateggsgreg/pythonnet/commit/92072bdd2047c3fdddbb0edbff173f93e82ac362
pythonnet#2269https://github.com/pythonnet/pythonnet/issues/2269
pythonnet#1407https://github.com/pythonnet/pythonnet/issues/1407
pythonnet#821https://github.com/pythonnet/pythonnet/issues/821
https://github.com/greateggsgreg
https://github.com/filmor
Auto-detect free-threaded libpython in venv homehttps://github.com/pythonnet/pythonnet/pull/2721/commits/a30c84ec7fa70a3d9f6a3c59f6d7f0d67d77dde3
a30c84ehttps://github.com/pythonnet/pythonnet/pull/2721/commits/a30c84ec7fa70a3d9f6a3c59f6d7f0d67d77dde3
pythonnet#2721https://github.com/pythonnet/pythonnet/pull/2721
https://github.com/greateggsgreg
https://github.com/filmor
Snapshot pypath, use ConcurrentDictionary for thunks and slot holdershttps://github.com/pythonnet/pythonnet/pull/2721/commits/be5ba3473218927187d278f2b24877bee3165266
be5ba34https://github.com/pythonnet/pythonnet/pull/2721/commits/be5ba3473218927187d278f2b24877bee3165266
https://github.com/greateggsgreg
https://github.com/filmor
Fix handling of python runtime suffixes m/thttps://github.com/pythonnet/pythonnet/pull/2721/commits/946785e9c09707aa235b04110f9e6fe2f272b258
946785ehttps://github.com/pythonnet/pythonnet/pull/2721/commits/946785e9c09707aa235b04110f9e6fe2f272b258
https://github.com/greateggsgreg
https://github.com/filmor
Fix threadtest racehttps://github.com/pythonnet/pythonnet/pull/2721/commits/77ca4972edbefabec8e76beb56fff09f3e1000e6
77ca497https://github.com/pythonnet/pythonnet/pull/2721/commits/77ca4972edbefabec8e76beb56fff09f3e1000e6
https://github.com/greateggsgreg
https://github.com/filmor
Fix double-free in chained ClassDerived Finalizehttps://github.com/pythonnet/pythonnet/pull/2721/commits/af518bb57bfc5f3eaf0529a20b1f7d716112e8ff
af518bbhttps://github.com/pythonnet/pythonnet/pull/2721/commits/af518bb57bfc5f3eaf0529a20b1f7d716112e8ff
https://github.com/greateggsgreg
https://github.com/filmor
Enable Mono CI jobs on free-threaded Python 3.14https://github.com/pythonnet/pythonnet/pull/2721/commits/ed735ac587ad1847c9a2d90643c31a138f138cb0
ed735achttps://github.com/pythonnet/pythonnet/pull/2721/commits/ed735ac587ad1847c9a2d90643c31a138f138cb0
https://github.com/greateggsgreg
https://github.com/filmor
Inline freethreaded_only as pytest.mark.skipif at call siteshttps://github.com/pythonnet/pythonnet/pull/2721/commits/bd3f0bfef07a01f4b8120b117507fc68ddefc461
bd3f0bfhttps://github.com/pythonnet/pythonnet/pull/2721/commits/bd3f0bfef07a01f4b8120b117507fc68ddefc461
https://github.com/greateggsgreg
https://github.com/filmor
Fix InterruptTest assertion on free-threaded Python 3.14https://github.com/pythonnet/pythonnet/pull/2721/commits/c4688b39676d74442154806b909810aa93461b3d
c4688b3https://github.com/pythonnet/pythonnet/pull/2721/commits/c4688b39676d74442154806b909810aa93461b3d
https://github.com/filmor
filmorhttps://github.com/filmor
force-pushedhttps://github.com/pythonnet/pythonnet/compare/8795938756b156ac614e5c6a7323e03088dc8e37..c4688b39676d74442154806b909810aa93461b3d
8795938https://github.com/pythonnet/pythonnet/commit/8795938756b156ac614e5c6a7323e03088dc8e37
c4688b3https://github.com/pythonnet/pythonnet/commit/c4688b39676d74442154806b909810aa93461b3d
Compare https://github.com/pythonnet/pythonnet/compare/8795938756b156ac614e5c6a7323e03088dc8e37..c4688b39676d74442154806b909810aa93461b3d
May 15, 2026 20:21https://github.com/pythonnet/pythonnet/pull/2721#event-25591833624
https://github.com/greateggsgreg
Add concurrent stress tests for PyBuffer.Dispose and CLR-cycle gc.col…https://github.com/pythonnet/pythonnet/pull/2721/commits/84cd07cebb327ff1a68272adc6e0a61db9c55e3f
84cd07chttps://github.com/pythonnet/pythonnet/pull/2721/commits/84cd07cebb327ff1a68272adc6e0a61db9c55e3f
greateggsgreghttps://github.com/greateggsgreg
May 15, 2026 18:10https://github.com/pythonnet/pythonnet/pull/2721#commits-pushed-d9b658d
https://github.com/greateggsgreg
Trim concurrent overhead on hot paths from free-threading prephttps://github.com/pythonnet/pythonnet/pull/2721/commits/d9b658dc283c3a9a5f291eac06730161d123e1d4
d9b658dhttps://github.com/pythonnet/pythonnet/pull/2721/commits/d9b658dc283c3a9a5f291eac06730161d123e1d4
https://github.com/greateggsgreg
Pre-warm ctor binder in concurrent-gc test to avoid first-call racehttps://github.com/pythonnet/pythonnet/pull/2721/commits/20c51ad560ec5af4dddcf8b1dee5bf25e3cd7161
20c51adhttps://github.com/pythonnet/pythonnet/pull/2721/commits/20c51ad560ec5af4dddcf8b1dee5bf25e3cd7161
https://github.com/greateggsgreg
Make MethodBinder.GetMethods lazy init thread-safe under free-threadinghttps://github.com/pythonnet/pythonnet/pull/2721/commits/f5f8ab0dd32abcbd992a19d86d742aaf012ef3ea
f5f8ab0https://github.com/pythonnet/pythonnet/pull/2721/commits/f5f8ab0dd32abcbd992a19d86d742aaf012ef3ea
https://github.com/greateggsgreg
Precompute method precedence to avoid quadratic GetParameters allocat…https://github.com/pythonnet/pythonnet/pull/2721/commits/c5097ebaf563ccbf0196e5acab30a6a55b1bef7b
c5097ebhttps://github.com/pythonnet/pythonnet/pull/2721/commits/c5097ebaf563ccbf0196e5acab30a6a55b1bef7b
https://github.com/greateggsgreg
Zero the slot in ClassDerived.tp_dealloc when tp_clear already ran to…https://github.com/pythonnet/pythonnet/pull/2721/commits/18e4901b6f329afe4d0a35be86bc702e8c95b46a
18e4901https://github.com/pythonnet/pythonnet/pull/2721/commits/18e4901b6f329afe4d0a35be86bc702e8c95b46a
https://github.com/greateggsgreg
Keep ClassDerived wrapper alive across the NewObjectToPython slot dem…https://github.com/pythonnet/pythonnet/pull/2721/commits/e0569d0f46a05f3c91517867a9fad1d719e35abb
e0569d0https://github.com/pythonnet/pythonnet/pull/2721/commits/e0569d0f46a05f3c91517867a9fad1d719e35abb
https://github.com/greateggsgreg
Document private helpers added during free-threading prephttps://github.com/pythonnet/pythonnet/pull/2721/commits/2c9f861ed2be795a57a861b356a63b44f1c1aae6
2c9f861https://github.com/pythonnet/pythonnet/pull/2721/commits/2c9f861ed2be795a57a861b356a63b44f1c1aae6
https://github.com/greateggsgreg
Add debug echoes and a 6-minute step timeout to the Mono test jobhttps://github.com/pythonnet/pythonnet/pull/2721/commits/ee3add404dbc34ddf6a7d84c7351884a811e6c99
ee3add4https://github.com/pythonnet/pythonnet/pull/2721/commits/ee3add404dbc34ddf6a7d84c7351884a811e6c99
https://github.com/greateggsgreg
Drop the per-loop CLR GC.Collect from concurrent-gc test to avoid Mon…https://github.com/pythonnet/pythonnet/pull/2721/commits/414ce700d6e127e6f769f95105e7bec503614baa
414ce70https://github.com/pythonnet/pythonnet/pull/2721/commits/414ce700d6e127e6f769f95105e7bec503614baa
https://github.com/greateggsgreg
Add temporary Mono-step diagnostics on Linux/macOS to locate the x64-…https://github.com/pythonnet/pythonnet/pull/2721/commits/99a99db0646cc5e81a74074eadeb67d16a9fa99c
99a99dbhttps://github.com/pythonnet/pythonnet/pull/2721/commits/99a99db0646cc5e81a74074eadeb67d16a9fa99c
https://github.com/greateggsgreg
Revert temporary Mono-step diagnostics now that the underlying race i…https://github.com/pythonnet/pythonnet/pull/2721/commits/8e7c2bac47579bcbcc0cdca997ab6d8850424ae0
8e7c2bahttps://github.com/pythonnet/pythonnet/pull/2721/commits/8e7c2bac47579bcbcc0cdca997ab6d8850424ae0
https://github.com/greateggsgreg
Merge branch 'master' into freethreading-prephttps://github.com/pythonnet/pythonnet/pull/2721/commits/f8b69a21cb12c6ac0a01c66c4e1165e7cbaf2afa
f8b69a2https://github.com/pythonnet/pythonnet/pull/2721/commits/f8b69a21cb12c6ac0a01c66c4e1165e7cbaf2afa
https://github.com/greateggsgreg
Add user-facing threading guide covering GIL, free-threading, and com…https://github.com/pythonnet/pythonnet/pull/2721/commits/8f2804ca6498f2d152cf1a3ed864526554220413
8f2804chttps://github.com/pythonnet/pythonnet/pull/2721/commits/8f2804ca6498f2d152cf1a3ed864526554220413
https://github.com/greateggsgreg
Harden CollectBasicObject against .NET-GC timing differenceshttps://github.com/pythonnet/pythonnet/pull/2721/commits/9c369edb84e5d9b110aaa2ab0b2d6eeb7208238a
9c369edhttps://github.com/pythonnet/pythonnet/pull/2721/commits/9c369edb84e5d9b110aaa2ab0b2d6eeb7208238a
https://github.com/greateggsgreg
Merge branch 'master' into freethreading-prephttps://github.com/pythonnet/pythonnet/pull/2721/commits/d1b4daae358028400bfe95a4ef356717f07637a4
d1b4daahttps://github.com/pythonnet/pythonnet/pull/2721/commits/d1b4daae358028400bfe95a4ef356717f07637a4
https://github.co/hiddenchars
https://github.com/pythonnet/pythonnet/pull/{{ revealButtonHref }}
Sign up for freehttps://github.com/join?source=comment-repo
Sign in to commenthttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpythonnet%2Fpythonnet%2Fpull%2F2721
Please reload this pagehttps://github.com/pythonnet/pythonnet/pull/2721
https://github.com/greateggsgreg
https://github.com/filmor
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.