René's URL Explorer Experiment


Title: [MRG+2] MAINT: Refactor the converted-image cache by jkseppan · Pull Request #7764 · matplotlib/matplotlib · GitHub

Open Graph Title: [MRG+2] MAINT: Refactor the converted-image cache by jkseppan · Pull Request #7764 · matplotlib/matplotlib

X Title: [MRG+2] MAINT: Refactor the converted-image cache by jkseppan · Pull Request #7764 · matplotlib/matplotlib

Description: There is a cache of png files keyed by the MD5 hashes of corresponding svg and pdf files, which helps reduce test suite running times for svg and pdf files that stay exactly the same from one run to the next. This patch enables caching of test results, not only expected results, which is only useful if the tests are mostly deterministic (see #7748). It adds reporting of cache misses, which can be helpful in getting tests to stay deterministic, and expiration since the test results are going to change more often than the expected results.

Open Graph Description: There is a cache of png files keyed by the MD5 hashes of corresponding svg and pdf files, which helps reduce test suite running times for svg and pdf files that stay exactly the same from one run t...

X Description: There is a cache of png files keyed by the MD5 hashes of corresponding svg and pdf files, which helps reduce test suite running times for svg and pdf files that stay exactly the same from one run t...

Opengraph URL: https://github.com/matplotlib/matplotlib/pull/7764

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:4974b53f-07fb-98bf-cdb2-a33c283f0d19
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idDB46:2A0FAF:688081:909E53:6A5385DC
html-safe-nonce2743985a9a629da19daf2ceb87c595a0fc4b244cf2527c0c22fd2a6f170df511
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQjQ2OjJBMEZBRjo2ODgwODE6OTA5RTUzOjZBNTM4NURDIiwidmlzaXRvcl9pZCI6IjQwNTE4NzEzNDk5NjYzNDE1OTYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmacc1a0eb722959ea1df8d714af8ec005c9db4291193cc6c59d5afb23130165945f
hovercard-subject-tagpull_request:100584092
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/matplotlib/matplotlib/pull/7764/files
twitter:imagehttps://avatars.githubusercontent.com/u/92814?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/92814?s=400&v=4
og:image:altThere is a cache of png files keyed by the MD5 hashes of corresponding svg and pdf files, which helps reduce test suite running times for svg and pdf files that stay exactly the same from one run t...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git
octolytics-dimension-user_id215947
octolytics-dimension-user_loginmatplotlib
octolytics-dimension-repository_id1385122
octolytics-dimension-repository_nwomatplotlib/matplotlib
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1385122
octolytics-dimension-repository_network_root_nwomatplotlib/matplotlib
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/matplotlib/matplotlib/pull/7764/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F7764%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%2Fmatplotlib%2Fmatplotlib%2Fpull%2F7764%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=matplotlib%2Fmatplotlib
Reloadhttps://github.com/matplotlib/matplotlib/pull/7764/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/7764/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/7764/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/files
matplotlib https://github.com/matplotlib
matplotlibhttps://github.com/matplotlib/matplotlib
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/files
Notifications https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Fork 8.4k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Star 23k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Code https://github.com/matplotlib/matplotlib
Issues 1.1k https://github.com/matplotlib/matplotlib/issues
Pull requests 408 https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality 0 https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Code https://github.com/matplotlib/matplotlib
Issues https://github.com/matplotlib/matplotlib/issues
Pull requests https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
jkseppanhttps://github.com/jkseppan
matplotlib:masterhttps://github.com/matplotlib/matplotlib/tree/master
jkseppan:test-cachinghttps://github.com/jkseppan/matplotlib/tree/test-caching
Conversation 84 https://github.com/matplotlib/matplotlib/pull/7764
Commits 19 https://github.com/matplotlib/matplotlib/pull/7764/commits
Checks 0 https://github.com/matplotlib/matplotlib/pull/7764/checks
Files changed https://github.com/matplotlib/matplotlib/pull/7764/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/files
[MRG+2] MAINT: Refactor the converted-image cache https://github.com/matplotlib/matplotlib/pull/7764/files#top
Show all changes 19 commits https://github.com/matplotlib/matplotlib/pull/7764/files
1b24a16 Factor the converted-image cache out of compare.py jkseppan Jan 7, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/1b24a164c87858d6d3f170662e419f9f54719830
650ddf2 Import cbook again jkseppan Jan 21, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/650ddf28570ebdbcd2337efa1d319f8ed6bed602
3b5f636 Lock the cache directory jkseppan Jan 21, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/3b5f636d0b6f9acaac7fb84fd7e3c647beaae4db
556fd82 Communicate node-specific cache reports to master if using xdist jkseppan Jan 22, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/556fd82eeac1ed8bbc4d6b8bd4e155357124b510
9f5a06d Delete the nose plugin jkseppan Jan 25, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/9f5a06dd2f220de4fc9c3da792680a5846a66e65
33f2528 Reinstate deleted functions jkseppan Jan 25, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/33f2528cf9e68b5adcf5f6a94de54f5e07450c25
2136a26 Make conversion_cache private jkseppan Jan 25, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/2136a264d2eb49a04c9b42940b3011e52af55f0b
6995a27 Make globals private jkseppan Jan 25, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/6995a27107e4f9ff6cff509d4ac398359ad8dccc
9ea66dd Improve wording jkseppan Jan 25, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/9ea66ddf0f97ce30800c6c7081f2ac7d23e14f28
3751f01 mkdirs throws OSError jkseppan Jan 25, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/3751f01f5ca0a10722a07b4664f39fae79bdb954
a70081e Improve documentation in response to review jkseppan Jan 30, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/a70081e982b33485b66057c222365b3c1aa8ef95
85f54de Use pytest facilities jkseppan Jan 30, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/85f54dec1f5f15c4813ac2a15e3aaa5ee82eb300
0d51e03 Simplify gs and inkscape version checking logic jkseppan Jan 30, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/0d51e03b702959ca9235eb200e76c08b18f685dd
9de06c0 pep8 fixes jkseppan Jan 30, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/9de06c0fd03c9b752c93446d7d368eade1d6d459
6007b37 There is no nose plugin any more jkseppan Feb 18, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/6007b378a52319d40581e73500ac41375c158bfa
e52cdd2 Import the pytest hooks in the other conftest.py files jkseppan Feb 20, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/e52cdd21dc14c0f167e345fdb2103946a691c0f0
e5184bb Omit unnecessary tmpdir deletions jkseppan Feb 22, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/e5184bbe8fbfc38beb211ee749fd7d4425f6b40b
f47cbe4 Move pytest_addoption call to top-level conftest.py jkseppan Feb 22, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/f47cbe4314ae001b08a289c9965c427b6b80f7ff
996f22b pep8 fix jkseppan Feb 22, 2017 https://github.com/matplotlib/matplotlib/pull/7764/commits/996f22b90276472257ccd405b35645bfff855f61
Clear filters https://github.com/matplotlib/matplotlib/pull/7764/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/files
conftest.py https://github.com/matplotlib/matplotlib/pull/7764/files#diff-a31c7ed5d35f5ed8233994868c54d625b18e6bacb6794344c4531e62bd9dde59
conftest.py https://github.com/matplotlib/matplotlib/pull/7764/files#diff-19b8354fe53eb77f3564d4b702a12f33e2d41120072f6886171fa0b20d2a0a05
_conversion_cache.py https://github.com/matplotlib/matplotlib/pull/7764/files#diff-e120c9e2d5a3ef0370efa6583afd97f4912447ab8be6fab23b87dab1cc9857e2
compare.py https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
conftest.py https://github.com/matplotlib/matplotlib/pull/7764/files#diff-ab6174d6efb49da4a60aba96b1dfd95ebbabab6fc421f736b210aa46fe19d2f7
decorators.py https://github.com/matplotlib/matplotlib/pull/7764/files#diff-634eb58f2970e77b1feabc7824a5d757378ee8c3174867d1c7a1481a833637f3
conftest.py https://github.com/matplotlib/matplotlib/pull/7764/files#diff-6a716d459fc383c4427100ca78b8e4ed4ec8b750dfb357064e6287f2023a6b0d
test_cache.py https://github.com/matplotlib/matplotlib/pull/7764/files#diff-6bd5b30dcb42a09a949ace0ad6d791020ac41b279580964307ae37fc0bec2be2
conftest.py https://github.com/matplotlib/matplotlib/pull/7764/files#diff-17b6aa1afb5109b1dcea78835ac72050efdf3650e81c578721fc34a13081083d
conftest.pyhttps://github.com/matplotlib/matplotlib/pull/7764/files#diff-a31c7ed5d35f5ed8233994868c54d625b18e6bacb6794344c4531e62bd9dde59
View file https://github.com/jkseppan/matplotlib/blob/996f22b90276472257ccd405b35645bfff855f61/conftest.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/7764/{{ revealButtonHref }}
lib/matplotlib/sphinxext/tests/conftest.pyhttps://github.com/matplotlib/matplotlib/pull/7764/files#diff-19b8354fe53eb77f3564d4b702a12f33e2d41120072f6886171fa0b20d2a0a05
View file https://github.com/jkseppan/matplotlib/blob/996f22b90276472257ccd405b35645bfff855f61/lib/matplotlib/sphinxext/tests/conftest.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/7764/{{ revealButtonHref }}
lib/matplotlib/testing/_conversion_cache.pyhttps://github.com/matplotlib/matplotlib/pull/7764/files#diff-e120c9e2d5a3ef0370efa6583afd97f4912447ab8be6fab23b87dab1cc9857e2
View file https://github.com/jkseppan/matplotlib/blob/996f22b90276472257ccd405b35645bfff855f61/lib/matplotlib/testing/_conversion_cache.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/7764/{{ revealButtonHref }}
NelleVhttps://github.com/NelleV
Jan 26, 2017https://github.com/matplotlib/matplotlib/pull/7764/files#r98114945
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/files
jkseppanhttps://github.com/jkseppan
Jan 30, 2017https://github.com/matplotlib/matplotlib/pull/7764/files#r98475344
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/files
anntzerhttps://github.com/anntzer
Jan 25, 2017https://github.com/matplotlib/matplotlib/pull/7764/files#r97889490
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
#7776 (comment)https://github.com/matplotlib/matplotlib/issues/7776#issuecomment-271475035
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/files
jkseppanhttps://github.com/jkseppan
Jan 26, 2017https://github.com/matplotlib/matplotlib/pull/7764/files#r97930494
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
#7776https://github.com/matplotlib/matplotlib/issues/7776
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/files
anntzerhttps://github.com/anntzer
Jan 25, 2017https://github.com/matplotlib/matplotlib/pull/7764/files#r97891568
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
https://docs.python.org/3.6/library/os.html#os.linkhttps://docs.python.org/3.6/library/os.html#os.link
https://docs.python.org/3.6/library/os.html#os.symlinkhttps://docs.python.org/3.6/library/os.html#os.symlink
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/files
jkseppanhttps://github.com/jkseppan
Jan 26, 2017https://github.com/matplotlib/matplotlib/pull/7764/files#r97930875
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/files
lib/matplotlib/testing/compare.pyhttps://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
View file https://github.com/jkseppan/matplotlib/blob/996f22b90276472257ccd405b35645bfff855f61/lib/matplotlib/testing/compare.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/7764/{{ revealButtonHref }}
https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
https://github.com/matplotlib/matplotlib/pull/7764/files#diff-fd30ddb745e32855148b48bfa1174cd0781f91304c48b8e522965444e79f89d0
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/7764/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.