iterative/dvc

View on GitHub
setup.cfg

Summary

Maintainability
Test Coverage
[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