Skip to content

Commit

Permalink
drop Python 3.7 from default bundled lockfiles
Browse files Browse the repository at this point in the history
As a consequence, most tests no longer work with 3.7 since -- for
example -- the lockfile with pytest does not support 3.7.  This
downgrades 3.7 to "probably works but not well tested", which
is the same state as 3.6.  Since 3.7 has been EoL for over a year I
think this is reasonable.  This opens up the way for Python 3.13
support in lockfiles among other benefits.

As another consequence, lockfiles are regenerated which means we have
some new versions coming along for the ride.  The pretty lockfile diff
does not seem to work with the generation script though --> pantsbuild#21388

Uses of Pants can still use 3.7 by generating their own
lockfiles. Deprecation plan annouced at
https://www.pantsbuild.org/blog/2024/08/24/venerable-pythons

Based off work started in pantsbuild#21314

ref pantsbuild#21184, pantsbuild#21103, pantsbuild#20852
  • Loading branch information
cburroughs committed Sep 10, 2024
1 parent 93e54f4 commit 8a8833b
Show file tree
Hide file tree
Showing 58 changed files with 4,392 additions and 4,808 deletions.
2 changes: 1 addition & 1 deletion build-support/bin/generate_builtin_lockfiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
logger = logging.getLogger(__name__)


default_python_interpreter_constraints = "CPython>=3.7,<4"
default_python_interpreter_constraints = "CPython>=3.8,<4"


ToolBaseT = TypeVar("ToolBaseT")
Expand Down
2 changes: 2 additions & 0 deletions docs/notes/2.23.x.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,8 @@ The backend linter will also load a Trufflehog [configuration file](https://gith

#### Python

The default lockfiles bundled with Pants for various tools (ex: to run `black`) no longer support Python 3.7. The minimum Python version is now 3.8. Pants still supports running Python 3.7 (and earlier!) user code, but you will need to [generate your own lockfiles](https://www.pantsbuild.org/stable/docs/python/overview/lockfiles#lockfiles-for-tools). See the announcement at <https://www.pantsbuild.org/blog/2024/08/24/venerable-pythons> for further context.

[The `pants.backend.experimental.python.typecheck.pyright` backend](https://www.pantsbuild.org/2.23/reference/subsystems/pyright) now uses version 1.1.365 by default.

[The `pants.backend.python.providers.experimental.pyenv` backend](https://www.pantsbuild.org/2.23/reference/subsystems/pyenv-python-provider) now uses `pyenv` 2.4.7 by default.
Expand Down
10 changes: 6 additions & 4 deletions src/python/pants/backend/cc/lint/clangformat/clangformat.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// {
// "version": 3,
// "valid_for_interpreter_constraints": [
// "CPython<4,>=3.7"
// "CPython<4,>=3.8"
// ],
// "generated_with_requirements": [
// "clang-format<16,>=14.0.3"
Expand All @@ -24,6 +24,7 @@
"allow_wheels": true,
"build_isolation": true,
"constraints": [],
"excluded": [],
"locked_resolves": [
{
"locked_requirements": [
Expand Down Expand Up @@ -71,15 +72,16 @@
],
"only_builds": [],
"only_wheels": [],
"overridden": [],
"path_mappings": {},
"pex_version": "2.2.1",
"pip_version": "24.0",
"pex_version": "2.16.2",
"pip_version": "24.2",
"prefer_older_binary": false,
"requirements": [
"clang-format<16,>=14.0.3"
],
"requires_python": [
"<4,>=3.7"
"<4,>=3.8"
],
"resolver_version": "pip-2020-resolver",
"style": "universal",
Expand Down
89 changes: 18 additions & 71 deletions src/python/pants/backend/codegen/protobuf/python/grpclib.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// {
// "version": 3,
// "valid_for_interpreter_constraints": [
// "CPython<4,>=3.7"
// "CPython<4,>=3.8"
// ],
// "generated_with_requirements": [
// "grpclib[protobuf]<1,>=0.4"
Expand All @@ -24,6 +24,7 @@
"allow_wheels": true,
"build_isolation": true,
"constraints": [],
"excluded": [],
"locked_resolves": [
{
"locked_requirements": [
Expand Down Expand Up @@ -118,11 +119,6 @@
"hash": "3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453",
"url": "https://files.pythonhosted.org/packages/03/a6/b13e10db5357695645748fae401c94674f612e04e2262c99032ddc638864/multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl"
},
{
"algorithm": "sha256",
"hash": "aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626",
"url": "https://files.pythonhosted.org/packages/0a/f0/b256648385dfda067688570b10e7b90eacd3711c26635763560cbad0a447/multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
},
{
"algorithm": "sha256",
"hash": "79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496",
Expand Down Expand Up @@ -153,11 +149,6 @@
"hash": "cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38",
"url": "https://files.pythonhosted.org/packages/1b/52/6e984685d048f6728807c3fd9b8a6e3e3d51a06a4d6665d6e0102115455d/multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl"
},
{
"algorithm": "sha256",
"hash": "19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3",
"url": "https://files.pythonhosted.org/packages/21/d2/8faec69b04237385c760d0c481ba032e46cdecb6bf47bdbf672a60f19d75/multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl"
},
{
"algorithm": "sha256",
"hash": "53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e",
Expand All @@ -178,11 +169,6 @@
"hash": "04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29",
"url": "https://files.pythonhosted.org/packages/28/32/d7799a208701d537b92705f46c777ded812a6dc139c18d8ed599908f6b1c/multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl"
},
{
"algorithm": "sha256",
"hash": "b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c",
"url": "https://files.pythonhosted.org/packages/33/2e/b37eaa5541d29847dfdfb6dbe3ac514d31dab186c78b0156cdb585616b13/multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl"
},
{
"algorithm": "sha256",
"hash": "21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae",
Expand Down Expand Up @@ -218,11 +204,6 @@
"hash": "7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3",
"url": "https://files.pythonhosted.org/packages/3f/e1/7fdd0f39565df3af87d6c2903fb66a7d529fbd0a8a066045d7a5b6ad1145/multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
},
{
"algorithm": "sha256",
"hash": "e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83",
"url": "https://files.pythonhosted.org/packages/41/34/16237d404dc204a90c94d5974ae8aaaa6dd4604b6ff808883262a5759c0d/multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl"
},
{
"algorithm": "sha256",
"hash": "fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24",
Expand Down Expand Up @@ -258,21 +239,11 @@
"hash": "37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50",
"url": "https://files.pythonhosted.org/packages/61/a3/c307d4af64e695d13e8587d3f996a51b134156c0e8e2e26f4135bb2bf517/multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
},
{
"algorithm": "sha256",
"hash": "d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a",
"url": "https://files.pythonhosted.org/packages/62/34/829b3a0857ae46e502cb9c6699541107aa2d077501004c1148909465b6c7/multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl"
},
{
"algorithm": "sha256",
"hash": "09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8",
"url": "https://files.pythonhosted.org/packages/6a/43/d753dbaa498d42e8e292889cc9a9def30b32631573ae86c9911889977049/multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl"
},
{
"algorithm": "sha256",
"hash": "a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5",
"url": "https://files.pythonhosted.org/packages/6b/97/08c6a79ef52b2764ae9f7abb7463e7e1e6ddcb17125494654f00cb343380/multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl"
},
{
"algorithm": "sha256",
"hash": "b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d",
Expand Down Expand Up @@ -323,11 +294,6 @@
"hash": "51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e",
"url": "https://files.pythonhosted.org/packages/90/9c/7fda9c0defa09538c97b1f195394be82a1f53238536f70b32eb5399dfd4e/multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl"
},
{
"algorithm": "sha256",
"hash": "107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd",
"url": "https://files.pythonhosted.org/packages/93/4b/fc9f393fbae0e9ebd7728b06a79f60325f6307ee4fc433cfa39995f307ee/multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl"
},
{
"algorithm": "sha256",
"hash": "2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5",
Expand All @@ -348,11 +314,6 @@
"hash": "7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4",
"url": "https://files.pythonhosted.org/packages/aa/a9/46cdb4cb40bbd4b732169413f56b04a6553460b22bd914f9729c9ba63761/multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl"
},
{
"algorithm": "sha256",
"hash": "403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e",
"url": "https://files.pythonhosted.org/packages/ab/f7/6d5f45c0cc8bcb2e510a8c17c51c74b42c2dcd6636bd048217d4336c342f/multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl"
},
{
"algorithm": "sha256",
"hash": "141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40",
Expand Down Expand Up @@ -428,11 +389,6 @@
"hash": "f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e",
"url": "https://files.pythonhosted.org/packages/dc/04/0dcb48358f8217ae6839075287ce5d4be124e68d4ef7696b23e3f0981b51/multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl"
},
{
"algorithm": "sha256",
"hash": "6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5",
"url": "https://files.pythonhosted.org/packages/e0/fa/517294e7f7a1d070a03a16bd28f10997d4b90846ca52f390833365d15048/multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
},
{
"algorithm": "sha256",
"hash": "55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b",
Expand All @@ -443,11 +399,6 @@
"hash": "e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1",
"url": "https://files.pythonhosted.org/packages/e9/32/35668bb3e6ab2f12f4e4f7f4000f72f714882a94f904d4c3633fbd036753/multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl"
},
{
"algorithm": "sha256",
"hash": "c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc",
"url": "https://files.pythonhosted.org/packages/eb/1c/bc0d59aeb216f3fce21333632f72843bf2dfd5d045e32a13615477cd7d7c/multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl"
},
{
"algorithm": "sha256",
"hash": "4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461",
Expand Down Expand Up @@ -478,11 +429,6 @@
"hash": "29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc",
"url": "https://files.pythonhosted.org/packages/fa/10/f1388a91552af732d8ec48dab928abc209e732767e9e8f92d24c3544353c/multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl"
},
{
"algorithm": "sha256",
"hash": "d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3",
"url": "https://files.pythonhosted.org/packages/fc/3a/308c8bcdffe345cf4e2682543311a67aabb3c85492ce896d0a07d5105443/multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl"
},
{
"algorithm": "sha256",
"hash": "76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271",
Expand All @@ -503,50 +449,51 @@
"artifacts": [
{
"algorithm": "sha256",
"hash": "80797ce7424f8c8d2f2547e2d42bfbb6c08230ce5832d6c099a37335c9c90a92",
"url": "https://files.pythonhosted.org/packages/e5/a7/bb962b8b981dd890a44a34d0e922b76c32e5db443ff9f9b9ce6149069070/protobuf-4.24.4-py3-none-any.whl"
"hash": "510ed78cd0980f6d3218099e874714cdf0d8a95582e7b059b06cabad855ed0a0",
"url": "https://files.pythonhosted.org/packages/e3/b2/4df9958122a0377e571972c71692420bafd623d1df3ce506d88c2aba7e12/protobuf-5.28.0-py3-none-any.whl"
},
{
"algorithm": "sha256",
"hash": "5a70731910cd9104762161719c3d883c960151eea077134458503723b60e3667",
"url": "https://files.pythonhosted.org/packages/52/5c/f2c0778278259089952f94b0884ca27a001a17ffbd992ebe30c841085f4c/protobuf-4.24.4.tar.gz"
"hash": "6206afcb2d90181ae8722798dcb56dc76675ab67458ac24c0dd7d75d632ac9bd",
"url": "https://files.pythonhosted.org/packages/19/15/da43113361db20f2d521bc38d92549edbe06856aeec085c420b2b8af5751/protobuf-5.28.0-cp38-abi3-manylinux2014_x86_64.whl"
},
{
"algorithm": "sha256",
"hash": "8e61a27f362369c2f33248a0ff6896c20dcd47b5d48239cb9720134bef6082e4",
"url": "https://files.pythonhosted.org/packages/88/12/efb5896c901382548ecb58d0449885a8f9aa62bb559d65e5a8a47f122629/protobuf-4.24.4-cp37-abi3-macosx_10_9_universal2.whl"
"hash": "dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add",
"url": "https://files.pythonhosted.org/packages/5f/d7/331ee1f3b798c34d2257c79d5426ecbe95d46d2b40ba808a29da6947f6d8/protobuf-5.28.0.tar.gz"
},
{
"algorithm": "sha256",
"hash": "b493cb590960ff863743b9ff1452c413c2ee12b782f48beca77c8da3e2ffe9d9",
"url": "https://files.pythonhosted.org/packages/c8/2c/03046cac73f46bfe98fc846ef629cf4f84c2f59258216aa2cc0d22bfca8f/protobuf-4.24.4-cp37-abi3-manylinux2014_x86_64.whl"
"hash": "532627e8fdd825cf8767a2d2b94d77e874d5ddb0adefb04b237f7cc296748681",
"url": "https://files.pythonhosted.org/packages/ce/ec/34f67d6a3398aa360524d90f75a8c648c99c807b2f1001f5ab16355c1d12/protobuf-5.28.0-cp38-abi3-macosx_10_9_universal2.whl"
},
{
"algorithm": "sha256",
"hash": "bffa46ad9612e6779d0e51ae586fde768339b791a50610d85eb162daeb23661e",
"url": "https://files.pythonhosted.org/packages/db/61/9c7b481771fe4702fb3be1152812fecec9b06f9c36d523ad52b98cb46800/protobuf-4.24.4-cp37-abi3-manylinux2014_aarch64.whl"
"hash": "018db9056b9d75eb93d12a9d35120f97a84d9a919bcab11ed56ad2d399d6e8dd",
"url": "https://files.pythonhosted.org/packages/fe/79/636415c84eed9835fed83183db73fd6ea7ba76a85cae321ff2eaad722e85/protobuf-5.28.0-cp38-abi3-manylinux2014_aarch64.whl"
}
],
"project_name": "protobuf",
"requires_dists": [],
"requires_python": ">=3.7",
"version": "4.24.4"
"requires_python": ">=3.8",
"version": "5.28.0"
}
],
"platform_tag": null
}
],
"only_builds": [],
"only_wheels": [],
"overridden": [],
"path_mappings": {},
"pex_version": "2.2.1",
"pip_version": "24.0",
"pex_version": "2.16.2",
"pip_version": "24.2",
"prefer_older_binary": false,
"requirements": [
"grpclib[protobuf]<1,>=0.4"
],
"requires_python": [
"<4,>=3.7"
"<4,>=3.8"
],
"resolver_version": "pip-2020-resolver",
"style": "universal",
Expand Down
Loading

0 comments on commit 8a8833b

Please sign in to comment.