Skip to content

Commit 4f6076f

Browse files
authored
DRIVERS-3179 Use pinned dependencies (#666)
1 parent 3052fce commit 4f6076f

26 files changed

+501
-40
lines changed

.evergreen/auth_aws/activate-authawsvenv.sh

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,7 @@ activate_authawsvenv() {
3636

3737
venvcreate "${PYTHON:?}" authawsvenv || return
3838

39-
local packages=(
40-
"boto3~=1.35.0"
41-
"pyop~=3.4.0"
42-
"pymongo[aws]~=4.0"
43-
)
44-
45-
python -m pip install -q -U "${packages[@]}" || {
39+
python -m pip install -q -r requirements.txt || {
4640
local -r ret="$?"
4741
deactivate || return 1 # Deactivation should never fail!
4842
return "$ret"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
boto3~=1.35.0
2+
pyop~=3.4.0
3+
pymongo[aws]~=4.0

.evergreen/auth_aws/requirements.txt

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.9
3+
# by the following command:
4+
#
5+
# pip-compile --output-file=requirements.txt requirements-in.txt
6+
#
7+
annotated-types==0.7.0
8+
# via pydantic
9+
boto3==1.35.99
10+
# via
11+
# -r requirements-in.txt
12+
# pymongo-auth-aws
13+
botocore==1.35.99
14+
# via
15+
# boto3
16+
# pymongo-auth-aws
17+
# s3transfer
18+
certifi==2025.7.14
19+
# via requests
20+
cffi==1.17.1
21+
# via cryptography
22+
charset-normalizer==3.4.2
23+
# via requests
24+
cryptography==45.0.5
25+
# via oic
26+
defusedxml==0.7.1
27+
# via oic
28+
dnspython==2.7.0
29+
# via pymongo
30+
future==1.0.0
31+
# via pyjwkest
32+
idna==3.10
33+
# via requests
34+
jmespath==1.0.1
35+
# via
36+
# boto3
37+
# botocore
38+
mako==1.3.10
39+
# via oic
40+
markupsafe==3.0.2
41+
# via mako
42+
oic==1.7.0
43+
# via pyop
44+
pycparser==2.22
45+
# via cffi
46+
pycryptodomex==3.23.0
47+
# via
48+
# oic
49+
# pyjwkest
50+
# pyop
51+
pydantic==2.11.7
52+
# via pydantic-settings
53+
pydantic-core==2.33.2
54+
# via pydantic
55+
pydantic-settings==2.10.1
56+
# via oic
57+
pyjwkest==1.4.2
58+
# via oic
59+
pymongo[aws]==4.13.2
60+
# via -r requirements-in.txt
61+
pymongo-auth-aws==1.3.0
62+
# via pymongo
63+
pyop==3.4.1
64+
# via -r requirements-in.txt
65+
python-dateutil==2.9.0.post0
66+
# via botocore
67+
python-dotenv==1.1.1
68+
# via pydantic-settings
69+
requests==2.32.4
70+
# via
71+
# oic
72+
# pyjwkest
73+
s3transfer==0.10.4
74+
# via boto3
75+
six==1.17.0
76+
# via
77+
# pyjwkest
78+
# python-dateutil
79+
typing-extensions==4.14.1
80+
# via
81+
# pydantic
82+
# pydantic-core
83+
# typing-inspection
84+
typing-inspection==0.4.1
85+
# via
86+
# pydantic
87+
# pydantic-settings
88+
urllib3==1.26.20
89+
# via
90+
# botocore
91+
# requests

.evergreen/auth_oidc/activate-authoidcvenv.sh

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,7 @@ activate_authoidcvenv() {
3737
echo "Creating virtual environment 'authoidcvenv'..."
3838
venvcreate "${PYTHON:?}" authoidcvenv || return
3939

40-
local packages=(
41-
"boto3~=1.35.0"
42-
"pyop~=3.4.0"
43-
"azure-identity"
44-
"azure-keyvault-secrets"
45-
)
46-
python -m pip install -q -U "${packages[@]}" || {
40+
python -m pip install -q -r requirements.txt || {
4741
local -r ret="$?"
4842
deactivate || return 1 # Deactivation should never fail!
4943
return "$ret"
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
boto3~=1.35.0
2+
pyop~=3.4.0
3+
azure-identity
4+
azure-keyvault-secrets

.evergreen/auth_oidc/requirements.txt

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.9
3+
# by the following command:
4+
#
5+
# pip-compile --output-file=requirements.txt requirements-in.txt
6+
#
7+
annotated-types==0.7.0
8+
# via pydantic
9+
azure-core==1.35.0
10+
# via
11+
# azure-identity
12+
# azure-keyvault-secrets
13+
azure-identity==1.23.1
14+
# via -r requirements-in.txt
15+
azure-keyvault-secrets==4.10.0
16+
# via -r requirements-in.txt
17+
boto3==1.35.99
18+
# via -r requirements-in.txt
19+
botocore==1.35.99
20+
# via
21+
# boto3
22+
# s3transfer
23+
certifi==2025.7.14
24+
# via requests
25+
cffi==1.17.1
26+
# via cryptography
27+
charset-normalizer==3.4.2
28+
# via requests
29+
cryptography==45.0.5
30+
# via
31+
# azure-identity
32+
# msal
33+
# oic
34+
# pyjwt
35+
defusedxml==0.7.1
36+
# via oic
37+
future==1.0.0
38+
# via pyjwkest
39+
idna==3.10
40+
# via requests
41+
isodate==0.7.2
42+
# via azure-keyvault-secrets
43+
jmespath==1.0.1
44+
# via
45+
# boto3
46+
# botocore
47+
mako==1.3.10
48+
# via oic
49+
markupsafe==3.0.2
50+
# via mako
51+
msal==1.32.3
52+
# via
53+
# azure-identity
54+
# msal-extensions
55+
msal-extensions==1.3.1
56+
# via azure-identity
57+
oic==1.7.0
58+
# via pyop
59+
pycparser==2.22
60+
# via cffi
61+
pycryptodomex==3.23.0
62+
# via
63+
# oic
64+
# pyjwkest
65+
# pyop
66+
pydantic==2.11.7
67+
# via pydantic-settings
68+
pydantic-core==2.33.2
69+
# via pydantic
70+
pydantic-settings==2.10.1
71+
# via oic
72+
pyjwkest==1.4.2
73+
# via oic
74+
pyjwt[crypto]==2.10.1
75+
# via
76+
# msal
77+
# pyjwt
78+
pyop==3.4.1
79+
# via -r requirements-in.txt
80+
python-dateutil==2.9.0.post0
81+
# via botocore
82+
python-dotenv==1.1.1
83+
# via pydantic-settings
84+
requests==2.32.4
85+
# via
86+
# azure-core
87+
# msal
88+
# oic
89+
# pyjwkest
90+
s3transfer==0.10.4
91+
# via boto3
92+
six==1.17.0
93+
# via
94+
# azure-core
95+
# pyjwkest
96+
# python-dateutil
97+
typing-extensions==4.14.1
98+
# via
99+
# azure-core
100+
# azure-identity
101+
# azure-keyvault-secrets
102+
# pydantic
103+
# pydantic-core
104+
# typing-inspection
105+
typing-inspection==0.4.1
106+
# via
107+
# pydantic
108+
# pydantic-settings
109+
urllib3==1.26.20
110+
# via
111+
# botocore
112+
# requests

.evergreen/csfle/activate-kmstlsvenv.sh

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,7 @@ activate_kmstlsvenv() {
3737
echo "Creating virtual environment 'kmstlsvenv'..."
3838
venvcreate "${PYTHON:?}" kmstlsvenv || return
3939

40-
local packages=(
41-
"boto3~=1.35.0"
42-
"git+https://github.com/mongodb-forks/PyKMIP.git"
43-
"sqlalchemy<2.0.0" # sqlalchemy.exc.InvalidRequestError: Implicitly combining column managed_objects.uid with column crypto_objects.uid under attribute 'unique_identifier'.
44-
)
45-
46-
if ! python -m pip install -q -U "${packages[@]}"; then
40+
if ! python -m pip install -q -r requirements.txt; then
4741
# Avoid `error: can't find Rust compiler`.
4842
# Assume install failure at this point is due to new versions of
4943
# cryptography require a Rust toolchain when a cryptography wheel is not
@@ -53,9 +47,7 @@ activate_kmstlsvenv() {
5347
# - All RHEL on powerpc64le or s390x.
5448
# - OpenSUSE 12 on s390x.
5549
# - Ubuntu 18.04 on powerpc64le or s390x
56-
packages+=("cryptography<3.4")
57-
58-
python -m pip install -q -U "${packages[@]}" || {
50+
python -m pip install -q -r requirements-legacy.txt || {
5951
local -r ret="$?"
6052
deactivate || return 1 # Deactivation should never fail!
6153
return "$ret"

.evergreen/csfle/azurekms/delete_old_azure_resources.sh

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ set -o nounset
2121
PYTHON=$(ensure_python3)
2222
echo "Creating virtual environment 'azure_deletion_venv'..."
2323
venvcreate "${PYTHON:?}" azure_deletion_venv
24-
python -m pip install azure-identity
25-
python -m pip install azure-mgmt-compute
26-
python -m pip install azure-mgmt-network
24+
pythom -m pip install -r requirements.txt
2725
echo "Creating virtual environment 'azure_deletion_venv'... done."
2826
fi
2927
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
azure-identity
2+
azure-mgmt-compute
3+
azure-mgmt-network
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.9
3+
# by the following command:
4+
#
5+
# pip-compile --output-file=requirements.txt requirements-in.txt
6+
#
7+
azure-common==1.1.28
8+
# via
9+
# azure-mgmt-compute
10+
# azure-mgmt-network
11+
azure-core==1.35.0
12+
# via
13+
# azure-identity
14+
# azure-mgmt-core
15+
azure-identity==1.23.1
16+
# via -r requirements-in.txt
17+
azure-mgmt-compute==34.1.0
18+
# via -r requirements-in.txt
19+
azure-mgmt-core==1.6.0
20+
# via
21+
# azure-mgmt-compute
22+
# azure-mgmt-network
23+
azure-mgmt-network==29.0.0
24+
# via -r requirements-in.txt
25+
certifi==2025.7.14
26+
# via requests
27+
cffi==1.17.1
28+
# via cryptography
29+
charset-normalizer==3.4.2
30+
# via requests
31+
cryptography==45.0.5
32+
# via
33+
# azure-identity
34+
# msal
35+
# pyjwt
36+
idna==3.10
37+
# via requests
38+
isodate==0.7.2
39+
# via
40+
# azure-mgmt-compute
41+
# azure-mgmt-network
42+
msal==1.32.3
43+
# via
44+
# azure-identity
45+
# msal-extensions
46+
msal-extensions==1.3.1
47+
# via azure-identity
48+
pycparser==2.22
49+
# via cffi
50+
pyjwt[crypto]==2.10.1
51+
# via
52+
# msal
53+
# pyjwt
54+
requests==2.32.4
55+
# via
56+
# azure-core
57+
# msal
58+
six==1.17.0
59+
# via azure-core
60+
typing-extensions==4.14.1
61+
# via
62+
# azure-core
63+
# azure-identity
64+
# azure-mgmt-compute
65+
# azure-mgmt-network
66+
urllib3==2.5.0
67+
# via requests

0 commit comments

Comments
 (0)