Repository navigation
Expand file tree
/
Copy pathrequirements-dev.txt
More file actions
80 lines (72 loc) · 2.65 KB
/
Copy pathrequirements-dev.txt
File metadata and controls
80 lines (72 loc) · 2.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# formatting
# match the version with .pre-commit-config.yaml
yapf==0.32.0
# match the version with .pre-commit-config.yaml
pylint==2.14.5
# https://github.com/edaniszewski/pylint-quotes
# match the version with .pre-commit-config.yaml
pylint-quotes==0.2.3
# match the version with .pre-commit-config.yaml
toml==0.10.2
# match the version with .pre-commit-config.yaml
isort==5.12.0
# type checking
# match the version with .pre-commit-config.yaml
mypy==1.19.1
types-PyYAML
types-paramiko
# 2.31 requires urlib3>2, which is incompatible with IBM and
# kubernetes packages, which require urllib3<2.
types-requests<2.31
# Pin to avoid type-check errors with stricter type definitions in >=80.9
types-setuptools<80.9
types-cachetools
types-pyvmomi
types-aiofiles
types-paramiko
types-protobuf
types-python-dateutil
# testing
pytest
pytest-xdist
pytest-env>=0.6
pytest-asyncio
buildkite-test-collector
# memory profiler
memory_profiler==0.61.0
# For mocking AWS
moto==5.1.2
# boto3 type checking
boto3-stubs[s3,ec2,sts,iam,service-quotas]
# For postgres
psycopg2-binary==2.9.10
# For helm okta test
# Floor, not an exact pin: selenium 4.33.0 requires `typing_extensions~=4.13.2`,
# which caps typing_extensions at 4.13.x for the whole dev environment. Any
# upstream package that adopts `typing_extensions.Sentinel`/`sentinel` (added in
# 4.15.0) then fails to import -- pydantic-core 2.41.x did, and anyio 4.15.0
# does. 4.36.0 is the first release that drops the `~=` cap.
selenium>=4.36.0
webdriver-manager==4.0.2
# For grpcio/protobuf code generation
# We arrived at 1.63.0 through the following:
# 1. pip install -e ".[all]"
# 2. pip show protobuf -> 5.29.5, so let's use 5.x as a baseline.
# 3. 1.63.0 is the oldest version of grpc that supports protobuf >= 5.x.y.
# TODO(kevin): Have this value be maintained by the CI pipeline,
# to make sure it's always up to date.
grpcio-tools==1.63.0
grpcio==1.63.0
# Bumped from 5.26.1 to 5.29.6 to close CVE-2025-4565 (DoS) and
# CVE-2026-0994 (JSON recursion bypass). grpcio 1.63.0 supports
# protobuf >= 5.x, so this minor bump is compatible.
protobuf==5.29.6
# googleapis-common-protos >= 1.75.1 requires protobuf >= 6.33.5 and, from
# 1.75.2, ships generated code that refuses to load on an older runtime
# ("Detected incompatible Protobuf Gencode/Runtime versions ... gencode 6.33.5
# runtime 5.29.6"). `pip install -e .` can pull the latest release, and the
# protobuf pin above then leaves the two out of sync, which breaks every GCP
# code path that raises a google.api_core exception (e.g. the bucket-not-found
# check in `sky serve up` with a workdir). Keep it on the last release that is
# compatible with protobuf 5.29.x.
googleapis-common-protos<1.75.1