Add dvc-s3 dependency for S3/MinIO storage support

Added dvc-s3>=3.2.0 to dependencies to enable DVC to work with
S3-compatible storage backends like MinIO.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Alexis Bruneteau 2025-10-01 17:44:24 +02:00
parent e7883b8dab
commit bb8b08500b
2 changed files with 158 additions and 1 deletions

158
poetry.lock generated
View File

@ -12,6 +12,33 @@ files = [
{file = "a2wsgi-1.10.10.tar.gz", hash = "sha256:a5bcffb52081ba39df0d5e9a884fc6f819d92e3a42389343ba77cbf809fe1f45"}, {file = "a2wsgi-1.10.10.tar.gz", hash = "sha256:a5bcffb52081ba39df0d5e9a884fc6f819d92e3a42389343ba77cbf809fe1f45"},
] ]
[[package]]
name = "aiobotocore"
version = "2.24.2"
description = "Async client for aws services using botocore and aiohttp"
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
{file = "aiobotocore-2.24.2-py3-none-any.whl", hash = "sha256:808c63b2bd344b91e2f2acb874831118a9f53342d248acd16a68455a226e283a"},
{file = "aiobotocore-2.24.2.tar.gz", hash = "sha256:dfb21bdb2610e8de4d22f401e91a24d50f1330a302d03c62c485757becd439a9"},
]
[package.dependencies]
aiohttp = ">=3.9.2,<4.0.0"
aioitertools = ">=0.5.1,<1.0.0"
boto3 = {version = ">=1.40.15,<1.40.19", optional = true, markers = "extra == \"boto3\""}
botocore = ">=1.40.15,<1.40.19"
jmespath = ">=0.7.1,<2.0.0"
multidict = ">=6.0.0,<7.0.0"
python-dateutil = ">=2.1,<3.0.0"
wrapt = ">=1.10.10,<2.0.0"
[package.extras]
awscli = ["awscli (>=1.42.15,<1.42.19)"]
boto3 = ["boto3 (>=1.40.15,<1.40.19)"]
httpx = ["httpx (>=0.25.1,<0.29)"]
[[package]] [[package]]
name = "aiohappyeyeballs" name = "aiohappyeyeballs"
version = "2.6.1" version = "2.6.1"
@ -147,6 +174,22 @@ files = [
[package.dependencies] [package.dependencies]
aiohttp = "*" aiohttp = "*"
[[package]]
name = "aioitertools"
version = "0.12.0"
description = "itertools and builtins for AsyncIO and mixed iterables"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "aioitertools-0.12.0-py3-none-any.whl", hash = "sha256:fc1f5fac3d737354de8831cbba3eb04f79dd649d8f3afb4c5b114925e662a796"},
{file = "aioitertools-0.12.0.tar.gz", hash = "sha256:c2a9055b4fbb7705f561b9d86053e8af5d10cc845d22c32008c43490b2d8dd6b"},
]
[package.extras]
dev = ["attribution (==1.8.0)", "black (==24.8.0)", "build (>=1.2)", "coverage (==7.6.1)", "flake8 (==7.1.1)", "flit (==3.9.0)", "mypy (==1.11.2)", "ufmt (==2.7.1)", "usort (==1.0.8.post1)"]
docs = ["sphinx (==8.0.2)", "sphinx-mdinclude (==0.6.2)"]
[[package]] [[package]]
name = "aiosignal" name = "aiosignal"
version = "1.4.0" version = "1.4.0"
@ -800,6 +843,46 @@ files = [
{file = "blinker-1.9.0.tar.gz", hash = "sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf"}, {file = "blinker-1.9.0.tar.gz", hash = "sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf"},
] ]
[[package]]
name = "boto3"
version = "1.40.18"
description = "The AWS SDK for Python"
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
{file = "boto3-1.40.18-py3-none-any.whl", hash = "sha256:daa776ba1251a7458c9d6c7627873d0c2460c8e8272d35759065580e9193700a"},
{file = "boto3-1.40.18.tar.gz", hash = "sha256:64301d39adecc154e3e595eaf0d4f28998ef0a5551f1d033aeac51a9e1a688e5"},
]
[package.dependencies]
botocore = ">=1.40.18,<1.41.0"
jmespath = ">=0.7.1,<2.0.0"
s3transfer = ">=0.13.0,<0.14.0"
[package.extras]
crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
[[package]]
name = "botocore"
version = "1.40.18"
description = "Low-level, data-driven core of boto 3."
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
{file = "botocore-1.40.18-py3-none-any.whl", hash = "sha256:57025c46ca00cf8cec25de07a759521bfbfb3036a0f69b272654a354615dc45f"},
{file = "botocore-1.40.18.tar.gz", hash = "sha256:afd69bdadd8c55cc89d69de0799829e555193a352d87867f746e19020271cc0f"},
]
[package.dependencies]
jmespath = ">=0.7.1,<2.0.0"
python-dateutil = ">=2.1,<3.0.0"
urllib3 = {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version >= \"3.10\""}
[package.extras]
crt = ["awscrt (==0.27.6)"]
[[package]] [[package]]
name = "cachetools" name = "cachetools"
version = "6.2.0" version = "6.2.0"
@ -1949,6 +2032,28 @@ markdown = ["dvc-render[table]", "matplotlib"]
table = ["flatten-dict (>=0.4.1,<1)", "tabulate (>=0.8.7)"] table = ["flatten-dict (>=0.4.1,<1)", "tabulate (>=0.8.7)"]
tests = ["dvc-render[markdown,table]", "pytest (>=7,<9)", "pytest-cov (>=4.1.0)", "pytest-mock", "pytest-sugar"] tests = ["dvc-render[markdown,table]", "pytest (>=7,<9)", "pytest-cov (>=4.1.0)", "pytest-mock", "pytest-sugar"]
[[package]]
name = "dvc-s3"
version = "3.2.2"
description = "s3 plugin for dvc"
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
{file = "dvc_s3-3.2.2-py3-none-any.whl", hash = "sha256:5e3301b2f758317c5bc680c52f175ecf1701fd30411b226d2d970ca37e376085"},
{file = "dvc_s3-3.2.2.tar.gz", hash = "sha256:0ea72c9b6b000dfea1a834d4106733b6cdc745d0a6ee1d5c0a5b8c8344671716"},
]
[package.dependencies]
aiobotocore = {version = ">=2.5.0", extras = ["boto3"]}
dvc = "*"
flatten_dict = ">=0.4.1,<1"
s3fs = ">=2024.12.0"
[package.extras]
dev = ["dvc-s3[tests]", "mypy (==1.16.0)"]
tests = ["dvc[testing]", "pytest (>=7,<9)", "pytest-cov (>=4.1.0)", "pytest-servers[s3] (>=0.4.0)", "pytest-xdist (>=3.2)"]
[[package]] [[package]]
name = "dvc-studio-client" name = "dvc-studio-client"
version = "0.22.0" version = "0.22.0"
@ -3117,6 +3222,18 @@ MarkupSafe = ">=2.0"
[package.extras] [package.extras]
i18n = ["Babel (>=2.7)"] i18n = ["Babel (>=2.7)"]
[[package]]
name = "jmespath"
version = "1.0.1"
description = "JSON Matching Expressions"
optional = false
python-versions = ">=3.7"
groups = ["main"]
files = [
{file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"},
{file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"},
]
[[package]] [[package]]
name = "joblib" name = "joblib"
version = "1.5.2" version = "1.5.2"
@ -6421,6 +6538,45 @@ files = [
{file = "ruamel.yaml.clib-0.2.14.tar.gz", hash = "sha256:803f5044b13602d58ea378576dd75aa759f52116a0232608e8fdada4da33752e"}, {file = "ruamel.yaml.clib-0.2.14.tar.gz", hash = "sha256:803f5044b13602d58ea378576dd75aa759f52116a0232608e8fdada4da33752e"},
] ]
[[package]]
name = "s3fs"
version = "2025.9.0"
description = "Convenient Filesystem interface over S3"
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
{file = "s3fs-2025.9.0-py3-none-any.whl", hash = "sha256:c33c93d48f66ed440dbaf6600be149cdf8beae4b6f8f0201a209c5801aeb7e30"},
{file = "s3fs-2025.9.0.tar.gz", hash = "sha256:6d44257ef19ea64968d0720744c4af7a063a05f5c1be0e17ce943bef7302bc30"},
]
[package.dependencies]
aiobotocore = ">=2.5.4,<3.0.0"
aiohttp = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1"
fsspec = "2025.9.0"
[package.extras]
awscli = ["aiobotocore[awscli] (>=2.5.4,<3.0.0)"]
boto3 = ["aiobotocore[boto3] (>=2.5.4,<3.0.0)"]
[[package]]
name = "s3transfer"
version = "0.13.1"
description = "An Amazon S3 Transfer Manager"
optional = false
python-versions = ">=3.9"
groups = ["main"]
files = [
{file = "s3transfer-0.13.1-py3-none-any.whl", hash = "sha256:a981aa7429be23fe6dfc13e80e4020057cbab622b08c0315288758d67cabc724"},
{file = "s3transfer-0.13.1.tar.gz", hash = "sha256:c3fdba22ba1bd367922f27ec8032d6a1cf5f10c934fb5d68cf60fd5a23d936cf"},
]
[package.dependencies]
botocore = ">=1.37.4,<2.0a.0"
[package.extras]
crt = ["botocore[crt] (>=1.37.4,<2.0a.0)"]
[[package]] [[package]]
name = "scikit-learn" name = "scikit-learn"
version = "1.7.2" version = "1.7.2"
@ -8051,4 +8207,4 @@ type = ["pytest-mypy"]
[metadata] [metadata]
lock-version = "2.1" lock-version = "2.1"
python-versions = ">=3.12,<3.14" python-versions = ">=3.12,<3.14"
content-hash = "197cf1688495e4c8bfb3437269a19fb45c16961a5d3866f4911f78dddbd9e626" content-hash = "20dedb2ec04aa6a78c25b58001b4d24442fe5e52c8430ba7184aba856bb4b2bb"

View File

@ -14,6 +14,7 @@ dependencies = [
"torch (>=2.8.0,<3.0.0)", "torch (>=2.8.0,<3.0.0)",
"mlflow (>=3.4.0,<4.0.0)", "mlflow (>=3.4.0,<4.0.0)",
"dvc (>=3.63.0,<4.0.0)", "dvc (>=3.63.0,<4.0.0)",
"dvc-s3 (>=3.2.0,<4.0.0)",
"prometheus-client (>=0.20.0,<1.0.0)", "prometheus-client (>=0.20.0,<1.0.0)",
"requests (>=2.31.0,<3.0.0)", "requests (>=2.31.0,<3.0.0)",
"fastapi (>=0.104.0,<1.0.0)", "fastapi (>=0.104.0,<1.0.0)",