setup.cfg
[metadata]
description = Git for data scientists - manage your code and data together
name = dvc
long_description = file: README.rst
long_description_content_type = text/x-rst
license = Apache License 2.0
license_file = LICENSE
url = http://dvc.org
project_urls =
Documentation = https://dvc.org/doc
Source = https://github.com/iterative/dvc
download_url = https://github.com/iterative/dvc
author = Dmitry Petrov
author_email = dmitry@dvc.org
maintainer = Iterative
maintainer_email = support@dvc.org
keywords = data-science, data-version-control, machine-learning, git
developer-tools, reproducibility, collaboration, ai
classifiers =
Development Status :: 4 - Beta
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
setup_requires =
setuptools>=48
setuptools_scm[toml]>=6.3.1
setuptools_scm_git_archive==1.1
python_requires = >=3.7
zip_safe = False
packages = find:
include_package_data = True
install_requires =
colorama>=0.3.9
configobj>=5.0.6
nanotime>=0.5.2
voluptuous>=0.11.7
requests>=2.22.0
# See https://github.com/bdcht/grandalf/issues/26
grandalf==0.6
distro>=1.3.0
appdirs>=1.4.3
ruamel.yaml>=0.17.11
toml>=0.10.1
funcy>=1.14
pathspec>=0.9.0,<0.10.0
shortuuid>=0.5.0
tqdm>=4.63.1,<5
packaging>=19.0
zc.lockfile>=1.2.1
flufl.lock>=5
networkx>=2.5
psutil>=5.8.0
pydot>=1.2.4
importlib-metadata>=1.4; python_version < '3.8'
importlib-resources>=5.2.2; python_version < '3.9'
flatten_dict>=0.4.1,<1
tabulate>=0.8.7
pygtrie>=2.3.2
dpath>=2.0.2,<3
shtab>=1.3.4,<2
rich>=10.13.0
dictdiffer>=0.8.1
python-benedict>=0.24.2
pyparsing>=2.4.7
typing-extensions>=3.7.4
fsspec[http]>=2021.10.1
aiohttp-retry>=2.4.5
diskcache>=5.2.1
jaraco.windows>=5.7.0; python_version < '3.8' and sys_platform == 'win32'
scmrepo==0.0.19
dvc-render==0.0.5
dvclive>=0.7.3
[options.extras_require]
all =
%(azure)s
%(gdrive)s
%(gs)s
%(hdfs)s
%(oss)s
%(s3)s
%(ssh)s
%(webdav)s
dev =
%(all)s
%(tests)s
# Extra dependencies for remote integrations
azure =
adlfs>=2021.10.0
azure-identity>=1.4.0
knack
gdrive = pydrive2[fsspec]>=1.10.1
gs = gcsfs>=2021.11.1
hdfs =
# due to https://github.com/python-poetry/poetry/issues/4683, we have to
# explicitly specify pyarrow here
pyarrow>=1
fsspec[arrow]
oss = ossfs>=2021.8.0
s3 =
s3fs[boto3]>=2021.11.1
aiobotocore[boto3]>2
ssh =
# due to https://github.com/python-poetry/poetry/issues/4683, we have to
# explicitly specify bcrypt here
bcrypt
sshfs[bcrypt]>=2021.11.2
# gssapi should not be included in all_remotes, because it doesn't have wheels
# for Linux, so it will fail to compile if user doesn't have all the
# requirements, including kerberos itself.
ssh_gssapi = sshfs[gssapi]>=2021.11.2
webdav = webdav4>=0.9.3
# not to break `dvc[webhdfs]`
webhdfs =
# requests-kerberos requires krb5 & gssapi, which does not provide wheels Linux
webdhfs_kerberos = requests-kerberos==0.14.0
terraform = tpi[ssh]>=2.1.0
tests =
%(terraform)s
dvc_ssh==0.0.1a0
# Test requirements
pytest==7.1.1
pytest-cov==3.0.0
pytest-xdist==2.5.0
pytest-mock==3.7.0
pytest-lazy-fixture==0.6.3
# https://github.com/docker/docker-py/issues/2902
pytest-docker==0.11.0; python_version < '3.10' or sys_platform != 'win32'
flaky==3.7.0
mock==4.0.3
pytest-timeout==2.1.0
filelock==3.6.0
# pylint requirements
pylint==2.13.7
# we use this to suppress pytest-related false positives in our tests.
pylint-pytest==1.1.2
# we use this to suppress some messages in tests, eg: foo/bar naming,
# and, protected method calls in our tests
pylint-plugin-utils==0.7
# type-checking
mypy==0.942
types-requests>=2.27.15
types-tabulate>=0.8.6
types-toml>=0.10.4
# optional dependencies
pywin32>=225; sys_platform == 'win32'
dvclive[image]>=0.7.3
[options.packages.find]
exclude =
dvc.testing
dvc.testing.*
tests
tests.*
[options.entry_points]
console_scripts =
dvc = dvc.cli:main
[flake8]
ignore=
E203, # Whitespace before ':'
E266, # Too many leading '#' for block comment
W503, # Line break occurred before a binary operator
P1, # unindexed parameters in the str.format, see:
# https://pypi.org/project/flake8-string-format/
max_line_length = 79
max-complexity = 15
select = B,C,E,F,W,T4,B902,T,P
show_source = true
count = true