Skip to content
Merged
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 .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ updates:
- "dependencies"
- "release-notes:not-required"
schedule:
interval: weekly
interval: "monthly"

- package-ecosystem: "npm"
directories:
Expand Down
51 changes: 21 additions & 30 deletions 3rdparty/python/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,54 +6,45 @@

ansicolors==1.1.8
chevron==0.14.0
fasteners==0.16.3
freezegun==1.2.1
fasteners==0.20.0
freezegun==1.5.5
hdrhistogram==0.10.3
ijson==3.2.3
libcst==1.4.0
packaging==24.2
ijson==3.4.0.post0
libcst==1.8.5
packaging==25.0
pex==2.66.0
psutil==5.9.8
# This should be compatible with pytest.py, although it can be looser so that we don't
# over-constrain pantsbuild.pants.testutil
pytest>=7,<9,!=7.1.0,!=7.1.1
python-lsp-jsonrpc==1.0.0
python-lsp-jsonrpc==1.1.2
PyYAML>=6.0,<7.0
requests[security]>=2.28.1
setproctitle==1.3.2
setuptools>=63.1.0,<64.0
requests[security]==2.32.5
setproctitle==1.3.7
setuptools>=63.1.0,<81.0
toml==0.10.2
types-freezegun==1.1.6
types-PyYAML==6.0.3
types-requests==2.28.1
types-setuptools==62.6.1
types-toml==0.10.8
typing-extensions~=4.12
types-PyYAML==6.0.12.20250915
types-requests==2.32.4.20250913
types-setuptools==80.9.0.20250822
types-toml==0.10.8.20240310
typing-extensions==4.15
mypy-typing-asserts==0.1.1
node-semver==0.9.0

# In src/python/pants/backend/url_handlers/s3/register.py we advise adding
# `botocore` to `[GLOBAL].plugins`, but `botocore` is particular about the
# version of urllib3 used. To make the s3 handler easier to use, constrain
# urlib3 here. Per the voluminous thread at
# https://github.com/boto/botocore/issues/2926 this can likely be relaxed when
# Pants itself is on a newer version of Python
urllib3<2

# These dependencies are only for debugging Pants itself (in VSCode/PyCharm respectively),
# and should never be imported.
debugpy==1.8.13
debugpy==1.8.16
pydevd-pycharm==251.23536.40

# These dependencies must only be used from the explorer backend, and no code outside that backend
# may import anything from it, so these libraries are not ending up as requirements of Pants itself.
fastapi==0.78.0
starlette==0.19.1
strawberry-graphql[fastapi]==0.114.0
uvicorn[standard]==0.17.6
fastapi==0.120.0
starlette==0.48.0
strawberry-graphql[fastapi]==0.284.1
uvicorn[standard]==0.38.0

beautifulsoup4==4.11.1 # Util for webcrawling for pulling in tool versions
python-gnupg==0.4.9 # For validating signatures
python-gnupg==0.5.5 # For validating signatures

# Only used for release management
PyGithub==2.4.0
PyGithub==2.8.1
1,061 changes: 518 additions & 543 deletions 3rdparty/python/user_reqs.lock

Large diffs are not rendered by default.

