mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
This change adds a new cloud remote based on Azure Blob Storage [1] and the azure-storage-blob SDK [2]. The implementation closely follows the patterns laid out by the existing cloud remotes (AWS and GCP). Notable differences include: - No use of a lock in the progress-bar callback and no requirement to look up total transfer size ahead of time: the Azure Storage SDK provides the total transfer bytes and current transfer offset in its progress callback. - When `exists` is called, check the existence of every blob instead of listing the entire container. Container list operations can be expensive so unless the number of checked files is very large, making separate requests is likely going to be more efficient. - For increased flexibility, access credentials for the Azure Storage backend can be provided either connection-string style via the remote URL or via environment variables. The Azure Storage backend can be emulated via Azurite [3]. [1] https://azure.microsoft.com/en-us/services/storage/blobs/ [2] https://github.com/Azure/azure-storage-python [3] https://github.com/Azure/azurite This change was created together with @EricSchles.
74 lines
1.8 KiB
Python
74 lines
1.8 KiB
Python
import platform
|
|
from setuptools import setup, find_packages
|
|
from distutils.errors import DistutilsPlatformError
|
|
from dvc import VERSION
|
|
|
|
|
|
install_requires = [
|
|
"ply>=3.9", # See https://github.com/pyinstaller/pyinstaller/issues/1945
|
|
"configparser>=3.5.0",
|
|
"zc.lockfile>=1.2.1",
|
|
"future>=0.16.0",
|
|
"colorama>=0.3.9",
|
|
"configobj>=5.0.6",
|
|
"networkx>=1.11",
|
|
"pyyaml>=3.12",
|
|
"gitpython>=2.1.8",
|
|
"ntfsutils>=0.1.4",
|
|
"setuptools>=34.0.0",
|
|
"pytest>=3.3.1",
|
|
"nanotime>=0.5.2",
|
|
"pyasn1>=0.4.1",
|
|
"schema>=0.6.7",
|
|
"jsonpath-rw==1.4.0",
|
|
"reflink==0.2.0",
|
|
"requests>=2.18.4",
|
|
]
|
|
|
|
# Extra dependencies for remote integrations
|
|
gs = [
|
|
"google-cloud==0.32.0",
|
|
]
|
|
s3 = [
|
|
"boto3==1.7.4",
|
|
]
|
|
azure = [
|
|
"azure-storage-blob==1.3.0"
|
|
]
|
|
ssh = [
|
|
"paramiko>=2.4.1",
|
|
]
|
|
all_remotes = gs + s3 + azure + ssh
|
|
|
|
setup(
|
|
name='dvc',
|
|
version=VERSION,
|
|
description='Git for data scientists - manage your code and data together',
|
|
long_description=open('README.rst', 'r').read(),
|
|
author='Dmitry Petrov',
|
|
author_email='[email protected]',
|
|
download_url='https://github.com/iterative/dvc',
|
|
license='Apache License 2.0',
|
|
install_requires=install_requires,
|
|
extras_require={
|
|
'all': all_remotes,
|
|
'gs': gs,
|
|
's3': s3,
|
|
'azure': azure,
|
|
'ssh': ssh,
|
|
},
|
|
keywords='data science, data version control, machine learning',
|
|
classifiers=[
|
|
'Development Status :: 4 - Beta',
|
|
'Programming Language :: Python :: 2',
|
|
'Programming Language :: Python :: 3',
|
|
],
|
|
packages=find_packages(exclude=['bin', 'tests', 'functests']),
|
|
include_package_data=True,
|
|
url='http://dataversioncontrol.com',
|
|
entry_points={
|
|
'console_scripts': ['dvc = dvc.main:main']
|
|
},
|
|
zip_safe=False
|
|
)
|