René's URL Explorer Experiment


Title: bpo-32226: Implementation of PEP 560 (core components) by ilevkivskyi · Pull Request #4732 · python/cpython · GitHub

Open Graph Title: bpo-32226: Implementation of PEP 560 (core components) by ilevkivskyi · Pull Request #4732 · python/cpython

X Title: bpo-32226: Implementation of PEP 560 (core components) by ilevkivskyi · Pull Request #4732 · python/cpython

Description: This is a basic implementation of the PEP. Suggestions are welcome. @gvanrossum @serhiy-storchaka Can one of you (or both?) please review? cc: @markshannon IIRC you are interested in implementation details of this PEP. https://bugs.python.org/issue32226

Open Graph Description: This is a basic implementation of the PEP. Suggestions are welcome. @gvanrossum @serhiy-storchaka Can one of you (or both?) please review? cc: @markshannon IIRC you are interested in implementation...

X Description: This is a basic implementation of the PEP. Suggestions are welcome. @gvanrossum @serhiy-storchaka Can one of you (or both?) please review? cc: @markshannon IIRC you are interested in implementation...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:344060af-e8e3-607f-8ef1-b911804ea6c0
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idDC4E:7AC27:12DEB00:1A1DA64:6A4DE622
html-safe-noncebba98b6a52f4452b45bb2cf9bac6a84e4c719bfa4813a3638f30ddc84d0aac29
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQzRFOjdBQzI3OjEyREVCMDA6MUExREE2NDo2QTRERTYyMiIsInZpc2l0b3JfaWQiOiI2OTY1OTIxODYwNDY3NjgwODAyIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac717ce4f8c6fc2ae27da8e2358767838e35c534eb03f18d2bd31413b4184aea66
hovercard-subject-tagpull_request:156570259
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/4732/files
twitter:imagehttps://avatars.githubusercontent.com/u/12005495?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/12005495?s=400&v=4
og:image:altThis is a basic implementation of the PEP. Suggestions are welcome. @gvanrossum @serhiy-storchaka Can one of you (or both?) please review? cc: @markshannon IIRC you are interested in implementation...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None06b8a6144231bf3a234f1c2e9993861e07ce98a905912b114aa386c2d7e84b33
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
release1d344bdb7547fe6bca17a59bb2b8aac3dc9532a0
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/4732/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F4732%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/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/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/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%2F4732%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/4732/files
Reloadhttps://github.com/python/cpython/pull/4732/files
Reloadhttps://github.com/python/cpython/pull/4732/files
Please reload this pagehttps://github.com/python/cpython/pull/4732/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/4732/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 34.8k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 73.6k 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
ilevkivskyihttps://github.com/ilevkivskyi
python:masterhttps://github.com/python/cpython/tree/master
ilevkivskyi:base-subclasshttps://github.com/ilevkivskyi/cpython/tree/base-subclass
Conversation 50 https://github.com/python/cpython/pull/4732
Commits 40 https://github.com/python/cpython/pull/4732/commits
Checks 0 https://github.com/python/cpython/pull/4732/checks
Files changed https://github.com/python/cpython/pull/4732/files
Please reload this pagehttps://github.com/python/cpython/pull/4732/files
bpo-32226: Implementation of PEP 560 (core components) https://github.com/python/cpython/pull/4732/files#top
Show all changes 40 commits https://github.com/python/cpython/pull/4732/files
26afdc6 POC implementation of __base_subclass__ ilevkivskyi Jul 19, 2017 https://github.com/python/cpython/pull/4732/commits/26afdc6639a8c03113e4fefae1ff7298eeb161df
3285fb6 POC implementation of __class_getitem__ ilevkivskyi Jul 19, 2017 https://github.com/python/cpython/pull/4732/commits/3285fb6898739dfb844412f04d7638136e39d747
779f85d Modify __base_subclass__ API to support dynamic evaluation and base r… ilevkivskyi Jul 20, 2017 https://github.com/python/cpython/pull/4732/commits/779f85dcba319311d788e8aa7e6b87c923bf9935
5d5211d Make __base_subclass__ faster and safer ilevkivskyi Jul 20, 2017 https://github.com/python/cpython/pull/4732/commits/5d5211d9172660913f5b1507183117d837c26ba3
41fa7e9 Factor out base update in a separate helper ilevkivskyi Jul 20, 2017 https://github.com/python/cpython/pull/4732/commits/41fa7e9ce186efb3953ce99d0094f71f38fdc18f
5aeebab Formatting ilevkivskyi Jul 20, 2017 https://github.com/python/cpython/pull/4732/commits/5aeebab8950d5efc3f2c6c36c3e1e7a78e7d146d
e858ea7 Also make __class_getitem__ safer ilevkivskyi Jul 20, 2017 https://github.com/python/cpython/pull/4732/commits/e858ea7501b6bf0ccee2a4afd3104c8b7b6da7bc
5b8d453 Simplify some code ilevkivskyi Jul 21, 2017 https://github.com/python/cpython/pull/4732/commits/5b8d45367b2adb0015c37e7d592f00bba32d973a
b3e52f1 Initial work on typing2 ilevkivskyi Jul 22, 2017 https://github.com/python/cpython/pull/4732/commits/b3e52f12341fb840811cddd03c97e4bfe53ac8fe
6e7b575 Remove test implementation for typing ilevkivskyi Sep 3, 2017 https://github.com/python/cpython/pull/4732/commits/6e7b575273aed0a4c5f181fde1825d82d9924b8d
a8437fa Rename base_subclass to subclass_base Sep 7, 2017 https://github.com/python/cpython/pull/4732/commits/a8437fa175c437cede74aadfd3b60cbf0de3fcd6
c2d8ac2 Start adding tests Sep 7, 2017 https://github.com/python/cpython/pull/4732/commits/c2d8ac2f8dd8c53ba6c655544f10b33b957305cd
bc06c6b Add tests for __subclass_base__ Sep 8, 2017 https://github.com/python/cpython/pull/4732/commits/bc06c6b3fa22d2ec00c672b386ab808579b691bb
86c5d61 Add tests for __class_getitem__ Sep 8, 2017 https://github.com/python/cpython/pull/4732/commits/86c5d615fd1c1660a1325300f3e0199c6a276225
2cef78a Fix trailing whitespace ilevkivskyi Sep 9, 2017 https://github.com/python/cpython/pull/4732/commits/2cef78ae92353ca667730d2a1d7a81f36f9501a9
b9bbf7c Alternative implementation of __class_getitem__ ilevkivskyi Sep 10, 2017 https://github.com/python/cpython/pull/4732/commits/b9bbf7c569027cc9bd16d731683a08ea3838ecde
2495e94 Simplify code and fix reference counting ilevkivskyi Sep 10, 2017 https://github.com/python/cpython/pull/4732/commits/2495e942c7f90ff7b2292ef44ec5d82bf2281619
9ca8dfc Rename __base_subclass__ to __mro_entry__ ilevkivskyi Nov 11, 2017 https://github.com/python/cpython/pull/4732/commits/9ca8dfca2357d5f1556966c23f346b6d609b98c1
74bd36f Add types.resolve_bases ilevkivskyi Nov 11, 2017 https://github.com/python/cpython/pull/4732/commits/74bd36f8a4cbcb4bc822a56dab701c58fe77f2ec
6f20c45 Make Python and C versions as similar as possible ilevkivskyi Nov 11, 2017 https://github.com/python/cpython/pull/4732/commits/6f20c4518bc4220f8f71ca9725e084ddbf976d2b
bcfbcf6 More tests ilevkivskyi Nov 11, 2017 https://github.com/python/cpython/pull/4732/commits/bcfbcf60fc9db8cbf09e1c308aa64bc8126be727
d7bd630 Fail fast in type.__new__ ilevkivskyi Nov 11, 2017 https://github.com/python/cpython/pull/4732/commits/d7bd63080d25ca50fcd1101839dea0202ad7d0c2
29e54c3 Fix a test ilevkivskyi Nov 11, 2017 https://github.com/python/cpython/pull/4732/commits/29e54c334dc00427644db08fdad2a73bcb2dc8bd
cba2a58 Test error message ilevkivskyi Nov 11, 2017 https://github.com/python/cpython/pull/4732/commits/cba2a58f8417fa44993c5a5f6113b6476875cb4f
966a9ea Test error message ilevkivskyi Nov 11, 2017 https://github.com/python/cpython/pull/4732/commits/966a9ea754e38b34a97b55a7e4b7b46d75cccbcd
734c7e9 Test error message ilevkivskyi Nov 11, 2017 https://github.com/python/cpython/pull/4732/commits/734c7e9a79796c6f2f685bde1de188ff0b439446
152d2f6 Allow expansion to multiple bases Nov 13, 2017 https://github.com/python/cpython/pull/4732/commits/152d2f6352d3eb70b3b364d4ee020b1bd126663e
1a218e0 Prohibit returning non-tuple ilevkivskyi Nov 14, 2017 https://github.com/python/cpython/pull/4732/commits/1a218e0c42faa7e8d9b34795dc6e3f2f4ccd5fb0
7cc8d8f Rename to __mro_entries__ ilevkivskyi Nov 14, 2017 https://github.com/python/cpython/pull/4732/commits/7cc8d8ff0b1f54bbb4ecb131098e74afedf95032
57f477c Merge remote-tracking branch 'upstream/master' into base-subclass ilevkivskyi Dec 5, 2017 https://github.com/python/cpython/pull/4732/commits/57f477cebee6eea8403cf4fa820c1e7beaacf862
d0c0889 Add news entry ilevkivskyi Dec 5, 2017 https://github.com/python/cpython/pull/4732/commits/d0c088950096ad7843d976d99142804fc5214314
bfea2f0 Fix indentation and refleak ilevkivskyi Dec 6, 2017 https://github.com/python/cpython/pull/4732/commits/bfea2f02fa3146f76e3b16a1f45fa2111e2e2f21
978588c Address CR (part 1) ilevkivskyi Dec 8, 2017 https://github.com/python/cpython/pull/4732/commits/978588ca1d79ea5941f17c2bc3c71477ca59f979
7bff68d Address CR (part 2) use a temporary tuple instead of modifying args i… ilevkivskyi Dec 8, 2017 https://github.com/python/cpython/pull/4732/commits/7bff68d365889a83eb415d590ef09102a6666ac4
b3d85ff Remove checks for callability of special methods ilevkivskyi Dec 10, 2017 https://github.com/python/cpython/pull/4732/commits/b3d85ff6ebf117ce0008cedb2813da3d1203c4a0
687e1e7 Some simplifications ilevkivskyi Dec 11, 2017 https://github.com/python/cpython/pull/4732/commits/687e1e7ca29134141fcac758dd487384015a0d90
4426e8c More simplifications: use single pass ilevkivskyi Dec 12, 2017 https://github.com/python/cpython/pull/4732/commits/4426e8cfbdf36ed01c1704494fbdde33e052402b
b7d28d8 Some fixes + performance ilevkivskyi Dec 12, 2017 https://github.com/python/cpython/pull/4732/commits/b7d28d839540d5bc3ff095d80b9627e6cb8ec6ff
dce0218 Merge remote-tracking branch 'upstream/master' into base-subclass ilevkivskyi Dec 12, 2017 https://github.com/python/cpython/pull/4732/commits/dce0218b9120c5d62b37976e8f5e64b8661a1f9c
caf9238 Re-organize code and fix formatting Dec 12, 2017 https://github.com/python/cpython/pull/4732/commits/caf923898257a51b2c3c6575c98ae4a1e25738b5
Clear filters https://github.com/python/cpython/pull/4732/files
Please reload this pagehttps://github.com/python/cpython/pull/4732/files
Please reload this pagehttps://github.com/python/cpython/pull/4732/files
test_genericclass.py https://github.com/python/cpython/pull/4732/files#diff-bc4d79d00c71f66527a154e1a23e533790c055d12322f4f20a22c9b93cf0a12b
test_types.py https://github.com/python/cpython/pull/4732/files#diff-d5154ccf7a97612e4a8b06a6f0f48f15554e426e72e698f246d17d3dd8e3a75a
types.py https://github.com/python/cpython/pull/4732/files#diff-14c8ad728bd63143566c2c1e5a85a7b20cebc910278ac9202978e845dc63f215
2017-12-05-21-42-58.bpo-32226.G8fqb6.rst https://github.com/python/cpython/pull/4732/files#diff-0b94d2708f751ef610ecd5c5a0b0b5db2c3b7545dff185eec42f3e87f623f854
abstract.c https://github.com/python/cpython/pull/4732/files#diff-d2c90d06d281ca8dd7ac8b90109fc26755f7319dd209b5f9416efdecfa56e289
typeobject.c https://github.com/python/cpython/pull/4732/files#diff-1decebeef15f4e0b0ce106c665751ec55068d4d1d1825847925ad4f528b5b872
bltinmodule.c https://github.com/python/cpython/pull/4732/files#diff-e4fd8b8ee6a147f86c0719ff122aca6dfca36edbd4812c87892698b3b72e40a1
Lib/test/test_genericclass.pyhttps://github.com/python/cpython/pull/4732/files#diff-bc4d79d00c71f66527a154e1a23e533790c055d12322f4f20a22c9b93cf0a12b
View file https://github.com/ilevkivskyi/cpython/blob/caf923898257a51b2c3c6575c98ae4a1e25738b5/Lib/test/test_genericclass.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/4732/{{ revealButtonHref }}
Lib/test/test_types.pyhttps://github.com/python/cpython/pull/4732/files#diff-d5154ccf7a97612e4a8b06a6f0f48f15554e426e72e698f246d17d3dd8e3a75a
View file https://github.com/ilevkivskyi/cpython/blob/caf923898257a51b2c3c6575c98ae4a1e25738b5/Lib/test/test_types.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/4732/{{ revealButtonHref }}
https://github.com/python/cpython/pull/4732/files#diff-d5154ccf7a97612e4a8b06a6f0f48f15554e426e72e698f246d17d3dd8e3a75a
https://github.com/python/cpython/pull/4732/files#diff-d5154ccf7a97612e4a8b06a6f0f48f15554e426e72e698f246d17d3dd8e3a75a
https://github.com/python/cpython/pull/4732/files#diff-d5154ccf7a97612e4a8b06a6f0f48f15554e426e72e698f246d17d3dd8e3a75a
https://github.com/python/cpython/pull/4732/files#diff-d5154ccf7a97612e4a8b06a6f0f48f15554e426e72e698f246d17d3dd8e3a75a
Lib/types.pyhttps://github.com/python/cpython/pull/4732/files#diff-14c8ad728bd63143566c2c1e5a85a7b20cebc910278ac9202978e845dc63f215
View file https://github.com/ilevkivskyi/cpython/blob/caf923898257a51b2c3c6575c98ae4a1e25738b5/Lib/types.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/4732/{{ revealButtonHref }}
https://github.com/python/cpython/pull/4732/files#diff-14c8ad728bd63143566c2c1e5a85a7b20cebc910278ac9202978e845dc63f215
https://github.com/python/cpython/pull/4732/files#diff-14c8ad728bd63143566c2c1e5a85a7b20cebc910278ac9202978e845dc63f215
Misc/NEWS.d/next/Core and Builtins/2017-12-05-21-42-58.bpo-32226.G8fqb6.rsthttps://github.com/python/cpython/pull/4732/files#diff-0b94d2708f751ef610ecd5c5a0b0b5db2c3b7545dff185eec42f3e87f623f854
View file https://github.com/ilevkivskyi/cpython/blob/caf923898257a51b2c3c6575c98ae4a1e25738b5/Misc/NEWS.d/next/Core%20and%20Builtins/2017-12-05-21-42-58.bpo-32226.G8fqb6.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/4732/{{ revealButtonHref }}
Please reload this pagehttps://github.com/python/cpython/pull/4732/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.