-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
virtualenv with --system-site-packages breaks pip's build isolation #6264
Comments
Per my Bloomberg colleague @lkollar, it seems that the problem is that Looks to me like it's just blacklisting the system packages with |
I'm also seeing this problem, when installing What I don't understand is why I'm seeing this even though I'm using |
I should also mention that I'm not using |
@boegel Can you create a minimal-working example that reproduces this, and include your |
@pganssle Does this suffice? Note that this is a self-built Python 3.7.2 from source, in a custom location, not sure if that's relevant to the problem...
This is on CentOS 7.6.1810, with only
|
I should also mention that |
Looks like your pip (and your setuptools) have been installed as eggs, presumably using |
@pfmoore Same problem when
Works fine when using
|
That indicates you're not picking up setuptools 40.8.0 - see here Try running import setuptools.build_meta
print(setuptools.build_meta.__legacy__) You should get something like Also, the fact that you're using |
@pfmoore if virtualenv inherits the system site package (and that has a setuptoools before 40.8.0) the pip install of the setuptools build dependency is ignored (as pip does not check the version of what is installed unless -U is passed, and says any setuptools satisfies the install requirement); therefore once pip tries to get the build backend the above failure is thrown. I don't think there needs to be anything wrong with system python to fall into this issue. pip should make sure to never-ever create an isolated build environment that inherits from the system site package, which is not the case at the moment. |
Presumably when
Well, the point of However, in this case @boegel is claiming that he has setuptools 40.8.0 installed, and no other setuptools is present. If that's the case, and his setuptools doesn't contain My suspicion is that @boegel is actually mistaken, and there's another copy of setuptools lingering around somewhere, which is getting picked up and is confusing things. The other possibility is that there's a bug somewhere - but if that is the case, then we're currently struggling to reduce the example to something that can easily reproduce/demonstrate that bug.
Well, yes, that's sort of the definition of "isolated" :-) But I'm not sure how relevant that is in this case, where
That's what @pganssle is saying in the original post in this thread, yes. But I'm responding to @boegel, who is claiming that he can reproduce the problem without a virtualenv, using If @boegel's problem turns out to be real, then I don't think it's related to this one (there's too many differences in the steps to reproduce it). So it should probably be a separate issue. But I'd be interested to understand why he thinks it is the same issue... |
Dug a little further, it looks it's indeed a case of a broken First, I should clarify my statement w.r.t. not having another That said, I'm pretty sure the right
Yet:
So I do have This sheds some light on it:
The I got redirect to this issue via pypa/setuptools#1694, which shows the exact same error I'm running into, so I naively assumed it's the same problem. It seems in my case it's indeed because of a corrupted |
No problem, glad we got to the bottom of it! |
Hey, I'm running into this issue as well and I'm thoroughly confused. As a mere user, it looks totally broken with no clear path of understanding how I'm doing anything wrong. |
Well, having said that. I ended up removing the system-wide setuptools package and now local pip doesn't complain. |
I'm encountering the same issue, I think. My organization defaults virtualenvs to In a system-site-packages virtualenv, In a virtualenv with no-site-packages, I think I agree with @gaborbernat that it would be better for "build isolation" to include ignoring |
FTR I'm hitting this with Couldn't figure it out for a while because it was only reproducible in Travis CI which drops you into a virtualenv from the beginning automatically. Had to request debug access to their VMs to nail it down... |
Okay, now I'm hitting this in readthedocs/readthedocs.org#5572 somehow. |
They use explicit |
@pganssle it looks like it's time to remove |
This should help shrink our repository down, since it won't contain a gazillion tweaked and altered files. Full git log is below up to this point. ----------- commit d05df139e4434d0bb90e97599bb06015c05b0893 (HEAD -> main, origin/main, origin/HEAD) Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 23:20:06 2022 -0700 feat(docs): Explain how to use URLs commit 50dbab890e3ed466bd3b36a0938cdb9772050242 (tag: v2.0.3) Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 23:14:56 2022 -0700 feat(pypi): Add long desc commit 95cdeab87e5ec1591ed32123858c3da92979ec7c Merge: 2612ffc 16e4c2d Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 17:57:57 2022 -0700 Merge remote-tracking branch 'origin/main' # Conflicts: # README.md commit 2612ffca401ac1569d0b6c6a060dcb56f95dc70d Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 17:55:12 2022 -0700 feat(docs): Update readme commit 16e4c2db03cb056923e2fa0d450b801b34046644 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 17:55:12 2022 -0700 feat(docs): Update readme commit c4a1d1272bc12d3ef1444b330e436b27b720b32d Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 17:54:59 2022 -0700 fix(cruft): Delete old files commit b8d96d50db0e2c745891259d5df1ae97cd6fcadb (tag: v2.0.2) 02:53:15::mlissner@gabbro::~/Programming/archive/Judge Pics Git Backup (View ↪ git log | cat commit d05df139e4434d0bb90e97599bb06015c05b0893 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 23:20:06 2022 -0700 feat(docs): Explain how to use URLs commit 50dbab890e3ed466bd3b36a0938cdb9772050242 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 23:14:56 2022 -0700 feat(pypi): Add long desc commit 95cdeab87e5ec1591ed32123858c3da92979ec7c Merge: 2612ffc 16e4c2d Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 17:57:57 2022 -0700 Merge remote-tracking branch 'origin/main' # Conflicts: # README.md commit 2612ffca401ac1569d0b6c6a060dcb56f95dc70d Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 17:55:12 2022 -0700 feat(docs): Update readme commit 16e4c2db03cb056923e2fa0d450b801b34046644 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 17:55:12 2022 -0700 feat(docs): Update readme commit c4a1d1272bc12d3ef1444b330e436b27b720b32d Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Apr 21 17:54:59 2022 -0700 fix(cruft): Delete old files commit b8d96d50db0e2c745891259d5df1ae97cd6fcadb Author: William Palin <bill@free.law> Date: Mon Apr 18 16:57:53 2022 -0400 Version bump v2.0.2 commit 2491d57d75f735c4ff5081eba650562d3d813380 Author: William Palin <bill@free.law> Date: Mon Apr 18 16:52:21 2022 -0400 feat(search): Add search by judge name commit 43187483961a544c87d987bdc4976ec9db7be2b0 Author: William Palin <bill@free.law> Date: Tue Apr 12 20:27:12 2022 -0400 fix(workflow): Unwind wrong commit commit b0977447a96d11e8e3dda32ada3a4136ccde8635 Author: William Palin <bill@free.law> Date: Tue Apr 12 20:26:31 2022 -0400 test(workflow): Debug workflow commit f69e6d2a9a1adc643ed4fb061f8d2bb939064059 Author: William Palin <bill@free.law> Date: Sun Apr 10 13:28:02 2022 -0400 fix(search): Fix portrait method commit 16ad9d815b7e329dd6ff87cf986d4acba605816f Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Fri Apr 8 14:52:42 2022 -0700 feat(v): Release new version commit 8aae70901fc54fe1204ba7b2e3fa958cd3dd2bef Merge: 1b8e7f2 9284eb9 Author: Mike Lissner <mlissner@michaeljaylissner.com> Date: Fri Apr 8 14:50:37 2022 -0700 Merge pull request #16 from freelawproject/judge-pics-ii Judge Pics refactor commit 9284eb955f2f5d5ef53d95e31321c156e3e5a16e Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Fri Apr 8 14:48:33 2022 -0700 refactor(update): Split function and clean up strings commit af8a78faaba305c6993527ca946dcaa14075a0fa Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Fri Apr 8 14:48:02 2022 -0700 fix(typing): Convert to enum I read the PEP for Literal. It can't handle anything complicated at all except Enums. commit 85ccf1bb7e1aa96904f0f9ab4438a7c72fe82cb4 Author: William Palin <bill@free.law> Date: Fri Apr 8 16:30:31 2022 -0400 fix(setup.py): Drop photos from pypi release commit 177ec6c9c4c7756170aeb8dbf386073b57c0894a Author: William Palin <bill@free.law> Date: Fri Apr 8 16:25:30 2022 -0400 feat(upload): Add pypi release to upload project commit 15d9b10ef7bbacc69a8ba61a45aa1cfd3f1f68b4 Author: William Palin <bill@free.law> Date: Fri Apr 8 16:24:23 2022 -0400 feat(upload): Add pypi release to upload project commit e1965894a05dadea57c9efb38d8ef6ad11a3baf3 Author: William Palin <bill@free.law> Date: Fri Apr 8 15:39:10 2022 -0400 chore(project): Black commit 7ea39a958ab55880b3441c010f61f8f7798dcd9f Author: William Palin <bill@free.law> Date: Fri Apr 8 15:36:53 2022 -0400 chore(project): Black commit 3e159c30728045ee3680314f630f7b5fa1c9b2dc Author: William Palin <bill@free.law> Date: Fri Apr 8 15:35:47 2022 -0400 feat(project): Update and revamp project Drop different sizes and just store original Upload remainder to portraits repository commit c744b9f9a6ca7c78d1cae74830dd1975d0bb9bcf Author: William Palin <bill@free.law> Date: Fri Apr 8 12:09:52 2022 -0400 feat(tests): Add new test and bump python versions commit 2400fe4674c0a9704cb422dfda2393f6e74daecb Author: William Palin <bill@free.law> Date: Fri Apr 8 12:09:18 2022 -0400 feat(req): Update req commit ad35d20bc784e672291a2086e6328c5a52f6f1e3 Author: William Palin <bill@free.law> Date: Fri Apr 8 12:09:05 2022 -0400 feat(data): Drop non original sizes commit 1b8e7f20619e486822aecdda04ee2aa84d5501ef Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Mon Aug 23 17:05:03 2021 -0700 feat(docs): Update readme with docker notes commit c4ed17a1128961e924cbe8e3ed88af50d18ab0d2 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Aug 19 17:53:05 2021 -0700 Version bump commit 5252ee8fee7ccc6e873e35e915d3b704137d6b19 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu Aug 19 17:49:22 2021 -0700 fix(photo): Update name of file to fix sentry bug commit 695cf96bf9718046bec2a219265cfcaafc1b8379 Author: vvilliam <wpalin@gmail.com> Date: Fri Oct 16 16:30:30 2020 -0400 fix(dockerfile): Update dockerfile to slim versions commit eec437894a1fc8d9b311de2a94005a9a832adf43 Author: vvilliam <wpalin@gmail.com> Date: Fri Oct 16 16:20:41 2020 -0400 fix(dockerfile): Update dockerfile to slim versions commit dbb478b0bbe28e70fad26a0dc7c098ef1e3ad729 Merge: 3e67e26 c630e89 Author: vvilliam <wpalin@gmail.com> Date: Fri Oct 16 14:30:50 2020 -0400 Merge branch 'master' of https://github.com/freelawproject/judge-pics commit 3e67e26e323ab053f32713003788444b1be52c3a Author: vvilliam <wpalin@gmail.com> Date: Fri Oct 16 14:30:23 2020 -0400 Version bump to 1.2.0 commit f734125533c09071c9afd58de9923bff5d6dfc70 Author: vvilliam <wpalin@gmail.com> Date: Fri Oct 16 14:30:09 2020 -0400 feat(dockerfile): Upgrade docker image to py3.8 commit c630e89eadb6b18df42a111eab1443af43374887 Merge: 3bc2ff7 f7f1f7f Author: Mike Lissner <mike@free.law> Date: Wed Oct 7 14:02:41 2020 -0700 Merge pull request #13 from drewsilcock/feature/use-official-black-github-action Feature: Use official Black GitHub Action to check formatting. commit f7f1f7fb23eca413479d209d2b134e509ef5db14 Author: Drew Silcock <drew.silcock@stfc.ac.uk> Date: Wed Oct 7 22:00:00 2020 +0100 feat(CI): Use official Black GitHub Action to check formatting. commit 3bc2ff7b0953e2d21735ca5c3f1f96fe2a0e5faa Author: vvilliam <wpalin@gmail.com> Date: Thu Sep 17 14:01:43 2020 -0400 feat(post_push): Update post_push commit 2366d7ac77c6fbae16923665d4c98faa4eea5662 Author: vvilliam <wpalin@gmail.com> Date: Thu Sep 17 13:45:50 2020 -0400 refactor(vesion.txt): Add version.txt for cleaner versioning commit a5ab4cc4ababfb3f7e8cc2b531161aeb0a381d2d Author: William Palin <flooie@users.noreply.github.com> Date: Wed Sep 9 16:01:14 2020 -0400 feat(post_push): Init post_push Add hook for docker hub commit 621d7e434c4b1738cf5cbc86e72fc542a5ce6866 Author: William Palin <flooie@users.noreply.github.com> Date: Wed Sep 9 16:00:03 2020 -0400 feat(Dockerfile): Init Dockerfile commit 319687f7dd0025010ca41a5dbf914f241c6b7fc7 Merge: b112364 5647155 Author: Mike Lissner <mike@free.law> Date: Thu Aug 27 13:33:30 2020 -0700 Merge pull request #12 from freelawproject/imgbot [ImgBot] Optimize images commit 564715550e9885b62d4ae8e9a0ac9497eba8858f Author: ImgBotApp <ImgBotHelp@gmail.com> Date: Thu Aug 27 20:12:49 2020 +0000 [ImgBot] Optimize images *Total -- 92,296.38kb -> 84,369.10kb (8.59%) /judge_pics/data/orig/durham-robert.jpeg -- 5,052.66kb -> 4,498.76kb (10.96%) /judge_pics/data/orig/phillips-allen.jpeg -- 9,095.57kb -> 8,106.50kb (10.87%) /judge_pics/data/orig/seymour-deana.jpeg -- 8,350.29kb -> 7,547.60kb (9.61%) /judge_pics/data/orig/baker-josh.jpeg -- 6,887.05kb -> 6,225.95kb (9.6%) /judge_pics/data/orig/switzer-kenneth.jpeg -- 4,594.62kb -> 4,162.99kb (9.39%) /judge_pics/data/orig/addington-brian.jpeg -- 5,354.65kb -> 4,852.45kb (9.38%) /judge_pics/data/orig/tipps-dale.jpeg -- 6,417.37kb -> 5,853.38kb (8.79%) /judge_pics/data/orig/johnson-pamela.jpeg -- 6,188.81kb -> 5,648.67kb (8.73%) /judge_pics/data/orig/luttrell-amber.jpeg -- 10,789.61kb -> 9,868.55kb (8.54%) /judge_pics/data/orig/headrick-audrey.jpeg -- 9,280.30kb -> 8,489.81kb (8.52%) /judge_pics/data/orig/lowe-lisa.jpeg -- 9,099.11kb -> 8,349.15kb (8.24%) /judge_pics/data/orig/hensley-david.jpeg -- 104.59kb -> 98.77kb (5.56%) /judge_pics/data/512/wyatt-tom.jpeg -- 112.41kb -> 106.35kb (5.39%) /judge_pics/data/512/godkin-pele.jpeg -- 183.63kb -> 174.23kb (5.12%) /judge_pics/data/512/tipps-dale.jpeg -- 142.35kb -> 135.16kb (5.05%) /judge_pics/data/512/phillips-allen.jpeg -- 111.37kb -> 105.95kb (4.87%) /judge_pics/data/512/baker-josh.jpeg -- 147.16kb -> 140.07kb (4.82%) /judge_pics/data/512/addington-brian.jpeg -- 141.09kb -> 134.33kb (4.79%) /judge_pics/data/512/switzer-kenneth.jpeg -- 143.96kb -> 137.10kb (4.77%) /judge_pics/data/512/durham-robert.jpeg -- 155.05kb -> 147.88kb (4.63%) /judge_pics/data/orig/conner-tim.jpeg -- 119.02kb -> 113.53kb (4.62%) /judge_pics/data/512/seymour-deana.jpeg -- 121.23kb -> 115.66kb (4.59%) /judge_pics/data/256/godkin-pele.jpeg -- 48.02kb -> 45.82kb (4.58%) /judge_pics/data/512/headrick-audrey.jpeg -- 129.50kb -> 123.64kb (4.53%) /judge_pics/data/512/lowe-lisa.jpeg -- 156.16kb -> 149.12kb (4.51%) /judge_pics/data/256/tipps-dale.jpeg -- 38.90kb -> 37.18kb (4.43%) /judge_pics/data/512/johnson-pamela.jpeg -- 145.72kb -> 139.42kb (4.33%) /judge_pics/data/512/luttrell-amber.jpeg -- 143.19kb -> 137.06kb (4.28%) /judge_pics/data/256/wyatt-tom.jpeg -- 31.07kb -> 29.74kb (4.27%) /judge_pics/data/256/addington-brian.jpeg -- 38.80kb -> 37.17kb (4.2%) /judge_pics/data/256/seymour-deana.jpeg -- 35.02kb -> 33.59kb (4.07%) /judge_pics/data/256/baker-josh.jpeg -- 41.12kb -> 39.46kb (4.05%) /judge_pics/data/256/luttrell-amber.jpeg -- 39.66kb -> 38.09kb (3.96%) /judge_pics/data/256/switzer-kenneth.jpeg -- 39.56kb -> 37.99kb (3.96%) /judge_pics/data/256/phillips-allen.jpeg -- 32.14kb -> 30.88kb (3.91%) /judge_pics/data/256/lowe-lisa.jpeg -- 42.60kb -> 41.04kb (3.66%) /judge_pics/data/256/johnson-pamela.jpeg -- 40.03kb -> 38.57kb (3.65%) /judge_pics/data/256/durham-robert.jpeg -- 41.14kb -> 39.66kb (3.6%) /judge_pics/data/256/headrick-audrey.jpeg -- 35.47kb -> 34.20kb (3.59%) /judge_pics/data/orig/wyatt-tom.jpeg -- 8,348.90kb -> 8,050.49kb (3.57%) /judge_pics/data/512/bratton-sam-1888-08-19.jpeg -- 25.19kb -> 24.50kb (2.71%) /judge_pics/data/128/godkin-pele.jpeg -- 14.02kb -> 13.68kb (2.42%) /judge_pics/data/256/nalbandian-john-1969.jpeg -- 17.22kb -> 16.82kb (2.34%) /judge_pics/data/128/tipps-dale.jpeg -- 11.15kb -> 10.92kb (2.02%) /judge_pics/data/128/switzer-kenneth.jpeg -- 11.47kb -> 11.25kb (1.97%) /judge_pics/data/128/seymour-deana.jpeg -- 11.08kb -> 10.87kb (1.93%) /judge_pics/data/256/warrington-john-1844-07-22.jpeg -- 8.42kb -> 8.27kb (1.77%) /judge_pics/data/128/johnson-pamela.jpeg -- 11.92kb -> 11.73kb (1.62%) /judge_pics/data/128/addington-brian.jpeg -- 11.42kb -> 11.25kb (1.54%) /judge_pics/data/128/baker-josh.jpeg -- 12.06kb -> 11.88kb (1.5%) /judge_pics/data/128/lowe-lisa.jpeg -- 12.84kb -> 12.65kb (1.49%) /judge_pics/data/128/luttrell-amber.jpeg -- 12.14kb -> 11.97kb (1.42%) /judge_pics/data/512/warrington-john-1844-07-22.jpeg -- 23.35kb -> 23.04kb (1.35%) /judge_pics/data/256/bratton-sam-1888-08-19.jpeg -- 7.80kb -> 7.70kb (1.3%) /judge_pics/data/512/conner-tim.jpeg -- 23.20kb -> 22.95kb (1.08%) /judge_pics/data/128/durham-robert.jpeg -- 11.42kb -> 11.29kb (1.07%) /judge_pics/data/128/wyatt-tom.jpeg -- 9.72kb -> 9.63kb (0.99%) /judge_pics/data/128/phillips-allen.jpeg -- 10.12kb -> 10.03kb (0.91%) /judge_pics/data/128/headrick-audrey.jpeg -- 10.72kb -> 10.63kb (0.84%) /judge_pics/data/512/hensley-david.jpeg -- 19.45kb -> 19.34kb (0.56%) /judge_pics/data/128/bratton-sam-1888-08-19.jpeg -- 2.76kb -> 2.76kb (0.07%) Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com> commit b112364da8d0e2fed131c1e0a5d8a2819c3f3a71 Author: vvilliam <wpalin@gmail.com> Date: Thu Aug 27 16:09:41 2020 -0400 style(Black Changes): Black updated req. reformat of old files commit 120866b80b42d4c1395dd2b298955c1d6735f2d3 Author: vvilliam <wpalin@gmail.com> Date: Thu Aug 27 16:00:21 2020 -0400 feat(judges.json): Add new TN workers comp judges provided by court commit 9d3860c0823683198e7ea30d3d9923abc0ea050d Author: vvilliam <wpalin@gmail.com> Date: Thu Aug 27 15:49:15 2020 -0400 feat(judges.json): Add TN workers comp judges provided by court commit 5a94bd879edd1a822b26d85fff76f09f75e8e41d Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 23:35:56 2020 -0700 fix(pip): Remove use of pip internals See: - https://github.com/abertschi/postcards/blob/master/setup.py - https://github.com/zdict/zdict/issues/418 - https://github.com/pypa/pip/issues/8188 commit 95749d3809ec18cea5a140d1105b69419afde4ea Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 23:13:08 2020 -0700 fix(build): explicit build-backend workaround pip issue pypa/pip#6264 workaround https://github.com/pypa/setuptools/issues/1694#issuecomment-466010982 see also https://github.com/httplib2/httplib2/commit/cb2940a5046c34b6c3568054e8679ae064da4f72 commit ad450cdca8825f2135655e731b643aaa0d211f31 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 23:05:06 2020 -0700 feat(readme): Add notes about versions commit 7ec31f66b4aa66325f3111f080ce44e41229fd95 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 22:46:52 2020 -0700 feat(ci): Remove travis.yml file commit f31d223b13f2eba3b81b701b1546737637aad29e Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 22:43:46 2020 -0700 fix(py3): lxml doesn't work in py3.7 and above See: https://stackoverflow.com/questions/53402747/how-to-install-lxml4-0-with-python3-7-on-amazon-linux-2 commit 678984e430d055b7871b9625a67fb4faf8d8b36b Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 22:38:35 2020 -0700 fix(py3): Fix import test commit b3da3591d011e48ca5d773de1ce11cb4f5623e5c Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 17:24:26 2020 -0700 fix(ci): Add LXML deps for py 3 commit 5d019823c5d91788aaf04995c0466a6d1ac84f8b Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 17:21:18 2020 -0700 fix(ci): Add LXML deps for py 3 commit ab570db4ef29aedc5d9d956004908970b5d65e58 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 17:15:03 2020 -0700 fix(black): Try this again commit da06e74325d1efea15e40c535f0a81b3d3dc4ac4 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 17:13:54 2020 -0700 feat(reqs): Bump versions commit 8f467f8af21dba022dfd80497b0bc3f04fd0d5b1 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 17:06:19 2020 -0700 Version bump commit 4b192f01d931babd02992b8b8eec3bd474892098 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 17:05:39 2020 -0700 feat(black): Blacken code commit e8816d6975a1d24297c635373b6b25023413a60b Merge: 63842da 5fe9a76 Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 17:09:22 2020 -0700 Merge remote-tracking branch 'origin/master' commit 63842da53e3ca370bf00b1462604a67269bc4c9e Author: Michael Lissner <mlissner@michaeljaylissner.com> Date: Thu May 28 17:02:20 2020 -0700 feat(repo): Add standard Python template files commit 5fe9a76c0959341c9041fa038fb6c81eb7cb8874 Author: Mike Lissner <mike@free.law> Date: Thu May 14 09:43:30 2020 -0700 feat(money): Add sponsorships commit 64be1e844167873f6972a3a5b53645fb3ba5ad3b Merge: 7a31547 170dbba Author: Mike Lissner <mike@free.law> Date: Wed Jan 22 10:21:15 2020 -0800 Merge pull request #9 from freelawproject/imgbot [ImgBot] Optimize images commit 170dbba4b5db29aa2593cc37af88e1728908e195 Author: ImgBotApp <ImgBotHelp@gmail.com> Date: Wed Jan 22 06:50:04 2020 +0000 [ImgBot] Optimize images *Total -- 352,913.13kb -> 330,052.92kb (6.48%) /judge_pics/data/orig/lucas-malcolm-1927-06-21.jpeg -- 38.99kb -> 27.31kb (29.96%) /judge_pics/data/orig/rymer-pamela-1941-01-06.jpeg -- 4.96kb -> 3.51kb (29.2%) /judge_pics/data/orig/jordan-adalberto-1961.jpeg -- 450.27kb -> 320.55kb (28.81%) /judge_pics/data/orig/hendricks-bruce-1957.jpeg -- 851.53kb -> 608.65kb (28.52%) /judge_pics/data/orig/kronstadt-john-1951.jpeg -- 6.07kb -> 4.38kb (27.81%) /judge_pics/data/orig/simon-michael-1956.jpeg -- 5.11kb -> 3.71kb (27.4%) /judge_pics/data/orig/sullivan-richard-1964.jpeg -- 199.81kb -> 145.42kb (27.22%) /judge_pics/data/orig/murguia-mary-1960.jpeg -- 6.00kb -> 4.37kb (27.16%) /judge_pics/data/orig/hernandez-marco-1957.jpeg -- 4.97kb -> 3.62kb (27.13%) /judge_pics/data/orig/huxman-walter-1887-02-16.jpeg -- 15.29kb -> 11.17kb (26.93%) /judge_pics/data/orig/lewis-david-1912-04-25.jpeg -- 16.26kb -> 12.07kb (25.82%) /judge_pics/data/orig/gleason-sharon-1957.jpeg -- 8.79kb -> 6.60kb (24.85%) /judge_pics/data/orig/phillips-orie-1885-11-20.jpeg -- 18.48kb -> 13.91kb (24.74%) /judge_pics/data/orig/doyle-william-1911-02-05.jpeg -- 25.59kb -> 19.27kb (24.69%) /judge_pics/data/orig/rives-alexander-1806-06-17.jpeg -- 50.55kb -> 38.21kb (24.41%) /judge_pics/data/orig/christen-morgan-1961-12-05.jpeg -- 8.43kb -> 6.38kb (24.37%) /judge_pics/data/orig/tunheim-john-1953.jpeg -- 281.46kb -> 214.91kb (23.64%) /judge_pics/data/orig/lane-george-1806.jpeg -- 84.74kb -> 64.91kb (23.39%) /judge_pics/data/orig/pickett-john-1896-09-03.jpeg -- 18.25kb -> 14.00kb (23.3%) /judge_pics/data/orig/fitzgerald-michael-1959.jpeg -- 7.83kb -> 6.01kb (23.26%) /judge_pics/data/orig/rice-thomas-1960.jpeg -- 8.24kb -> 6.33kb (23.14%) /judge_pics/data/orig/christensen-albert-1905-06-09.jpeg -- 21.13kb -> 16.24kb (23.14%) /judge_pics/data/orig/fletcher-betty-1923-03-29.jpeg -- 10.32kb -> 7.99kb (22.58%) /judge_pics/data/orig/cotteral-john-1864-09-26.jpeg -- 19.68kb -> 15.25kb (22.48%) /judge_pics/data/orig/watford-paul-1967.jpeg -- 9.10kb -> 7.11kb (21.87%) /judge_pics/data/orig/daugherty-frederick-1914-08-18.jpeg -- 23.44kb -> 18.35kb (21.74%) /judge_pics/data/orig/callahan-consuelo-1950-06-09.jpeg -- 24.55kb -> 19.23kb (21.67%) /judge_pics/data/orig/bernal-jesus-1963.jpeg -- 8.34kb -> 6.54kb (21.58%) /judge_pics/data/orig/miller-gray-1948.jpeg -- 65.83kb -> 51.69kb (21.47%) /judge_pics/data/orig/baird-lourdes-1935.jpeg -- 16.10kb -> 12.65kb (21.43%) /judge_pics/data/orig/drain-gershwin-1949.jpeg -- 387.22kb -> 304.38kb (21.39%) /judge_pics/data/orig/bea-carlos-1934.jpeg -- 11.42kb -> 8.98kb (21.32%) /judge_pics/data/orig/shea-edward-1942.jpeg -- 7.56kb -> 5.97kb (21.11%) /judge_pics/data/orig/ginsburg-douglas-1946.jpeg -- 155.44kb -> 123.08kb (20.82%) /judge_pics/data/orig/nguyen-jacqueline-1965.jpeg -- 11.00kb -> 8.71kb (20.8%) /judge_pics/data/orig/tashima-atsushi-1934.jpeg -- 16.53kb -> 13.10kb (20.75%) /judge_pics/data/orig/bury-david-1942.jpeg -- 9.32kb -> 7.40kb (20.6%) /judge_pics/data/orig/crow-sam-1926.jpeg -- 10.88kb -> 8.66kb (20.4%) /judge_pics/data/orig/carney-cormac-1959.jpeg -- 13.98kb -> 11.12kb (20.4%) /judge_pics/data/orig/trott-stephen-1939.jpeg -- 16.90kb -> 13.47kb (20.33%) /judge_pics/data/orig/friendly-henry-1903-07-03.jpeg -- 1,051.89kb -> 840.30kb (20.12%) /judge_pics/data/orig/souter-david-1939-09-17.jpeg -- 86.76kb -> 69.50kb (19.89%) /judge_pics/data/orig/blackmun-harry-1908-11-12.jpeg -- 86.13kb -> 69.00kb (19.88%) /judge_pics/data/orig/campbell-david-1952.jpeg -- 9.80kb -> 7.85kb (19.86%) /judge_pics/data/orig/friedman-bernard-1943.jpeg -- 90.27kb -> 72.39kb (19.8%) /judge_pics/data/orig/selna-james-1945.jpeg -- 9.53kb -> 7.65kb (19.75%) /judge_pics/data/orig/martinez-ricardo-1951.jpeg -- 14.07kb -> 11.34kb (19.4%) /judge_pics/data/orig/fischer-dale-1951.jpeg -- 11.45kb -> 9.23kb (19.36%) /judge_pics/data/orig/suko-lonny-1943.jpeg -- 10.13kb -> 8.18kb (19.27%) /judge_pics/data/orig/gaughan-patricia-1953.jpeg -- 327.69kb -> 265.13kb (19.09%) /judge_pics/data/orig/mosman-michael-1956.jpeg -- 16.13kb -> 13.11kb (18.71%) /judge_pics/data/orig/martone-frederick-1943.jpeg -- 11.59kb -> 9.45kb (18.45%) /judge_pics/data/orig/readler-chad-1972.jpeg -- 13.51kb -> 11.02kb (18.44%) /judge_pics/data/orig/murrah-alfred-1904-10-27.jpeg -- 12.94kb -> 10.55kb (18.43%) /judge_pics/data/orig/king-samuel-1916-04-13.jpeg -- 30.82kb -> 25.15kb (18.39%) /judge_pics/data/orig/thapar-amul-1969.jpeg -- 60.71kb -> 49.59kb (18.33%) /judge_pics/data/orig/gilliam-earl-1931-08-17.jpeg -- 15.71kb -> 12.85kb (18.2%) /judge_pics/data/orig/gwin-james-1954.jpeg -- 257.79kb -> 211.53kb (17.94%) /judge_pics/data/orig/hatter-terry-1933.jpeg -- 18.19kb -> 14.95kb (17.82%) /judge_pics/data/orig/nugent-donald-1948.jpeg -- 280.07kb -> 231.08kb (17.49%) /judge_pics/data/orig/paul-john-1839-06-30.jpeg -- 149.25kb -> 123.24kb (17.42%) /judge_pics/data/orig/sherburne-john-1757.jpeg -- 19.02kb -> 15.77kb (17.07%) /judge_pics/data/orig/economus-peter-1943.jpeg -- 16.48kb -> 13.67kb (17.06%) /judge_pics/data/orig/oconnor-earl-1922-10-06.jpeg -- 35.76kb -> 29.67kb (17.05%) /judge_pics/data/orig/hemphill-robert-1915-05-10.jpeg -- 543.62kb -> 453.60kb (16.56%) /judge_pics/data/orig/polster-dan-1951.jpeg -- 176.22kb -> 147.11kb (16.52%) /judge_pics/data/orig/bingham-edward-1828-08-13.jpeg -- 4.81kb -> 4.02kb (16.49%) /judge_pics/data/orig/ritter-willis-1899-01-24.jpeg -- 16.68kb -> 13.98kb (16.18%) /judge_pics/data/orig/sessions-william-1930.jpeg -- 14,492.86kb -> 12,156.66kb (16.12%) /judge_pics/data/orig/graham-james-1939.jpeg -- 107.60kb -> 90.42kb (15.97%) /judge_pics/data/orig/matia-paul-1937.jpeg -- 93.36kb -> 78.66kb (15.75%) /judge_pics/data/orig/sotomayor-sonia-1954.jpeg -- 2,499.61kb -> 2,119.72kb (15.2%) /judge_pics/data/orig/filip-mark-1966.jpeg -- 246.55kb -> 210.20kb (14.74%) /judge_pics/data/orig/friedman-daniel-1916-02-08.jpeg -- 21.50kb -> 18.36kb (14.63%) /judge_pics/data/orig/colloton-steven-1963.jpeg -- 213.03kb -> 181.95kb (14.59%) /judge_pics/data/orig/ginsburg-ruth-2.jpeg -- 3,091.60kb -> 2,643.17kb (14.5%) /judge_pics/data/orig/lay-donald-1926-08-24.jpeg -- 2.67kb -> 2.28kb (14.42%) /judge_pics/data/orig/adamson-william-1854-08-13.jpeg -- 476.24kb -> 407.84kb (14.36%) /judge_pics/data/orig/coxe-alfred-1847-05-20.jpeg -- 35.83kb -> 30.73kb (14.24%) /judge_pics/data/orig/wright-otis-1944.jpeg -- 15.31kb -> 13.17kb (13.97%) /judge_pics/data/orig/illston-susan-1948.jpeg -- 2.67kb -> 2.29kb (13.95%) /judge_pics/data/orig/wu-george-1950.jpeg -- 14.91kb -> 12.85kb (13.83%) /judge_pics/data/orig/pickering-charles-1937.jpeg -- 16.80kb -> 14.48kb (13.82%) /judge_pics/data/orig/zapata-frank-1944.jpeg -- 17.12kb -> 14.76kb (13.77%) /judge_pics/data/orig/staton-josephine-1961.jpeg -- 1,288.86kb -> 1,112.38kb (13.69%) /judge_pics/data/orig/coxe-alfred-1880-05-07.jpeg -- 75.89kb -> 65.58kb (13.58%) /judge_pics/data/orig/wolverton-charles-1851-05-16.jpeg -- 556.32kb -> 481.24kb (13.5%) /judge_pics/data/orig/stotler-alicemarie-1942-05-29.jpeg -- 28.02kb -> 24.25kb (13.45%) /judge_pics/data/orig/cooper-florence-marie-1940-02-09.jpeg -- 14.03kb -> 12.15kb (13.4%) /judge_pics/data/orig/lorenz-myron-1935.jpeg -- 24.69kb -> 21.42kb (13.25%) /judge_pics/data/orig/jones-napoleon-1940-08-25.jpeg -- 13.89kb -> 12.06kb (13.15%) /judge_pics/data/orig/timlin-robert-1932-07-26.jpeg -- 16.52kb -> 14.36kb (13.08%) /judge_pics/data/orig/scalia-antonin-1936-03-11.jpeg -- 2,879.39kb -> 2,504.65kb (13.01%) /judge_pics/data/orig/corcoran-howard-1906-01-25.jpeg -- 7.53kb -> 6.55kb (12.96%) /judge_pics/data/orig/robreno-eduardo-1945.jpeg -- 1,389.44kb -> 1,211.64kb (12.8%) /judge_pics/data/orig/soto-james-1950.jpeg -- 2.81kb -> 2.45kb (12.77%) /judge_pics/data/orig/vadas-nandor.jpeg -- 3.32kb -> 2.89kb (12.75%) /judge_pics/data/orig/boochever-robert-1917-10-02.jpeg -- 796.76kb -> 695.59kb (12.7%) /judge_pics/data/orig/pearson-benita-1963.jpeg -- 57.96kb -> 50.74kb (12.44%) /judge_pics/data/orig/boulware-richard-1968.jpeg -- 2.33kb -> 2.04kb (12.33%) /judge_pics/data/orig/thomas-edward-1848-08-04.jpeg -- 247.94kb -> 217.58kb (12.25%) /judge_pics/data/orig/smith-norman-1949.jpeg -- 11.41kb -> 10.01kb (12.24%) /judge_pics/data/orig/katzmann-robert-1953.jpeg -- 2.47kb -> 2.17kb (12.16%) /judge_pics/data/orig/jones-richard-1950.jpeg -- 12.75kb -> 11.20kb (12.12%) /judge_pics/data/orig/aiken-ann-1951.jpeg -- 2.40kb -> 2.11kb (12.05%) /judge_pics/data/orig/walton-reggie-1949-02-08.jpeg -- 42.97kb -> 37.83kb (11.95%) /judge_pics/data/orig/oliver-solomon-1947.jpeg -- 47.19kb -> 41.56kb (11.93%) /judge_pics/data/orig/tevrizian-dickran-1940.jpeg -- 12.54kb -> 11.04kb (11.92%) /judge_pics/data/orig/whaley-robert-1943.jpeg -- 15.91kb -> 14.02kb (11.9%) /judge_pics/data/orig/nunley-troy-1964.jpeg -- 212.63kb -> 187.41kb (11.86%) /judge_pics/data/orig/brnovich-susan-1968.jpeg -- 1,456.24kb -> 1,283.68kb (11.85%) /judge_pics/data/orig/johnson-sterling-1934.jpeg -- 46.22kb -> 40.81kb (11.69%) /judge_pics/data/orig/letts-fred-1875-04-26.jpeg -- 5.81kb -> 5.14kb (11.66%) /judge_pics/data/orig/king-garr-1936.jpeg -- 21.37kb -> 18.88kb (11.62%) /judge_pics/data/orig/hoffman-ogden-1822-10-16.jpeg -- 90.74kb -> 80.22kb (11.59%) /judge_pics/data/orig/peterson-rosanna-1951.jpeg -- 13.34kb -> 11.80kb (11.54%) /judge_pics/data/orig/takasugi-robert-1930-09-12.jpeg -- 11.90kb -> 10.53kb (11.51%) /judge_pics/data/orig/easterbrook-frank-1948.jpeg -- 3,292.69kb -> 2,914.31kb (11.49%) /judge_pics/data/orig/leon-richard-1949.jpeg -- 42.46kb -> 37.62kb (11.41%) /judge_pics/data/orig/schroeder-mary-1940-12-04.jpeg -- 3,115.66kb -> 2,763.06kb (11.32%) /judge_pics/data/orig/fisher-raymond-1939.jpeg -- 3.08kb -> 2.73kb (11.3%) /judge_pics/data/orig/ritter-halsted-1868-07-14.jpeg -- 170.42kb -> 151.19kb (11.28%) /judge_pics/data/orig/ray-george-1844-02-03.jpeg -- 16.24kb -> 14.41kb (11.27%) /judge_pics/data/orig/fisher-dennis-1944.jpeg -- 11.00kb -> 9.78kb (11.09%) /judge_pics/data/orig/grosscup-peter-1852-02-15.jpeg -- 621.15kb -> 552.41kb (11.07%) /judge_pics/data/orig/gillmor-helen-1942.jpeg -- 19.50kb -> 17.34kb (11.06%) /judge_pics/data/orig/cummings-walter-1916-09-29.jpeg -- 48.27kb -> 42.94kb (11.06%) /judge_pics/data/orig/wellborn-olin-1843-06-18.jpeg -- 227.79kb -> 202.88kb (10.93%) /judge_pics/data/orig/hodges-william-1934.jpeg -- 897.48kb -> 799.36kb (10.93%) /judge_pics/data/orig/blatt-solomon-1921.jpeg -- 67.76kb -> 60.40kb (10.86%) /judge_pics/data/orig/snow-grant-1959-10-20.jpeg -- 35.02kb -> 31.22kb (10.86%) /judge_pics/data/orig/pitman-robert-1962.jpeg -- 44.27kb -> 39.46kb (10.85%) /judge_pics/data/orig/taylor-anna-1932.jpeg -- 4.79kb -> 4.28kb (10.76%) /judge_pics/data/orig/seeborg-richard-1956.jpeg -- 3.46kb -> 3.09kb (10.71%) /judge_pics/data/orig/paul-john-1883-12-09.jpeg -- 21.12kb -> 18.86kb (10.7%) /judge_pics/data/orig/pierce-lawrence-1924.jpeg -- 627.39kb -> 560.38kb (10.68%) /judge_pics/data/orig/edwards-harry-1940.jpeg -- 89.82kb -> 80.23kb (10.68%) /judge_pics/data/orig/robart-james-1947.jpeg -- 7.25kb -> 6.48kb (10.61%) /judge_pics/data/orig/marshall-consuelo-1936.jpeg -- 10.11kb -> 9.04kb (10.61%) /judge_pics/data/orig/goldsmith-mark-1952.jpeg -- 15.94kb -> 14.26kb (10.58%) /judge_pics/data/orig/laws-bolitha-1891-08-22.jpeg -- 6.68kb -> 5.97kb (10.58%) /judge_pics/data/orig/davis-michael-1947.jpeg -- 83.93kb -> 75.06kb (10.58%) /judge_pics/data/orig/carter-gene-1935-11-01.jpeg -- 11.59kb -> 10.37kb (10.56%) /judge_pics/data/orig/gesell-gerhard-1910-06-16.jpeg -- 5.63kb -> 5.04kb (10.55%) /judge_pics/data/orig/tallman-richard-1953.jpeg -- 14.77kb -> 13.21kb (10.54%) /judge_pics/data/orig/mcnamara-abel-1936-06-09.jpeg -- 3.16kb -> 2.83kb (10.52%) /judge_pics/data/orig/murphy-stephen-1962.jpeg -- 40.57kb -> 36.30kb (10.51%) /judge_pics/data/orig/marquez-rosemary-1968.jpeg -- 2.99kb -> 2.68kb (10.42%) /judge_pics/data/orig/fairbank-valerie-1949.jpeg -- 12.19kb -> 10.92kb (10.42%) /judge_pics/data/orig/bastian-stanley-1958.jpeg -- 3.64kb -> 3.26kb (10.39%) /judge_pics/data/orig/fogel-jeremy-1949.jpeg -- 3.58kb -> 3.21kb (10.38%) /judge_pics/data/orig/molloy-donald-1946.jpeg -- 1,549.81kb -> 1,388.97kb (10.38%) /judge_pics/data/orig/goldsborough-thomas-1877-09-16.jpeg -- 5.84kb -> 5.23kb (10.36%) /judge_pics/data/orig/clifton-richard-1950.jpeg -- 66.95kb -> 60.02kb (10.36%) /judge_pics/data/orig/anello-michael-1943.jpeg -- 41.92kb -> 37.62kb (10.27%) /judge_pics/data/orig/kessler-gladys-1938.jpeg -- 35.38kb -> 31.75kb (10.26%) /judge_pics/data/orig/webster-john-1877-02-22.jpeg -- 182.21kb -> 163.52kb (10.26%) /judge_pics/data/orig/white-jeffrey-1945.jpeg -- 3.42kb -> 3.07kb (10.25%) /judge_pics/data/orig/gee-dolly-1959.jpeg -- 7.31kb -> 6.56kb (10.25%) /judge_pics/data/orig/field-richard-1803-12-31.jpeg -- 2.66kb -> 2.39kb (10.23%) /judge_pics/data/orig/gordon-andrew-1962.jpeg -- 2.80kb -> 2.52kb (10.14%) /judge_pics/data/orig/dietrich-frank-1863-01-23.jpeg -- 97.76kb -> 87.88kb (10.11%) /judge_pics/data/orig/zipps-jennifer-1964.jpeg -- 20.59kb -> 18.51kb (10.08%) /judge_pics/data/orig/james-maria-elena.jpeg -- 3.54kb -> 3.19kb (10.06%) /judge_pics/data/orig/keith-damon-1922.jpeg -- 15.96kb -> 14.36kb (10.05%) /judge_pics/data/orig/owens-john-1971.jpeg -- 3.15kb -> 2.83kb (10.05%) /judge_pics/data/orig/hollzer-harry-1880-11-04.jpeg -- 307.36kb -> 276.58kb (10.02%) /judge_pics/data/orig/sanborn-john-1883-11-09.jpeg -- 33.76kb -> 30.39kb (9.97%) /judge_pics/data/orig/lawson-david-1951.jpeg -- 7.72kb -> 6.96kb (9.9%) /judge_pics/data/orig/jordan-kent-1957.jpeg -- 2.86kb -> 2.58kb (9.89%) /judge_pics/data/orig/smith-john-1904-01-25.jpeg -- 22.50kb -> 20.28kb (9.88%) /judge_pics/data/orig/olguin-fernando-1961.jpeg -- 2.87kb -> 2.59kb (9.87%) /judge_pics/data/orig/preyer-lunsford-1919-01-11.jpeg -- 51.86kb -> 46.75kb (9.86%) /judge_pics/data/orig/lanning-william-1849-01-01.jpeg -- 128.49kb -> 115.84kb (9.85%) /judge_pics/data/orig/biddle-francis-1886-05-09.jpeg -- 624.76kb -> 563.39kb (9.82%) /judge_pics/data/orig/johnson-jed-1888-07-31.jpeg -- 45.04kb -> 40.61kb (9.82%) /judge_pics/data/orig/oconnell-beverly-1965.jpeg -- 3.08kb -> 2.78kb (9.82%) /judge_pics/data/orig/wilkins-william-1779-12-20.jpeg -- 164.41kb -> 148.40kb (9.74%) /judge_pics/data/orig/re-edward-1920-10-14.jpeg -- 113.38kb -> 102.36kb (9.72%) /judge_pics/data/orig/boudin-michael-1939.jpeg -- 4,981.71kb -> 4,497.87kb (9.71%) /judge_pics/data/orig/walsh-lawrence-1912-01-08.jpeg -- 12.30kb -> 11.11kb (9.7%) /judge_pics/data/orig/ekwall-william-1887-06-14.jpeg -- 9.54kb -> 8.62kb (9.69%) /judge_pics/data/orig/larson-stephen-1964.jpeg -- 1,337.03kb -> 1,207.51kb (9.69%) /judge_pics/data/orig/reeves-danny-1957.jpeg -- 35.03kb -> 31.65kb (9.64%) /judge_pics/data/orig/gonzalez-irma-1948.jpeg -- 3.41kb -> 3.08kb (9.63%) /judge_pics/data/orig/rudkin-frank-1864-04-23.jpeg -- 20.47kb -> 18.50kb (9.63%) /judge_pics/data/orig/graves-james-1953.jpeg -- 497.82kb -> 450.07kb (9.59%) /judge_pics/data/orig/pechman-marsha-1951.jpeg -- 5.70kb -> 5.16kb (9.59%) /judge_pics/data/orig/kiley-roger-1900-10-23.jpeg -- 123.70kb -> 111.86kb (9.57%) /judge_pics/data/orig/lloyd-howard.jpeg -- 3.78kb -> 3.42kb (9.57%) /judge_pics/data/orig/odonoghue-daniel-1876-10-15.jpeg -- 7.21kb -> 6.53kb (9.52%) /judge_pics/data/orig/jones-nathaniel-1926.jpeg -- 46.81kb -> 42.36kb (9.49%) /judge_pics/data/orig/cohn-avern-1924.jpeg -- 20.95kb -> 18.96kb (9.49%) /judge_pics/data/orig/dorsey-jennifer-1971.jpeg -- 3.21kb -> 2.90kb (9.47%) /judge_pics/data/orig/conti-samuel-1922.jpeg -- 3.69kb -> 3.34kb (9.45%) /judge_pics/data/orig/bashant-cynthia-1960.jpeg -- 3.29kb -> 2.98kb (9.43%) /judge_pics/data/orig/sandoval-brian-1963.jpeg -- 4,306.65kb -> 3,900.40kb (9.43%) /judge_pics/data/orig/wesley-richard-1949-08.jpeg -- 82.73kb -> 74.95kb (9.4%) /judge_pics/data/orig/friedland-michelle-1972.jpeg -- 3.23kb -> 2.93kb (9.4%) /judge_pics/data/orig/rayfiel-leo-1888-03-22.jpeg -- 103.18kb -> 93.49kb (9.39%) /judge_pics/data/orig/clark-charles-1925-09-12.jpeg -- 403.84kb -> 365.99kb (9.37%) /judge_pics/data/orig/thomason-robert-1879-05-30.jpeg -- 20.89kb -> 18.94kb (9.35%) /judge_pics/data/orig/anderson-stephen-1932.jpeg -- 12.71kb -> 11.52kb (9.34%) /judge_pics/data/orig/humphreys-west-1806-08-26.jpeg -- 20.71kb -> 18.78kb (9.32%) /judge_pics/data/orig/bunning-david-1966.jpeg -- 9.25kb -> 8.39kb (9.3%) /judge_pics/data/orig/anderson-percy-1948.jpeg -- 61.58kb -> 55.86kb (9.29%) /judge_pics/data/orig/pray-charles-1868-04-06.jpeg -- 29.17kb -> 26.47kb (9.25%) /judge_pics/data/orig/ware-james-1946.jpeg -- 3.67kb -> 3.33kb (9.22%) /judge_pics/data/orig/adkins-jesse-1879-04-13.jpeg -- 6.33kb -> 5.74kb (9.21%) /judge_pics/data/orig/blake-catherine-1950.jpeg -- 50.38kb -> 45.74kb (9.21%) /judge_pics/data/orig/patel-marilyn-1938.jpeg -- 3.90kb -> 3.54kb (9.2%) /judge_pics/data/orig/wallace-william-1837-04-14.jpeg -- 288.46kb -> 261.94kb (9.19%) /judge_pics/data/orig/jensen-delwen-1928.jpeg -- 3.88kb -> 3.52kb (9.17%) /judge_pics/data/orig/wilken-claudia-1949.jpeg -- 478.01kb -> 434.35kb (9.13%) /judge_pics/data/orig/curran-edward-1903-05-10.jpeg -- 6.31kb -> 5.73kb (9.13%) /judge_pics/data/orig/mendez-john-1955.jpeg -- 7.32kb -> 6.65kb (9.12%) /judge_pics/data/orig/ambro-thomas-1949.jpeg -- 6,967.34kb -> 6,333.10kb (9.1%) /judge_pics/data/orig/teilborg-james-1942.jpeg -- 3.67kb -> 3.34kb (9.06%) /judge_pics/data/orig/jones-paul-1880-11-04.jpeg -- 98.76kb -> 89.81kb (9.06%) /judge_pics/data/orig/damrell-frank-1938.jpeg -- 10.39kb -> 9.45kb (9.03%) /judge_pics/data/orig/proctor-james-1882-09-04.jpeg -- 7.28kb -> 6.62kb (8.99%) /judge_pics/data/orig/wilson-james-1874-06-21.jpeg -- 1,139.44kb -> 1,037.08kb (8.98%) /judge_pics/data/orig/leamy-james-1892-01-16.jpeg -- 4.35kb -> 3.96kb (8.96%) /judge_pics/data/orig/angell-alexis-1857-04-26.jpeg -- 238.42kb -> 217.09kb (8.95%) /judge_pics/data/orig/phipps-peter-1973.jpeg -- 2,728.08kb -> 2,483.99kb (8.95%) /judge_pics/data/orig/buckley-james-1923.jpeg -- 16.95kb -> 15.43kb (8.94%) /judge_pics/data/orig/locke-james-1837-10-30.jpeg -- 190.00kb -> 173.03kb (8.93%) /judge_pics/data/orig/jackson-thomas-1937-01-10.jpeg -- 6.00kb -> 5.47kb (8.93%) /judge_pics/data/orig/tuchi-john-1964.jpeg -- 3.44kb -> 3.13kb (8.93%) /judge_pics/data/orig/whipple-dean-1938.jpeg -- 127.38kb -> 116.02kb (8.92%) /judge_pics/data/orig/hand-augustus-1869-07-26.jpeg -- 85.49kb -> 77.87kb (8.91%) /judge_pics/data/orig/oconnor-sandra-1930-03-26.jpeg -- 1,017.47kb -> 926.89kb (8.9%) /judge_pics/data/orig/wake-neil-1948.jpeg -- 5.19kb -> 4.73kb (8.84%) /judge_pics/data/orig/kirkland-james-1903-02-15.jpeg -- 6.49kb -> 5.92kb (8.81%) /judge_pics/data/orig/revercomb-george-1929-06-03.jpeg -- 6.01kb -> 5.48kb (8.81%) /judge_pics/data/orig/barksdale-alfred-1892-07-17.jpeg -- 33.02kb -> 30.11kb (8.8%) /judge_pics/data/orig/kay-alan-1932.jpeg -- 78.13kb -> 71.26kb (8.79%) /judge_pics/data/orig/browning-james-1918-10-01.jpeg -- 43.38kb -> 39.57kb (8.77%) /judge_pics/data/orig/tamm-edward-1906-04-21.jpeg -- 6.66kb -> 6.07kb (8.77%) /judge_pics/data/orig/jackson-ketanji-1970.jpeg -- 766.58kb -> 699.42kb (8.76%) /judge_pics/data/orig/chesney-maxine-1942.jpeg -- 4.09kb -> 3.73kb (8.74%) /judge_pics/data/orig/piersol-lawrence-1940.jpeg -- 686.79kb -> 626.88kb (8.72%) /judge_pics/data/orig/wiggins-charles-1927-12-03.jpeg -- 14.79kb -> 13.50kb (8.72%) /judge_pics/data/orig/fitzhenry-louis-1870-01-13.jpeg -- 1,338.56kb -> 1,222.10kb (8.7%) /judge_pics/data/orig/rodriguez-joseph-1930.jpeg -- 11.98kb -> 10.94kb (8.7%) /judge_pics/data/orig/robinson-aubrey-1922-03-30.jpeg -- 8.28kb -> 7.56kb (8.69%) /judge_pics/data/orig/snyder-christina-1947.jpeg -- 5.16kb -> 4.71kb (8.65%) /judge_pics/data/orig/jorgenson-cindy-1953.jpeg -- 80.11kb -> 73.19kb (8.63%) /judge_pics/data/orig/dick-shelly-1960.jpeg -- 11.70kb -> 10.69kb (8.62%) /judge_pics/data/orig/wyche-charles-1885-07-07.jpeg -- 685.08kb -> 626.00kb (8.62%) /judge_pics/data/orig/van-sickle-frederick-1943.jpeg -- 31.14kb -> 28.45kb (8.62%) /judge_pics/data/orig/hickenlooper-smith-1880-02-13.jpeg -- 22.00kb -> 20.11kb (8.6%) /judge_pics/data/orig/allen-michael-1949-12-16.jpeg -- 28.45kb -> 26.00kb (8.59%) /judge_pics/data/orig/brady-james-1944.jpeg -- 12.40kb -> 11.34kb (8.58%) /judge_pics/data/orig/bryant-vanessa-1954.jpeg -- 23.62kb -> 21.60kb (8.57%) /judge_pics/data/orig/thacher-thomas-1881-09-10.jpeg -- 5.11kb -> 4.67kb (8.55%) /judge_pics/data/orig/kim-sallie.jpeg -- 227.05kb -> 207.67kb (8.54%) /judge_pics/data/orig/gabriel-richard-1962-03-03.jpeg -- 43.55kb -> 39.85kb (8.5%) /judge_pics/data/orig/martineau-john-1873-12-02.jpeg -- 1,221.50kb -> 1,118.13kb (8.46%) /judge_pics/data/orig/whyte-ronald-1942.jpeg -- 3.93kb -> 3.60kb (8.45%) /judge_pics/data/orig/rogers-henry-1853-10-10.jpeg -- 698.08kb -> 639.17kb (8.44%) /judge_pics/data/orig/vanbebber-george-1931-10-21.jpeg -- 6.98kb -> 6.39kb (8.43%) /judge_pics/data/orig/nalbandian-john-1969.jpeg -- 21.95kb -> 20.10kb (8.43%) /judge_pics/data/orig/ross-john-1878-03-09.jpeg -- 419.73kb -> 384.39kb (8.42%) /judge_pics/data/orig/conkling-alfred-1789-10-12.jpeg -- 225.48kb -> 206.50kb (8.42%) /judge_pics/data/orig/bone-homer-1883-01-25.jpeg -- 13.52kb -> 12.39kb (8.4%) /judge_pics/data/orig/martin-james-1846-09-13.jpeg -- 40.29kb -> 36.91kb (8.39%) /judge_pics/data/orig/mcnary-john-1867-01-31.jpeg -- 90.60kb -> 83.03kb (8.36%) /judge_pics/data/orig/marquez-monica-1969.jpeg -- 137.21kb -> 125.75kb (8.35%) /judge_pics/data/orig/henderson-thelton-1933.jpeg -- 4.02kb -> 3.69kb (8.35%) /judge_pics/data/orig/clark-bennett-1890-01-08.jpeg -- 6,792.58kb -> 6,225.34kb (8.35%) /judge_pics/data/orig/settle-thomas-1831-01-23.jpeg -- 355.29kb -> 325.80kb (8.3%) /judge_pics/data/orig/brasher-andrew-1981.jpeg -- 25.26kb -> 23.17kb (8.28%) /judge_pics/data/orig/singal-george-1945.jpeg -- 9.30kb -> 8.53kb (8.27%) /judge_pics/data/orig/kennedy-henry-1948.jpeg -- 21.94kb -> 20.13kb (8.26%) /judge_pics/data/256/johnson-jed-1888-07-31.jpeg -- 17.73kb -> 16.27kb (8.24%) /judge_pics/data/orig/goff-nathan-1843-02-09.jpeg -- 460.59kb -> 422.65kb (8.24%) /judge_pics/data/orig/clark-chase-1883-08-21.jpeg -- 82.40kb -> 75.62kb (8.24%) /judge_pics/data/orig/albritton-william-1936.jpeg -- 18.72kb -> 17.18kb (8.23%) /judge_pics/data/orig/bastian-walter-1891-11-16.jpeg -- 7.43kb -> 6.82kb (8.23%) /judge_pics/data/orig/alsup-william-1945.jpeg -- 3.94kb -> 3.61kb (8.21%) /judge_pics/data/orig/allen-william-1829-06-09.jpeg -- 795.20kb -> 730.29kb (8.16%) /judge_pics/data/orig/gordon-peyton-1870-04-30.jpeg -- 6.79kb -> 6.24kb (8.13%) /judge_pics/data/orig/walker-john-1940.jpeg -- 3.94kb -> 3.62kb (8.12%) /judge_pics/data/orig/morris-james-1890-11-14.jpeg -- 8.31kb -> 7.63kb (8.12%) /judge_pics/data/orig/wright-daniel-1864-09-24.jpeg -- 7.08kb -> 6.50kb (8.11%) /judge_pics/data/orig/harris-stanley-1927.jpeg -- 7.77kb -> 7.14kb (8.1%) /judge_pics/data/512/christenberry-herbert-1897-12-11.jpeg -- 78.17kb -> 71.84kb (8.1%) /judge_pics/data/orig/huff-marilyn-1951.jpeg -- 5.84kb -> 5.37kb (8.1%) /judge_pics/data/orig/ketchmark-roseann-1963.jpeg -- 2,016.27kb -> 1,853.23kb (8.09%) /judge_pics/data/orig/miller-gale.jpeg -- 29.95kb -> 27.54kb (8.06%) /judge_pics/data/orig/tostrud-eric-1965.jpeg -- 31.30kb -> 28.78kb (8.06%) /judge_pics/data/orig/burgess-franklin-1935-03-09.jpeg -- 6.33kb -> 5.82kb (8.05%) /judge_pics/data/orig/cline-genevieve-1877-07-27.jpeg -- 3,703.14kb -> 3,405.34kb (8.04%) /judge_pics/data/orig/tinder-john-1950.jpeg -- 3.95kb -> 3.63kb (8.04%) /judge_pics/data/orig/mendoza-salvador-1971.jpeg -- 3.46kb -> 3.18kb (8.02%) /judge_pics/data/orig/symes-john-1878-02-10.jpeg -- 6.98kb -> 6.42kb (7.99%) /judge_pics/data/orig/thompson-myron-1947.jpeg -- 37.14kb -> 34.18kb (7.97%) /judge_pics/data/512/takasugi-robert-1930-09-12.jpeg -- 29.99kb -> 27.60kb (7.97%) /judge_pics/data/orig/leventhal-harold-1915-01-05.jpeg -- 622.48kb -> 572.91kb (7.96%) /judge_pics/data/orig/lindsay-sam-1951.jpeg -- 3.86kb -> 3.56kb (7.94%) /judge_pics/data/orig/watkins-william-1951.jpeg -- 39.25kb -> 36.14kb (7.94%) /judge_pics/data/orig/donato-james-1960.jpeg -- 219.77kb -> 202.33kb (7.94%) /judge_pics/data/orig/caldwell-henry-1832-09-04.jpeg -- 21.79kb -> 20.06kb (7.93%) /judge_pics/data/orig/celebrezze-anthony-1910-09-04.jpeg -- 59.92kb -> 55.17kb (7.92%) /judge_pics/data/orig/peters-john-1864-08-13.jpeg -- 482.63kb -> 444.40kb (7.92%) /judge_pics/data/orig/rizley-ross-1892-07-05.jpeg -- 50.80kb -> 46.78kb (7.91%) /judge_pics/data/orig/bolton-susan-1951.jpeg -- 4.91kb -> 4.52kb (7.9%) /judge_pics/data/orig/tigar-jon-1962.jpeg -- 4.99kb -> 4.59kb (7.89%) /judge_pics/data/orig/hawthorne-robert.jpeg -- 59.32kb -> 54.64kb (7.88%) /judge_pics/data/orig/davis-andre-1949.jpeg -- 141.00kb -> 129.91kb (7.87%) /judge_pics/data/orig/duffy-francis-1888-06-23.jpeg -- 274.39kb -> 252.83kb (7.86%) /judge_pics/data/orig/smyth-constantine-1859-12-04.jpeg -- 388.67kb -> 358.13kb (7.86%) /judge_pics/data/orig/wollman-roger-1934-05-29.jpeg -- 2,415.14kb -> 2,225.44kb (7.85%) /judge_pics/data/orig/underwood-mell-1892-01-30.jpeg -- 210.83kb -> 194.28kb (7.85%) /judge_pics/data/orig/pennington-william-1757.jpeg -- 123.44kb -> 113.78kb (7.83%) /judge_pics/data/512/whaley-robert-1943.jpeg -- 47.16kb -> 43.48kb (7.81%) /judge_pics/data/orig/gerrard-john-1953-11-02.jpeg -- 49.25kb -> 45.42kb (7.79%) /judge_pics/data/orig/sherman-charles-1811-02-03.jpeg -- 21.13kb -> 19.48kb (7.79%) /judge_pics/data/orig/mason-john-1799-04-18.jpeg -- 118.51kb -> 109.28kb (7.78%) /judge_pics/data/orig/prentiss-samuel-1782-03-31.jpeg -- 11.19kb -> 10.32kb (7.78%) /judge_pics/data/512/hatter-terry-1933.jpeg -- 75.54kb -> 69.68kb (7.76%) /judge_pics/data/orig/sachs-howard-1925.jpeg -- 19.79kb -> 18.26kb (7.76%) /judge_pics/data/orig/feess-gary-1948.jpeg -- 4.38kb -> 4.04kb (7.76%) /judge_pics/data/orig/hitchcock-samuel-1755-03-23.jpeg -- 95.87kb -> 88.46kb (7.73%) /judge_pics/data/orig/almond-james-1898-06-15.jpeg -- 219.29kb -> 202.33kb (7.73%) /judge_pics/data/orig/mayer-haldane-1941.jpeg -- 461.69kb -> 426.01kb (7.73%) /judge_pics/data/orig/bissell-john-1940.jpeg -- 25.83kb -> 23.84kb (7.72%) /judge_pics/data/orig/england-morrison-1954.jpeg -- 101.59kb -> 93.75kb (7.72%) /judge_pics/data/orig/boarman-alexander-1839-12-10.jpeg -- 1,197.92kb -> 1,105.46kb (7.72%) /judge_pics/data/orig/irizarry-dora-1955.jpeg -- 47.73kb -> 44.04kb (7.71%) /judge_pics/data/orig/kollar-kotelly-colleen-1943.jpeg -- 19.77kb -> 18.24kb (7.71%) /judge_pics/data/orig/gayle-john-1792-09-11.jpeg -- 24.09kb -> 22.23kb (7.71%) /judge_pics/data/orig/shaw-robert-1907-05-22.jpeg -- 30.88kb -> 28.50kb (7.71%) /judge_pics/data/orig/smith-william-1903-02-24.jpeg -- 31.25kb -> 28.84kb (7.71%) /judge_pics/data/orig/weinman-carl-1903-01-27.jpeg -- 23.98kb -> 22.13kb (7.69%) /judge_pics/data/orig/frankfurter-felix-1882-11-15.jpeg -- 82.13kb -> 75.82kb (7.69%) /judge_pics/data/orig/terry-diana-1956.jpeg -- 34.23kb -> 31.60kb (7.69%) /judge_pics/data/orig/graham-dennis-1946-02-12.jpeg -- 30.97kb -> 28.59kb (7.67%) /judge_pics/data/orig/ross-erskine-1845-06-30.jpeg -- 59.83kb -> 55.24kb (7.67%) /judge_pics/data/orig/leddy-bernard-1910-03-18.jpeg -- 79.49kb -> 73.40kb (7.66%) /judge_pics/data/orig/torresen-nancy-1959.jpeg -- 11.45kb -> 10.57kb (7.65%) /judge_pics/data/orig/machrowicz-thaddeus-1899-08-21.jpeg -- 89.96kb -> 83.08kb (7.65%) /judge_pics/data/512/gee-dolly-1959.jpeg -- 29.68kb -> 27.41kb (7.65%) /judge_pics/data/512/lioi-sara-1960.jpeg -- 93.15kb -> 86.03kb (7.64%) /judge_pics/data/256/pickering-charles-1937.jpeg -- 16.66kb -> 15.39kb (7.64%) /judge_pics/data/orig/lasnik-robert-1951.jpeg -- 5.24kb -> 4.84kb (7.62%) /judge_pics/data/orig/huvelle-ellen-1948.jpeg -- 23.77kb -> 21.96kb (7.62%) /judge_pics/data/orig/watson-derrick-1966.jpeg -- 89.87kb -> 83.02kb (7.62%) /judge_pics/data/orig/danaher-john-1899-01-09.jpeg -- 10.12kb -> 9.35kb (7.61%) /judge_pics/data/orig/mackinnon-george-1906-04-22.jpeg -- 539.42kb -> 498.42kb (7.6%) /judge_pics/data/orig/taubman-daniel-1948-02-25.jpeg -- 103.93kb -> 96.04kb (7.59%) /judge_pics/data/512/trott-stephen-1939.jpeg -- 65.92kb -> 60.92kb (7.58%) /judge_pics/data/orig/skopil-otto-1919-06-03.jpeg -- 22.02kb -> 20.35kb (7.55%) /judge_pics/data/orig/rice-nancy-1950-06-02.jpeg -- 88.02kb -> 81.38kb (7.54%) /judge_pics/data/orig/grant-robert-1905-07-31.jpeg -- 23.55kb -> 21.77kb (7.53%) /judge_pics/data/orig/coffin-frank-1919-07-11.jpeg -- 88.96kb -> 82.27kb (7.52%) /judge_pics/data/orig/hatfield-paul-1928-04-29.jpeg -- 18.45kb -> 17.07kb (7.5%) /judge_pics/data/orig/goldberg-mitchell-1959.jpeg -- 300.65kb -> 278.11kb (7.5%) /judge_pics/data/orig/brotman-stanley-1924-07-27.jpeg -- 38.89kb -> 35.98kb (7.48%) /judge_pics/data/orig/paez-richard-1947.jpeg -- 4.12kb -> 3.82kb (7.48%) /judge_pics/data/512/mccune-barron-1915-02-19.jpeg -- 53.42kb -> 49.43kb (7.48%) /judge_pics/data/orig/kobayashi-leslie-1957.jpeg -- 90.42kb -> 83.66kb (7.48%) /judge_pics/data/512/rayfiel-leo-1888-03-22.jpeg -- 50.89kb -> 47.09kb (7.47%) /judge_pics/data/512/underwood-john-1809-03-14.jpeg -- 88.59kb -> 81.97kb (7.47%) /judge_pics/data/orig/marks-emily-1973.jpeg -- 16.74kb -> 15.50kb (7.46%) /judge_pics/data/512/biunno-vincent-1916-02-02.jpeg -- 77.94kb -> 72.13kb (7.45%) /judge_pics/data/orig/quarles-joseph-1843-12-16.jpeg -- 10.29kb -> 9.53kb (7.43%) /judge_pics/data/orig/peck-john-1874-02-05.jpeg -- 14.05kb -> 13.01kb (7.39%) /judge_pics/data/orig/ikuta-sandra-1954.jpeg -- 49.21kb -> 45.59kb (7.37%) /judge_pics/data/orig/luhring-oscar-1879-02-11.jpeg -- 7.35kb -> 6.81kb (7.36%) /judge_pics/data/256/lanning-william-1849-01-01.jpeg -- 22.37kb -> 20.72kb (7.36%) /judge_pics/data/orig/king-george-1951.jpeg -- 15.50kb -> 14.36kb (7.35%) /judge_pics/data/orig/thornton-thomas-1898-03-08.jpeg -- 232.42kb -> 215.38kb (7.33%) /judge_pics/data/orig/scudder-michael-1971.jpeg -- 92.70kb -> 85.91kb (7.32%) /judge_pics/data/512/baird-lourdes-1935.jpeg -- 65.05kb -> 60.29kb (7.32%) /judge_pics/data/orig/laporte-elizabeth.jpeg -- 4.59kb -> 4.25kb (7.32%) /judge_pics/data/orig/paine-elijah-1757-01-21.jpeg -- 10.31kb -> 9.55kb (7.31%) /judge_pics/data/orig/mehta-amit-1971.jpeg -- 66.80kb -> 61.92kb (7.31%) /judge_pics/data/orig/chhabria-vince-1969.jpeg -- 210.66kb -> 195.26kb (7.31%) /judge_pics/data/512/west-samuel-1872-07-17.jpeg -- 61.41kb -> 56.92kb (7.31%) /judge_pics/data/orig/orrick-william-1915-10-10.jpeg -- 5.73kb -> 5.32kb (7.29%) /judge_pics/data/orig/smalley-david-1809-04-06.jpeg -- 45.90kb -> 42.56kb (7.28%) /judge_pics/data/512/timlin-robert-1932-07-26.jpeg -- 66.09kb -> 61.30kb (7.25%) /judge_pics/data/orig/ishii-anthony-1946.jpeg -- 5.94kb -> 5.51kb (7.25%) /judge_pics/data/256/rives-alexander-1806-06-17.jpeg -- 27.32kb -> 25.35kb (7.22%) /judge_pics/data/512/rives-alexander-1806-06-17.jpeg -- 71.14kb -> 66.01kb (7.21%) /judge_pics/data/orig/pitney-mahlon-1858-02-05.jpeg -- 28.68kb -> 26.61kb (7.21%) /judge_pics/data/orig/patterson-robert-1891-02-12.jpeg -- 133.46kb -> 123.85kb (7.21%) /judge_pics/data/orig/eubanks-luther-1917-07-31.jpeg -- 13.72kb -> 12.73kb (7.2%) /judge_pics/data/orig/mayer-julius-1865-09-05.jpeg -- 372.50kb -> 345.68kb (7.2%) /judge_pics/data/orig/breyer-charles-1941.jpeg -- 4.53kb -> 4.21kb (7.19%) /judge_pics/data/orig/orrick-william-1953.jpeg -- 4.82kb -> 4.47kb (7.17%) /judge_pics/data/orig/milazzo-jane-1957.jpeg -- 146.61kb -> 136.10kb (7.17%) /judge_pics/data/orig/hickey-john-1911-08-22.jpeg -- 5.51kb -> 5.11kb (7.17%) /judge_pics/data/orig/agee-g-1952-11-12.jpeg -- 4.56kb -> 4.24kb (7.15%) /judge_pics/data/orig/reinhardt-stephen-1931.jpeg -- 502.02kb -> 466.16kb (7.14%) /judge_pics/data/orig/hood-denise-1952.jpeg -- 43.59kb -> 40.48kb (7.14%) /judge_pics/data/orig/frank-jerome-1889-09-10.jpeg -- 129.59kb -> 120.33kb (7.14%) /judge_pics/data/orig/bough-stephen-1970.jpeg -- 17.63kb -> 16.38kb (7.11%) /judge_pics/data/512/hall-peirson-1894-07-31.jpeg -- 39.61kb -> 36.80kb (7.1%) /judge_pics/data/orig/martini-william-1947.jpeg -- 13.38kb -> 12.43kb (7.1%) /judge_pics/data/orig/shwartz-patty-1961.jpeg -- 7.66kb -> 7.12kb (7.1%) /judge_pics/data/orig/choate-william-1830-08-30.jpeg -- 227.54kb -> 211.39kb (7.1%) /judge_pics/data/orig/battaglia-anthony-1949.jpeg -- 23.77kb -> 22.09kb (7.09%) /judge_pics/data/orig/gorsuch-neil-1967-08-29.jpeg -- 606.34kb -> 563.40kb (7.08%) /judge_pics/data/orig/howe-harland-1873-02-19.jpeg -- 117.64kb -> 109.31kb (7.08%) /judge_pics/data/512/lanning-william-1849-01-01.jpeg -- 74.56kb -> 69.29kb (7.06%) /judge_pics/data/orig/widener-hiram-1923-04-30.jpeg -- 29.01kb -> 26.96kb (7.05%) /judge_pics/data/orig/washington-bushrod-1762-06-05.jpeg -- 27.50kb -> 25.57kb (7.05%) /judge_pics/data/orig/betts-samuel-1786-06-08.jpeg -- 16.87kb -> 15.68kb (7.04%) /judge_pics/data/orig/jackson-howell-1832-04-08.jpeg -- 24.80kb -> 23.05kb (7.04%) /judge_pics/data/512/johnson-sterling-1934.jpeg -- 105.53kb -> 98.10kb (7.03%) /judge_pics/data/orig/lewis-timothy-1954.jpeg -- 1,563.16kb -> 1,453.35kb (7.02%) /judge_pics/data/orig/mack-julian-1866-07-19.jpeg -- 63.74kb -> 59.27kb (7.02%) /judge_pics/data/512/smith-william-1903-02-24.jpeg -- 59.32kb -> 55.16kb (7.02%) /judge_pics/data/orig/woodcock-john-1950.jpeg -- 7.96kb -> 7.40kb (7.01%) /judge_pics/data/orig/lord-miles-1919.jpeg -- 12.71kb -> 11.82kb (7.01%) /judge_pics/data/orig/jenkins-martin-1953.jpeg -- 4.98kb -> 4.63kb (7.01%) /judge_pics/data/orig/gilman-ronald-1942.jpeg -- 5.16kb -> 4.80kb (7.01%) /judge_pics/data/orig/karlton-lawrence-1935.jpeg -- 1,110.06kb -> 1,032.37kb (7%) /judge_pics/data/orig/ryan-james-1932-11-19.jpeg -- 6.27kb -> 5.83kb (7%) /judge_pics/data/orig/hargrove-john-1923-10-25.jpeg -- 36.63kb -> 34.07kb (7%) /judge_pics/data/orig/moore-kimberly-1968.jpeg -- 4.16kb -> 3.87kb (7%) /judge_pics/data/512/oconnor-earl-1922-10-06.jpeg -- 84.06kb -> 78.18kb (7%) /judge_pics/data/orig/bernard-steve-1952.jpeg -- 28.51kb -> 26.52kb (6.99%) /judge_pics/data/512/tashima-atsushi-1934.jpeg -- 64.16kb -> 59.69kb (6.98%) /judge_pics/data/orig/mccree-wade-1920-07-03.jpeg -- 8.95kb -> 8.33kb (6.95%) /judge_pics/data/orig/pennybacker-isaac-1805-09-03.jpeg -- 12.88kb -> 11.98kb (6.94%) /judge_pics/data/orig/williams-robert-1868-12-20.jpeg -- 1,655.42kb -> 1,540.71kb (6.93%) /judge_pics/data/orig/freeman-beth-1953.jpeg -- 176.70kb -> 164.45kb (6.93%) /judge_pics/data/orig/gertner-nancy-1946.jpeg -- 100.00kb -> 93.08kb (6.92%) /judge_pics/data/orig/tarnow-arthur-1942.jpeg -- 5.22kb -> 4.86kb (6.92%) /judge_pics/data/512/zapata-frank-1944.jpeg -- 84.67kb -> 78.81kb (6.92%) /judge_pics/data/orig/breyer-stephen-1938.jpeg -- 1,014.05kb -> 944.05kb (6.9%) /judge_pics/data/orig/freeman-ralph-1902-05-05.jpeg -- 21.45kb -> 19.97kb (6.9%) /judge_pics/data/orig/hagner-alexander-1826-07-13.jpeg -- 7.14kb -> 6.64kb (6.9%) /judge_pics/data/512/callahan-consuelo-1950-06-09.jpeg -- 69.51kb -> 64.72kb (6.89%) /judge_pics/data/orig/westenhaver-david-1865-01-13.jpeg -- 17.35kb -> 16.15kb (6.89%) /judge_pics/data/orig/kirkpatrick-william-1885-10-02.jpeg -- 50.39kb -> 46.92kb (6.89%) /judge_pics/data/512/zipps-jennifer-1964.jpeg -- 65.00kb -> 60.53kb (6.88%) /judge_pics/data/512/johnson-charles-1859-02-14.jpeg -- 51.67kb -> 48.12kb (6.87%) /judge_pics/data/512/lorenz-myron-1935.jpeg -- 80.21kb -> 74.71kb (6.86%) /judge_pics/data/orig/coleman-james-1914-01-09.jpeg -- 212.00kb -> 197.50kb (6.84%) /judge_pics/data/orig/haynes-catharina-1963.jpeg -- 5.49kb -> 5.11kb (6.84%) /judge_pics/data/orig/miller-andrew-1870-11-16.jpeg -- 5.12kb -> 4.77kb (6.83%) /judge_pics/data/512/underwood-mell-1892-01-30.jpeg -- 63.68kb -> 59.33kb (6.82%) /judge_pics/data/orig/walker-vaughn-1944.jpeg -- 101.00kb -> 94.11kb (6.82%) /judge_pics/data/orig/robinson-spottswood-1916-07-26.jpeg -- 8.84kb -> 8.24kb (6.81%) /judge_pics/data/512/tevrizian-dickran-1940.jpeg -- 58.29kb -> 54.32kb (6.8%) /judge_pics/data/256/hall-peirson-1894-07-31.jpeg -- 17.24kb -> 16.07kb (6.8%) /judge_pics/data/orig/echols-robert-1941.jpeg -- 6.09kb -> 5.68kb (6.8%) /judge_pics/data/orig/hunt-ward-1810-06-14.jpeg -- 28.63kb -> 26.69kb (6.78%) /judge_pics/data/orig/moreno-carlos-1948-11-04.jpeg -- 73.94kb -> 68.93kb (6.78%) /judge_pics/data/orig/degravelles-john-1949.jpeg -- 13.20kb -> 12.31kb (6.75%) /judge_pics/data/orig/loeb-alan-1946-12-27.jpeg -- 1,525.95kb -> 1,423.10kb (6.74%) /judge_pics/data/512/hand-augustus-1869-07-26.jpeg -- 91.49kb -> 85.33kb (6.73%) /judge_pics/data/orig/wood-diane-1950.jpeg -- 239.48kb -> 223.37kb (6.73%) /judge_pics/data/512/cooper-florence-marie-1940-02-09.jpeg -- 73.58kb -> 68.63kb (6.72%) /judge_pics/data/512/smith-norman-1949.jpeg -- 38.80kb -> 36.20kb (6.71%) /judge_pics/data/orig/bright-myron-1919.jpeg -- 99.85kb -> 93.15kb (6.71%) /judge_pics/data/orig/shepard-seth-1847-04-23.jpeg -- 393.92kb -> 367.53kb (6.7%) /judge_pics/data/orig/bohanon-luther-1902-08-09.jpeg -- 7.04kb -> 6.57kb (6.7%) /judge_pics/data/512/shaw-robert-1907-05-22.jpeg -- 58.28kb -> 54.38kb (6.69%) /judge_pics/data/512/miller-jack-1916-06-06.jpeg -- 62.97kb -> 58.75kb (6.69%) /judge_pics/data/512/jones-richard-1950.jpeg -- 50.41kb -> 47.04kb (6.69%) /judge_pics/data/orig/burrell-garland-1947.jpeg -- 6.40kb -> 5.97kb (6.67%) /judge_pics/data/orig/bledsoe-benjamin-1874-02-08.jpeg -- 149.94kb -> 139.97kb (6.65%) /judge_pics/data/orig/groner-duncan-1873-09-06.jpeg -- 1,011.77kb -> 944.52kb (6.65%) /judge_pics/data/512/kennedy-henry-1948.jpeg -- 59.82kb -> 55.84kb (6.65%) /judge_pics/data/orig/shapiro-norma-1928.jpeg -- 53.56kb -> 50.00kb (6.65%) /judge_pics/data/orig/runyon-william-1871-03-05.jpeg -- 45.84kb -> 42.79kb (6.64%) /judge_pics/data/512/duell-charles-1850-04-13.jpeg -- 59.85kb -> 55.88kb (6.63%) /judge_pics/data/orig/kenyon-william-1869-06-10.jpeg -- 20.36kb -> 19.01kb (6.63%) /judge_pics/data/512/snow-grant-1959-10-20.jpeg -- 100.92kb -> 94.23kb (6.62%) /judge_pics/data/orig/moskowitz-barry-1950.jpeg -- 24.90kb -> 23.25kb (6.62%) /judge_pics/data/orig/de-vries-marion-1865-08-15.jpeg -- 544.99kb -> 508.91kb (6.62%) /judge_pics/data/256/mccune-barron-1915-02-19.jpeg -- 22.01kb -> 20.56kb (6.61%) /judge_pics/data/orig/erickson-ralph-1959.jpeg -- 29.66kb -> 27.70kb (6.61%) /judge_pics/data/orig/rosenthal-lee-1952.jpeg -- 47.12kb -> 44.01kb (6.6%) /judge_pics/data/orig/story-joseph-1779-09-18.jpeg -- 32.11kb -> 29.99kb (6.6%) /judge_pics/data/256/ritter-halsted-1868-07-14.jpeg -- 15.81kb -> 14.77kb (6.59%) /judge_pics/data/256/duell-charles-1850-04-13.jpeg -- 17.17kb -> 16.04kb (6.59%) /judge_pics/data/256/rayfiel-leo-1888-03-22.jpeg -- 14.83kb -> 13.85kb (6.59%) /judge_pics/data/orig/hayes-william-1956.jpeg -- 26.09kb -> 24.37kb (6.59%) /judge_pics/data/orig/holland-hezekiah-1936.jpeg -- 71.81kb -> 67.08kb (6.58%) /judge_pics/data/512/king-garr-1936.jpeg -- 64.82kb -> 60.56kb (6.58%) /judge_pics/data/256/burns-james-1924-11-24.jpeg -- 15.84kb -> 14.80kb (6.57%) /judge_pics/data/orig/armstrong-saundra-1947.jpeg -- 4.25kb -> 3.97kb (6.57%) /judge_pics/data/512/roberts-richard-1953.jpeg -- 54.82kb -> 51.21kb (6.57%) /judge_pics/data/orig/ryu-donna.jpeg -- 4.70kb -> 4.39kb (6.56%) /judge_pics/data/orig/mcduffie-john-1883-09-25.jpeg -- 2,653.92kb -> 2,479.88kb (6.56%) /judge_pics/data/orig/hungate-william-1922-12-14.jpeg -- 5.65kb -> 5.28kb (6.56%) /judge_pics/data/512/jorgenson-cindy-1953.jpeg -- 103.02kb -> 96.28kb (6.55%) /judge_pics/data/orig/white-helene-1954.jpeg -- 4.88kb -> 4.56kb (6.54%) /judge_pics/data/orig/spero-joseph.jpeg -- 18.76kb -> 17.53kb (6.52%) /judge_pics/data/orig/kearney-mark-1963.jpeg -- 56.09kb -> 52.43kb (6.52%) /judge_pics/data/512/bea-carlos-1934.jpeg -- 57.43kb -> 53.69kb (6.52%) /judge_pics/data/orig/pisano-joel-1949.jpeg -- 49.02kb -> 45.83kb (6.51%) /judge_pics/data/512/marshall-consuelo-1936.jpeg -- 50.71kb -> 47.41kb (6.51%) /judge_pics/data/512/kenyon-william-1869-06-10.jpeg -- 51.72kb -> 48.36kb (6.5%) /judge_pics/data/orig/picard-frank-1889-10-19.jpeg -- 547.17kb -> 511.64kb (6.49%) /judge_pics/data/256/humphreys-west-1806-08-26.jpeg -- 14.93kb -> 13.96kb (6.49%) /judge_pics/data/orig/smith-walter-1862-07-10.jpeg -- 194.90kb -> 182.25kb (6.49%) /judge_pics/data/512/reeves-carlton-1964.jpeg -- 90.12kb -> 84.27kb (6.48%) /judge_pics/data/orig/bell-griffin-1918-10-31.jpeg -- 22.89kb -> 21.41kb (6.48%) /judge_pics/data/512/biddle-francis-1886-05-09.jpeg -- 63.94kb -> 59.80kb (6.48%) /judge_pics/data/512/ritter-willis-1899-01-24.jpeg -- 49.50kb -> 46.30kb (6.48%) /judge_pics/data/orig/bryan-george-1809-05-22.jpeg -- 69.71kb -> 65.20kb (6.47%) /judge_pics/data/orig/waddy-joseph-1911-05-26.jpeg -- 9.37kb -> 8.76kb (6.47%) /judge_pics/data/512/sirica-john-1904-03-19.jpeg -- 155.12kb -> 145.09kb (6.47%) /judge_pics/data/512/thomas-edward-1848-08-04.jpeg -- 64.33kb -> 60.17kb (6.47%) /judge_pics/data/512/jones-paul-1880-11-04.jpeg -- 102.30kb -> 95.68kb (6.47%) /judge_pics/data/orig/finkelnburg-gustavus-1837-04-06.jpeg -- 56.97kb -> 53.29kb (6.47%) /judge_pics/data/orig/hastings-alcee-1936.jpeg -- 8,494.88kb -> 7,945.55kb (6.47%) /judge_pics/data/orig/duval-stanwood-1942.jpeg -- 116.23kb -> 108.71kb (6.46%) /judge_pics/data/orig/hand-learned-1872-01-27.jpeg -- 350.91kb -> 328.23kb (6.46%) /judge_pics/data/orig/delahay-mark-1828.jpeg -- 41.30kb -> 38.63kb (6.46%) /judge_pics/data/512/bell-jesse-1906-04-01.jpeg -- 138.44kb -> 129.50kb (6.46%) /judge_pics/data/orig/reeves-carlton-1964.jpeg -- 475.26kb -> 444.61kb (6.45%) /judge_pics/data/orig/oberdorfer-louis-1919-02-21.jpeg -- 9.04kb -> 8.45kb (6.44%) /judge_pics/data/orig/cooper-irving-1902-02-07.jpeg -- 19.91kb -> 18.63kb (6.44%) /judge_pics/data/orig/kagan-elena-2.jpeg -- 1,473.38kb -> 1,378.59kb (6.43%) /judge_pics/data/512/hopkinson-joseph-1770-11-12.jpeg -- 70.91kb -> 66.35kb (6.43%) /judge_pics/data/orig/hogan-michael-1946.jpeg -- 4.62kb -> 4.32kb (6.43%) /judge_pics/data/512/hoffman-ogden-1822-10-16.jpeg -- 71.75kb -> 67.14kb (6.43%) /judge_pics/data/orig/fish-allen-1942.jpeg -- 9.22kb -> 8.63kb (6.42%) /judge_pics/data/256/trott-stephen-1939.jpeg -- 27.08kb -> 25.34kb (6.42%) /judge_pics/data/512/milazzo-jane-1957.jpeg -- 107.46kb -> 100.57kb (6.41%) /judge_pics/data/orig/mcclelland-charles-1854-12-19.jpeg -- 24.10kb -> 22.56kb (6.41%) /judge_pics/data/orig/saunders-eugene-1853-07-25.jpeg -- 1,134.66kb -> 1,062.03kb (6.4%) /judge_pics/data/orig/benitez-roger-1950.jpeg -- 26.35kb -> 24.66kb (6.4%) /judge_pics/data/512/mosman-michael-1956.jpeg -- 56.59kb -> 52.97kb (6.4%) /judge_pics/data/512/gilliam-earl-1931-08-17.jpeg -- 63.12kb -> 59.09kb (6.39%) /judge_pics/data/512/friendly-henry-1903-07-03.jpeg -- 67.77kb -> 63.44kb (6.39%) /judge_pics/data/256/simonton-charles-1829-07-11.jpeg -- 16.70kb -> 15.63kb (6.39%) /judge_pics/data/512/selna-james-1945.jpeg -- 50.29kb -> 47.08kb (6.38%) /judge_pics/data/512/sanborn-john-1883-11-09.jpeg -- 85.98kb -> 80.49kb (6.38%) /judge_pics/data/orig/rogers-john-1845-10-09.jpeg -- 15.92kb -> 14.91kb (6.38%) /judge_pics/data/128/nugent-donald-1948.jpeg -- 8.42kb -> 7.89kb (6.38%) /judge_pics/data/orig/anderson-aldon-1917-01-03.jpeg -- 6.57kb -> 6.15kb (6.38%) /judge_pics/data/512/johnson-jed-1888-07-31.jpeg -- 49.85kb -> 46.67kb (6.36%) /judge_pics/data/orig/dayton-alston-1857-10-18.jpeg -- 191.78kb -> 179.58kb (6.36%) /judge_pics/data/256/buckley-james-1923.jpeg -- 18.72kb -> 17.53kb (6.36%) /judge_pics/data/512/readler-chad-1972.jpeg -- 69.55kb -> 65.13kb (6.35%) /judge_pics/data/orig/ewart-hamilton-1849-10-23.jpeg -- 18.92kb -> 17.72kb (6.34%) /judge_pics/data/orig/sabraw-dana-1958.jpeg -- 31.24kb -> 29.27kb (6.33%) /judge_pics/data/256/underwood-john-1809-03-14.jpeg -- 25.25kb -> 23.66kb (6.32%) /judge_pics/data/orig/dallinger-fredrick-1871-10-02.jpeg -- 604.14kb -> 566.04kb (6.31%) /judge_pics/data/orig/diamond-gustave-1928.jpeg -- 13.44kb -> 12.59kb (6.31%) /judge_pics/data/orig/bryan-nathan-1872-04-23.jpeg -- 17.18kb -> 16.10kb (6.3%) /judge_pics/data/256/reeves-carlton-1964.jpeg -- 23.06kb -> 21.61kb (6.3%) /judge_pics/data/256/clark-chase-1883-08-21.jpeg -- 17.54kb -> 16.44kb (6.29%) /judge_pics/data/orig/beeler-laurel.jpeg -- 4.98kb -> 4.67kb (6.29%) /judge_pics/data/orig/johnson-charles-1859-02-14.jpeg -- 21.02kb -> 19.70kb (6.29%) /judge_pics/data/512/campbell-david-1952.jpeg -- 51.83kb -> 48.58kb (6.29%) /judge_pics/data/orig/colt-lebaron-1846-06-25.jpeg -- 125.95kb -> 118.03kb (6.29%) /judge_pics/data/orig/black-hugo-1886-02-27.jpeg -- 48.82kb -> 45.75kb (6.29%) /judge_pics/data/orig/pregerson-dean-1951.jpeg -- 463.16kb -> 434.05kb (6.29%) /judge_pics/data/512/clifton-richard-1950.jpeg -- 83.80kb -> 78.54kb (6.28%) /judge_pics/data/256/sanders-harold-1925-02-05.jpeg -- 18.78kb -> 17.60kb (6.28%) /judge_pics/data/256/huxman-walter-1887-02-16.jpeg -- 19.89kb -> 18.64kb (6.27%) /judge_pics/data/orig/bonner-robert-1942.jpeg -- 105.37kb -> 98.76kb (6.27%) /judge_pics/data/512/stotler-alicemarie-1942-05-29.jpeg -- 87.13kb -> 81.66kb (6.27%) /judge_pics/data/orig/crane-randy-1965.jpeg -- 22.36kb -> 20.96kb (6.27%) /judge_pics/data/orig/southwick-leslie-1950.jpeg -- 11.31kb -> 10.61kb (6.27%) /judge_pics/data/orig/mcdermott-george-1886-10-21.jpeg -- 6.90kb -> 6.47kb (6.27%) /judge_pics/data/256/kennedy-henry-1948.jpeg -- 24.85kb -> 23.29kb (6.26%) /judge_pics/data/…
I believe pypa/setuptools#3291 is another kind of this issue. Note that it neither involves virtualenv, nor Debian/Centos, but sympthoms are exactly the same: system-wide older version of setuptools has higher priority than one that is requested by |
This commit resolves recent catastrophic upstream breakage introduced by setuptools 50.0 and pip 22.2.0, the newest stable release of everyone's least favourite build tools. Sadly, doing so requires temporarily disabling project-wide support for the tooling-agnostic "pyproject.toml" file -- which setuptools and pip continually demonstrate that they are unwilling to sanely support. ## Issues Resolved * #2, detailed above. * #3, detailed below. * pypa/setuptools#2353 and pypa/pip#6264, resolving recent catastrophic upstream breakage introduced by setuptools 50.0 and pip 22.2.0, the newest stable release of everyone's least favourite build tools. Sadly, doing so requires temporarily disabling project-wide support for the tooling-agnostic `pyproject.toml` file -- which setuptools and pip continually demonstrate that they are unwilling to sanely support. (Unctuous tempestuousness of pestilence!)
This minor release resolves a growing cacophony of compatibility issues that have accrued in the two-and-a-half years since BETSE's last prior stable release (i.e., BETSE 1.1.1 (Nicer Nestor) in the pre-pandemic twilight of November, 2019). BETSE authors gratefully thank Dr. Levin at the Levin Lab, Tufts University for his continued patronage of BETSE. Noteworthy changes include: ## Hosting Improved * **GitLab -> GitHub.** BETSE's `git` repository has been officially migrated from our prior host at GitLab to our new host at GitHub, mostly so as to centralize the maintenance burden of continuous integration (CI) workflows across this and the upstream @beartype project. Specifically: * Our prior GitLab-specific GitLab-CI and Windows-specific Appveyor CI configurations have been supplanted wholesale with our standard GitHub-specific GitHub Actions CI workflows for both package testing and publication. * Our front-facing `README.rst` documentation has been trivially revised to reference GitHub rather than GitLab. * Our prior GitLab-specific `tox.ini` configuration and `doc/rst/RELEASE.rst documentation have been supplanted wholesale with actively maintained and more GitHub-friendly equivalents liberally harvested from our upstream @beartype project. ## Compatibility Improved * **Python >= 3.9.0.** BETSE now officially supports both the Python 3.9.x and 3.10.x series. * **macOS Aqua detection.** BETSE now detects the macOS-specific Aqua display server with significantly more robust logic. Previously, that detection unexpectedly raised exceptions under continuous integration (CI) workflows hosted by GitHub Actions. Now, that detection has been generalized to be resilient against edge cases – including: * The absence of the core macOS `/System/Library/Frameworks/Security.framework/Security` library. * The absence of the `OSError`-specific `strerror` instance variable on low-level exceptions raised during this detection. * **Windows environment variable detection.** BETSE now circumvents erroneous Windows-specific shell environments produced by the GitHub Actions Windows runner, which fails to define the critical `%LOCALAPPDATA%`, `%APPDATA%`, or `%HOME` shell environment variables. Specifically: * The `betse.util.app.meta.AppMetaABC.dot_dirname()` method now leverages the first of the following shell environment variables exported to the active Windows process via trivial iteration: `%LOCALAPPDATA%`, `%APPDATA%`, and our standard `get_home_dirname()` getter. Insanely, the GitHub Actions Windows runner fails to export the former two shell environment variables as well as the otherwise standard `%HOME%` shell environment variable, which doesn't leave BETSE with terribly many options in CI environments. * **Windows subdirectory detection.** BETSE now circumvents the erroneous Windows-specific implementation of the standard `os.path.commonpath()` function, which unsafely raises an exception rather than safely returning `False` when passed two pathnames residing on different Windows drives (e.g., `C:/`, `D:/`). Our `betse.util.path.dirs.is_subdir()` tester now catches and coerces that unsafe exception into a safe return value of `False`. ## Compatibility Broken * **Python < 3.8.0.** This release officially breaks backward compatibility by dropping support for the Python 3.5.x, 3.6.x, and 3.7.x series. The former two have officially hit their End-of-Life (EOL); the latter is a half-year away from doing so and no longer worth officially supporting. * **PIL (Pillow) < 7.0.0.** This release officially breaks backward compatibility by dropping support for PIL (Pillow) < 7.0.0. See below. ## Dependencies Bumped * **NumPy ≥ 1.22.0.** BETSE now requires NumPy ≥ 1.22.0, which dramatically modified the (admittedly private) install-time `numpy.distutils.__config__` API describing how NumPy was linked against various external third-party shared libraries (e.g., BLAS, LAPACK) at install-time. Our `betse.lib.numpy.numpys` submodule now accesses that private NumPy API *much* more carefully – with robust future-proofing against predicted breakage by future NumPy releases breaking that API yet again. * **PIL (Pillow) ≥ 7.0.0.** BETSE now requires PIL (Pillow) ≥ 7.0.0, which introduced the standard `pillow.__version__` attribute and deprecated the non-standard `pillow.PILLOW_VERSION` attribute. Doing so renders the codebase incompatible with PIL (Pillow) < 7.0.0. Relatedly, The `betse.util.py.module.pymodname.MODULE_NAME_TO_VERSION_ATTR_NAME` dictionary has removed the non-standard `PIL: 'PILLOW_VERSION'` entry. * **`pytest` ≥ 5.4.0,** which refactored the previously defined private `_pytest.capture.CaptureManager._getcapture()` method into the newly defined `private _pytest.capture._getmulticapture()` function, which the `betse.lib.setuptools.command.supcmdtest` submodule necessarily monkey-patches at test time to sanitize captured output for long-running tests. ## Features Improved. * **Runtime dependency validation.** BETSE now validates whether optional and mandatory dependencies satisfy requirements at application startup by manually validating dependency versions *before* deferring to increasingly unreliable `setuptools`-specific logic for doing so. Specifically: * The private `betse.lib.libs._iter_requirement_commands()` iterator has been generalized to accept items of the `REQUIREMENT_NAME_TO_COMMANDS` dictionary as codebase-agnostic tuples rather than codebase-specific `betse.metadata.RequirementCommand` instances. * In the `betse.lib.setuptools.setuptool` submodule: * The `die_unless_requirement(`) validator and `is_requirement()` tester have been generalized to manually validate dependency versions before deferring to `setuptools`-specific logic for doing so. * The `get_requirement_distribution_or_none()` getter docstring has been revised to note that that getter should *only* be called as a latch-ditch fallback. * **Traceback handling.** BETSE now drastically simplifies its handling of exception tracebacks. Previously, BETSE *only* printed tracebacks (i.e., call stack traces) for uncaught exceptions when explicitly passed either the `-v` or `--verbose` options at the command line. Clearly, this was bad. While admittedly non-human-readable and thus unsightly, tracebacks yield mission-critical insights into critical breakage. Tracebacks are often the only means that devs have of debugging issues in cloud-hosted continuous integration (CI) workflows providing *no* convenient filesystem (and hence logfile) access; likewise, tracebacks are the only means that end users have of forwarding tracebacks to devs for subsequent debugging. BETSE now *always* prints tracebacks to standard error (stderr) regardless of options passed at the command line *or* defined in a configuration file. ## Issues Resolved. * **Matplotlib stream plotting exception.** An exception previously raised by Matplotlib on animating streamplots has been resolved. * **NumPy auto-object array deprecations.** All currently non-fatal `numpy.VisibleDeprecationWarning` warnings resulting from NumPy's recent deprecation of **auto-object arrays** (i.e., the implicit creation of one-dimensional NumPy arrays of Python `list` objects when passed ragged `list` of `list` objects with *no* uniform length) have been resolved. Where possible, these arrays have been reverted to standard non-NumPy `list` of `list` objects; in all other cases, these arrays have been explicitly coerced into non-auto object arrays. * **Widespread deprecations.** A slew of other currently non-fatal deprecation warnings emitted by various third-party dependencies of BETSE have similarly been resolved. ## Installation Improved * **Install-time Python version enforced.** The minimum mandatory version of Python required by this project is now enforced at `setuptools`-based install time via the recently introduced `python_requires` `setup(`) key in our top-level `setup.py` installer. * **pypa/setuptools#2353 and pypa/pip#6264.** This release resolves recent catastrophic upstream breakage introduced by `setuptools` 50.0 and `pip` 22.2.0, the newest stable release of everyone's least favourite build tools. Sadly, doing so requires temporarily disabling project-wide support for the tooling-agnostic `pyproject.toml` file -- which `setuptools` and `pip` continually demonstrate that they are unwilling to sanely support. * **`setuptools` entry point.** The `betse` command installed by our top-level `setup.py` installer now correctly runs. Previously, our installer inadvertently produced a broken `betse` command by incorrectly monkey-patching the `setuptools` installation process. ## Tests Improved * **`pytest` warning resolved.** BETSE's test suite no longer issues a non-fatal warning under recent `pytest` versions. Specifically, our top-level `pytest.ini` configuration file now explicitly lists *all* custom `pytest` marks applied by our test suite. * **`pytest` warnings filters.** BETSE now defers to `pytest` warnings filters when detected as running under `pytest` at test-time, preventing BETSE's custom warnings filters from silently overwriting those predefined by `pytest`. Most test harnesses (including `pytest`) define sane default warnings filters as well as enabling users to externally configure warnings filters from project-wide configuration files. Ergo, the `pytest` harness knows better than we do. * **`tox` venv isolation validation.** BETSE's test suite now sports significantly improved `tox`-specific validation of whether this suite is safely isolated to a virtual environment (venv), avoiding spurious test failures with otherwise valid pipelines. Specifically: * The top-level `pytest`-specific `conftest.py` plugin has been generalized by: * Refactoring the existing private `_clean_imports()` function to: * Treat zipfiles on `sys.path` *not* isolated to the current `tox` venv as effectively isolated anyway, as zipfiles are effectively isolated from filesystem modification -- notably, `pip`- and `setuptools`-based package installation. * Reorder `sys.path` so as to shift import paths *not* isolated to the current `tox` venv to the end of this list, thus deprioritizing (but *not* removing) these paths. * Removed the obsolete private `_print_metadata()` function, most of which now resides in the `_clean_imports()` function. * **PyPy testing disabled.** BETSE's test suite has (hopefully temporarily) disabled all testing of PyPy. Sadly, scientific dependencies (including NumPy) are *not* sanely installable under macOS + PyPy. macOS ships with Accelerate, blatantly broken macOS-specific BLAS and LAPACK shared libraries that fundamentally break NumPy on installation. Since NumPy fails to ship macOS + PyPy wheels, NumPy installation under macOS + PyPy requires building NumPy from source against Accelerate, which then painfully fails. For now, disabling PyPy testing entirely is the only sensible choice. * **macOS test compatibility,** including: * The mostly incidental `test_dirs_get_mtime_newest()` unit test is now skipped under Apple macOS – due to what appear to be inconsistencies in the handling of nanosecond-resolution path timestamps under the macOS-specific HFS+ filesystem. (*Infallible infancy bellows the fancy libel!*)
Inside a Debian GNU/Linux 10 (buster) Docker container we create a virtual-env with We have the following code in the setup.cfg:
Now we hit the error where the
Upon inspection we found out that pip instead of loading the latest setuptools from the build environment loaded the setuptools == 40.8.0 from dist-packages and used the build_meta from For those struggling with same bug using pip and venv on Debian distros, the current workaround we are using is to either uninstall the |
Is there anyone working on a fix for this issue it seems to be open for awhile, is there any relevant PR to fix issues here, it doesn't look like easy to provide a minimal working example tho. I'm on ArchLinux and have encountered this issue btw while installing/adding Pendulum to my dependencies using Poetry. |
@AkechiShiro not that I know of. The comment above from @IRDonch suggests a possible fix, but we'd need a test, so working out how to reproduce this is still a blocker here (as is someone actually preparing a PR for it, I don't believe any of the pip developers are working on it). |
Thanks @pfmoore, could anyone guide me where I could try and dev this fix, in which folders is the buggy code, in the coming months, I hope I can get to fix this, I'm just not very knowledgeable with the code base, it's my first time working on pip, I'll be looking at the CONTRIBUTING.md probably present in the repo. |
FYI, I tried to implement this fix, but I was blocked by #8273. virtualenv 19 includes a custom |
FWIW, this appears to affect mac system Python (macOS 12.6, Python 3.9.6) as well. pyproject.toml[build-system]
requires = [
"setuptools>=60",
]
build-backend = "setuptools.build_meta"
[project]
version = "0.1.0"
requires-python = ">=3.7"
license = {text = "MIT License"}
name = "debug"
description = "..." setup.pyfrom setuptools import setup
import setuptools
import sys
print("\n\n")
print(f"in setup.py: {setuptools.__version__=}, {setuptools.__file__=}")
path_lines = '\n '.join(sys.path)
print(f"sys.path=\n {path_lines}")
print("\n\n")
setup() pip list
Building wheel with pip:
And again without build isolation, fixes the issue:
EDIT: running in a venv _does_ help
|
Minimal repro with docker on ubuntu:22.04: https://gist.github.com/minrk/6d73fc9159448f1f83f8a6d5c2b2dfac |
I am seeing the system-wide paths have the wrong precedence: |
#11466 uses |
Work around pypa/pip#6264
Bumps [pip](https://github.com/pypa/pip) from 22.2.2 to 22.3. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p> <blockquote> <h1>22.3 (2022-10-15)</h1> <h2>Deprecations and Removals</h2> <ul> <li>Deprecate <code>--install-options</code> which forces pip to use the deprecated <code>install</code> command of <code>setuptools</code>. (<code>[#11358](pypa/pip#11358) <https://github.com/pypa/pip/issues/11358></code>_)</li> <li>Deprecate installation with 'setup.py install' when no-binary is enabled for source distributions without 'pyproject.toml'. (<code>[#11452](pypa/pip#11452) <https://github.com/pypa/pip/issues/11452></code>_)</li> <li>Deprecate ```--no-binary`` disabling the wheel cache. (<code>[#11454](pypa/pip#11454) <https://github.com/pypa/pip/issues/11454></code>_)</li> <li>Remove <code>--use-feature=2020-resolver</code> opt-in flag. This was supposed to be removed in 21.0, but missed during that release cycle. (<code>[#11493](pypa/pip#11493) <https://github.com/pypa/pip/issues/11493></code>_)</li> <li>Deprecate installation with 'setup.py install' when the 'wheel' package is absent for source distributions without 'pyproject.toml'. (<code>[#8559](pypa/pip#8559) <https://github.com/pypa/pip/issues/8559></code>_)</li> <li>Remove the ability to use <code>pip list --outdated</code> in combination with <code>--format=freeze</code>. (<code>[#9789](pypa/pip#9789) <https://github.com/pypa/pip/issues/9789></code>_)</li> </ul> <h2>Features</h2> <ul> <li>Use <code>shell=True</code> for opening the editor with <code>pip config edit</code>. (<code>[#10716](pypa/pip#10716) <https://github.com/pypa/pip/issues/10716></code>_)</li> <li>Use the <code>data-dist-info-metadata</code> attribute from :pep:<code>658</code> to resolve distribution metadata without downloading the dist yet. (<code>[#11111](pypa/pip#11111) <https://github.com/pypa/pip/issues/11111></code>_)</li> <li>Add an option to run the test suite with pip built as a zipapp. (<code>[#11250](pypa/pip#11250) <https://github.com/pypa/pip/issues/11250></code>_)</li> <li>Add a <code>--python</code> option to allow pip to manage Python environments other than the one pip is installed in. (<code>[#11320](pypa/pip#11320) <https://github.com/pypa/pip/issues/11320></code>_)</li> <li>Document the new (experimental) zipapp distribution of pip. (<code>[#11459](pypa/pip#11459) <https://github.com/pypa/pip/issues/11459></code>_)</li> <li>Use the much faster 'bzr co --lightweight' to obtain a copy of a Bazaar tree. (<code>[#5444](pypa/pip#5444) <https://github.com/pypa/pip/issues/5444></code>_)</li> </ul> <h2>Bug Fixes</h2> <ul> <li>Fix <code>--no-index</code> when <code>--index-url</code> or <code>--extra-index-url</code> is specified inside a requirements file. (<code>[#11276](pypa/pip#11276) <https://github.com/pypa/pip/issues/11276></code>_)</li> <li>Ensure that the candidate <code>pip</code> executable exists, when checking for a new version of pip. (<code>[#11309](pypa/pip#11309) <https://github.com/pypa/pip/issues/11309></code>_)</li> <li>Ignore distributions with invalid <code>Name</code> in metadata instead of crashing, when using the <code>importlib.metadata</code> backend. (<code>[#11352](pypa/pip#11352) <https://github.com/pypa/pip/issues/11352></code>_)</li> <li>Raise RequirementsFileParseError when parsing malformed requirements options that can't be sucessfully parsed by shlex. (<code>[#11491](pypa/pip#11491) <https://github.com/pypa/pip/issues/11491></code>_)</li> <li>Fix build environment isolation on some system Pythons. (<code>[#6264](pypa/pip#6264) <https://github.com/pypa/pip/issues/6264></code>_)</li> </ul> <h2>Vendored Libraries</h2> <ul> <li>Upgrade certifi to 2022.9.24</li> <li>Upgrade distlib to 0.3.6</li> <li>Upgrade idna to 3.4</li> <li>Upgrade pep517 to 0.13.0</li> <li>Upgrade pygments to 2.13.0</li> <li>Upgrade tenacity to 8.1.0</li> <li>Upgrade typing_extensions to 4.4.0</li> <li>Upgrade urllib3 to 1.26.12</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/pip/commit/0a76da3a94130fad58b086e331c3d3e1b02a89eb"><code>0a76da3</code></a> Bump for release</li> <li><a href="https://github.com/pypa/pip/commit/25638287f8b8bd571a10c4f5ae1b7f4eae454dcc"><code>2563828</code></a> Update AUTHORS.txt</li> <li><a href="https://github.com/pypa/pip/commit/e86f27fe4ee3fe45fc0fcd2372f71d39d1d013c1"><code>e86f27f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11493">#11493</a> from pradyunsg/remove-2020-resolver-opt-in</li> <li><a href="https://github.com/pypa/pip/commit/1fcc3ce4b531ac6bc80c1d102d4ef9610074e195"><code>1fcc3ce</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11514">#11514</a> from pradyunsg/certifi-update</li> <li><a href="https://github.com/pypa/pip/commit/65c23fa99d19af8ebd375e7129213794dce4b4b2"><code>65c23fa</code></a> Unnormalise the certifi version</li> <li><a href="https://github.com/pypa/pip/commit/739158cc80f138dbed9e426f3408811acef2d993"><code>739158c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11516">#11516</a> from pradyunsg/check-manifest</li> <li><a href="https://github.com/pypa/pip/commit/4e48bbc31cf34b1b4ccd100a787d1204ddb8866b"><code>4e48bbc</code></a> Move check-manifest to a CI check</li> <li><a href="https://github.com/pypa/pip/commit/1b7e5ef34f926f33fa7932239229220dd65eb7a6"><code>1b7e5ef</code></a> Upgrade certifi to 2022.9.24</li> <li><a href="https://github.com/pypa/pip/commit/2a0552ac61ee26df04e08e21943a1e36aa880db1"><code>2a0552a</code></a> Replace complex certifi patch with a more targetted requests patch</li> <li><a href="https://github.com/pypa/pip/commit/eb906997da97bbbd1f74127297d7ce9a54a6a2a0"><code>eb90699</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11502">#11502</a> from pradyunsg/vendoring-updates</li> <li>Additional commits viewable in <a href="https://github.com/pypa/pip/compare/22.2.2...22.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=22.2.2&new-version=22.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [pip](https://github.com/pypa/pip) from 22.2.2 to 22.3. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p> <blockquote> <h1>22.3 (2022-10-15)</h1> <h2>Deprecations and Removals</h2> <ul> <li>Deprecate <code>--install-options</code> which forces pip to use the deprecated <code>install</code> command of <code>setuptools</code>. (<code>[#11358](pypa/pip#11358) <https://github.com/pypa/pip/issues/11358></code>_)</li> <li>Deprecate installation with 'setup.py install' when no-binary is enabled for source distributions without 'pyproject.toml'. (<code>[#11452](pypa/pip#11452) <https://github.com/pypa/pip/issues/11452></code>_)</li> <li>Deprecate ```--no-binary`` disabling the wheel cache. (<code>[#11454](pypa/pip#11454) <https://github.com/pypa/pip/issues/11454></code>_)</li> <li>Remove <code>--use-feature=2020-resolver</code> opt-in flag. This was supposed to be removed in 21.0, but missed during that release cycle. (<code>[#11493](pypa/pip#11493) <https://github.com/pypa/pip/issues/11493></code>_)</li> <li>Deprecate installation with 'setup.py install' when the 'wheel' package is absent for source distributions without 'pyproject.toml'. (<code>[#8559](pypa/pip#8559) <https://github.com/pypa/pip/issues/8559></code>_)</li> <li>Remove the ability to use <code>pip list --outdated</code> in combination with <code>--format=freeze</code>. (<code>[#9789](pypa/pip#9789) <https://github.com/pypa/pip/issues/9789></code>_)</li> </ul> <h2>Features</h2> <ul> <li>Use <code>shell=True</code> for opening the editor with <code>pip config edit</code>. (<code>[#10716](pypa/pip#10716) <https://github.com/pypa/pip/issues/10716></code>_)</li> <li>Use the <code>data-dist-info-metadata</code> attribute from :pep:<code>658</code> to resolve distribution metadata without downloading the dist yet. (<code>[#11111](pypa/pip#11111) <https://github.com/pypa/pip/issues/11111></code>_)</li> <li>Add an option to run the test suite with pip built as a zipapp. (<code>[#11250](pypa/pip#11250) <https://github.com/pypa/pip/issues/11250></code>_)</li> <li>Add a <code>--python</code> option to allow pip to manage Python environments other than the one pip is installed in. (<code>[#11320](pypa/pip#11320) <https://github.com/pypa/pip/issues/11320></code>_)</li> <li>Document the new (experimental) zipapp distribution of pip. (<code>[#11459](pypa/pip#11459) <https://github.com/pypa/pip/issues/11459></code>_)</li> <li>Use the much faster 'bzr co --lightweight' to obtain a copy of a Bazaar tree. (<code>[#5444](pypa/pip#5444) <https://github.com/pypa/pip/issues/5444></code>_)</li> </ul> <h2>Bug Fixes</h2> <ul> <li>Fix <code>--no-index</code> when <code>--index-url</code> or <code>--extra-index-url</code> is specified inside a requirements file. (<code>[#11276](pypa/pip#11276) <https://github.com/pypa/pip/issues/11276></code>_)</li> <li>Ensure that the candidate <code>pip</code> executable exists, when checking for a new version of pip. (<code>[#11309](pypa/pip#11309) <https://github.com/pypa/pip/issues/11309></code>_)</li> <li>Ignore distributions with invalid <code>Name</code> in metadata instead of crashing, when using the <code>importlib.metadata</code> backend. (<code>[#11352](pypa/pip#11352) <https://github.com/pypa/pip/issues/11352></code>_)</li> <li>Raise RequirementsFileParseError when parsing malformed requirements options that can't be sucessfully parsed by shlex. (<code>[#11491](pypa/pip#11491) <https://github.com/pypa/pip/issues/11491></code>_)</li> <li>Fix build environment isolation on some system Pythons. (<code>[#6264](pypa/pip#6264) <https://github.com/pypa/pip/issues/6264></code>_)</li> </ul> <h2>Vendored Libraries</h2> <ul> <li>Upgrade certifi to 2022.9.24</li> <li>Upgrade distlib to 0.3.6</li> <li>Upgrade idna to 3.4</li> <li>Upgrade pep517 to 0.13.0</li> <li>Upgrade pygments to 2.13.0</li> <li>Upgrade tenacity to 8.1.0</li> <li>Upgrade typing_extensions to 4.4.0</li> <li>Upgrade urllib3 to 1.26.12</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/pip/commit/0a76da3a94130fad58b086e331c3d3e1b02a89eb"><code>0a76da3</code></a> Bump for release</li> <li><a href="https://github.com/pypa/pip/commit/25638287f8b8bd571a10c4f5ae1b7f4eae454dcc"><code>2563828</code></a> Update AUTHORS.txt</li> <li><a href="https://github.com/pypa/pip/commit/e86f27fe4ee3fe45fc0fcd2372f71d39d1d013c1"><code>e86f27f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11493">#11493</a> from pradyunsg/remove-2020-resolver-opt-in</li> <li><a href="https://github.com/pypa/pip/commit/1fcc3ce4b531ac6bc80c1d102d4ef9610074e195"><code>1fcc3ce</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11514">#11514</a> from pradyunsg/certifi-update</li> <li><a href="https://github.com/pypa/pip/commit/65c23fa99d19af8ebd375e7129213794dce4b4b2"><code>65c23fa</code></a> Unnormalise the certifi version</li> <li><a href="https://github.com/pypa/pip/commit/739158cc80f138dbed9e426f3408811acef2d993"><code>739158c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11516">#11516</a> from pradyunsg/check-manifest</li> <li><a href="https://github.com/pypa/pip/commit/4e48bbc31cf34b1b4ccd100a787d1204ddb8866b"><code>4e48bbc</code></a> Move check-manifest to a CI check</li> <li><a href="https://github.com/pypa/pip/commit/1b7e5ef34f926f33fa7932239229220dd65eb7a6"><code>1b7e5ef</code></a> Upgrade certifi to 2022.9.24</li> <li><a href="https://github.com/pypa/pip/commit/2a0552ac61ee26df04e08e21943a1e36aa880db1"><code>2a0552a</code></a> Replace complex certifi patch with a more targetted requests patch</li> <li><a href="https://github.com/pypa/pip/commit/eb906997da97bbbd1f74127297d7ce9a54a6a2a0"><code>eb90699</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11502">#11502</a> from pradyunsg/vendoring-updates</li> <li>Additional commits viewable in <a href="https://github.com/pypa/pip/compare/22.2.2...22.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pip&package-manager=pip&previous-version=22.2.2&new-version=22.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
…s/@jsii/python-runtime (#3803) Updates the requirements on [pip](https://github.com/pypa/pip) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/pip/blob/main/NEWS.rst">pip's changelog</a>.</em></p> <blockquote> <h1>22.3 (2022-10-15)</h1> <h2>Deprecations and Removals</h2> <ul> <li>Deprecate <code>--install-options</code> which forces pip to use the deprecated <code>install</code> command of <code>setuptools</code>. (<code>[#11358](pypa/pip#11358) <https://github.com/pypa/pip/issues/11358></code>_)</li> <li>Deprecate installation with 'setup.py install' when no-binary is enabled for source distributions without 'pyproject.toml'. (<code>[#11452](pypa/pip#11452) <https://github.com/pypa/pip/issues/11452></code>_)</li> <li>Deprecate ```--no-binary`` disabling the wheel cache. (<code>[#11454](pypa/pip#11454) <https://github.com/pypa/pip/issues/11454></code>_)</li> <li>Remove <code>--use-feature=2020-resolver</code> opt-in flag. This was supposed to be removed in 21.0, but missed during that release cycle. (<code>[#11493](pypa/pip#11493) <https://github.com/pypa/pip/issues/11493></code>_)</li> <li>Deprecate installation with 'setup.py install' when the 'wheel' package is absent for source distributions without 'pyproject.toml'. (<code>[#8559](pypa/pip#8559) <https://github.com/pypa/pip/issues/8559></code>_)</li> <li>Remove the ability to use <code>pip list --outdated</code> in combination with <code>--format=freeze</code>. (<code>[#9789](pypa/pip#9789) <https://github.com/pypa/pip/issues/9789></code>_)</li> </ul> <h2>Features</h2> <ul> <li>Use <code>shell=True</code> for opening the editor with <code>pip config edit</code>. (<code>[#10716](pypa/pip#10716) <https://github.com/pypa/pip/issues/10716></code>_)</li> <li>Use the <code>data-dist-info-metadata</code> attribute from :pep:<code>658</code> to resolve distribution metadata without downloading the dist yet. (<code>[#11111](pypa/pip#11111) <https://github.com/pypa/pip/issues/11111></code>_)</li> <li>Add an option to run the test suite with pip built as a zipapp. (<code>[#11250](pypa/pip#11250) <https://github.com/pypa/pip/issues/11250></code>_)</li> <li>Add a <code>--python</code> option to allow pip to manage Python environments other than the one pip is installed in. (<code>[#11320](pypa/pip#11320) <https://github.com/pypa/pip/issues/11320></code>_)</li> <li>Document the new (experimental) zipapp distribution of pip. (<code>[#11459](pypa/pip#11459) <https://github.com/pypa/pip/issues/11459></code>_)</li> <li>Use the much faster 'bzr co --lightweight' to obtain a copy of a Bazaar tree. (<code>[#5444](pypa/pip#5444) <https://github.com/pypa/pip/issues/5444></code>_)</li> </ul> <h2>Bug Fixes</h2> <ul> <li>Fix <code>--no-index</code> when <code>--index-url</code> or <code>--extra-index-url</code> is specified inside a requirements file. (<code>[#11276](pypa/pip#11276) <https://github.com/pypa/pip/issues/11276></code>_)</li> <li>Ensure that the candidate <code>pip</code> executable exists, when checking for a new version of pip. (<code>[#11309](pypa/pip#11309) <https://github.com/pypa/pip/issues/11309></code>_)</li> <li>Ignore distributions with invalid <code>Name</code> in metadata instead of crashing, when using the <code>importlib.metadata</code> backend. (<code>[#11352](pypa/pip#11352) <https://github.com/pypa/pip/issues/11352></code>_)</li> <li>Raise RequirementsFileParseError when parsing malformed requirements options that can't be sucessfully parsed by shlex. (<code>[#11491](pypa/pip#11491) <https://github.com/pypa/pip/issues/11491></code>_)</li> <li>Fix build environment isolation on some system Pythons. (<code>[#6264](pypa/pip#6264) <https://github.com/pypa/pip/issues/6264></code>_)</li> </ul> <h2>Vendored Libraries</h2> <ul> <li>Upgrade certifi to 2022.9.24</li> <li>Upgrade distlib to 0.3.6</li> <li>Upgrade idna to 3.4</li> <li>Upgrade pep517 to 0.13.0</li> <li>Upgrade pygments to 2.13.0</li> <li>Upgrade tenacity to 8.1.0</li> <li>Upgrade typing_extensions to 4.4.0</li> <li>Upgrade urllib3 to 1.26.12</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/pip/commit/0a76da3a94130fad58b086e331c3d3e1b02a89eb"><code>0a76da3</code></a> Bump for release</li> <li><a href="https://github.com/pypa/pip/commit/25638287f8b8bd571a10c4f5ae1b7f4eae454dcc"><code>2563828</code></a> Update AUTHORS.txt</li> <li><a href="https://github.com/pypa/pip/commit/e86f27fe4ee3fe45fc0fcd2372f71d39d1d013c1"><code>e86f27f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11493">#11493</a> from pradyunsg/remove-2020-resolver-opt-in</li> <li><a href="https://github.com/pypa/pip/commit/1fcc3ce4b531ac6bc80c1d102d4ef9610074e195"><code>1fcc3ce</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11514">#11514</a> from pradyunsg/certifi-update</li> <li><a href="https://github.com/pypa/pip/commit/65c23fa99d19af8ebd375e7129213794dce4b4b2"><code>65c23fa</code></a> Unnormalise the certifi version</li> <li><a href="https://github.com/pypa/pip/commit/739158cc80f138dbed9e426f3408811acef2d993"><code>739158c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11516">#11516</a> from pradyunsg/check-manifest</li> <li><a href="https://github.com/pypa/pip/commit/4e48bbc31cf34b1b4ccd100a787d1204ddb8866b"><code>4e48bbc</code></a> Move check-manifest to a CI check</li> <li><a href="https://github.com/pypa/pip/commit/1b7e5ef34f926f33fa7932239229220dd65eb7a6"><code>1b7e5ef</code></a> Upgrade certifi to 2022.9.24</li> <li><a href="https://github.com/pypa/pip/commit/2a0552ac61ee26df04e08e21943a1e36aa880db1"><code>2a0552a</code></a> Replace complex certifi patch with a more targetted requests patch</li> <li><a href="https://github.com/pypa/pip/commit/eb906997da97bbbd1f74127297d7ce9a54a6a2a0"><code>eb90699</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/pip/issues/11502">#11502</a> from pradyunsg/vendoring-updates</li> <li>Additional commits viewable in <a href="https://github.com/pypa/pip/compare/22.2...22.3">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
It seems that if you create a virtualenv with
--system-site-packages
, the system packages (but not the user packages) will be on thePYTHONPATH
in the PEP 517 isolated build environment thatpip
creates (it does not effectpython -m pep517.build
), and it seems they will be on there with higher precedence than the requirements installed in the build environment. It only affectspip >= 19.0.0
.The most common way I've seen this cause problems is with the new
setuptools.build_meta:__legacy__
backend. Since the most recent version ofpip
requires a recent version ofsetuptools
, if you have an older version ofsetuptools
installed on the system,pip install
will fail due to the missingsetuptools.build_meta:__legacy__
backend. It is possible to reproduce this by crafting a deliberately bad package and installing it, then creating a wheel for a newer version of the package (which allowed me to test that this failure was actually introduced withpip==19.0.0
), but for the MWE we can stick withsetuptools
.To reproduce, create a package like this:
Then install an older version of
setuptools
on your system (can't be--user
or in the virtualenv),pip install 'setuptools < 40.8.0'
(I did this in apyenv
environment). If your system already has an older version ofsetuptools
on it, you're already good.Next create a virtualenv with
--system-site-packages
and activate it:virtualenv venv --system-site-packages source venv/bin/activate
Finally try to install
badpkg
(pip wheel
orpip install -t tmp
also works to demonstrate the problem):You should get a traceback the ends like this:
At first I thought this was because the affected packages had too loose bounds on
build-system.requires
(e.g.requires=["setuptools"]
) and thatpip
was failing to install a more recent version in the isolated environment, but this bug still occurs even if you specify"setuptools>=40.8.0"
, so I believe it's not a problem at install-time, it's a problem with the path resolution at build time.At the moment it's unclear if this is a problem with
pip
orvirtualenv
, but since it does not affectpython -m pep517.build
, I'm reporting it here. It could be a combination of both.CC: @gaborbernat
The text was updated successfully, but these errors were encountered: