Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -71,7 +71,7 @@
logger = logging.getLogger(__name__)


default_python_interpreter_constraints = "CPython>=3.9,<3.15"
default_python_interpreter_constraints = "CPython>=3.10,<3.15"


ToolBaseT = TypeVar("ToolBaseT")
Expand Down
6 changes: 6 additions & 0 deletions docs/notes/2.33.x.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ Fixed a bug where `--sync`-ing a Pex lockfile with legacy metadata headers faile

Added a default module mapping for `apache-airflow-mypy`, which provides the `airflow_mypy` module.

The default interpreter constraints for bundled tools have been standardized on `>=3.10,<3.15`. This drops support for Python 3.9 which reached end-of-life on [2025-10-31](https://www.python.org/downloads/release/python-3925/) and support was removed from Pip in [26.1](https://pip.pypa.io/en/stable/news/#v26-1). If you are specifically relying on a Python 3.8 interpreter to run a tool, or if you require a different version of a tool than the new default, then you will need to generate a custom lockfile for that tool with the appropriate interpreter constraints. As part of this several default bundled versions have been updated. Notably this includes:
* `mypy`: `1.19.1 -> 1.20.2`
* `mypy-protobuf`: `3.6.0 -> 3.7.0`
* `coverage`: `7.10.7 -> 7.14.3`
* The version of packaging (`26.2`) and setuptools (`82.x`) was also updated across the bundled lockfiles.

The default version of the sqlfluff in the bundled tool lockfile has been upgraded from `2.3.5` to [`4.1.0`](https://docs.sqlfluff.com/en/stable/reference/releasenotes.html).

#### Protobuf
Expand Down
6 changes: 3 additions & 3 deletions src/python/pants/backend/cc/lint/clangformat/clangformat.lock
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,14 @@
"only_wheels": [],
"overridden": [],
"path_mappings": {},
"pex_version": "2.69.1",
"pip_version": "25.3",
"pex_version": "2.96.1",
"pip_version": "26.1.2",
"prefer_older_binary": false,
"requirements": [
"clang-format<16,>=14.0.3"
],
"requires_python": [
"CPython<3.15,>=3.9"
"CPython<3.15,>=3.10"
],
"resolver_version": "pip-2020-resolver",
"style": "universal",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": 5,
"version": 8,
"valid_for_interpreter_constraints": [
"CPython<3.15,>=3.9"
"CPython<3.15,>=3.10"
],
"generated_with_requirements": [
"clang-format<16,>=14.0.3"
Expand All @@ -13,5 +13,10 @@
"excludes": [],
"overrides": [],
"sources": [],
"lock_style": "universal",
"complete_platforms": [],
"uploaded_prior_to": null,
"lockfile_format": "pex",
"resolve": "clang-format",
"description": "This lockfile was generated by Pants. To regenerate, run: ./pants run build-support/bin/generate_builtin_lockfiles.py"
}
563 changes: 244 additions & 319 deletions src/python/pants/backend/codegen/protobuf/python/grpclib.lock

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": 5,
"version": 8,
"valid_for_interpreter_constraints": [
"CPython<3.15,>=3.9"
"CPython<3.15,>=3.10"
],
"generated_with_requirements": [
"grpclib[protobuf]<1,>=0.4"
Expand All @@ -13,5 +13,10 @@
"excludes": [],
"overrides": [],
"sources": [],
"lock_style": "universal",
"complete_platforms": [],
"uploaded_prior_to": null,
"lockfile_format": "pex",
"resolve": "python-grpclib-protobuf",
"description": "This lockfile was generated by Pants. To regenerate, run: ./pants run build-support/bin/generate_builtin_lockfiles.py"
}
56 changes: 28 additions & 28 deletions src/python/pants/backend/codegen/protobuf/python/mypy_protobuf.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@
"artifacts": [
{
"algorithm": "sha256",
"hash": "56176e4d569070e7350ea620262478b49b7efceba4103d468448f1d21492fd6c",
"url": "https://files.pythonhosted.org/packages/e8/73/d6b999782ae22f16971cc05378b3b33f6a89ede3b9619e8366aa23484bca/mypy_protobuf-3.6.0-py3-none-any.whl"
"hash": "85256e9d4da935722ce8fbaa8d19397e1a2989aa8075c96577987de9fe7cea4d",
"url": "https://files.pythonhosted.org/packages/69/32/709df4390d155bd72e75f2a9bce6004c2958a21f31817f3a2c7750299f70/mypy_protobuf-3.7.0-py3-none-any.whl"
},
{
"algorithm": "sha256",
"hash": "02f242eb3409f66889f2b1a3aa58356ec4d909cdd0f93115622e9e70366eca3c",
"url": "https://files.pythonhosted.org/packages/4d/6f/282d64d66bf48ce60e38a6560753f784e0f88ab245ac2fb5e93f701a36cd/mypy-protobuf-3.6.0.tar.gz"
"hash": "912fb281f7c7b3e3a7c9b8695712618a716fddbab70f6ad63eaf68eda80c5efe",
"url": "https://files.pythonhosted.org/packages/99/bd/92ee9e7d2ff30cb57b36bd6f61ee4da8a05acf32f6a6121883b58720e9d4/mypy_protobuf-3.7.0.tar.gz"
}
],
"project_name": "mypy-protobuf",
Expand All @@ -28,63 +28,63 @@
"types-protobuf>=4.24"
],
"requires_python": ">=3.8",
"version": "3.6.0"
"version": "3.7.0"
},
{
"artifacts": [
{
"algorithm": "sha256",
"hash": "d595a9fd694fdeb061a62fbe10eb039cc1e444df81ec9bb70c7fc59ebcb1eafa",
"url": "https://files.pythonhosted.org/packages/08/b4/46310463b4f6ceef310f8348786f3cff181cea671578e3d9743ba61a459e/protobuf-6.33.1-py3-none-any.whl"
"hash": "4bc97768d8fe4ad6743c8a19403e314511ed9f6d13205b687e52421c023ac1b9",
"url": "https://files.pythonhosted.org/packages/19/c7/5f7c636ec43e0c545e28d1f1db71990108306f7bdcb89f069ba97e428e7f/protobuf-7.35.1-py3-none-any.whl"
},
{
"algorithm": "sha256",
"hash": "97f65757e8d09870de6fd973aeddb92f85435607235d20b2dfed93405d00c85b",
"url": "https://files.pythonhosted.org/packages/0a/03/a1440979a3f74f16cab3b75b0da1a1a7f922d56a8ddea96092391998edc0/protobuf-6.33.1.tar.gz"
"hash": "b73f9489a4b8b1c9cb1f8ed951c736392592edb24b9d6819f36d2e10b171d5b4",
"url": "https://files.pythonhosted.org/packages/0f/58/dc12f2cd484951524af6e3382c785869b9b3fb5e52ee95ae23add53ee8f9/protobuf-7.35.1-cp310-abi3-manylinux2014_s390x.whl"
},
{
"algorithm": "sha256",
"hash": "8fd7d5e0eb08cd5b87fd3df49bc193f5cfd778701f47e11d127d0afc6c39f1d1",
"url": "https://files.pythonhosted.org/packages/1d/2a/3c5f05a4af06649547027d288747f68525755de692a26a7720dced3652c0/protobuf-6.33.1-cp39-abi3-manylinux2014_x86_64.whl"
"hash": "24f857477359a85c0c235261b8ba905fd51b2562f4a64ca1df5473f29850cbf6",
"url": "https://files.pythonhosted.org/packages/10/03/8aeeb7458d22546bf64b5250ca1daeb5ff757d900e8e4a7476c6f0db843e/protobuf-7.35.1-cp310-abi3-macosx_10_9_universal2.whl"
},
{
"algorithm": "sha256",
"hash": "0f4cf01222c0d959c2b399142deb526de420be8236f22c71356e2a544e153c53",
"url": "https://files.pythonhosted.org/packages/8e/d0/d796e419e2ec93d2f3fa44888861c3f88f722cde02b7c3488fcc6a166820/protobuf-6.33.1-cp39-abi3-manylinux2014_s390x.whl"
"hash": "11d6b0ec246892d85215b0a13ca6e0233cf5284b68f0ac02646427f4ff88a799",
"url": "https://files.pythonhosted.org/packages/37/4b/dfb89eb0e652a1ff073c39a59fb5e3a83cfe9b57a2c83fa6d78270101767/protobuf-7.35.1-cp310-abi3-manylinux2014_aarch64.whl"
},
{
"algorithm": "sha256",
"hash": "f8adba2e44cde2d7618996b3fc02341f03f5bc3f2748be72dc7b063319276178",
"url": "https://files.pythonhosted.org/packages/c2/32/df4a35247923393aa6b887c3b3244a8c941c32a25681775f96e2b418f90e/protobuf-6.33.1-cp39-abi3-manylinux2014_aarch64.whl"
"hash": "ce115a26fe0c39a2c29973d914d327e516a6455464489fe3cd1e51a1b354f81a",
"url": "https://files.pythonhosted.org/packages/da/01/9ef0afd7999eb9badb3a768b4aedd78c86d4c65cfaf1958ab276199e76b4/protobuf-7.35.1.tar.gz"
},
{
"algorithm": "sha256",
"hash": "fe34575f2bdde76ac429ec7b570235bf0c788883e70aee90068e9981806f2490",
"url": "https://files.pythonhosted.org/packages/cd/93/26213ff72b103ae55bb0d73e7fb91ea570ef407c3ab4fd2f1f27cac16044/protobuf-6.33.1-cp39-abi3-macosx_10_9_universal2.whl"
"hash": "74758715c53d7158fb76caf4f0cfdacc5329a4b1bb994f865d6cf302d413a1c4",
"url": "https://files.pythonhosted.org/packages/e4/be/5b3cfe508bfab6761414ff944e3366eb13be4fd71efcd69450f89ba39f43/protobuf-7.35.1-cp310-abi3-manylinux2014_x86_64.whl"
}
],
"project_name": "protobuf",
"requires_dists": [],
"requires_python": ">=3.9",
"version": "6.33.1"
"requires_python": ">=3.10",
"version": "7.35.1"
},
{
"artifacts": [
{
"algorithm": "sha256",
"hash": "a15109d38f7cfefd2539ef86d3f93a6a41c7cad53924f8aa1a51eaddbb72a660",
"url": "https://files.pythonhosted.org/packages/ed/57/3a0d89b33b7485b7ffd99ec7cf53b0c5c89194c481f0bd673fd67e5f273f/types_protobuf-6.32.1.20251105-py3-none-any.whl"
"hash": "a0a5337413347166439c0e07cbc26c6164d091401c6f01b1dfd8cdb966c4dd8f",
"url": "https://files.pythonhosted.org/packages/2a/1f/ec5caf72c2e3b688ca3927e0979a04ddad19e1afc4bf1c199bd743e0f419/types_protobuf-7.34.1.20260518-py3-none-any.whl"
},
{
"algorithm": "sha256",
"hash": "641002611ff87dd9fedc38a39a29cacb9907ae5ce61489b53e99ca2074bef764",
"url": "https://files.pythonhosted.org/packages/f3/ab/0dce6a9841b5ebf3e37401879bb8cc20724ad9c770a7649bee997696cc75/types_protobuf-6.32.1.20251105.tar.gz"
"hash": "28cfaded25889cb83ebfb63cfb0a43628f0b6f3785767bec17287dc6468795f2",
"url": "https://files.pythonhosted.org/packages/29/59/e2b13b499d15e6720150c4b1a8d91e31fcacf716b432397475b3151ff7e4/types_protobuf-7.34.1.20260518.tar.gz"
}
],
"project_name": "types-protobuf",
"requires_dists": [],
"requires_python": ">=3.9",
"version": "6.32.1.20251105"
"requires_python": ">=3.10",
"version": "7.34.1.20260518"
}
],
"marker": null,
Expand All @@ -95,14 +95,14 @@
"only_wheels": [],
"overridden": [],
"path_mappings": {},
"pex_version": "2.69.1",
"pip_version": "25.3",
"pex_version": "2.96.1",
"pip_version": "26.1.2",
"prefer_older_binary": false,
"requirements": [
"mypy-protobuf<4,>=3.4.0"
],
"requires_python": [
"CPython<3.15,>=3.9"
"CPython<3.15,>=3.10"
],
"resolver_version": "pip-2020-resolver",
"style": "universal",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": 5,
"version": 8,
"valid_for_interpreter_constraints": [
"CPython<3.15,>=3.9"
"CPython<3.15,>=3.10"
],
"generated_with_requirements": [
"mypy-protobuf<4,>=3.4.0"
Expand All @@ -13,5 +13,10 @@
"excludes": [],
"overrides": [],
"sources": [],
"lock_style": "universal",
"complete_platforms": [],
"uploaded_prior_to": null,
"lockfile_format": "pex",
"resolve": "mypy-protobuf",
"description": "This lockfile was generated by Pants. To regenerate, run: ./pants run build-support/bin/generate_builtin_lockfiles.py"
}
6 changes: 3 additions & 3 deletions src/python/pants/backend/docker/subsystems/dockerfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@
"only_wheels": [],
"overridden": [],
"path_mappings": {},
"pex_version": "2.69.1",
"pip_version": "25.3",
"pex_version": "2.96.1",
"pip_version": "26.1.2",
"prefer_older_binary": false,
"requirements": [
"dockerfile<4,>=3.2.0"
],
"requires_python": [
"CPython<3.15,>=3.9"
"CPython<3.15,>=3.10"
],
"resolver_version": "pip-2020-resolver",
"style": "universal",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"version": 5,
"version": 8,
"valid_for_interpreter_constraints": [
"CPython<3.15,>=3.9"
"CPython<3.15,>=3.10"
],
"generated_with_requirements": [
"dockerfile<4,>=3.2.0"
Expand All @@ -13,5 +13,10 @@
"excludes": [],
"overrides": [],
"sources": [],
"lock_style": "universal",
"complete_platforms": [],
"uploaded_prior_to": null,
"lockfile_format": "pex",
"resolve": "dockerfile-parser",
"description": "This lockfile was generated by Pants. To regenerate, run: ./pants run build-support/bin/generate_builtin_lockfiles.py"
}
Loading
Loading