44 changes: 21 additions & 23 deletions 3rdparty/python/user_reqs.lock.metadata
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,39 @@
"CPython==3.11.*"
],
"generated_with_requirements": [
"PyGithub==2.4.0",
"PyGithub==2.8.1",
"PyYAML<7.0,>=6.0",
"ansicolors==1.1.8",
"beautifulsoup4==4.11.1",
"chevron==0.14.0",
"debugpy==1.8.13",
"fastapi==0.78.0",
"fasteners==0.16.3",
"freezegun==1.2.1",
"debugpy==1.8.16",
"fastapi==0.120.0",
"fasteners==0.20.0",
"freezegun==1.5.5",
"hdrhistogram==0.10.3",
"ijson==3.2.3",
"libcst==1.4.0",
"ijson==3.4.0.post0",
"libcst==1.8.5",
"mypy-typing-asserts==0.1.1",
"node-semver==0.9.0",
"packaging==24.2",
"packaging==25.0",
"pex==2.66.0",
"psutil==5.9.8",
"pydevd-pycharm==251.23536.40",
"pytest!=7.1.0,!=7.1.1,<9,>=7",
"python-gnupg==0.4.9",
"python-lsp-jsonrpc==1.0.0",
"requests[security]>=2.28.1",
"setproctitle==1.3.2",
"setuptools<64.0,>=63.1.0",
"starlette==0.19.1",
"strawberry-graphql[fastapi]==0.114.0",
"python-gnupg==0.5.5",
"python-lsp-jsonrpc==1.1.2",
"requests[security]==2.32.5",
"setproctitle==1.3.7",
"setuptools<81.0,>=63.1.0",
"starlette==0.48.0",
"strawberry-graphql[fastapi]==0.284.1",
"toml==0.10.2",
"types-PyYAML==6.0.3",
"types-freezegun==1.1.6",
"types-requests==2.28.1",
"types-setuptools==62.6.1",
"types-toml==0.10.8",
"typing-extensions~=4.12",
"urllib3<2",
"uvicorn[standard]==0.17.6"
"types-PyYAML==6.0.12.20250915",
"types-requests==2.32.4.20250913",
"types-setuptools==80.9.0.20250822",
"types-toml==0.10.8.20240310",
"typing-extensions==4.15",
"uvicorn[standard]==0.38.0"
],
"manylinux": "manylinux2014",
"requirement_constraints": [],
Expand Down
4 changes: 2 additions & 2 deletions pants-plugins/pants_explorer/server/graphql/query/targets.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ class Target:
target_type: str = strawberry.field(
description="The target type, such as `python_sources` or `pex_binary` etc."
)
fields: JSONScalar = strawberry.field( # type: ignore[valid-type]
fields: JSONScalar = strawberry.field(
description=softwrap(
"""
The targets field values. This has the same structure as the JSON output from the `peek`
Expand All @@ -78,7 +78,7 @@ def from_data(cls, data: TargetData) -> Target:
address = json.pop("address")
target_type = json.pop("target_type")
fields = json
return cls(address=address, target_type=target_type, fields=fields) # type: ignore[call-arg]
return cls(address=address, target_type=target_type, fields=fields)


@strawberry.input(
Expand Down
4 changes: 2 additions & 2 deletions pants-plugins/pants_explorer/server/uvicorn.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

from fastapi import FastAPI
from pants_explorer.server.browser import BrowserRequest
from uvicorn import Config, Server # type: ignore
from uvicorn import Config, Server

from pants.base.exiter import ExitCode
from pants.engine.environment import EnvironmentName
Expand Down Expand Up @@ -44,7 +44,7 @@ def from_request(cls, request: UvicornServerRequest) -> UvicornServer:
app,
host=request.address,
port=request.port,
timeout_notify=0.25,
timeout_notify=1,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Internally, this is very much used as a float by uvicorn (comparing against a float and time.time()) - but they've typed it as an int. Also, 0.25s vs 1s for a timeout is fine, as they default it to 30s

log_config=None,
),
request_state=request.request_state,
Expand Down
4 changes: 2 additions & 2 deletions src/python/pants/backend/helm/util_rules/chart_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import dataclasses
from dataclasses import dataclass
from enum import Enum
from typing import Any, cast
from typing import Any

import yaml

Expand Down Expand Up @@ -208,7 +208,7 @@ def to_json_dict(self) -> dict[str, Any]:
return d

def to_yaml(self) -> str:
return cast("str", yaml.dump(self.to_json_dict()))
return yaml.dump(self.to_json_dict())


HELM_CHART_METADATA_FILENAMES = ["Chart.yaml", "Chart.yml"]
Expand Down
Loading