René's URL Explorer Experiment


Title: Thoroughly refactor the cases generator by gvanrossum · Pull Request #107151 · python/cpython · GitHub

Open Graph Title: Thoroughly refactor the cases generator by gvanrossum · Pull Request #107151 · python/cpython

X Title: Thoroughly refactor the cases generator by gvanrossum · Pull Request #107151 · python/cpython

Description: This mostly extracts a whole bunch of stuff out of generate_cases.py into separate files, but there are a few other things going on here. analysis.py: Analyzer etc. instructions.py: Instruction etc. flags.py: InstructionFlags, variable_used, variable_used_unspecialized formatting.py: Formatter etc. Rename parser.py to parsing.py, to avoid conflict with stdlib parser.py Blackify most things Fix most mypy errors Remove output filenames from Generator state Fix unit tests The review request is mostly a heads up: if you have pending PRs that affect Tools/cases_generator/, they probably will become a major merge conflict. I can wait for those (making the conflicts my problem) but I need to know about them. Of course if you want to review the changes carefully, be my guest. (Why do this now? I have more changes coming up related to macros with array stack effects, but I'd like to get this out of the way first, so I don't mix refactoring and functionality changes.)

Open Graph Description: This mostly extracts a whole bunch of stuff out of generate_cases.py into separate files, but there are a few other things going on here. analysis.py: Analyzer etc. instructions.py: Instruction et...

X Description: This mostly extracts a whole bunch of stuff out of generate_cases.py into separate files, but there are a few other things going on here. analysis.py: Analyzer etc. instructions.py: Instruction et...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:93e9d84c-efae-3245-cd47-13305f7f287c
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idB46C:DEDFE:27F70D7:34D39AB:696B26CA
html-safe-noncee1ec68bc9608482c2171acf53037c0869c4c96009b846bbed72ebcc63bcc699d
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNDZDOkRFREZFOjI3RjcwRDc6MzREMzlBQjo2OTZCMjZDQSIsInZpc2l0b3JfaWQiOiI3MjQ0NzU3OTgyMjI0ODEwOTgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac2be149d34868bd06ccf1824afe309f7ce54ee47fcfbfcf7f477d37838c275d39
hovercard-subject-tagpull_request:1445727135
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/107151/files
twitter:imagehttps://avatars.githubusercontent.com/u/2894642?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/2894642?s=400&v=4
og:image:altThis mostly extracts a whole bunch of stuff out of generate_cases.py into separate files, but there are a few other things going on here. analysis.py: Analyzer etc. instructions.py: Instruction et...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d
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
release82560a55c6b2054555076f46e683151ee28a19bc
ui-targetcanary-1
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/107151/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F107151%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
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
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
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%2F107151%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/107151/files
Reloadhttps://github.com/python/cpython/pull/107151/files
Reloadhttps://github.com/python/cpython/pull/107151/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/107151/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 pagehttps://github.com/python/cpython/pull/107151/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 servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
gvanrossumhttps://github.com/gvanrossum
python:mainhttps://github.com/python/cpython/tree/main
gvanrossum:refactor-generatorhttps://github.com/gvanrossum/cpython/tree/refactor-generator
Conversation 1 https://github.com/python/cpython/pull/107151
Commits 7 https://github.com/python/cpython/pull/107151/commits
Checks 0 https://github.com/python/cpython/pull/107151/checks
Files changed https://github.com/python/cpython/pull/107151/files
Please reload this pagehttps://github.com/python/cpython/pull/107151/files
Thoroughly refactor the cases generator https://github.com/python/cpython/pull/107151/files#top
Show all changes 7 commits https://github.com/python/cpython/pull/107151/files
361dd47 Extract Formatter etc. into formatting.py; mv pars{er,ing}.py gvanrossum Jul 22, 2023 https://github.com/python/cpython/pull/107151/commits/361dd4772b4c5512d2edf2579247868640d804cd
4bc2c5c Extract InstructionFlags etc. into flags.py gvanrossum Jul 23, 2023 https://github.com/python/cpython/pull/107151/commits/4bc2c5c4ae7bc7cb475a7157ca4ceef6a83e8f2f
1710508 Extract Instruction etc. into instructions.py gvanrossum Jul 23, 2023 https://github.com/python/cpython/pull/107151/commits/17105085359dadaa2bbd69209d1c1df75a4fdf18
4bf48d4 Extract Analyzer (but not Generator) into analysis.py gvanrossum Jul 23, 2023 https://github.com/python/cpython/pull/107151/commits/4bf48d43690a79f8b22617ffbea6e90b5312bfeb
095d37f Blackify what's left of generate_cases.py gvanrossum Jul 23, 2023 https://github.com/python/cpython/pull/107151/commits/095d37fe7e577add69c4a06760a5e92ea20dcee6
2376916 Remove output filenames from Generator state gvanrossum Jul 23, 2023 https://github.com/python/cpython/pull/107151/commits/2376916f1d998a38140a5eec1f1a0edae8153a24
258bb41 Fix test_generated_cases.py gvanrossum Jul 23, 2023 https://github.com/python/cpython/pull/107151/commits/258bb414f66ffa1df046271edb2bab52fc980c07
Clear filters https://github.com/python/cpython/pull/107151/files
Please reload this pagehttps://github.com/python/cpython/pull/107151/files
Please reload this pagehttps://github.com/python/cpython/pull/107151/files
test_generated_cases.py https://github.com/python/cpython/pull/107151/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
analysis.py https://github.com/python/cpython/pull/107151/files#diff-a9a0dece13c75ce8776b91970ed1343a27d5df9fb5ba1491df392314c8001d33
flags.py https://github.com/python/cpython/pull/107151/files#diff-8f4a83e53e72a65969b138b0430e1d84024738f8eca7a763ac235fee4752d82a
formatting.py https://github.com/python/cpython/pull/107151/files#diff-cf2deaa0c85184a56f445612ba589620c7324a15602692e6ac10d25114330a47
generate_cases.py https://github.com/python/cpython/pull/107151/files#diff-65feee563fa44b472b07751184c6f557699f84b3c2ef79174bfd5d538d748272
instructions.py https://github.com/python/cpython/pull/107151/files#diff-ef2161fd2280be95300e250154a3ea32fa213a5908cc09771b5a9eb45a8352db
parsing.py https://github.com/python/cpython/pull/107151/files#diff-7a9f9b83d196f419177f6294b4648cc6fdc928bd191edfaf4d96d4fc12030aca
Lib/test/test_generated_cases.pyhttps://github.com/python/cpython/pull/107151/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
View file https://github.com/gvanrossum/cpython/blob/258bb414f66ffa1df046271edb2bab52fc980c07/Lib/test/test_generated_cases.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/107151/{{ revealButtonHref }}
https://github.com/python/cpython/pull/107151/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
https://github.com/python/cpython/pull/107151/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
https://github.com/python/cpython/pull/107151/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
https://github.com/python/cpython/pull/107151/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
https://github.com/python/cpython/pull/107151/files#diff-9168c63f7de36279d370ea7d6403f554f48e6da75e82b6b70b5a207a11848750
Please reload this pagehttps://github.com/python/cpython/pull/107151/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.