From 09bef72eaf8b8f47711f1021ccdea03f216d5362 Mon Sep 17 00:00:00 2001 From: BryanFauble <17128019+BryanFauble@users.noreply.github.com> Date: Tue, 24 Sep 2024 10:54:48 -0700 Subject: [PATCH 01/25] Run in py 3.12 --- .github/workflows/build.yml | 14 +++++++------- setup.cfg | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 74bfc48a8..601b30c7f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -35,7 +35,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.12' - uses: pre-commit/action@v3.0.1 @@ -48,7 +48,7 @@ jobs: os: [ubuntu-20.04, macos-12, windows-2022] # if changing the below change the run-integration-tests versions and the check-deploy versions - python: [3.8, '3.9', '3.10', '3.11'] + python: [3.8, '3.9', '3.10', '3.11', '3.12'] runs-on: ${{ matrix.os }} @@ -100,7 +100,7 @@ jobs: pytest -sv --cov-append --cov=. --cov-report xml tests/unit - name: Check for Secret availability id: secret-check - if: ${{ contains(fromJSON('["3.9"]'), matrix.python) }} + if: ${{ contains(fromJSON('["3.12"]'), matrix.python) }} # perform secret check & put boolean result as an output shell: bash run: | @@ -159,7 +159,7 @@ jobs: shell: bash # keep versions consistent with the first and last from the strategy matrix - if: ${{ contains(fromJSON('["3.9"]'), matrix.python) && steps.secret-check.outputs.secrets_available == 'true'}} + if: ${{ contains(fromJSON('["3.12"]'), matrix.python) && steps.secret-check.outputs.secrets_available == 'true'}} run: | # decrypt the encrypted test synapse configuration openssl aes-256-cbc -K ${{ secrets.encrypted_d17283647768_key }} -iv ${{ secrets.encrypted_d17283647768_iv }} -in test.synapseConfig.enc -out test.synapseConfig -d @@ -192,7 +192,7 @@ jobs: fi # use loadscope to avoid issues running tests concurrently that share scoped fixtures - pytest -sv --reruns 3 --cov-append --cov=. --cov-report xml tests/integration -n auto --ignore=tests/integration/synapseclient/test_command_line_client.py --dist loadscope + pytest -sv --reruns 3 --cov-append --cov=. --cov-report xml tests/integration -n 8 --ignore=tests/integration/synapseclient/test_command_line_client.py --dist loadscope # Execute the CLI tests in a non-dist way because they were causing some test instability when being run concurrently pytest -sv --reruns 3 --cov-append --cov=. --cov-report xml tests/integration/synapseclient/test_command_line_client.py @@ -206,7 +206,7 @@ jobs: - name: Upload coverage report id: upload_coverage_report uses: actions/upload-artifact@v4 - if: ${{ contains(fromJSON('["3.9"]'), matrix.python) && contains(fromJSON('["ubuntu-20.04"]'), matrix.os)}} + if: ${{ contains(fromJSON('["3.12"]'), matrix.python) && contains(fromJSON('["ubuntu-20.04"]'), matrix.os)}} with: name: coverage-report path: coverage.xml @@ -401,7 +401,7 @@ jobs: os: [ubuntu-20.04, macos-12, windows-2022] # python versions should be consistent with the strategy matrix and the runs-integration-tests versions - python: [3.8, '3.9', '3.10', '3.11'] + python: [3.8, '3.9', '3.10', '3.11', '3.12'] runs-on: ${{ matrix.os }} diff --git a/setup.cfg b/setup.cfg index 741210b59..01d8c6fa8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -27,6 +27,7 @@ classifiers = Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 Operating System :: MacOS Operating System :: Microsoft :: Windows Operating System :: Unix From 26afd048fe06379e2e647d9f0d2da4f312336855 Mon Sep 17 00:00:00 2001 From: BryanFauble <17128019+BryanFauble@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:00:55 -0700 Subject: [PATCH 02/25] Swap to `sysconfig` instead of distutils --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 601b30c7f..45020e2f9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,8 +62,8 @@ jobs: - name: get-dependencies-location shell: bash run: | - SITE_PACKAGES_LOCATION=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") - SITE_BIN_DIR=$(python3 -c "import os; import platform; import distutils.sysconfig; pre = distutils.sysconfig.get_config_var('prefix'); bindir = os.path.join(pre, 'Scripts' if platform.system() == 'Windows' else 'bin'); print(bindir)") + SITE_PACKAGES_LOCATION=$(python -c "from sysconfig import get_python_lib; print(get_python_lib())") + SITE_BIN_DIR=$(python3 -c "import os; import platform; import sysconfig; pre = sysconfig.get_config_var('prefix'); bindir = os.path.join(pre, 'Scripts' if platform.system() == 'Windows' else 'bin'); print(bindir)") echo "site_packages_loc=$SITE_PACKAGES_LOCATION" >> $GITHUB_OUTPUT echo "site_bin_dir=$SITE_BIN_DIR" >> $GITHUB_OUTPUT id: get-dependencies From 7add6c2a8d281b5b2a346a34f0879f0965d32ea7 Mon Sep 17 00:00:00 2001 From: BryanFauble <17128019+BryanFauble@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:08:04 -0700 Subject: [PATCH 03/25] Swap to use `get_path` --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 45020e2f9..dd37ae876 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,7 +62,7 @@ jobs: - name: get-dependencies-location shell: bash run: | - SITE_PACKAGES_LOCATION=$(python -c "from sysconfig import get_python_lib; print(get_python_lib())") + SITE_PACKAGES_LOCATION=$(python -c "from sysconfig import get_path; print(get_path('purelib'))") SITE_BIN_DIR=$(python3 -c "import os; import platform; import sysconfig; pre = sysconfig.get_config_var('prefix'); bindir = os.path.join(pre, 'Scripts' if platform.system() == 'Windows' else 'bin'); print(bindir)") echo "site_packages_loc=$SITE_PACKAGES_LOCATION" >> $GITHUB_OUTPUT echo "site_bin_dir=$SITE_BIN_DIR" >> $GITHUB_OUTPUT From 88a7567fc4b832dde1618bb6f98e6821c2dd08e4 Mon Sep 17 00:00:00 2001 From: BryanFauble <17128019+BryanFauble@users.noreply.github.com> Date: Tue, 24 Sep 2024 12:48:47 -0700 Subject: [PATCH 04/25] Unit test patching --- Pipfile | 2 +- Pipfile.lock | 424 +++++++++--------- .../unit_test_synapseutils_copy.py | 2 +- .../unit_test_synapseutils_migrate.py | 2 +- .../unit_test_synapseutils_sync.py | 4 +- 5 files changed, 208 insertions(+), 226 deletions(-) diff --git a/Pipfile b/Pipfile index 13f5b2106..431df1a1b 100644 --- a/Pipfile +++ b/Pipfile @@ -7,7 +7,7 @@ verify_ssl = true synapseclient = {file = ".", editable = true, path = "."} [requires] -python_version = "3.11.3" +python_version = "3.12.6" [dev-packages] synapseclient = {file = ".", editable = true, path = ".", extras = ["dev", "tests", "pandas", "pysftp", "boto3", "docs"]} diff --git a/Pipfile.lock b/Pipfile.lock index 5d278e9d6..9b487541d 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "aba1ea80d6dcf7857e58f4738a7ef5850b3a94ddfeb10f6a2632f40ec31fdac5" + "sha256": "27f1bad6213aac1d46415d9d0d453977bd891a6a989f439e625c04f5bf629b34" }, "pipfile-spec": 6, "requires": { - "python_version": "3.11.3" + "python_version": "3.12.6" }, "sources": [ { @@ -18,11 +18,11 @@ "default": { "anyio": { "hashes": [ - "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94", - "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7" + "sha256:137b4559cbb034c477165047febb6ff83f390fc3b20bf181c1fc0a728cb8beeb", + "sha256:c7d2e9d63e31599eeb636c8c5c03a7e108d73b345f064f1c19fdc87b79036a9a" ], - "markers": "python_version >= '3.8'", - "version": "==4.4.0" + "markers": "python_version >= '3.9'", + "version": "==4.6.0" }, "async-lru": { "hashes": [ @@ -152,14 +152,6 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.2.14" }, - "exceptiongroup": { - "hashes": [ - "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", - "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc" - ], - "markers": "python_version < '3.11'", - "version": "==1.2.2" - }, "googleapis-common-protos": { "hashes": [ "sha256:2972e6c496f435b92590fd54045060867f3fe9be2c82ab148fc8885035479a63", @@ -194,11 +186,11 @@ }, "idna": { "hashes": [ - "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac", - "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603" + "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", + "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3" ], "markers": "python_version >= '3.6'", - "version": "==3.8" + "version": "==3.10" }, "importlib-metadata": { "hashes": [ @@ -314,20 +306,20 @@ }, "protobuf": { "hashes": [ - "sha256:051e97ce9fa6067a4546e75cb14f90cf0232dcb3e3d508c448b8d0e4265b61c1", - "sha256:0dc4a62cc4052a036ee2204d26fe4d835c62827c855c8a03f29fe6da146b380d", - "sha256:3319e073562e2515c6ddc643eb92ce20809f5d8f10fead3332f71c63be6a7040", - "sha256:4c8a70fdcb995dcf6c8966cfa3a29101916f7225e9afe3ced4395359955d3835", - "sha256:7e372cbbda66a63ebca18f8ffaa6948455dfecc4e9c1029312f6c2edcd86c4e1", - "sha256:90bf6fd378494eb698805bbbe7afe6c5d12c8e17fca817a646cd6a1818c696ca", - "sha256:ac79a48d6b99dfed2729ccccee547b34a1d3d63289c71cef056653a846a2240f", - "sha256:ba3d8504116a921af46499471c63a85260c1a5fc23333154a427a310e015d26d", - "sha256:bfbebc1c8e4793cfd58589acfb8a1026be0003e852b9da7db5a4285bde996978", - "sha256:db9fd45183e1a67722cafa5c1da3e85c6492a5383f127c86c4c4aa4845867dc4", - "sha256:eecd41bfc0e4b1bd3fa7909ed93dd14dd5567b98c941d6c1ad08fdcab3d6884b" + "sha256:0aebecb809cae990f8129ada5ca273d9d670b76d9bfc9b1809f0a9c02b7dbf41", + "sha256:4be0571adcbe712b282a330c6e89eae24281344429ae95c6d85e79e84780f5ea", + "sha256:5e61fd921603f58d2f5acb2806a929b4675f8874ff5f330b7d6f7e2e784bbcd8", + "sha256:7a183f592dc80aa7c8da7ad9e55091c4ffc9497b3054452d629bb85fa27c2a45", + "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584", + "sha256:919ad92d9b0310070f8356c24b855c98df2b8bd207ebc1c0c6fcc9ab1e007f3d", + "sha256:98d8d8aa50de6a2747efd9cceba361c9034050ecce3e09136f90de37ddba66e1", + "sha256:abe32aad8561aa7cc94fc7ba4fdef646e576983edb94a73381b03c53728a626f", + "sha256:b0234dd5a03049e4ddd94b93400b67803c823cfc405689688f59b34e0742381a", + "sha256:b2fde3d805354df675ea4c7c6338c1aecd254dfc9925e88c6d31a2bcb97eb173", + "sha256:fe14e16c22be926d3abfcb500e60cab068baf10b542b8c858fa27e098123e331" ], "markers": "python_version >= '3.8'", - "version": "==4.25.4" + "version": "==4.25.5" }, "psutil": { "hashes": [ @@ -361,11 +353,11 @@ }, "setuptools": { "hashes": [ - "sha256:5f4c08aa4d3ebcb57a50c33b1b07e94315d7fc7230f7115e47fc99776c8ce308", - "sha256:95b40ed940a1c67eb70fc099094bd6e99c6ee7c23aa2306f4d2697ba7916f9c6" + "sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2", + "sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538" ], "markers": "python_version >= '3.8'", - "version": "==74.1.2" + "version": "==75.1.0" }, "sniffio": { "hashes": [ @@ -393,7 +385,7 @@ "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" ], - "markers": "python_version < '3.11'", + "markers": "python_version >= '3.8'", "version": "==4.12.2" }, "urllib3": { @@ -482,29 +474,21 @@ }, "zipp": { "hashes": [ - "sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064", - "sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b" + "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", + "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29" ], "markers": "python_version >= '3.8'", - "version": "==3.20.1" + "version": "==3.20.2" } }, "develop": { "anyio": { "hashes": [ - "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94", - "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7" + "sha256:137b4559cbb034c477165047febb6ff83f390fc3b20bf181c1fc0a728cb8beeb", + "sha256:c7d2e9d63e31599eeb636c8c5c03a7e108d73b345f064f1c19fdc87b79036a9a" ], - "markers": "python_version >= '3.8'", - "version": "==4.4.0" - }, - "astunparse": { - "hashes": [ - "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", - "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8" - ], - "markers": "python_version < '3.9'", - "version": "==1.6.3" + "markers": "python_version >= '3.9'", + "version": "==4.6.0" }, "async-lru": { "hashes": [ @@ -592,18 +576,18 @@ }, "boto3": { "hashes": [ - "sha256:4a32db8793569ee5f13c5bf3efb260193353cb8946bf6426e3c330b61c68e59d", - "sha256:67268aa6c4043e9fdeb4ab3c1e9032f44a6fa168c789af5e351f63f1f8880a2f" + "sha256:5df4e2cbe3409db07d3a0d8d63d5220ce3202a78206ad87afdbb41519b26ce45", + "sha256:b1cfad301184cdd44dfd4805187ccab12de8dd28dd12a11a5cfdace17918c6de" ], - "version": "==1.35.17" + "version": "==1.35.25" }, "botocore": { "hashes": [ - "sha256:0d35d03ea647b5d464c7f77bdab6fb23ae5d49752b13cf97ab84444518c7b1bd", - "sha256:a93f773ca93139529b5d36730b382dbee63ab4c7f26129aa5c84835255ca999d" + "sha256:76c5706b2c6533000603ae8683a297c887abbbaf6ee31e1b2e2863b74b2989bc", + "sha256:e58d60260abf10ccc4417967923117c9902a6a0cff9fddb6ea7ff42dc1bd4630" ], "markers": "python_version >= '3.8'", - "version": "==1.35.17" + "version": "==1.35.25" }, "certifi": { "hashes": [ @@ -935,14 +919,6 @@ ], "version": "==0.3.8" }, - "exceptiongroup": { - "hashes": [ - "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", - "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc" - ], - "markers": "python_version < '3.11'", - "version": "==1.2.2" - }, "execnet": { "hashes": [ "sha256:26dee51f1b80cebd6d0ca8e74dd8745419761d3bef34163928cbebbdc4749fdc", @@ -953,11 +929,11 @@ }, "filelock": { "hashes": [ - "sha256:81de9eb8453c769b63369f87f11131a7ab04e367f8d97ad39dc230daa07e3bec", - "sha256:f6ed4c963184f4c84dd5557ce8fece759a3724b37b80c6c4f20a2f63a4dc6609" + "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", + "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435" ], "markers": "python_version >= '3.8'", - "version": "==3.16.0" + "version": "==3.16.1" }, "flake8": { "hashes": [ @@ -1021,19 +997,19 @@ }, "identify": { "hashes": [ - "sha256:cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf", - "sha256:e79ae4406387a9d300332b5fd366d8994f1525e8414984e1a59e058b2eda2dd0" + "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0", + "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98" ], "markers": "python_version >= '3.8'", - "version": "==2.6.0" + "version": "==2.6.1" }, "idna": { "hashes": [ - "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac", - "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603" + "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", + "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3" ], "markers": "python_version >= '3.6'", - "version": "==3.8" + "version": "==3.10" }, "importlib-metadata": { "hashes": [ @@ -1188,10 +1164,10 @@ }, "mkdocs-material": { "hashes": [ - "sha256:1e60ddf716cfb5679dfd65900b8a25d277064ed82d9a53cd5190e3f894df7840", - "sha256:54caa8be708de2b75167fd4d3b9f3d949579294f49cb242515d4653dbee9227e" + "sha256:140456f761320f72b399effc073fa3f8aac744c77b0970797c201cae2f6c967f", + "sha256:36734c1fd9404bea74236242ba3359b267fc930c7233b9fd086b0898825d0ac9" ], - "version": "==9.5.34" + "version": "==9.5.36" }, "mkdocs-material-extensions": { "hashes": [ @@ -1248,36 +1224,44 @@ }, "numpy": { "hashes": [ - "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", - "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", - "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", - "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", - "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", - "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", - "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", - "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", - "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", - "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", - "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", - "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", - "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", - "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", - "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", - "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", - "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", - "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", - "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", - "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", - "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", - "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", - "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", - "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", - "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", - "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", - "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", - "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9" - ], - "version": "==1.24.4" + "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b", + "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", + "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20", + "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0", + "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010", + "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a", + "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea", + "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c", + "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71", + "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110", + "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be", + "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a", + "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a", + "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5", + "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed", + "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd", + "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c", + "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e", + "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0", + "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c", + "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a", + "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b", + "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0", + "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6", + "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2", + "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a", + "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30", + "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218", + "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5", + "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07", + "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2", + "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4", + "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764", + "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef", + "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3", + "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f" + ], + "version": "==1.26.4" }, "opentelemetry-api": { "hashes": [ @@ -1392,41 +1376,58 @@ }, "pandas": { "hashes": [ - "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682", - "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc", - "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b", - "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089", - "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5", - "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26", - "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210", - "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b", - "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641", - "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd", - "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78", - "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b", - "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e", - "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061", - "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0", - "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e", - "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8", - "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d", - "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0", - "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c", - "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183", - "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df", - "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8", - "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f", - "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02" - ], - "version": "==2.0.3" + "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", + "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", + "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", + "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", + "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", + "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", + "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", + "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", + "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", + "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", + "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", + "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", + "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", + "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", + "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", + "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", + "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", + "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", + "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", + "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", + "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", + "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", + "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", + "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", + "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", + "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", + "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", + "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", + "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", + "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", + "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", + "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", + "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", + "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", + "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", + "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", + "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", + "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", + "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", + "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", + "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", + "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319" + ], + "version": "==2.2.3" }, "paramiko": { "hashes": [ - "sha256:8b15302870af7f6652f2e038975c1d2973f06046cb5d7d65355668b3ecbece0c", - "sha256:8e49fd2f82f84acf7ffd57c64311aa2b30e575370dc23bdb375b10262f7eac32" + "sha256:1fedf06b085359051cd7d0d270cebe19e755a8a921cc2ddbfa647fb0cd7d68f9", + "sha256:ad11e540da4f55cedda52931f1a3f812a8238a7af7f62a60de538cd80bb28124" ], "markers": "python_version >= '3.6'", - "version": "==3.4.1" + "version": "==3.5.0" }, "pathspec": { "hashes": [ @@ -1438,11 +1439,11 @@ }, "platformdirs": { "hashes": [ - "sha256:9e5e27a08aa095dd127b9f2e764d74254f482fef22b0970773bfba79d091ab8c", - "sha256:eb1c8582560b34ed4ba105009a4badf7f6f85768b30126f351328507b2beb617" + "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", + "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb" ], "markers": "python_version >= '3.8'", - "version": "==4.3.2" + "version": "==4.3.6" }, "pluggy": { "hashes": [ @@ -1454,27 +1455,27 @@ }, "pre-commit": { "hashes": [ - "sha256:5804465c675b659b0862f07907f96295d490822a450c4c40e747d0b1c6ebcb32", - "sha256:841dc9aef25daba9a0238cd27984041fa0467b4199fc4852e27950664919f660" + "sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af", + "sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f" ], - "version": "==3.5.0" + "version": "==3.8.0" }, "protobuf": { "hashes": [ - "sha256:051e97ce9fa6067a4546e75cb14f90cf0232dcb3e3d508c448b8d0e4265b61c1", - "sha256:0dc4a62cc4052a036ee2204d26fe4d835c62827c855c8a03f29fe6da146b380d", - "sha256:3319e073562e2515c6ddc643eb92ce20809f5d8f10fead3332f71c63be6a7040", - "sha256:4c8a70fdcb995dcf6c8966cfa3a29101916f7225e9afe3ced4395359955d3835", - "sha256:7e372cbbda66a63ebca18f8ffaa6948455dfecc4e9c1029312f6c2edcd86c4e1", - "sha256:90bf6fd378494eb698805bbbe7afe6c5d12c8e17fca817a646cd6a1818c696ca", - "sha256:ac79a48d6b99dfed2729ccccee547b34a1d3d63289c71cef056653a846a2240f", - "sha256:ba3d8504116a921af46499471c63a85260c1a5fc23333154a427a310e015d26d", - "sha256:bfbebc1c8e4793cfd58589acfb8a1026be0003e852b9da7db5a4285bde996978", - "sha256:db9fd45183e1a67722cafa5c1da3e85c6492a5383f127c86c4c4aa4845867dc4", - "sha256:eecd41bfc0e4b1bd3fa7909ed93dd14dd5567b98c941d6c1ad08fdcab3d6884b" + "sha256:0aebecb809cae990f8129ada5ca273d9d670b76d9bfc9b1809f0a9c02b7dbf41", + "sha256:4be0571adcbe712b282a330c6e89eae24281344429ae95c6d85e79e84780f5ea", + "sha256:5e61fd921603f58d2f5acb2806a929b4675f8874ff5f330b7d6f7e2e784bbcd8", + "sha256:7a183f592dc80aa7c8da7ad9e55091c4ffc9497b3054452d629bb85fa27c2a45", + "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584", + "sha256:919ad92d9b0310070f8356c24b855c98df2b8bd207ebc1c0c6fcc9ab1e007f3d", + "sha256:98d8d8aa50de6a2747efd9cceba361c9034050ecce3e09136f90de37ddba66e1", + "sha256:abe32aad8561aa7cc94fc7ba4fdef646e576983edb94a73381b03c53728a626f", + "sha256:b0234dd5a03049e4ddd94b93400b67803c823cfc405689688f59b34e0742381a", + "sha256:b2fde3d805354df675ea4c7c6338c1aecd254dfc9925e88c6d31a2bcb97eb173", + "sha256:fe14e16c22be926d3abfcb500e60cab068baf10b542b8c858fa27e098123e331" ], "markers": "python_version >= '3.8'", - "version": "==4.25.4" + "version": "==4.25.5" }, "psutil": { "hashes": [ @@ -1540,11 +1541,11 @@ }, "pymdown-extensions": { "hashes": [ - "sha256:6ff740bcd99ec4172a938970d42b96128bdc9d4b9bcad72494f29921dc69b753", - "sha256:d323f7e90d83c86113ee78f3fe62fc9dee5f56b54d912660703ea1816fed5626" + "sha256:6c74ea6c2e2285186a241417480fc2d3cc52941b3ec2dced4014c84dc78c5493", + "sha256:ad277ee4739ced051c3b6328d22ce782358a3bec39bc6ca52815ccbf44f7acdc" ], "markers": "python_version >= '3.8'", - "version": "==10.9" + "version": "==10.10.1" }, "pynacl": { "hashes": [ @@ -1828,11 +1829,11 @@ }, "setuptools": { "hashes": [ - "sha256:5f4c08aa4d3ebcb57a50c33b1b07e94315d7fc7230f7115e47fc99776c8ce308", - "sha256:95b40ed940a1c67eb70fc099094bd6e99c6ee7c23aa2306f4d2697ba7916f9c6" + "sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2", + "sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538" ], "markers": "python_version >= '3.8'", - "version": "==74.1.2" + "version": "==75.1.0" }, "six": { "hashes": [ @@ -1862,14 +1863,6 @@ ], "version": "==0.12.1" }, - "tomli": { - "hashes": [ - "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" - ], - "markers": "python_version < '3.11'", - "version": "==2.0.1" - }, "tqdm": { "hashes": [ "sha256:90279a3770753eafc9194a0364852159802111925aa30eb3f9d85b0e805ac7cd", @@ -1883,16 +1876,16 @@ "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" ], - "markers": "python_version < '3.11'", + "markers": "python_version >= '3.8'", "version": "==4.12.2" }, "tzdata": { "hashes": [ - "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd", - "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252" + "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc", + "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd" ], "markers": "python_version >= '2'", - "version": "==2024.1" + "version": "==2024.2" }, "urllib3": { "hashes": [ @@ -1904,60 +1897,47 @@ }, "virtualenv": { "hashes": [ - "sha256:48f2695d9809277003f30776d155615ffc11328e6a0a8c1f0ec80188d7874a55", - "sha256:c17f4e0f3e6036e9f26700446f85c76ab11df65ff6d8a9cbfad9f71aabfcf23c" + "sha256:4f3ac17b81fba3ce3bd6f4ead2749a72da5929c01774948e243db9ba41df4ff6", + "sha256:ce489cac131aa58f4b25e321d6d186171f78e6cb13fafbf32a840cee67733ff4" ], "markers": "python_version >= '3.7'", - "version": "==20.26.4" + "version": "==20.26.5" }, "watchdog": { "hashes": [ - "sha256:0b4359067d30d5b864e09c8597b112fe0a0a59321a0f331498b013fb097406b4", - "sha256:0d8a7e523ef03757a5aa29f591437d64d0d894635f8a50f370fe37f913ce4e19", - "sha256:0e83619a2d5d436a7e58a1aea957a3c1ccbf9782c43c0b4fed80580e5e4acd1a", - "sha256:10b6683df70d340ac3279eff0b2766813f00f35a1d37515d2c99959ada8f05fa", - "sha256:132937547a716027bd5714383dfc40dc66c26769f1ce8a72a859d6a48f371f3a", - "sha256:1cdcfd8142f604630deef34722d695fb455d04ab7cfe9963055df1fc69e6727a", - "sha256:2d468028a77b42cc685ed694a7a550a8d1771bb05193ba7b24006b8241a571a1", - "sha256:32be97f3b75693a93c683787a87a0dc8db98bb84701539954eef991fb35f5fbc", - "sha256:770eef5372f146997638d737c9a3c597a3b41037cfbc5c41538fc27c09c3a3f9", - "sha256:7c7d4bf585ad501c5f6c980e7be9c4f15604c7cc150e942d82083b31a7548930", - "sha256:88456d65f207b39f1981bf772e473799fcdc10801062c36fd5ad9f9d1d463a73", - "sha256:914285126ad0b6eb2258bbbcb7b288d9dfd655ae88fa28945be05a7b475a800b", - "sha256:936acba76d636f70db8f3c66e76aa6cb5136a936fc2a5088b9ce1c7a3508fc83", - "sha256:980b71510f59c884d684b3663d46e7a14b457c9611c481e5cef08f4dd022eed7", - "sha256:984306dc4720da5498b16fc037b36ac443816125a3705dfde4fd90652d8028ef", - "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1", - "sha256:aa160781cafff2719b663c8a506156e9289d111d80f3387cf3af49cedee1f040", - "sha256:b2c45f6e1e57ebb4687690c05bc3a2c1fb6ab260550c4290b8abb1335e0fd08b", - "sha256:b4dfbb6c49221be4535623ea4474a4d6ee0a9cef4a80b20c28db4d858b64e270", - "sha256:baececaa8edff42cd16558a639a9b0ddf425f93d892e8392a56bf904f5eff22c", - "sha256:bcfd02377be80ef3b6bc4ce481ef3959640458d6feaae0bd43dd90a43da90a7d", - "sha256:c0b14488bd336c5b1845cee83d3e631a1f8b4e9c5091ec539406e4a324f882d8", - "sha256:c100d09ac72a8a08ddbf0629ddfa0b8ee41740f9051429baa8e31bb903ad7508", - "sha256:c344453ef3bf875a535b0488e3ad28e341adbd5a9ffb0f7d62cefacc8824ef2b", - "sha256:c50f148b31b03fbadd6d0b5980e38b558046b127dc483e5e4505fcef250f9503", - "sha256:c82253cfc9be68e3e49282831afad2c1f6593af80c0daf1287f6a92657986757", - "sha256:cd67c7df93eb58f360c43802acc945fa8da70c675b6fa37a241e17ca698ca49b", - "sha256:d7ab624ff2f663f98cd03c8b7eedc09375a911794dfea6bf2a359fcc266bff29", - "sha256:e252f8ca942a870f38cf785aef420285431311652d871409a64e2a0a52a2174c", - "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22", - "sha256:eeea812f38536a0aa859972d50c76e37f4456474b02bd93674d1947cf1e39578", - "sha256:f15edcae3830ff20e55d1f4e743e92970c847bcddc8b7509bcd172aa04de506e", - "sha256:f5315a8c8dd6dd9425b974515081fc0aadca1d1d61e078d2246509fd756141ee", - "sha256:f6ee8dedd255087bc7fe82adf046f0b75479b989185fb0bdf9a98b612170eac7", - "sha256:f7c739888c20f99824f7aa9d31ac8a97353e22d0c0e54703a547a218f6637eb3" - ], - "markers": "python_version >= '3.8'", - "version": "==4.0.2" - }, - "wheel": { - "hashes": [ - "sha256:2376a90c98cc337d18623527a97c31797bd02bad0033d41547043a1cbfbe448f", - "sha256:a29c3f2817e95ab89aa4660681ad547c0e9547f20e75b0562fe7723c9a2a9d49" - ], - "markers": "python_version >= '3.8'", - "version": "==0.44.0" + "sha256:14dd4ed023d79d1f670aa659f449bcd2733c33a35c8ffd88689d9d243885198b", + "sha256:29e4a2607bd407d9552c502d38b45a05ec26a8e40cc7e94db9bb48f861fa5abc", + "sha256:3960136b2b619510569b90f0cd96408591d6c251a75c97690f4553ca88889769", + "sha256:3e8d5ff39f0a9968952cce548e8e08f849141a4fcc1290b1c17c032ba697b9d7", + "sha256:53ed1bf71fcb8475dd0ef4912ab139c294c87b903724b6f4a8bd98e026862e6d", + "sha256:5597c051587f8757798216f2485e85eac583c3b343e9aa09127a3a6f82c65ee8", + "sha256:638bcca3d5b1885c6ec47be67bf712b00a9ab3d4b22ec0881f4889ad870bc7e8", + "sha256:6bec703ad90b35a848e05e1b40bf0050da7ca28ead7ac4be724ae5ac2653a1a0", + "sha256:726eef8f8c634ac6584f86c9c53353a010d9f311f6c15a034f3800a7a891d941", + "sha256:72990192cb63872c47d5e5fefe230a401b87fd59d257ee577d61c9e5564c62e5", + "sha256:7d1aa7e4bb0f0c65a1a91ba37c10e19dabf7eaaa282c5787e51371f090748f4b", + "sha256:8c47150aa12f775e22efff1eee9f0f6beee542a7aa1a985c271b1997d340184f", + "sha256:901ee48c23f70193d1a7bc2d9ee297df66081dd5f46f0ca011be4f70dec80dab", + "sha256:963f7c4c91e3f51c998eeff1b3fb24a52a8a34da4f956e470f4b068bb47b78ee", + "sha256:9814adb768c23727a27792c77812cf4e2fd9853cd280eafa2bcfa62a99e8bd6e", + "sha256:aa9cd6e24126d4afb3752a3e70fce39f92d0e1a58a236ddf6ee823ff7dba28ee", + "sha256:b6dc8f1d770a8280997e4beae7b9a75a33b268c59e033e72c8a10990097e5fde", + "sha256:b84bff0391ad4abe25c2740c7aec0e3de316fdf7764007f41e248422a7760a7f", + "sha256:ba32efcccfe2c58f4d01115440d1672b4eb26cdd6fc5b5818f1fb41f7c3e1889", + "sha256:bda40c57115684d0216556671875e008279dea2dc00fcd3dde126ac8e0d7a2fb", + "sha256:c4a440f725f3b99133de610bfec93d570b13826f89616377715b9cd60424db6e", + "sha256:d010be060c996db725fbce7e3ef14687cdcc76f4ca0e4339a68cc4532c382a73", + "sha256:d2ab34adc9bf1489452965cdb16a924e97d4452fcf88a50b21859068b50b5c3b", + "sha256:d7594a6d32cda2b49df3fd9abf9b37c8d2f3eab5df45c24056b4a671ac661619", + "sha256:d961f4123bb3c447d9fcdcb67e1530c366f10ab3a0c7d1c0c9943050936d4877", + "sha256:dae7a1879918f6544201d33666909b040a46421054a50e0f773e0d870ed7438d", + "sha256:dcebf7e475001d2cdeb020be630dc5b687e9acdd60d16fea6bb4508e7b94cf76", + "sha256:f627c5bf5759fdd90195b0c0431f99cff4867d212a67b384442c51136a098ed7", + "sha256:f8b2918c19e0d48f5f20df458c84692e2a054f02d9df25e6c3c930063eca64c1", + "sha256:fb223456db6e5f7bd9bbd5cd969f05aae82ae21acc00643b60d81c770abd402b" + ], + "markers": "python_version >= '3.9'", + "version": "==5.0.2" }, "wrapt": { "hashes": [ @@ -2037,11 +2017,11 @@ }, "zipp": { "hashes": [ - "sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064", - "sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b" + "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", + "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29" ], "markers": "python_version >= '3.8'", - "version": "==3.20.1" + "version": "==3.20.2" } } } diff --git a/tests/unit/synapseutils/unit_test_synapseutils_copy.py b/tests/unit/synapseutils/unit_test_synapseutils_copy.py index 2c6db6764..c0b8ac83e 100644 --- a/tests/unit/synapseutils/unit_test_synapseutils_copy.py +++ b/tests/unit/synapseutils/unit_test_synapseutils_copy.py @@ -458,7 +458,7 @@ def test_copy_entity_access_requirements(self): call("/entity/{}/accessRequirement".format(self.file_ent.id)), call("/entity/{}/permissions".format(self.file_ent.id)), ] - patch_rest_get.has_calls(calls) + patch_rest_get.assert_has_calls(calls=calls, any_order=True) class TestCopy: diff --git a/tests/unit/synapseutils/unit_test_synapseutils_migrate.py b/tests/unit/synapseutils/unit_test_synapseutils_migrate.py index a9994cf0a..9dae8e071 100644 --- a/tests/unit/synapseutils/unit_test_synapseutils_migrate.py +++ b/tests/unit/synapseutils/unit_test_synapseutils_migrate.py @@ -2171,7 +2171,7 @@ def test_verify_storage_location_ownership(): with pytest.raises(ValueError) as ex: _verify_storage_location_ownership(syn, storage_location_id) assert "Error verifying" in str(ex.value) - assert syn.restGET.called_with("/storageLocation/{}".format(storage_location_id)) + syn.restGET.assert_called_with(f"/storageLocation/{storage_location_id}") def test__verify_index_settings__retrieve_index_settings(): diff --git a/tests/unit/synapseutils/unit_test_synapseutils_sync.py b/tests/unit/synapseutils/unit_test_synapseutils_sync.py index a778249d4..67a3b82e6 100644 --- a/tests/unit/synapseutils/unit_test_synapseutils_sync.py +++ b/tests/unit/synapseutils/unit_test_synapseutils_sync.py @@ -315,7 +315,9 @@ def test_sync_from_synapse_folder_contains_one_file(syn: Synapse) -> None: ): result = synapseutils.syncFromSynapse(syn, folder) assert [file] == result - patch_syn_get_children.called_with(folder["id"]) + patch_syn_get_children.assert_called_with( + parent=folder["id"], includeTypes=["folder", "file"] + ) def test_sync_from_synapse_project_contains_empty_folder(syn: Synapse) -> None: From 11219b48007c8ce7d3bf80ccc865e52ffecb79ec Mon Sep 17 00:00:00 2001 From: BryanFauble <17128019+BryanFauble@users.noreply.github.com> Date: Tue, 24 Sep 2024 12:58:05 -0700 Subject: [PATCH 05/25] Remove kwarg --- synapseclient/core/download/download_functions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/synapseclient/core/download/download_functions.py b/synapseclient/core/download/download_functions.py index af29019a2..9ed1e6c01 100644 --- a/synapseclient/core/download/download_functions.py +++ b/synapseclient/core/download/download_functions.py @@ -991,7 +991,7 @@ def resolve_download_path_collisions( download_path = utils.normalize_path(os.path.join(download_location, file_name)) # resolve collision - if os.path.exists(path=download_path): + if os.path.exists(download_path): if if_collision == COLLISION_OVERWRITE_LOCAL: pass # Let the download proceed and overwrite the local file. elif if_collision == COLLISION_KEEP_LOCAL: From d99f4729fc8aa1e120e5f5de00618a269f93d4f2 Mon Sep 17 00:00:00 2001 From: BryanFauble <17128019+BryanFauble@users.noreply.github.com> Date: Tue, 24 Sep 2024 13:33:59 -0700 Subject: [PATCH 06/25] Run on 3.8 and 3.12 --- .github/workflows/build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dd37ae876..b6f1708d6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,6 +48,7 @@ jobs: os: [ubuntu-20.04, macos-12, windows-2022] # if changing the below change the run-integration-tests versions and the check-deploy versions + # Make sure that we are running the integration tests on the first and last versions of the matrix python: [3.8, '3.9', '3.10', '3.11', '3.12'] runs-on: ${{ matrix.os }} @@ -100,7 +101,7 @@ jobs: pytest -sv --cov-append --cov=. --cov-report xml tests/unit - name: Check for Secret availability id: secret-check - if: ${{ contains(fromJSON('["3.12"]'), matrix.python) }} + if: ${{ contains(fromJSON('["3.8"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python) }} # perform secret check & put boolean result as an output shell: bash run: | @@ -159,7 +160,7 @@ jobs: shell: bash # keep versions consistent with the first and last from the strategy matrix - if: ${{ contains(fromJSON('["3.12"]'), matrix.python) && steps.secret-check.outputs.secrets_available == 'true'}} + if: ${{ (contains(fromJSON('["3.8"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python)) && steps.secret-check.outputs.secrets_available == 'true'}} run: | # decrypt the encrypted test synapse configuration openssl aes-256-cbc -K ${{ secrets.encrypted_d17283647768_key }} -iv ${{ secrets.encrypted_d17283647768_iv }} -in test.synapseConfig.enc -out test.synapseConfig -d From cd0fe699884ddc69ca3dc23871e645802e388750 Mon Sep 17 00:00:00 2001 From: BryanFauble <17128019+BryanFauble@users.noreply.github.com> Date: Tue, 24 Sep 2024 13:59:56 -0700 Subject: [PATCH 07/25] Test patch --- .../synapseclient/core/test_external_storage.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/tests/integration/synapseclient/core/test_external_storage.py b/tests/integration/synapseclient/core/test_external_storage.py index 44e92331d..7448d2585 100644 --- a/tests/integration/synapseclient/core/test_external_storage.py +++ b/tests/integration/synapseclient/core/test_external_storage.py @@ -423,15 +423,12 @@ async def test_external_object_store(self) -> None: ) = await self._configure_storage_location(external_object_store=True) try: - with ( - mock.patch( - "synapseclient.core.upload.upload_functions_async._get_aws_credentials", - return_value=get_aws_env()[1], - ), - mock.patch( - "synapseclient.core.download.download_functions._get_aws_credentials", - return_value=get_aws_env()[1], - ), + with mock.patch( + "synapseclient.core.upload.upload_functions_async._get_aws_credentials", + return_value=get_aws_env()[1], + ), mock.patch( + "synapseclient.core.download.download_functions._get_aws_credentials", + return_value=get_aws_env()[1], ): # WHEN we save a file to that location upload_file = utils.make_bogus_uuid_file() From b62935dd5772e6571926ed5b8a8b72327a79285f Mon Sep 17 00:00:00 2001 From: BryanFauble <17128019+BryanFauble@users.noreply.github.com> Date: Tue, 24 Sep 2024 14:36:29 -0700 Subject: [PATCH 08/25] bump up timeout --- tests/integration/synapseutils/test_synapseutils_copy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/synapseutils/test_synapseutils_copy.py b/tests/integration/synapseutils/test_synapseutils_copy.py index 7bd1fe904..6f4380c1b 100644 --- a/tests/integration/synapseutils/test_synapseutils_copy.py +++ b/tests/integration/synapseutils/test_synapseutils_copy.py @@ -37,7 +37,7 @@ async def test_copy(syn: Synapse, schedule_for_cleanup): # When running with multiple threads it can lock up and do nothing until pipeline is killed at 6hrs -@func_set_timeout(120) +@func_set_timeout(360) def execute_test_copy(syn: Synapse, schedule_for_cleanup): """Tests the copy function""" # Create a Project From 009b09642f43b407d3d63fb069b2bb36cb1b4887 Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 07:02:58 -0600 Subject: [PATCH 09/25] deprecates python 3.8 --- .github/workflows/build.yml | 10 +- CONTRIBUTING.md | 2 +- Pipfile.lock | 426 +++--------------- README.md | 4 +- docs/index.md | 8 +- docs/news.md | 8 +- pylintrc | 2 +- setup.cfg | 12 +- synapseclient/__init__.py | 9 +- synapseclient/client.py | 28 +- .../multithread_download/download_threads.py | 26 +- synapseclient/core/version_check.py | 11 +- synapseutils/sync.py | 10 +- 13 files changed, 130 insertions(+), 426 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b6f1708d6..b7fe8c874 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,7 +49,7 @@ jobs: # if changing the below change the run-integration-tests versions and the check-deploy versions # Make sure that we are running the integration tests on the first and last versions of the matrix - python: [3.8, '3.9', '3.10', '3.11', '3.12'] + python: ['3.9', '3.10', '3.11', '3.12'] runs-on: ${{ matrix.os }} @@ -101,7 +101,7 @@ jobs: pytest -sv --cov-append --cov=. --cov-report xml tests/unit - name: Check for Secret availability id: secret-check - if: ${{ contains(fromJSON('["3.8"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python) }} + if: ${{ contains(fromJSON('["3.9"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python) }} # perform secret check & put boolean result as an output shell: bash run: | @@ -160,7 +160,7 @@ jobs: shell: bash # keep versions consistent with the first and last from the strategy matrix - if: ${{ (contains(fromJSON('["3.8"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python)) && steps.secret-check.outputs.secrets_available == 'true'}} + if: ${{ (contains(fromJSON('["3.9"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python)) && steps.secret-check.outputs.secrets_available == 'true'}} run: | # decrypt the encrypted test synapse configuration openssl aes-256-cbc -K ${{ secrets.encrypted_d17283647768_key }} -iv ${{ secrets.encrypted_d17283647768_iv }} -in test.synapseConfig.enc -out test.synapseConfig -d @@ -264,7 +264,7 @@ jobs: - uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.9 - name: set-release-env shell: bash @@ -402,7 +402,7 @@ jobs: os: [ubuntu-20.04, macos-12, windows-2022] # python versions should be consistent with the strategy matrix and the runs-integration-tests versions - python: [3.8, '3.9', '3.10', '3.11', '3.12'] + python: ['3.9', '3.10', '3.11', '3.12'] runs-on: ${{ matrix.os }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0de4e1619..e02302a3d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -93,7 +93,7 @@ copied to forks). #### Installing the Python Client in a virtual environment with pipenv Perform the following one-time steps to set up your local environment. -1. This package uses Python, if you have not already, please install [pyenv](https://github.com/pyenv/pyenv#installation) to manage your Python versions. Versions supported by this package are all versions >=3.8 and <=3.11. If you do not install `pyenv` make sure that Python and `pip` are installed correctly and have been added to your PATH by running `python3 --version` and `pip3 --version`. If your installation was successful, your terminal will return the versions of Python and `pip` that you installed. **Note**: If you have `pyenv` it will install a specific version of Python for you. +1. This package uses Python, if you have not already, please install [pyenv](https://github.com/pyenv/pyenv#installation) to manage your Python versions. Versions supported by this package are all versions >=3.9 and <=3.12. If you do not install `pyenv` make sure that Python and `pip` are installed correctly and have been added to your PATH by running `python3 --version` and `pip3 --version`. If your installation was successful, your terminal will return the versions of Python and `pip` that you installed. **Note**: If you have `pyenv` it will install a specific version of Python for you. 2. Install `pipenv` by running `pip install pipenv`. - If you already have `pipenv` installed, ensure that the version is >=2023.9.8 to avoid compatibility issues. diff --git a/Pipfile.lock b/Pipfile.lock index 9b487541d..ea5da0247 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -50,96 +50,10 @@ }, "charset-normalizer": { "hashes": [ - "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027", - "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087", - "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786", "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8", - "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09", - "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185", - "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574", - "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e", - "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519", - "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898", - "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269", - "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3", - "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f", - "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6", - "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8", - "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a", - "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73", "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc", - "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714", - "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2", - "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc", - "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce", - "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d", - "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e", "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6", - "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269", - "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96", - "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d", - "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a", - "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4", - "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77", - "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d", - "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0", - "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed", - "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068", - "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac", - "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25", - "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8", - "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab", - "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26", - "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2", - "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db", - "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f", - "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5", - "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99", - "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c", - "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d", - "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811", - "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa", - "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a", - "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03", - "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b", - "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04", - "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c", - "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001", - "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458", - "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389", - "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99", - "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985", - "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537", - "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238", - "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f", - "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d", - "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796", - "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a", - "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143", - "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8", - "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c", - "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5", - "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5", - "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711", - "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4", - "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6", - "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c", - "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7", - "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4", - "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b", - "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae", - "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12", - "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c", - "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae", - "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8", - "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887", - "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b", - "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4", - "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f", - "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5", - "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33", - "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519", - "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561" + "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5" ], "markers": "python_full_version >= '3.7.0'", "version": "==3.3.2" @@ -398,76 +312,9 @@ }, "wrapt": { "hashes": [ - "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc", - "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81", - "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09", - "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e", - "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca", - "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0", - "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb", - "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487", - "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40", - "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c", - "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060", - "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202", - "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41", - "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9", - "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b", - "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664", "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d", - "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362", - "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00", - "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc", "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1", - "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267", - "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956", - "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966", - "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1", - "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228", - "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72", - "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d", - "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292", - "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0", - "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0", - "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36", - "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c", - "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5", - "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f", - "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73", - "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b", - "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2", - "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593", - "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39", - "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389", - "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf", - "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf", - "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89", - "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c", - "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c", - "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f", - "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440", - "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465", - "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136", - "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b", - "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8", - "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3", - "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8", - "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6", - "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e", - "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f", - "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c", - "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e", - "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8", - "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2", - "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020", - "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35", - "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d", - "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3", - "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537", - "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809", - "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d", - "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a", - "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4" + "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36" ], "markers": "python_version >= '3.6'", "version": "==1.16.0" @@ -576,18 +423,18 @@ }, "boto3": { "hashes": [ - "sha256:5df4e2cbe3409db07d3a0d8d63d5220ce3202a78206ad87afdbb41519b26ce45", - "sha256:b1cfad301184cdd44dfd4805187ccab12de8dd28dd12a11a5cfdace17918c6de" + "sha256:b04087afd3570ba540fd293823c77270ec675672af23da9396bd5988a3f8128b", + "sha256:c31db992655db233d98762612690cfe60723c9e1503b5709aad92c1c564877bb" ], - "version": "==1.35.25" + "version": "==1.35.26" }, "botocore": { "hashes": [ - "sha256:76c5706b2c6533000603ae8683a297c887abbbaf6ee31e1b2e2863b74b2989bc", - "sha256:e58d60260abf10ccc4417967923117c9902a6a0cff9fddb6ea7ff42dc1bd4630" + "sha256:0b9dee5e4a3314e251e103585837506b17fcc7485c3c8adb61a9a913f46da1e7", + "sha256:19efc3a22c9df77960712b4e203f912486f8bcd3794bff0fd7b2a0f5f1d5712d" ], "markers": "python_version >= '3.8'", - "version": "==1.35.25" + "version": "==1.35.26" }, "certifi": { "hashes": [ @@ -680,96 +527,10 @@ }, "charset-normalizer": { "hashes": [ - "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027", - "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087", - "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786", "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8", - "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09", - "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185", - "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574", - "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e", - "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519", - "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898", - "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269", - "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3", - "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f", - "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6", - "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8", - "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a", - "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73", "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc", - "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714", - "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2", - "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc", - "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce", - "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d", - "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e", "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6", - "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269", - "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96", - "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d", - "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a", - "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4", - "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77", - "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d", - "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0", - "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed", - "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068", - "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac", - "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25", - "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8", - "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab", - "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26", - "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2", - "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db", - "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f", - "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5", - "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99", - "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c", - "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d", - "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811", - "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa", - "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a", - "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03", - "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b", - "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04", - "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c", - "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001", - "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458", - "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389", - "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99", - "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985", - "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537", - "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238", - "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f", - "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d", - "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796", - "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a", - "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143", - "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8", - "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c", - "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5", - "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5", - "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711", - "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4", - "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6", - "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c", - "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7", - "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4", - "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b", - "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae", - "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12", - "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c", - "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae", - "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8", - "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887", - "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b", - "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4", - "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f", - "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5", - "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33", - "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519", - "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561" + "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5" ], "markers": "python_full_version >= '3.7.0'", "version": "==3.3.2" @@ -1164,10 +925,10 @@ }, "mkdocs-material": { "hashes": [ - "sha256:140456f761320f72b399effc073fa3f8aac744c77b0970797c201cae2f6c967f", - "sha256:36734c1fd9404bea74236242ba3359b267fc930c7233b9fd086b0898825d0ac9" + "sha256:2c31607431ec234db124031255b0a9d4f3e1c3ecc2c47ad97ecfff0460471941", + "sha256:6e8a986abad77be5edec3dd77cf1ddf2480963fb297a8e971f87a82fd464b070" ], - "version": "==9.5.36" + "version": "==9.5.37" }, "mkdocs-material-extensions": { "hashes": [ @@ -1224,44 +985,62 @@ }, "numpy": { "hashes": [ - "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b", - "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", - "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20", - "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0", - "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010", - "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a", - "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea", - "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c", - "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71", - "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110", - "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be", - "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a", - "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a", - "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5", - "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed", - "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd", - "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c", - "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e", - "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0", - "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c", - "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a", - "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b", - "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0", - "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6", - "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2", - "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a", - "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30", - "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218", - "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5", - "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07", - "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2", - "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4", - "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764", - "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef", - "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3", - "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f" - ], - "version": "==1.26.4" + "sha256:046356b19d7ad1890c751b99acad5e82dc4a02232013bd9a9a712fddf8eb60f5", + "sha256:0b8cc2715a84b7c3b161f9ebbd942740aaed913584cae9cdc7f8ad5ad41943d0", + "sha256:0d07841fd284718feffe7dd17a63a2e6c78679b2d386d3e82f44f0108c905550", + "sha256:13cc11c00000848702322af4de0147ced365c81d66053a67c2e962a485b3717c", + "sha256:13ce49a34c44b6de5241f0b38b07e44c1b2dcacd9e36c30f9c2fcb1bb5135db7", + "sha256:24c2ad697bd8593887b019817ddd9974a7f429c14a5469d7fad413f28340a6d2", + "sha256:251105b7c42abe40e3a689881e1793370cc9724ad50d64b30b358bbb3a97553b", + "sha256:2ca4b53e1e0b279142113b8c5eb7d7a877e967c306edc34f3b58e9be12fda8df", + "sha256:3269c9eb8745e8d975980b3a7411a98976824e1fdef11f0aacf76147f662b15f", + "sha256:397bc5ce62d3fb73f304bec332171535c187e0643e176a6e9421a6e3eacef06d", + "sha256:3fc5eabfc720db95d68e6646e88f8b399bfedd235994016351b1d9e062c4b270", + "sha256:50a95ca3560a6058d6ea91d4629a83a897ee27c00630aed9d933dff191f170cd", + "sha256:52ac2e48f5ad847cd43c4755520a2317f3380213493b9d8a4c5e37f3b87df504", + "sha256:53e27293b3a2b661c03f79aa51c3987492bd4641ef933e366e0f9f6c9bf257ec", + "sha256:57eb525e7c2a8fdee02d731f647146ff54ea8c973364f3b850069ffb42799647", + "sha256:5889dd24f03ca5a5b1e8a90a33b5a0846d8977565e4ae003a63d22ecddf6782f", + "sha256:59ca673ad11d4b84ceb385290ed0ebe60266e356641428c845b39cd9df6713ab", + "sha256:6435c48250c12f001920f0751fe50c0348f5f240852cfddc5e2f97e007544cbe", + "sha256:6e5a9cb2be39350ae6c8f79410744e80154df658d5bea06e06e0ac5bb75480d5", + "sha256:7be6a07520b88214ea85d8ac8b7d6d8a1839b0b5cb87412ac9f49fa934eb15d5", + "sha256:7c803b7934a7f59563db459292e6aa078bb38b7ab1446ca38dd138646a38203e", + "sha256:7dd86dfaf7c900c0bbdcb8b16e2f6ddf1eb1fe39c6c8cca6e94844ed3152a8fd", + "sha256:8661c94e3aad18e1ea17a11f60f843a4933ccaf1a25a7c6a9182af70610b2313", + "sha256:8ae0fd135e0b157365ac7cc31fff27f07a5572bdfc38f9c2d43b2aff416cc8b0", + "sha256:910b47a6d0635ec1bd53b88f86120a52bf56dcc27b51f18c7b4a2e2224c29f0f", + "sha256:913cc1d311060b1d409e609947fa1b9753701dac96e6581b58afc36b7ee35af6", + "sha256:920b0911bb2e4414c50e55bd658baeb78281a47feeb064ab40c2b66ecba85553", + "sha256:950802d17a33c07cba7fd7c3dcfa7d64705509206be1606f196d179e539111ed", + "sha256:981707f6b31b59c0c24bcda52e5605f9701cb46da4b86c2e8023656ad3e833cb", + "sha256:98ce7fb5b8063cfdd86596b9c762bf2b5e35a2cdd7e967494ab78a1fa7f8b86e", + "sha256:99f4a9ee60eed1385a86e82288971a51e71df052ed0b2900ed30bc840c0f2e39", + "sha256:9a8e06c7a980869ea67bbf551283bbed2856915f0a792dc32dd0f9dd2fb56728", + "sha256:ae8ce252404cdd4de56dcfce8b11eac3c594a9c16c231d081fb705cf23bd4d9e", + "sha256:afd9c680df4de71cd58582b51e88a61feed4abcc7530bcd3d48483f20fc76f2a", + "sha256:b49742cdb85f1f81e4dc1b39dcf328244f4d8d1ded95dea725b316bd2cf18c95", + "sha256:b5613cfeb1adfe791e8e681128f5f49f22f3fcaa942255a6124d58ca59d9528f", + "sha256:bab7c09454460a487e631ffc0c42057e3d8f2a9ddccd1e60c7bb8ed774992480", + "sha256:c8a0e34993b510fc19b9a2ce7f31cb8e94ecf6e924a40c0c9dd4f62d0aac47d9", + "sha256:caf5d284ddea7462c32b8d4a6b8af030b6c9fd5332afb70e7414d7fdded4bfd0", + "sha256:cea427d1350f3fd0d2818ce7350095c1a2ee33e30961d2f0fef48576ddbbe90f", + "sha256:d0cf7d55b1051387807405b3898efafa862997b4cba8aa5dbe657be794afeafd", + "sha256:d10c39947a2d351d6d466b4ae83dad4c37cd6c3cdd6d5d0fa797da56f710a6ae", + "sha256:d2b9cd92c8f8e7b313b80e93cedc12c0112088541dcedd9197b5dee3738c1201", + "sha256:d4c57b68c8ef5e1ebf47238e99bf27657511ec3f071c465f6b1bccbef12d4136", + "sha256:d51fc141ddbe3f919e91a096ec739f49d686df8af254b2053ba21a910ae518bf", + "sha256:e097507396c0be4e547ff15b13dc3866f45f3680f789c1a1301b07dadd3fbc78", + "sha256:e30356d530528a42eeba51420ae8bf6c6c09559051887196599d96ee5f536468", + "sha256:e8d5f8a8e3bc87334f025194c6193e408903d21ebaeb10952264943a985066ca", + "sha256:e8dfa9e94fc127c40979c3eacbae1e61fda4fe71d84869cc129e2721973231ef", + "sha256:f212d4f46b67ff604d11fff7cc62d36b3e8714edf68e44e9760e19be38c03eb0", + "sha256:f7506387e191fe8cdb267f912469a3cccc538ab108471291636a96a54e599556", + "sha256:fac6e277a41163d27dfab5f4ec1f7a83fac94e170665a4a50191b545721c6521", + "sha256:fcd8f556cdc8cfe35e70efb92463082b7f43dd7e547eb071ffc36abc0ca4699b" + ], + "markers": "python_version >= '3.12'", + "version": "==2.1.1" }, "opentelemetry-api": { "hashes": [ @@ -1941,76 +1720,9 @@ }, "wrapt": { "hashes": [ - "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc", - "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81", - "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09", - "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e", - "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca", - "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0", - "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb", - "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487", - "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40", - "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c", - "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060", - "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202", - "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41", - "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9", - "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b", - "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664", "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d", - "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362", - "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00", - "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc", "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1", - "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267", - "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956", - "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966", - "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1", - "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228", - "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72", - "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d", - "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292", - "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0", - "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0", - "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36", - "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c", - "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5", - "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f", - "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73", - "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b", - "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2", - "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593", - "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39", - "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389", - "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf", - "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf", - "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89", - "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c", - "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c", - "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f", - "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440", - "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465", - "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136", - "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b", - "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8", - "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3", - "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8", - "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6", - "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e", - "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f", - "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c", - "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e", - "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8", - "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2", - "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020", - "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35", - "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d", - "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3", - "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537", - "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809", - "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d", - "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a", - "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4" + "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36" ], "markers": "python_version >= '3.6'", "version": "==1.16.0" diff --git a/README.md b/README.md index 3d53b191a..c8b87a4bc 100644 --- a/README.md +++ b/README.md @@ -36,9 +36,9 @@ or by sending an email to [python-announce+subscribe@sagebase.org](mailto:python Installation ------------ -The Python Synapse client has been tested on 3.8, 3.9, 3.10 and 3.11 on Mac OS X, Ubuntu Linux and Windows. +The Python Synapse client has been tested on versions 3.9, 3.10, 3.11 and 3.12 on Mac OS X, Ubuntu Linux and Windows. -**Starting from Synapse Python client version 3.0, Synapse Python client requires Python >= 3.8** +**Starting from Synapse Python client version 3.0, Synapse Python client requires Python >= 3.9** ### Install using pip diff --git a/docs/index.md b/docs/index.md index c8fbac296..5ee6c68ae 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,14 +2,14 @@ [![Supported Python Versions](https://img.shields.io/pypi/pyversions/synapseclient.svg)](https://pypi.org/project/synapseclient/) -### **Notice for the upcoming v5.0 release:** +### **Notice for the upcoming v6.0 release:** -- The upcoming v5.0 release will include a number of breaking changes. Take a look at +- The upcoming v6.0 release will include a number of breaking changes. Take a look at this [pubpub](https://sagebionetworks.pubpub.org/pub/828a3x4k/release/1) article detailing some of the changes. - A release date has not been set. A number of these changes will be available within -the 4.x.x versions hidden behind optional feature flags or different import paths. Any -breaking changes will not be included until v5.0. +the 5.x.x versions hidden behind optional feature flags or different import paths. Any +breaking changes will not be included until v6.0. The `synapseclient` package provides an interface to [Synapse](http://www.synapse.org), a collaborative, open-source research platform that allows teams to share data, track analyses, and collaborate, providing support for: diff --git a/docs/news.md b/docs/news.md index 596d0d4bc..a04794e5c 100644 --- a/docs/news.md +++ b/docs/news.md @@ -1,13 +1,13 @@ # Release Notes -### **Notice for the upcoming v5.0 release:** +### **Notice for the upcoming v6.0 release:** -- The upcoming v5.0 release will include a number of breaking changes. Take a look at +- The upcoming v6.0 release will include a number of breaking changes. Take a look at this [pubpub](https://sagebionetworks.pubpub.org/pub/828a3x4k/release/1) article detailing some of the changes. - A release date has not been set. A number of these changes will be available within -the 4.x.x versions hidden behind optional feature flags or different import paths. Any -breaking changes will not be included until v5.0. +the 5.x.x versions hidden behind optional feature flags or different import paths. Any +breaking changes will not be included until v6.0. ## 4.5.1 (2024-09-19) ### Highlights diff --git a/pylintrc b/pylintrc index d6fa5b323..e56734f73 100644 --- a/pylintrc +++ b/pylintrc @@ -93,7 +93,7 @@ prefer-stubs=no # Minimum Python version to use for version dependent checks. Will default to # the version used to run pylint. -py-version=3.8 +py-version=3.9 # Discover python modules and packages in the file system subtree. recursive=no diff --git a/setup.cfg b/setup.cfg index 01d8c6fa8..289c41a82 100644 --- a/setup.cfg +++ b/setup.cfg @@ -23,7 +23,6 @@ platforms = any classifiers = Development Status :: 5 - Production/Stable Programming Language :: Python - Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 @@ -43,7 +42,7 @@ classifiers = zip_safe = False include_package_data = True packages = find: -python_requires = >=3.8 +python_requires = >=3.9 install_requires = # "requests>=2.22.0,<2.30.0; python_version<'3.10'", requests>=2.22.0,<3.0 @@ -73,7 +72,7 @@ tests_require = pytest-rerunfailures~=12.0 func-timeout~=4.3 pytest-cov~=4.1.0 - pandas>=1.5,<3.0 + pandas>=2.1.2,<3.0 [options.extras_require] dev = @@ -88,7 +87,7 @@ dev = pytest-cov~=4.1.0 black pre-commit - pandas>=1.5,<3.0 + pandas>=2.1.2,<3.0 tests = pytest>=7.0.0,<8.0 @@ -100,11 +99,10 @@ tests = pytest-rerunfailures~=12.0 func-timeout~=4.3 pytest-cov~=4.1.0 - pandas>=1.5,<3.0 + pandas>=2.1.2,<3.0 pandas = - pandas>=1.5,<3.0 - numpy<2.0.0 + pandas>=2.1.2,<3.0 pysftp = pysftp>=0.2.8,<0.3 diff --git a/synapseclient/__init__.py b/synapseclient/__init__.py index efd653572..d78b98a56 100644 --- a/synapseclient/__init__.py +++ b/synapseclient/__init__.py @@ -31,12 +31,9 @@ from .team import Team, TeamMember, UserGroupHeader, UserProfile from .wiki import Wiki -# ref = importlib.resources.files(__name__).joinpath("synapsePythonClient") -# with ref.open("r") as fp: -# __version__ = json.load(fp)["latestVersion"] -# TODO: switch to the above after python 3.8 is deprecated -with importlib.resources.path(__name__, "synapsePythonClient") as ref: - __version__ = json.load(open(ref))["latestVersion"] +ref = importlib.resources.files(__name__).joinpath("synapsePythonClient") +with ref.open("r") as fp: + __version__ = json.load(fp)["latestVersion"] __all__ = [ # objects diff --git a/synapseclient/client.py b/synapseclient/client.py index ce25aa5ab..133722d3d 100644 --- a/synapseclient/client.py +++ b/synapseclient/client.py @@ -600,7 +600,7 @@ def username(self) -> Union[str, None]: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/api/configuration_services.py::get_config_file", ) @functools.lru_cache() @@ -755,7 +755,7 @@ def login( @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/api/configuration_services.py::get_config_section_dict", ) def _get_config_section_dict(self, section_name: str) -> Dict[str, str]: @@ -777,7 +777,7 @@ def _get_config_section_dict(self, section_name: str) -> Dict[str, str]: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/api/configuration_services.py::get_config_authentication", ) def _get_config_authentication(self) -> Dict[str, str]: @@ -794,7 +794,7 @@ def _get_config_authentication(self) -> Dict[str, str]: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/api/configuration_services.py::get_client_authenticated_s3_profile", ) def _get_client_authenticated_s3_profile( @@ -817,7 +817,7 @@ def _get_client_authenticated_s3_profile( @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/api/configuration_services.py::get_transfer_config", ) def _get_transfer_config(self) -> Dict[str, str]: @@ -1548,7 +1548,7 @@ def _getWithEntityBundle( @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_functions.py::ensure_download_location_is_directory", ) def _ensure_download_location_is_directory(self, downloadLocation: str) -> str: @@ -1573,7 +1573,7 @@ def _ensure_download_location_is_directory(self, downloadLocation: str) -> str: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_functions.py::download_file_entity", ) def _download_file_entity( @@ -1670,7 +1670,7 @@ def _download_file_entity( @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_functions.py::resolve_download_path_collisions", ) def _resolve_download_path_collisions( @@ -3115,7 +3115,7 @@ def _convertProvenanceList(self, usedList: list, limitSearch: str = None) -> lis @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/api/file_services.py::get_file_handle_for_download", ) def _getFileHandleDownload( @@ -3166,7 +3166,7 @@ def _getFileHandleDownload( @staticmethod @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_functions.py::is_retryable_download_error", ) def _is_retryable_download_error(ex: Exception) -> bool: @@ -3188,7 +3188,7 @@ def _is_retryable_download_error(ex: Exception) -> bool: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_functions.py::download_by_file_handle", ) def _downloadFileHandle( @@ -3316,7 +3316,7 @@ def download_fn(credentials): @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_functions.py::download_from_url_multi_threaded", ) def _download_from_url_multi_threaded( @@ -3382,7 +3382,7 @@ def _download_from_url_multi_threaded( @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_functions.py::is_synapse_uri", ) def _is_synapse_uri(self, uri: str) -> bool: @@ -3401,7 +3401,7 @@ def _is_synapse_uri(self, uri: str) -> bool: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_functions.py::download_from_url", ) def _download_from_URL( diff --git a/synapseclient/core/multithread_download/download_threads.py b/synapseclient/core/multithread_download/download_threads.py index be4d8fcc9..9591f0822 100644 --- a/synapseclient/core/multithread_download/download_threads.py +++ b/synapseclient/core/multithread_download/download_threads.py @@ -40,7 +40,7 @@ @contextmanager @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def shared_executor(executor): @@ -55,7 +55,7 @@ def shared_executor(executor): @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) class DownloadRequest(NamedTuple): @@ -81,7 +81,7 @@ class DownloadRequest(NamedTuple): @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) class TransferStatus(object): @@ -111,7 +111,7 @@ def elapsed_time(self) -> float: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) class PresignedUrlInfo(NamedTuple): @@ -131,7 +131,7 @@ class PresignedUrlInfo(NamedTuple): @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) class PresignedUrlProvider(object): @@ -183,7 +183,7 @@ def _get_pre_signed_info(self) -> PresignedUrlInfo: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def _generate_chunk_ranges( @@ -209,7 +209,7 @@ def _generate_chunk_ranges( @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def _pre_signed_url_expiration_time(url: str) -> datetime: @@ -233,7 +233,7 @@ def _pre_signed_url_expiration_time(url: str) -> datetime: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def _get_new_session() -> Session: @@ -253,7 +253,7 @@ def _get_new_session() -> Session: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def _get_file_size(url: str, debug: bool) -> int: @@ -275,7 +275,7 @@ def _get_file_size(url: str, debug: bool) -> int: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def download_file( @@ -318,7 +318,7 @@ def download_file( @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def _get_thread_session(): @@ -336,7 +336,7 @@ def _get_thread_session(): @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) class _MultithreadedDownloader: @@ -365,7 +365,7 @@ def __init__(self, syn, executor, max_concurrent_parts): @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. " + reason="To be removed in 6.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def download_file(self, request: DownloadRequest) -> None: diff --git a/synapseclient/core/version_check.py b/synapseclient/core/version_check.py index 44dbc272e..fade17f9f 100644 --- a/synapseclient/core/version_check.py +++ b/synapseclient/core/version_check.py @@ -11,7 +11,7 @@ """ -import importlib.resources +import importlib_resources import json import re import sys @@ -165,12 +165,9 @@ def _version_tuple(version, levels=2): def _get_version_info(version_url=_VERSION_URL): if version_url is None: - # ref = importlib_resources.files("synapseclient").joinpath("synapsePythonClient") - # with ref.open("r") as fp: - # pkg_metadata = json.loads(fp.read()) - # TODO: switch to the above after python 3.8 is deprecated - with importlib.resources.path(__name__, "synapsePythonClient") as ref: - pkg_metadata = json.load(ref) + ref = importlib_resources.files("synapseclient").joinpath("synapsePythonClient") + with ref.open("r") as fp: + pkg_metadata = json.loads(fp.read()) return pkg_metadata else: headers = {"Accept": "application/json; charset=UTF-8"} diff --git a/synapseutils/sync.py b/synapseutils/sync.py index c126ae98a..f1bca738f 100644 --- a/synapseutils/sync.py +++ b/synapseutils/sync.py @@ -120,7 +120,7 @@ def syncFromSynapse( downloaded, no manifest file will be created. ifcollision: Determines how to handle file collisions. Maybe "overwrite.local", "keep.local", or "keep.both". - allFiles: Deprecated and not to be used. This will be removed in v5.0.0. + allFiles: Deprecated and not to be used. This will be removed in v6.0.0. followLink: Determines whether the link returns the target Entity. manifest: Determines whether creating manifest file automatically. The optional values here (`all`, `root`, `suppress`). @@ -221,7 +221,7 @@ def syncFromSynapse( # implementation of this function with the public signature invoking itself. now # that this isn't a recursive any longer we don't need allFiles as a parameter # (especially on the public signature) but it is retained for now for backwards - # compatibility with external invokers. To be removed in v5.0.0. + # compatibility with external invokers. To be removed in v6.0.0. if allFiles is not None: allFiles.extend(synapse_files) synapse_files = allFiles @@ -584,7 +584,7 @@ async def _upload_item_async( @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. This is being replaced by `generate_manifest`.", + reason="To be removed in 6.0.0. This is being replaced by `generate_manifest`.", ) def generateManifest(syn, allFiles, filename, provenance_cache=None) -> None: """Generates a manifest file based on a list of entities objects. @@ -609,7 +609,7 @@ def generateManifest(syn, allFiles, filename, provenance_cache=None) -> None: @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. This is being replaced by `_extract_entity_metadata_for_file`.", + reason="To be removed in 6.0.0. This is being replaced by `_extract_entity_metadata_for_file`.", ) def _extract_file_entity_metadata(syn, allFiles, *, provenance_cache=None): """ @@ -666,7 +666,7 @@ def _extract_file_entity_metadata(syn, allFiles, *, provenance_cache=None): @deprecated( version="4.4.0", - reason="To be removed in 5.0.0. This is being replaced by `_get_entity_provenance_dict_for_file`.", + reason="To be removed in 6.0.0. This is being replaced by `_get_entity_provenance_dict_for_file`.", ) def _get_file_entity_provenance_dict(syn, entity): """ From 6a6d258a9bcd82fc091cda564bcf7ffc136233b9 Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 07:03:36 -0600 Subject: [PATCH 10/25] pre-commit --- synapseclient/core/version_check.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/synapseclient/core/version_check.py b/synapseclient/core/version_check.py index fade17f9f..2daf46f8e 100644 --- a/synapseclient/core/version_check.py +++ b/synapseclient/core/version_check.py @@ -11,11 +11,11 @@ """ -import importlib_resources import json import re import sys +import importlib_resources import requests import synapseclient From bea4713363d7a92079813aba4f7b2726be413e61 Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 07:11:06 -0600 Subject: [PATCH 11/25] fix importlib import --- synapseclient/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/synapseclient/__init__.py b/synapseclient/__init__.py index d78b98a56..52ff2b4c2 100644 --- a/synapseclient/__init__.py +++ b/synapseclient/__init__.py @@ -1,6 +1,6 @@ -import importlib.resources import json +import importlib_resources import requests # ensure user-agent is set to track Synapse Python client usage from .activity import Activity @@ -31,7 +31,7 @@ from .team import Team, TeamMember, UserGroupHeader, UserProfile from .wiki import Wiki -ref = importlib.resources.files(__name__).joinpath("synapsePythonClient") +ref = importlib_resources.files(__name__).joinpath("synapsePythonClient") with ref.open("r") as fp: __version__ = json.load(fp)["latestVersion"] From 4f7187ef89a22dc72221a6da1905d3faba3755f3 Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 07:15:50 -0600 Subject: [PATCH 12/25] adds importlib_resources dependency --- Pipfile.lock | 16 ++++++++++++++++ setup.cfg | 1 + 2 files changed, 17 insertions(+) diff --git a/Pipfile.lock b/Pipfile.lock index ea5da0247..16f83a58e 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -114,6 +114,14 @@ "markers": "python_version >= '3.8'", "version": "==8.4.0" }, + "importlib-resources": { + "hashes": [ + "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf", + "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4" + ], + "markers": "python_version >= '3.8'", + "version": "==6.0.1" + }, "nest-asyncio": { "hashes": [ "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", @@ -780,6 +788,14 @@ "markers": "python_version >= '3.8'", "version": "==8.4.0" }, + "importlib-resources": { + "hashes": [ + "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf", + "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4" + ], + "markers": "python_version >= '3.8'", + "version": "==6.0.1" + }, "iniconfig": { "hashes": [ "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", diff --git a/setup.cfg b/setup.cfg index 289c41a82..7e6807c89 100644 --- a/setup.cfg +++ b/setup.cfg @@ -62,6 +62,7 @@ install_requires = tqdm>=4.66.2,<5.0 async-lru~=2.0.4 psutil~=5.9.8 + importlib_resources~=6.0.0 tests_require = pytest>=7.0.0,<8.0 pytest-mock>=3.0,<4.0 From dd7d30b3783272f09d4a0f300ae8601f6756c43a Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 08:27:30 -0600 Subject: [PATCH 13/25] bump cache version --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b7fe8c874..e3a18e75b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -78,7 +78,7 @@ jobs: path: | ${{ steps.get-dependencies.outputs.site_packages_loc }} ${{ steps.get-dependencies.outputs.site_bin_dir }} - key: ${{ runner.os }}-${{ matrix.python }}-build-${{ env.cache-name }}-${{ hashFiles('setup.py') }}-v18 + key: ${{ runner.os }}-${{ matrix.python }}-build-${{ env.cache-name }}-${{ hashFiles('setup.py') }}-v19 - name: Install py-dependencies if: steps.cache-dependencies.outputs.cache-hit != 'true' From 9de86bebf7f431175d4fa314f2e00932d3902c11 Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 12:27:13 -0600 Subject: [PATCH 14/25] fix CI --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4a11dab29..605522cfc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -101,7 +101,7 @@ jobs: pytest -sv --cov-append --cov=. --cov-report xml tests/unit - name: Check for Secret availability id: secret-check - if: ${{ contains(fromJSON('["3.8"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python) }} + if: ${{ (contains(fromJSON('["3.8"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python)) && steps.secret-check.outputs.secrets_available == 'true'}} # perform secret check & put boolean result as an output shell: bash run: | @@ -402,7 +402,7 @@ jobs: os: [ubuntu-20.04, macos-12, windows-2022] # python versions should be consistent with the strategy matrix and the runs-integration-tests versions - python: ['3.9', '3.10', '3.11', '3.12'] + python: [3.8, '3.9', '3.10', '3.11'] runs-on: ${{ matrix.os }} From 04c2e0fd1bf744ec419eb05fafd5ef358736306c Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 12:29:28 -0600 Subject: [PATCH 15/25] revert docs to 5.0 --- docs/index.md | 6 ++-- docs/news.md | 6 ++-- synapseclient/client.py | 28 +++++++++---------- .../multithread_download/download_threads.py | 26 ++++++++--------- synapseutils/sync.py | 10 +++---- 5 files changed, 38 insertions(+), 38 deletions(-) diff --git a/docs/index.md b/docs/index.md index 5ee6c68ae..693484270 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,14 +2,14 @@ [![Supported Python Versions](https://img.shields.io/pypi/pyversions/synapseclient.svg)](https://pypi.org/project/synapseclient/) -### **Notice for the upcoming v6.0 release:** +### **Notice for the upcoming v5.0 release:** -- The upcoming v6.0 release will include a number of breaking changes. Take a look at +- The upcoming v5.0 release will include a number of breaking changes. Take a look at this [pubpub](https://sagebionetworks.pubpub.org/pub/828a3x4k/release/1) article detailing some of the changes. - A release date has not been set. A number of these changes will be available within the 5.x.x versions hidden behind optional feature flags or different import paths. Any -breaking changes will not be included until v6.0. +breaking changes will not be included until v5.0. The `synapseclient` package provides an interface to [Synapse](http://www.synapse.org), a collaborative, open-source research platform that allows teams to share data, track analyses, and collaborate, providing support for: diff --git a/docs/news.md b/docs/news.md index a04794e5c..7346a085b 100644 --- a/docs/news.md +++ b/docs/news.md @@ -1,13 +1,13 @@ # Release Notes -### **Notice for the upcoming v6.0 release:** +### **Notice for the upcoming v5.0 release:** -- The upcoming v6.0 release will include a number of breaking changes. Take a look at +- The upcoming v5.0 release will include a number of breaking changes. Take a look at this [pubpub](https://sagebionetworks.pubpub.org/pub/828a3x4k/release/1) article detailing some of the changes. - A release date has not been set. A number of these changes will be available within the 5.x.x versions hidden behind optional feature flags or different import paths. Any -breaking changes will not be included until v6.0. +breaking changes will not be included until v5.0. ## 4.5.1 (2024-09-19) ### Highlights diff --git a/synapseclient/client.py b/synapseclient/client.py index 133722d3d..ce25aa5ab 100644 --- a/synapseclient/client.py +++ b/synapseclient/client.py @@ -600,7 +600,7 @@ def username(self) -> Union[str, None]: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/api/configuration_services.py::get_config_file", ) @functools.lru_cache() @@ -755,7 +755,7 @@ def login( @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/api/configuration_services.py::get_config_section_dict", ) def _get_config_section_dict(self, section_name: str) -> Dict[str, str]: @@ -777,7 +777,7 @@ def _get_config_section_dict(self, section_name: str) -> Dict[str, str]: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/api/configuration_services.py::get_config_authentication", ) def _get_config_authentication(self) -> Dict[str, str]: @@ -794,7 +794,7 @@ def _get_config_authentication(self) -> Dict[str, str]: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/api/configuration_services.py::get_client_authenticated_s3_profile", ) def _get_client_authenticated_s3_profile( @@ -817,7 +817,7 @@ def _get_client_authenticated_s3_profile( @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/api/configuration_services.py::get_transfer_config", ) def _get_transfer_config(self) -> Dict[str, str]: @@ -1548,7 +1548,7 @@ def _getWithEntityBundle( @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_functions.py::ensure_download_location_is_directory", ) def _ensure_download_location_is_directory(self, downloadLocation: str) -> str: @@ -1573,7 +1573,7 @@ def _ensure_download_location_is_directory(self, downloadLocation: str) -> str: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_functions.py::download_file_entity", ) def _download_file_entity( @@ -1670,7 +1670,7 @@ def _download_file_entity( @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_functions.py::resolve_download_path_collisions", ) def _resolve_download_path_collisions( @@ -3115,7 +3115,7 @@ def _convertProvenanceList(self, usedList: list, limitSearch: str = None) -> lis @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/api/file_services.py::get_file_handle_for_download", ) def _getFileHandleDownload( @@ -3166,7 +3166,7 @@ def _getFileHandleDownload( @staticmethod @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_functions.py::is_retryable_download_error", ) def _is_retryable_download_error(ex: Exception) -> bool: @@ -3188,7 +3188,7 @@ def _is_retryable_download_error(ex: Exception) -> bool: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_functions.py::download_by_file_handle", ) def _downloadFileHandle( @@ -3316,7 +3316,7 @@ def download_fn(credentials): @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_functions.py::download_from_url_multi_threaded", ) def _download_from_url_multi_threaded( @@ -3382,7 +3382,7 @@ def _download_from_url_multi_threaded( @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_functions.py::is_synapse_uri", ) def _is_synapse_uri(self, uri: str) -> bool: @@ -3401,7 +3401,7 @@ def _is_synapse_uri(self, uri: str) -> bool: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_functions.py::download_from_url", ) def _download_from_URL( diff --git a/synapseclient/core/multithread_download/download_threads.py b/synapseclient/core/multithread_download/download_threads.py index 9591f0822..be4d8fcc9 100644 --- a/synapseclient/core/multithread_download/download_threads.py +++ b/synapseclient/core/multithread_download/download_threads.py @@ -40,7 +40,7 @@ @contextmanager @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def shared_executor(executor): @@ -55,7 +55,7 @@ def shared_executor(executor): @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) class DownloadRequest(NamedTuple): @@ -81,7 +81,7 @@ class DownloadRequest(NamedTuple): @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) class TransferStatus(object): @@ -111,7 +111,7 @@ def elapsed_time(self) -> float: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) class PresignedUrlInfo(NamedTuple): @@ -131,7 +131,7 @@ class PresignedUrlInfo(NamedTuple): @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) class PresignedUrlProvider(object): @@ -183,7 +183,7 @@ def _get_pre_signed_info(self) -> PresignedUrlInfo: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def _generate_chunk_ranges( @@ -209,7 +209,7 @@ def _generate_chunk_ranges( @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def _pre_signed_url_expiration_time(url: str) -> datetime: @@ -233,7 +233,7 @@ def _pre_signed_url_expiration_time(url: str) -> datetime: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def _get_new_session() -> Session: @@ -253,7 +253,7 @@ def _get_new_session() -> Session: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def _get_file_size(url: str, debug: bool) -> int: @@ -275,7 +275,7 @@ def _get_file_size(url: str, debug: bool) -> int: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def download_file( @@ -318,7 +318,7 @@ def download_file( @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def _get_thread_session(): @@ -336,7 +336,7 @@ def _get_thread_session(): @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) class _MultithreadedDownloader: @@ -365,7 +365,7 @@ def __init__(self, syn, executor, max_concurrent_parts): @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. " + reason="To be removed in 5.0.0. " "Moved to synapseclient/core/download/download_async.py", ) def download_file(self, request: DownloadRequest) -> None: diff --git a/synapseutils/sync.py b/synapseutils/sync.py index f1bca738f..c126ae98a 100644 --- a/synapseutils/sync.py +++ b/synapseutils/sync.py @@ -120,7 +120,7 @@ def syncFromSynapse( downloaded, no manifest file will be created. ifcollision: Determines how to handle file collisions. Maybe "overwrite.local", "keep.local", or "keep.both". - allFiles: Deprecated and not to be used. This will be removed in v6.0.0. + allFiles: Deprecated and not to be used. This will be removed in v5.0.0. followLink: Determines whether the link returns the target Entity. manifest: Determines whether creating manifest file automatically. The optional values here (`all`, `root`, `suppress`). @@ -221,7 +221,7 @@ def syncFromSynapse( # implementation of this function with the public signature invoking itself. now # that this isn't a recursive any longer we don't need allFiles as a parameter # (especially on the public signature) but it is retained for now for backwards - # compatibility with external invokers. To be removed in v6.0.0. + # compatibility with external invokers. To be removed in v5.0.0. if allFiles is not None: allFiles.extend(synapse_files) synapse_files = allFiles @@ -584,7 +584,7 @@ async def _upload_item_async( @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. This is being replaced by `generate_manifest`.", + reason="To be removed in 5.0.0. This is being replaced by `generate_manifest`.", ) def generateManifest(syn, allFiles, filename, provenance_cache=None) -> None: """Generates a manifest file based on a list of entities objects. @@ -609,7 +609,7 @@ def generateManifest(syn, allFiles, filename, provenance_cache=None) -> None: @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. This is being replaced by `_extract_entity_metadata_for_file`.", + reason="To be removed in 5.0.0. This is being replaced by `_extract_entity_metadata_for_file`.", ) def _extract_file_entity_metadata(syn, allFiles, *, provenance_cache=None): """ @@ -666,7 +666,7 @@ def _extract_file_entity_metadata(syn, allFiles, *, provenance_cache=None): @deprecated( version="4.4.0", - reason="To be removed in 6.0.0. This is being replaced by `_get_entity_provenance_dict_for_file`.", + reason="To be removed in 5.0.0. This is being replaced by `_get_entity_provenance_dict_for_file`.", ) def _get_file_entity_provenance_dict(syn, entity): """ From 6c7da97fdedbe8543d4ca604da495f4b67dbc276 Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 12:33:04 -0600 Subject: [PATCH 16/25] remove secrets dupe --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 605522cfc..5561e5ca7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -101,7 +101,7 @@ jobs: pytest -sv --cov-append --cov=. --cov-report xml tests/unit - name: Check for Secret availability id: secret-check - if: ${{ (contains(fromJSON('["3.8"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python)) && steps.secret-check.outputs.secrets_available == 'true'}} + if: ${{ (contains(fromJSON('["3.8"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python)) }} # perform secret check & put boolean result as an output shell: bash run: | From 1075528429bfc74ab18b462a880b56d1c7ed2bd0 Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 12:33:48 -0600 Subject: [PATCH 17/25] fix formatting --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5561e5ca7..d54f6af67 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -101,7 +101,7 @@ jobs: pytest -sv --cov-append --cov=. --cov-report xml tests/unit - name: Check for Secret availability id: secret-check - if: ${{ (contains(fromJSON('["3.8"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python)) }} + if: ${{ contains(fromJSON('["3.9"]'), matrix.python) || contains(fromJSON('["3.12"]'), matrix.python) }} # perform secret check & put boolean result as an output shell: bash run: | From bd041ea5a9497fd5ec2ebdd71bdc9d043954d6be Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 12:36:54 -0600 Subject: [PATCH 18/25] updates Pipfile.lock --- .github/workflows/build.yml | 2 +- Pipfile.lock | 112 +++++++++++++++++++++--------------- 2 files changed, 66 insertions(+), 48 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d54f6af67..e3a18e75b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -402,7 +402,7 @@ jobs: os: [ubuntu-20.04, macos-12, windows-2022] # python versions should be consistent with the strategy matrix and the runs-integration-tests versions - python: [3.8, '3.9', '3.10', '3.11'] + python: ['3.9', '3.10', '3.11', '3.12'] runs-on: ${{ matrix.os }} diff --git a/Pipfile.lock b/Pipfile.lock index 67844355d..16f83a58e 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -431,18 +431,18 @@ }, "boto3": { "hashes": [ - "sha256:5df4e2cbe3409db07d3a0d8d63d5220ce3202a78206ad87afdbb41519b26ce45", - "sha256:b1cfad301184cdd44dfd4805187ccab12de8dd28dd12a11a5cfdace17918c6de" + "sha256:b04087afd3570ba540fd293823c77270ec675672af23da9396bd5988a3f8128b", + "sha256:c31db992655db233d98762612690cfe60723c9e1503b5709aad92c1c564877bb" ], - "version": "==1.35.25" + "version": "==1.35.26" }, "botocore": { "hashes": [ - "sha256:76c5706b2c6533000603ae8683a297c887abbbaf6ee31e1b2e2863b74b2989bc", - "sha256:e58d60260abf10ccc4417967923117c9902a6a0cff9fddb6ea7ff42dc1bd4630" + "sha256:0b9dee5e4a3314e251e103585837506b17fcc7485c3c8adb61a9a913f46da1e7", + "sha256:19efc3a22c9df77960712b4e203f912486f8bcd3794bff0fd7b2a0f5f1d5712d" ], "markers": "python_version >= '3.8'", - "version": "==1.35.25" + "version": "==1.35.26" }, "certifi": { "hashes": [ @@ -941,10 +941,10 @@ }, "mkdocs-material": { "hashes": [ - "sha256:140456f761320f72b399effc073fa3f8aac744c77b0970797c201cae2f6c967f", - "sha256:36734c1fd9404bea74236242ba3359b267fc930c7233b9fd086b0898825d0ac9" + "sha256:2c31607431ec234db124031255b0a9d4f3e1c3ecc2c47ad97ecfff0460471941", + "sha256:6e8a986abad77be5edec3dd77cf1ddf2480963fb297a8e971f87a82fd464b070" ], - "version": "==9.5.36" + "version": "==9.5.37" }, "mkdocs-material-extensions": { "hashes": [ @@ -1001,44 +1001,62 @@ }, "numpy": { "hashes": [ - "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b", - "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", - "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20", - "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0", - "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010", - "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a", - "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea", - "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c", - "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71", - "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110", - "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be", - "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a", - "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a", - "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5", - "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed", - "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd", - "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c", - "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e", - "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0", - "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c", - "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a", - "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b", - "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0", - "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6", - "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2", - "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a", - "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30", - "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218", - "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5", - "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07", - "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2", - "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4", - "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764", - "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef", - "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3", - "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f" - ], - "version": "==1.26.4" + "sha256:046356b19d7ad1890c751b99acad5e82dc4a02232013bd9a9a712fddf8eb60f5", + "sha256:0b8cc2715a84b7c3b161f9ebbd942740aaed913584cae9cdc7f8ad5ad41943d0", + "sha256:0d07841fd284718feffe7dd17a63a2e6c78679b2d386d3e82f44f0108c905550", + "sha256:13cc11c00000848702322af4de0147ced365c81d66053a67c2e962a485b3717c", + "sha256:13ce49a34c44b6de5241f0b38b07e44c1b2dcacd9e36c30f9c2fcb1bb5135db7", + "sha256:24c2ad697bd8593887b019817ddd9974a7f429c14a5469d7fad413f28340a6d2", + "sha256:251105b7c42abe40e3a689881e1793370cc9724ad50d64b30b358bbb3a97553b", + "sha256:2ca4b53e1e0b279142113b8c5eb7d7a877e967c306edc34f3b58e9be12fda8df", + "sha256:3269c9eb8745e8d975980b3a7411a98976824e1fdef11f0aacf76147f662b15f", + "sha256:397bc5ce62d3fb73f304bec332171535c187e0643e176a6e9421a6e3eacef06d", + "sha256:3fc5eabfc720db95d68e6646e88f8b399bfedd235994016351b1d9e062c4b270", + "sha256:50a95ca3560a6058d6ea91d4629a83a897ee27c00630aed9d933dff191f170cd", + "sha256:52ac2e48f5ad847cd43c4755520a2317f3380213493b9d8a4c5e37f3b87df504", + "sha256:53e27293b3a2b661c03f79aa51c3987492bd4641ef933e366e0f9f6c9bf257ec", + "sha256:57eb525e7c2a8fdee02d731f647146ff54ea8c973364f3b850069ffb42799647", + "sha256:5889dd24f03ca5a5b1e8a90a33b5a0846d8977565e4ae003a63d22ecddf6782f", + "sha256:59ca673ad11d4b84ceb385290ed0ebe60266e356641428c845b39cd9df6713ab", + "sha256:6435c48250c12f001920f0751fe50c0348f5f240852cfddc5e2f97e007544cbe", + "sha256:6e5a9cb2be39350ae6c8f79410744e80154df658d5bea06e06e0ac5bb75480d5", + "sha256:7be6a07520b88214ea85d8ac8b7d6d8a1839b0b5cb87412ac9f49fa934eb15d5", + "sha256:7c803b7934a7f59563db459292e6aa078bb38b7ab1446ca38dd138646a38203e", + "sha256:7dd86dfaf7c900c0bbdcb8b16e2f6ddf1eb1fe39c6c8cca6e94844ed3152a8fd", + "sha256:8661c94e3aad18e1ea17a11f60f843a4933ccaf1a25a7c6a9182af70610b2313", + "sha256:8ae0fd135e0b157365ac7cc31fff27f07a5572bdfc38f9c2d43b2aff416cc8b0", + "sha256:910b47a6d0635ec1bd53b88f86120a52bf56dcc27b51f18c7b4a2e2224c29f0f", + "sha256:913cc1d311060b1d409e609947fa1b9753701dac96e6581b58afc36b7ee35af6", + "sha256:920b0911bb2e4414c50e55bd658baeb78281a47feeb064ab40c2b66ecba85553", + "sha256:950802d17a33c07cba7fd7c3dcfa7d64705509206be1606f196d179e539111ed", + "sha256:981707f6b31b59c0c24bcda52e5605f9701cb46da4b86c2e8023656ad3e833cb", + "sha256:98ce7fb5b8063cfdd86596b9c762bf2b5e35a2cdd7e967494ab78a1fa7f8b86e", + "sha256:99f4a9ee60eed1385a86e82288971a51e71df052ed0b2900ed30bc840c0f2e39", + "sha256:9a8e06c7a980869ea67bbf551283bbed2856915f0a792dc32dd0f9dd2fb56728", + "sha256:ae8ce252404cdd4de56dcfce8b11eac3c594a9c16c231d081fb705cf23bd4d9e", + "sha256:afd9c680df4de71cd58582b51e88a61feed4abcc7530bcd3d48483f20fc76f2a", + "sha256:b49742cdb85f1f81e4dc1b39dcf328244f4d8d1ded95dea725b316bd2cf18c95", + "sha256:b5613cfeb1adfe791e8e681128f5f49f22f3fcaa942255a6124d58ca59d9528f", + "sha256:bab7c09454460a487e631ffc0c42057e3d8f2a9ddccd1e60c7bb8ed774992480", + "sha256:c8a0e34993b510fc19b9a2ce7f31cb8e94ecf6e924a40c0c9dd4f62d0aac47d9", + "sha256:caf5d284ddea7462c32b8d4a6b8af030b6c9fd5332afb70e7414d7fdded4bfd0", + "sha256:cea427d1350f3fd0d2818ce7350095c1a2ee33e30961d2f0fef48576ddbbe90f", + "sha256:d0cf7d55b1051387807405b3898efafa862997b4cba8aa5dbe657be794afeafd", + "sha256:d10c39947a2d351d6d466b4ae83dad4c37cd6c3cdd6d5d0fa797da56f710a6ae", + "sha256:d2b9cd92c8f8e7b313b80e93cedc12c0112088541dcedd9197b5dee3738c1201", + "sha256:d4c57b68c8ef5e1ebf47238e99bf27657511ec3f071c465f6b1bccbef12d4136", + "sha256:d51fc141ddbe3f919e91a096ec739f49d686df8af254b2053ba21a910ae518bf", + "sha256:e097507396c0be4e547ff15b13dc3866f45f3680f789c1a1301b07dadd3fbc78", + "sha256:e30356d530528a42eeba51420ae8bf6c6c09559051887196599d96ee5f536468", + "sha256:e8d5f8a8e3bc87334f025194c6193e408903d21ebaeb10952264943a985066ca", + "sha256:e8dfa9e94fc127c40979c3eacbae1e61fda4fe71d84869cc129e2721973231ef", + "sha256:f212d4f46b67ff604d11fff7cc62d36b3e8714edf68e44e9760e19be38c03eb0", + "sha256:f7506387e191fe8cdb267f912469a3cccc538ab108471291636a96a54e599556", + "sha256:fac6e277a41163d27dfab5f4ec1f7a83fac94e170665a4a50191b545721c6521", + "sha256:fcd8f556cdc8cfe35e70efb92463082b7f43dd7e547eb071ffc36abc0ca4699b" + ], + "markers": "python_version >= '3.12'", + "version": "==2.1.1" }, "opentelemetry-api": { "hashes": [ From d5d93b0e0275c8ccebc1f880cfa4d1ca09eeda11 Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 13:27:53 -0600 Subject: [PATCH 19/25] fix docs versions --- docs/index.md | 2 +- docs/news.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index 693484270..c8fbac296 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,7 +8,7 @@ this [pubpub](https://sagebionetworks.pubpub.org/pub/828a3x4k/release/1) article detailing some of the changes. - A release date has not been set. A number of these changes will be available within -the 5.x.x versions hidden behind optional feature flags or different import paths. Any +the 4.x.x versions hidden behind optional feature flags or different import paths. Any breaking changes will not be included until v5.0. The `synapseclient` package provides an interface to [Synapse](http://www.synapse.org), a collaborative, open-source research platform that allows teams to share data, track analyses, and collaborate, providing support for: diff --git a/docs/news.md b/docs/news.md index 7346a085b..596d0d4bc 100644 --- a/docs/news.md +++ b/docs/news.md @@ -6,7 +6,7 @@ this [pubpub](https://sagebionetworks.pubpub.org/pub/828a3x4k/release/1) article detailing some of the changes. - A release date has not been set. A number of these changes will be available within -the 5.x.x versions hidden behind optional feature flags or different import paths. Any +the 4.x.x versions hidden behind optional feature flags or different import paths. Any breaking changes will not be included until v5.0. ## 4.5.1 (2024-09-19) From 931789735c5bd757f5fa569564bcb5bd2b93fa6c Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 13:49:25 -0600 Subject: [PATCH 20/25] restricts 3.13 --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 7e6807c89..799a5c8e0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -42,7 +42,7 @@ classifiers = zip_safe = False include_package_data = True packages = find: -python_requires = >=3.9 +python_requires = >=3.9, <3.13 install_requires = # "requests>=2.22.0,<2.30.0; python_version<'3.10'", requests>=2.22.0,<3.0 From 1a8eb6071864347458f23758fd71a6a5c4fa736e Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 14:04:13 -0600 Subject: [PATCH 21/25] undo importlib_resources --- Pipfile.lock | 28 ++++++---------------------- setup.cfg | 1 - synapseclient/core/version_check.py | 4 ++-- 3 files changed, 8 insertions(+), 25 deletions(-) diff --git a/Pipfile.lock b/Pipfile.lock index 16f83a58e..7e74e5d2a 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -114,14 +114,6 @@ "markers": "python_version >= '3.8'", "version": "==8.4.0" }, - "importlib-resources": { - "hashes": [ - "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf", - "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4" - ], - "markers": "python_version >= '3.8'", - "version": "==6.0.1" - }, "nest-asyncio": { "hashes": [ "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", @@ -431,18 +423,18 @@ }, "boto3": { "hashes": [ - "sha256:b04087afd3570ba540fd293823c77270ec675672af23da9396bd5988a3f8128b", - "sha256:c31db992655db233d98762612690cfe60723c9e1503b5709aad92c1c564877bb" + "sha256:10d0fe15670b83a3f26572ab20d9152a064cee4c54b5ea9a1eeb1f0c3b807a7b", + "sha256:3da139ca038032e92086e26d23833b557f0c257520162bfd3d6f580bf8032c86" ], - "version": "==1.35.26" + "version": "==1.35.27" }, "botocore": { "hashes": [ - "sha256:0b9dee5e4a3314e251e103585837506b17fcc7485c3c8adb61a9a913f46da1e7", - "sha256:19efc3a22c9df77960712b4e203f912486f8bcd3794bff0fd7b2a0f5f1d5712d" + "sha256:c299c70b5330a8634e032883ce8a72c2c6d9fdbc985d8191199cb86b92e7cbbd", + "sha256:f68875c26cd57a9d22c0f7a981ecb1636d7ce4d0e35797e04765b53e7bfed3e7" ], "markers": "python_version >= '3.8'", - "version": "==1.35.26" + "version": "==1.35.27" }, "certifi": { "hashes": [ @@ -788,14 +780,6 @@ "markers": "python_version >= '3.8'", "version": "==8.4.0" }, - "importlib-resources": { - "hashes": [ - "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf", - "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4" - ], - "markers": "python_version >= '3.8'", - "version": "==6.0.1" - }, "iniconfig": { "hashes": [ "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", diff --git a/setup.cfg b/setup.cfg index 799a5c8e0..e18f896b4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -62,7 +62,6 @@ install_requires = tqdm>=4.66.2,<5.0 async-lru~=2.0.4 psutil~=5.9.8 - importlib_resources~=6.0.0 tests_require = pytest>=7.0.0,<8.0 pytest-mock>=3.0,<4.0 diff --git a/synapseclient/core/version_check.py b/synapseclient/core/version_check.py index 2daf46f8e..e875894f0 100644 --- a/synapseclient/core/version_check.py +++ b/synapseclient/core/version_check.py @@ -11,11 +11,11 @@ """ +import importlib.resources import json import re import sys -import importlib_resources import requests import synapseclient @@ -165,7 +165,7 @@ def _version_tuple(version, levels=2): def _get_version_info(version_url=_VERSION_URL): if version_url is None: - ref = importlib_resources.files("synapseclient").joinpath("synapsePythonClient") + ref = importlib.resources.files("synapseclient").joinpath("synapsePythonClient") with ref.open("r") as fp: pkg_metadata = json.loads(fp.read()) return pkg_metadata From ab7b2031db23d823b99bf978823b127f65812826 Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 15:04:19 -0600 Subject: [PATCH 22/25] revert pandas changes --- setup.cfg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/setup.cfg b/setup.cfg index e18f896b4..8eca3513b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -72,7 +72,7 @@ tests_require = pytest-rerunfailures~=12.0 func-timeout~=4.3 pytest-cov~=4.1.0 - pandas>=2.1.2,<3.0 + pandas>=1.5,<3.0 [options.extras_require] dev = @@ -87,7 +87,7 @@ dev = pytest-cov~=4.1.0 black pre-commit - pandas>=2.1.2,<3.0 + pandas>=1.5,<3.0 tests = pytest>=7.0.0,<8.0 @@ -99,10 +99,10 @@ tests = pytest-rerunfailures~=12.0 func-timeout~=4.3 pytest-cov~=4.1.0 - pandas>=2.1.2,<3.0 + pandas>=1.5,<3.0 pandas = - pandas>=2.1.2,<3.0 + pandas>=1.5,<3.0 pysftp = pysftp>=0.2.8,<0.3 From c19a485aff7783b73f96705d5c8f2c5b502b50ed Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 16:30:24 -0600 Subject: [PATCH 23/25] revert importlib_resources --- synapseclient/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/synapseclient/__init__.py b/synapseclient/__init__.py index 52ff2b4c2..747329c14 100644 --- a/synapseclient/__init__.py +++ b/synapseclient/__init__.py @@ -1,6 +1,6 @@ import json -import importlib_resources +import importlib.resources import requests # ensure user-agent is set to track Synapse Python client usage from .activity import Activity @@ -31,7 +31,7 @@ from .team import Team, TeamMember, UserGroupHeader, UserProfile from .wiki import Wiki -ref = importlib_resources.files(__name__).joinpath("synapsePythonClient") +ref = importlib.resources.files(__name__).joinpath("synapsePythonClient") with ref.open("r") as fp: __version__ = json.load(fp)["latestVersion"] From aedb2e67c686ac7cde02a784a7a986ca0b8d73f8 Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 16:31:07 -0600 Subject: [PATCH 24/25] bump cache --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e3a18e75b..a35ffff4f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -78,7 +78,7 @@ jobs: path: | ${{ steps.get-dependencies.outputs.site_packages_loc }} ${{ steps.get-dependencies.outputs.site_bin_dir }} - key: ${{ runner.os }}-${{ matrix.python }}-build-${{ env.cache-name }}-${{ hashFiles('setup.py') }}-v19 + key: ${{ runner.os }}-${{ matrix.python }}-build-${{ env.cache-name }}-${{ hashFiles('setup.py') }}-v20 - name: Install py-dependencies if: steps.cache-dependencies.outputs.cache-hit != 'true' From cea37e085bbac403f7cd0705699a3206dd498bb9 Mon Sep 17 00:00:00 2001 From: bwmac Date: Wed, 25 Sep 2024 16:32:16 -0600 Subject: [PATCH 25/25] pre-commit --- synapseclient/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/synapseclient/__init__.py b/synapseclient/__init__.py index 747329c14..d78b98a56 100644 --- a/synapseclient/__init__.py +++ b/synapseclient/__init__.py @@ -1,6 +1,6 @@ +import importlib.resources import json -import importlib.resources import requests # ensure user-agent is set to track Synapse Python client usage from .activity import Activity