diff --git a/.dvc/.gitignore b/.dvc/.gitignore index 528f30c..ed61096 100644 --- a/.dvc/.gitignore +++ b/.dvc/.gitignore @@ -1,3 +1,6 @@ /config.local /tmp /cache + +#key file dvc +mlops-cnn-408107-16d4fd90b0e2.json diff --git a/.dvc/config b/.dvc/config index e69de29..1ed4553 100644 --- a/.dvc/config +++ b/.dvc/config @@ -0,0 +1,5 @@ +[core] + remote = my_remote +['remote "my_remote"'] + url = gdrive://1RXz3Mv7OxVveHtQ7c1ZtGgazDh6bPFJz + gdrive_use_service_account = true diff --git a/README.md b/README.md index ca64b0a..70d8d89 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,12 @@ from [kaggle](https://www.kaggle.com/datasets/lantian773030/pokemonclassificatio ### Download model weights -- Run `bash weights/download_weights.sh`. +``` +# Download model weights +cd weights +bash download_weights.sh +cd ../.. +``` ### Run on a single image @@ -41,7 +46,12 @@ python inference.py A script for downloading the dataset is as follows: -- Run `bash data/download_data.sh`. +``` +# Download the dataset +cd data +bash download_data.sh +cd ../.. +``` All the 150 Pokémon included in this dataset are from generation one. There are around 25 - 50 images for each Pokémon. diff --git a/data/PokemonData.dvc b/data/PokemonData.dvc new file mode 100644 index 0000000..7e55297 --- /dev/null +++ b/data/PokemonData.dvc @@ -0,0 +1,6 @@ +outs: +- md5: d9f9d4d70a135d2a5c1e1e9367a83f73.dir + size: 454096203 + nfiles: 6837 + hash: md5 + path: PokemonData diff --git a/poetry.lock b/poetry.lock index 99f87e4..2d7e443 100644 --- a/poetry.lock +++ b/poetry.lock @@ -325,6 +325,18 @@ d = ["aiohttp (>=3.7.4)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] +[[package]] +name = "cachetools" +version = "5.3.2" +description = "Extensible memoizing collections and decorators" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cachetools-5.3.2-py3-none-any.whl", hash = "sha256:861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1"}, + {file = "cachetools-5.3.2.tar.gz", hash = "sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2"}, +] + [[package]] name = "celery" version = "5.3.6" @@ -996,14 +1008,14 @@ pgp = ["gpg"] [[package]] name = "dvc" -version = "3.33.3" +version = "3.33.4" description = "Git for data scientists - manage your code and data together" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "dvc-3.33.3-py3-none-any.whl", hash = "sha256:0c92e625671ac9b649a51076eb4ace6a0c68be43d3f840d013d4adcee4bf48a2"}, - {file = "dvc-3.33.3.tar.gz", hash = "sha256:a0bf0712cfe5db204f434021299de5149a947072af9882c4baacdb76d0ece99b"}, + {file = "dvc-3.33.4-py3-none-any.whl", hash = "sha256:130881585e4d96b1c7ed29b15466bbad70add00ad8823a2b5573fa7702f0ef3a"}, + {file = "dvc-3.33.4.tar.gz", hash = "sha256:2458852fc21762ed8384073e17575f3f7b60cdd22a31a7d1a55083a89ede8dd9"}, ] [package.dependencies] @@ -1011,7 +1023,8 @@ colorama = ">=0.3.9" configobj = ">=5.0.6" distro = ">=1.3" dpath = ">=2.1.0,<3" -dvc-data = ">=2.22.6,<2.23.0" +dvc-data = ">=2.24,<2.25" +dvc-gdrive = {version = "2.20", optional = true, markers = "extra == \"gdrive\""} dvc-http = ">=2.29.0" dvc-render = ">=1.0.0,<2" dvc-studio-client = ">=0.17.1,<1" @@ -1063,31 +1076,51 @@ webhdfs-kerberos = ["dvc-webhdfs[kerberos] (==2.19)"] [[package]] name = "dvc-data" -version = "2.22.6" -description = "dvc data" +version = "2.24.0" +description = "DVC's data management subsystem" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "dvc-data-2.22.6.tar.gz", hash = "sha256:8be52058a41acd18fe63f7fd431d1b868570292d1204086b9c44343ac053db24"}, - {file = "dvc_data-2.22.6-py3-none-any.whl", hash = "sha256:171453a0285331441781a82af19189aae10bd0613e448033412f5b2ed0243f69"}, + {file = "dvc-data-2.24.0.tar.gz", hash = "sha256:521cc4c751fafe115d2576ce69aae14b55d8c5946a09d44bb57908cada9ee3bf"}, + {file = "dvc_data-2.24.0-py3-none-any.whl", hash = "sha256:dce7492758857c2bc26d823b1d6305d36313e0b2c2f771b31bfdd6c908dbb889"}, ] [package.dependencies] attrs = ">=21.3.0" dictdiffer = ">=0.8.1" diskcache = ">=5.2.1" -dvc-objects = ">=1.4.9,<2" +dvc-objects = ">=2,<3" funcy = ">=1.14" pygtrie = ">=2.3.2" shortuuid = ">=0.5.0" sqltrie = ">=0.9.0,<1" +tqdm = ">=4.63.1,<5" [package.extras] all = ["dvc-data[cli]"] cli = ["rich (>=10.11.0,<14.0.0)", "typer[all] (>=0.6)"] -dev = ["blake3 (>=0.3.1)", "dvc-data[all]", "dvc-data[tests]"] -tests = ["mypy (==1.5.1)", "pytest (==7.2.0)", "pytest-benchmark (==4.0.0)", "pytest-cov (==4.0.0)", "pytest-mock (==3.10.0)", "pytest-servers[s3] (==0.1.3)", "pytest-sugar (==0.9.6)"] +dev = ["blake3 (>=0.3.1)", "dvc-data[all]", "dvc-data[tests]", "mypy (==1.7.1)", "types-tqdm"] +tests = ["pytest (>=7,<8)", "pytest-benchmark (>=4)", "pytest-cov (>=4.1.0)", "pytest-mock", "pytest-servers[s3] (==0.1.3)", "pytest-sugar"] + +[[package]] +name = "dvc-gdrive" +version = "2.20.0" +description = "gdrive plugin for dvc" +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "dvc-gdrive-2.20.0.tar.gz", hash = "sha256:3bc75909a6094731d9b154b5b1f98f17f9abc217697497f5c3b9dd11eb3f038f"}, + {file = "dvc_gdrive-2.20.0-py3-none-any.whl", hash = "sha256:fc0846185d4673a7ca45f975c58f13aa7fb94b564fd83c7c3d2959d4277d9abe"}, +] + +[package.dependencies] +dvc = "*" +pydrive2 = {version = ">=1.16", extras = ["fsspec"]} + +[package.extras] +tests = ["Pygments (==2.10.0)", "collective.checkdocs (==0.2)", "dvc[testing]", "filelock (==3.3.2)", "flaky (==3.7.0)", "mock (==4.0.3)", "mypy (==0.981)", "pydocstyle (==6.1.1)", "pylint (==2.16.2)", "pylint-plugin-utils (==0.6)", "pylint-pytest (==1.1.2)", "pytest (==6.2.5)", "pytest-cov (==3.0.0)", "pytest-docker (==0.10.3)", "pytest-lazy-fixture (==0.6.3)", "pytest-mock (==3.6.1)", "pytest-xdist (==2.4.0)", "pywin32 (>=225)", "types-requests (==2.25.11)", "types-tabulate (==0.8.3)", "types-toml (==0.10.1)", "wget (==3.2)", "wheel (==0.37.0)", "xmltodict (==0.12.0)"] [[package]] name = "dvc-http" @@ -1110,27 +1143,24 @@ tests = ["dvc[testing]", "flaky (==3.7.0)", "mypy (==0.910)", "pylint (==2.15.9) [[package]] name = "dvc-objects" -version = "1.4.9" -description = "dvc objects" +version = "2.0.1" +description = "dvc objects - filesystem and object-db level abstractions to use in dvc and dvc-data" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "dvc-objects-1.4.9.tar.gz", hash = "sha256:40f739a7678bcf35742d6b8fbfaeb3ba01a8b4c9e6f99f2e841b184aea7be74e"}, - {file = "dvc_objects-1.4.9-py3-none-any.whl", hash = "sha256:d40a746db91b214bfcaf5c6de7202b984b1ecc9b9ae9b1114cfc4bf716b03951"}, + {file = "dvc-objects-2.0.1.tar.gz", hash = "sha256:444566cb95c452f186f50ac08a9972f32c33d496c82f8a334b58317f243e3d37"}, + {file = "dvc_objects-2.0.1-py3-none-any.whl", hash = "sha256:fcf104495ee2d7dc9fe53644b16abbe3c221255188a812e505b147d7a6e6b414"}, ] [package.dependencies] fsspec = ">=2022.10.0" funcy = ">=1.14" -packaging = ">=19" shortuuid = ">=0.5.0" -tqdm = ">=4.63.1,<5" -typing-extensions = ">=3.7.4" [package.extras] -dev = ["dvc-objects[tests]", "types-tqdm"] -tests = ["mypy (==1.5.1)", "pytest (==7.2.0)", "pytest-benchmark", "pytest-cov (==4.0.0)", "pytest-mock (==3.8.2)", "pytest-servers[s3] (==0.1.3)", "pytest-sugar (==0.9.6)", "reflink"] +dev = ["dvc-objects[tests]", "mypy (==1.7.1)", "types-tqdm", "typing-extensions (>=3.7.4)"] +tests = ["pytest (>=7,<8)", "pytest-benchmark", "pytest-cov (>=4.1.0)", "pytest-mock", "pytest-sugar", "reflink", "tqdm (>=4.63.1,<5)"] [[package]] name = "dvc-render" @@ -1530,6 +1560,106 @@ gitdb = ">=4.0.1,<5" [package.extras] test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-instafail", "pytest-subtests", "pytest-sugar"] +[[package]] +name = "google-api-core" +version = "2.15.0" +description = "Google API client core library" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google-api-core-2.15.0.tar.gz", hash = "sha256:abc978a72658f14a2df1e5e12532effe40f94f868f6e23d95133bd6abcca35ca"}, + {file = "google_api_core-2.15.0-py3-none-any.whl", hash = "sha256:2aa56d2be495551e66bbff7f729b790546f87d5c90e74781aa77233bcb395a8a"}, +] + +[package.dependencies] +google-auth = ">=2.14.1,<3.0.dev0" +googleapis-common-protos = ">=1.56.2,<2.0.dev0" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0.dev0" +requests = ">=2.18.0,<3.0.0.dev0" + +[package.extras] +grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "grpcio-status (>=1.33.2,<2.0.dev0)", "grpcio-status (>=1.49.1,<2.0.dev0)"] +grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] +grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] + +[[package]] +name = "google-api-python-client" +version = "2.111.0" +description = "Google API Client Library for Python" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google-api-python-client-2.111.0.tar.gz", hash = "sha256:3a45a53c031478d1c82c7162dd25c9a965247bca6bd438af0838a9d9b8219405"}, + {file = "google_api_python_client-2.111.0-py2.py3-none-any.whl", hash = "sha256:b605adee2d09a843b97a59925757802904679e44e5599708cedb8939900dfbc7"}, +] + +[package.dependencies] +google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0.dev0" +google-auth = ">=1.19.0,<3.0.0.dev0" +google-auth-httplib2 = ">=0.1.0" +httplib2 = ">=0.15.0,<1.dev0" +uritemplate = ">=3.0.1,<5" + +[[package]] +name = "google-auth" +version = "2.25.2" +description = "Google Authentication Library" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "google-auth-2.25.2.tar.gz", hash = "sha256:42f707937feb4f5e5a39e6c4f343a17300a459aaf03141457ba505812841cc40"}, + {file = "google_auth-2.25.2-py2.py3-none-any.whl", hash = "sha256:473a8dfd0135f75bb79d878436e568f2695dce456764bf3a02b6f8c540b1d256"}, +] + +[package.dependencies] +cachetools = ">=2.0.0,<6.0" +pyasn1-modules = ">=0.2.1" +rsa = ">=3.1.4,<5" + +[package.extras] +aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"] +enterprise-cert = ["cryptography (==36.0.2)", "pyopenssl (==22.0.0)"] +pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] +reauth = ["pyu2f (>=0.1.5)"] +requests = ["requests (>=2.20.0,<3.0.0.dev0)"] + +[[package]] +name = "google-auth-httplib2" +version = "0.2.0" +description = "Google Authentication Library: httplib2 transport" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05"}, + {file = "google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d"}, +] + +[package.dependencies] +google-auth = "*" +httplib2 = ">=0.19.0" + +[[package]] +name = "googleapis-common-protos" +version = "1.62.0" +description = "Common protobufs used in Google APIs" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "googleapis-common-protos-1.62.0.tar.gz", hash = "sha256:83f0ece9f94e5672cced82f592d2a5edf527a96ed1794f0bab36d5735c996277"}, + {file = "googleapis_common_protos-1.62.0-py2.py3-none-any.whl", hash = "sha256:4750113612205514f9f6aa4cb00d523a94f3e8c06c5ad2fee466387dc4875f07"}, +] + +[package.dependencies] +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0.dev0" + +[package.extras] +grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] + [[package]] name = "grandalf" version = "0.8" @@ -1574,6 +1704,21 @@ typer = ">=0.4.1" [package.extras] tests = ["freezegun", "pylint (==3.0.2)", "pylint-plugin-utils", "pytest", "pytest-cov", "pytest-lazy-fixture (==0.6.3)", "pytest-mock", "pytest-test-utils", "types-freezegun"] +[[package]] +name = "httplib2" +version = "0.22.0" +description = "A comprehensive HTTP client library." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc"}, + {file = "httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"}, +] + +[package.dependencies] +pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0.2,<3.0.3 || >3.0.3,<4", markers = "python_version > \"3.0\""} + [[package]] name = "hydra-core" version = "1.3.2" @@ -2424,6 +2569,25 @@ files = [ {file = "nvidia_nvtx_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:65f4d98982b31b60026e0e6de73fbdfc09d08a96f4656dd3665ca616a11e1e82"}, ] +[[package]] +name = "oauth2client" +version = "4.1.3" +description = "OAuth 2.0 client library" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "oauth2client-4.1.3-py2.py3-none-any.whl", hash = "sha256:b8a81cc5d60e2d364f0b1b98f958dbd472887acaf1a5b05e21c28c31a2d6d3ac"}, + {file = "oauth2client-4.1.3.tar.gz", hash = "sha256:d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6"}, +] + +[package.dependencies] +httplib2 = ">=0.9.1" +pyasn1 = ">=0.1.7" +pyasn1-modules = ">=0.0.5" +rsa = ">=3.1.4" +six = ">=1.6.1" + [[package]] name = "omegaconf" version = "2.3.0" @@ -2893,6 +3057,33 @@ files = [ [package.extras] tests = ["pytest"] +[[package]] +name = "pyasn1" +version = "0.5.1" +description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "pyasn1-0.5.1-py2.py3-none-any.whl", hash = "sha256:4439847c58d40b1d0a573d07e3856e95333f1976294494c325775aeca506eb58"}, + {file = "pyasn1-0.5.1.tar.gz", hash = "sha256:6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c"}, +] + +[[package]] +name = "pyasn1-modules" +version = "0.3.0" +description = "A collection of ASN.1-based protocols modules" +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "pyasn1_modules-0.3.0-py2.py3-none-any.whl", hash = "sha256:d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d"}, + {file = "pyasn1_modules-0.3.0.tar.gz", hash = "sha256:5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c"}, +] + +[package.dependencies] +pyasn1 = ">=0.4.6,<0.6.0" + [[package]] name = "pycodestyle" version = "2.11.1" @@ -3070,6 +3261,32 @@ files = [ [package.dependencies] pyparsing = ">=2.1.4" +[[package]] +name = "pydrive2" +version = "1.18.0" +description = "Google Drive API made easy. Maintained fork of PyDrive." +category = "main" +optional = false +python-versions = ">=3.8" +files = [ + {file = "PyDrive2-1.18.0-py3-none-any.whl", hash = "sha256:e61153c7c6d2d638ce21e96de4aa711b4e63a5f7df1372ae23a91bc093a29938"}, + {file = "PyDrive2-1.18.0.tar.gz", hash = "sha256:df24e405d2704af517fb92200b4d5353058dc6a9e422d97082b2b916cc8ac0c3"}, +] + +[package.dependencies] +appdirs = {version = ">=1.4.3", optional = true, markers = "extra == \"fsspec\""} +fsspec = {version = ">=2021.07.0", optional = true, markers = "extra == \"fsspec\""} +funcy = {version = ">=1.14", optional = true, markers = "extra == \"fsspec\""} +google-api-python-client = ">=1.12.5" +oauth2client = ">=4.0.0" +pyOpenSSL = ">=19.1.0" +PyYAML = ">=3.0" +tqdm = {version = ">=4.0.0", optional = true, markers = "extra == \"fsspec\""} + +[package.extras] +fsspec = ["appdirs (>=1.4.3)", "fsspec (>=2021.07.0)", "funcy (>=1.14)", "tqdm (>=4.0.0)"] +tests = ["black (==23.9.1)", "flake8", "flake8-docstrings", "funcy (>=1.14)", "importlib-resources (<6)", "pyinstaller", "pytest (>=4.6.0)", "pytest-mock", "timeout-decorator"] + [[package]] name = "pyflakes" version = "3.1.0" @@ -3150,6 +3367,25 @@ files = [ {file = "pygtrie-2.5.0.tar.gz", hash = "sha256:203514ad826eb403dab1d2e2ddd034e0d1534bbe4dbe0213bb0593f66beba4e2"}, ] +[[package]] +name = "pyopenssl" +version = "23.3.0" +description = "Python wrapper module around the OpenSSL library" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyOpenSSL-23.3.0-py3-none-any.whl", hash = "sha256:6756834481d9ed5470f4a9393455154bc92fe7a64b7bc6ee2c804e78c52099b2"}, + {file = "pyOpenSSL-23.3.0.tar.gz", hash = "sha256:6b2cba5cc46e822750ec3e5a81ee12819850b11303630d575e98108a079c2b12"}, +] + +[package.dependencies] +cryptography = ">=41.0.5,<42" + +[package.extras] +docs = ["sphinx (!=5.2.0,!=5.2.0.post0,!=7.2.5)", "sphinx-rtd-theme"] +test = ["flaky", "pretend", "pytest (>=3.0.1)"] + [[package]] name = "pyparsing" version = "3.1.1" @@ -3359,6 +3595,21 @@ pygments = ">=2.13.0,<3.0.0" [package.extras] jupyter = ["ipywidgets (>=7.5.1,<9)"] +[[package]] +name = "rsa" +version = "4.9" +description = "Pure-Python RSA implementation" +category = "main" +optional = false +python-versions = ">=3.6,<4" +files = [ + {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, + {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, +] + +[package.dependencies] +pyasn1 = ">=0.1.3" + [[package]] name = "ruamel-yaml" version = "0.18.5" @@ -3531,21 +3782,21 @@ test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeo [[package]] name = "scmrepo" -version = "1.5.0" -description = "SCM wrapper and fsspec filesystem for Git for use in DVC" +version = "1.6.0" +description = "scmrepo" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "scmrepo-1.5.0-py3-none-any.whl", hash = "sha256:d6c3d3b565b0a44dc3376fedd0873751aef1c2a30e1862afd13b3864fb4a95ba"}, - {file = "scmrepo-1.5.0.tar.gz", hash = "sha256:d0c55295853be011342c6a58ed373dfeb7f501966d1b346ed2e649ef3d388604"}, + {file = "scmrepo-1.6.0-py3-none-any.whl", hash = "sha256:389c3ae694309c62268ce193d149a5bd344af28306943fe332a9907b0cb6d0fb"}, + {file = "scmrepo-1.6.0.tar.gz", hash = "sha256:0092c3f99da7db327602fb1f655b9cca9a936ffabee7ab79eb6be23d627af7a2"}, ] [package.dependencies] asyncssh = ">=2.13.1,<3" dulwich = ">=0.21.6" dvc-http = ">=2.29.0" -dvc-objects = ">=1.0.1,<2" +dvc-objects = ">=1.0.1,<3" fsspec = ">=2021.7.0" funcy = ">=1.14" gitpython = ">3" @@ -3555,8 +3806,8 @@ pygtrie = ">=2.3.2" shortuuid = ">=0.5.0" [package.extras] -dev = ["mock (==5.1.0)", "mypy (==0.971)", "paramiko (==3.3.1)", "pylint (==2.15.0)", "pytest (==7.2.0)", "pytest-asyncio (==0.18.3)", "pytest-cov (==3.0.0)", "pytest-docker (==0.12.0)", "pytest-mock (==3.8.2)", "pytest-sugar (==0.9.5)", "pytest-test-utils (==0.0.8)", "types-certifi (==2021.10.8.3)", "types-mock (==5.1.0.2)", "types-paramiko (==3.3.0.0)"] -tests = ["mock (==5.1.0)", "mypy (==0.971)", "paramiko (==3.3.1)", "pylint (==2.15.0)", "pytest (==7.2.0)", "pytest-asyncio (==0.18.3)", "pytest-cov (==3.0.0)", "pytest-docker (==0.12.0)", "pytest-mock (==3.8.2)", "pytest-sugar (==0.9.5)", "pytest-test-utils (==0.0.8)", "types-certifi (==2021.10.8.3)", "types-mock (==5.1.0.2)", "types-paramiko (==3.3.0.0)"] +dev = ["scmrepo[tests]"] +tests = ["mock (==5.1.0)", "mypy (==0.971)", "paramiko (==3.3.1)", "pytest (==7.2.0)", "pytest-asyncio (==0.18.3)", "pytest-cov (==3.0.0)", "pytest-docker (==0.12.0)", "pytest-mock (==3.8.2)", "pytest-sugar (==0.9.5)", "pytest-test-utils (==0.0.8)", "types-certifi (==2021.10.8.3)", "types-mock (==5.1.0.2)", "types-paramiko (==3.3.0.0)"] [[package]] name = "seaborn" @@ -4128,6 +4379,18 @@ files = [ {file = "tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"}, ] +[[package]] +name = "uritemplate" +version = "4.1.1" +description = "Implementation of RFC 6570 URI Templates" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, + {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, +] + [[package]] name = "urllib3" version = "2.1.0" @@ -4380,4 +4643,4 @@ test = ["zope.testing"] [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "ddcbccd96ca859ac0cc36e7f27242a4c624816da2f91a75900f2463a77e12d0c" +content-hash = "e76bca6785924e9893cfee608aaf0229c409c9d728bbd77002dfcee51f2c2cc4" diff --git a/pyproject.toml b/pyproject.toml index 2d76206..e9170b6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,7 @@ black = {extras = ["jupyter"], version = "^23.11.0"} isort = "^5.13.0" flake8 = "^6.1.0" pre-commit = "^3.6.0" -dvc = "^3.33.3" +dvc = {extras = ["gdrive"], version = "^3.33.4"} [tool.black] line-length = 90