From 904d985e69c42e161135d619d95b3ecaef1c8f1c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 20:14:49 +0000 Subject: [PATCH 1/6] build(deps): bump httpx from 0.27.0 to 0.27.2 Bumps [httpx](https://github.com/encode/httpx) from 0.27.0 to 0.27.2. - [Release notes](https://github.com/encode/httpx/releases) - [Changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md) - [Commits](https://github.com/encode/httpx/compare/0.27.0...0.27.2) --- updated-dependencies: - dependency-name: httpx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 9396be1..63ab34f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -568,13 +568,13 @@ trio = ["trio (>=0.22.0,<0.26.0)"] [[package]] name = "httpx" -version = "0.27.0" +version = "0.27.2" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" files = [ - {file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"}, - {file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"}, + {file = "httpx-0.27.2-py3-none-any.whl", hash = "sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0"}, + {file = "httpx-0.27.2.tar.gz", hash = "sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2"}, ] [package.dependencies] @@ -590,6 +590,7 @@ brotli = ["brotli", "brotlicffi"] cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] +zstd = ["zstandard (>=0.18.0)"] [[package]] name = "idna" From aa704d69fcff72db77648ff8bb1da56645e3b2eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 20:15:50 +0000 Subject: [PATCH 2/6] build(deps-dev): bump mkdocs from 1.6.0 to 1.6.1 Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.6.0 to 1.6.1. - [Release notes](https://github.com/mkdocs/mkdocs/releases) - [Commits](https://github.com/mkdocs/mkdocs/compare/1.6.0...1.6.1) --- updated-dependencies: - dependency-name: mkdocs dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 9396be1..fca9831 100644 --- a/poetry.lock +++ b/poetry.lock @@ -891,13 +891,13 @@ test = ["coverage", "flake8 (>=3.0)", "flake8-quotes", "shtab"] [[package]] name = "mkdocs" -version = "1.6.0" +version = "1.6.1" description = "Project documentation with Markdown." optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs-1.6.0-py3-none-any.whl", hash = "sha256:1eb5cb7676b7d89323e62b56235010216319217d4af5ddc543a91beb8d125ea7"}, - {file = "mkdocs-1.6.0.tar.gz", hash = "sha256:a73f735824ef83a4f3bcb7a231dcab23f5a838f88b7efc54a0eef5fbdbc3c512"}, + {file = "mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"}, + {file = "mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2"}, ] [package.dependencies] From e5894205740fde69f8d9225afaadb19ac86eb8b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 04:21:48 +0000 Subject: [PATCH 3/6] build(deps-dev): bump uvloop from 0.19.0 to 0.21.0 Bumps [uvloop](https://github.com/MagicStack/uvloop) from 0.19.0 to 0.21.0. - [Release notes](https://github.com/MagicStack/uvloop/releases) - [Commits](https://github.com/MagicStack/uvloop/compare/v0.19.0...v0.21.0) --- updated-dependencies: - dependency-name: uvloop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- poetry.lock | 89 +++++++++++++++++++++++++++----------------------- pyproject.toml | 2 +- 2 files changed, 49 insertions(+), 42 deletions(-) diff --git a/poetry.lock b/poetry.lock index 892f489..15e3b9b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.7.0 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "aiofiles" @@ -2019,24 +2019,24 @@ python-versions = ">=3.6" files = [ {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:07238db9cbdf8fc1e9de2489a4f68474e70dffcb32232db7c08fa61ca0c7c462"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:d92f81886165cb14d7b067ef37e142256f1c6a90a65cd156b063a43da1708cfd"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412"}, + {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_24_aarch64.whl", hash = "sha256:aa2267c6a303eb483de8d02db2871afb5c5fc15618d894300b88958f729ad74f"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:840f0c7f194986a63d2c2465ca63af8ccbbc90ab1c6001b1978f05119b5e7334"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:024cfe1fc7c7f4e1aff4a81e718109e13409767e4f871443cbff3dba3578203d"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win32.whl", hash = "sha256:c69212f63169ec1cfc9bb44723bf2917cbbd8f6191a00ef3410f5a7fe300722d"}, {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win_amd64.whl", hash = "sha256:cabddb8d8ead485e255fe80429f833172b4cadf99274db39abc080e068cbcc31"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:b5edda50e5e9e15e54a6a8a0070302b00c518a9d32accc2346ad6c984aacd279"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b"}, + {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_24_aarch64.whl", hash = "sha256:1707814f0d9791df063f8c19bb51b0d1278b8e9a2353abbb676c2f685dee6afe"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:46d378daaac94f454b3a0e3d8d78cafd78a026b1d71443f4966c696b48a6d899"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:09b055c05697b38ecacb7ac50bdab2240bfca1a0c4872b0fd309bb07dc9aa3a9"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win32.whl", hash = "sha256:53a300ed9cea38cf5a2a9b069058137c2ca1ce658a874b79baceb8f892f915a7"}, {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win_amd64.whl", hash = "sha256:c2a72e9109ea74e511e29032f3b670835f8a59bbdc9ce692c5b4ed91ccf1eedb"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ebc06178e8821efc9692ea7544aa5644217358490145629914d8020042c24aa1"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:edaef1c1200c4b4cb914583150dcaa3bc30e592e907c01117c08b13a07255ec2"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:7048c338b6c86627afb27faecf418768acb6331fc24cfa56c93e8c9780f815fa"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d176b57452ab5b7028ac47e7b3cf644bcfdc8cacfecf7e71759f7f51a59e5c92"}, + {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux_2_24_aarch64.whl", hash = "sha256:1dc67314e7e1086c9fdf2680b7b6c2be1c0d8e3a8279f2e993ca2a7545fecf62"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3213ece08ea033eb159ac52ae052a4899b56ecc124bb80020d9bbceeb50258e9"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aab7fd643f71d7946f2ee58cc88c9b7bfc97debd71dcc93e03e2d174628e7e2d"}, {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-win32.whl", hash = "sha256:5c365d91c88390c8d0a8545df0b5857172824b1c604e867161e6b3d59a827eaa"}, @@ -2044,7 +2044,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a5aa27bad2bb83670b71683aae140a1f52b0857a2deff56ad3f6c13a017a26ed"}, {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c58ecd827313af6864893e7af0a3bb85fd529f862b6adbefe14643947cfe2942"}, {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3fcc54cb0c8b811ff66082de1680b4b14cf8a81dce0d4fbf665c2265a81e07a1"}, + {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux_2_24_aarch64.whl", hash = "sha256:77159f5d5b5c14f7c34073862a6b7d34944075d9f93e681638f6d753606c6ce6"}, {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7f67a1ee819dc4562d444bbafb135832b0b909f81cc90f7aa00260968c9ca1b3"}, {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4ecbf9c3e19f9562c7fdd462e8d18dd902a47ca046a2e64dba80699f0b6c09b7"}, {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:87ea5ff66d8064301a154b3933ae406b0863402a799b16e4a1d24d9fbbcbe0d3"}, @@ -2052,7 +2052,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win_amd64.whl", hash = "sha256:3f215c5daf6a9d7bbed4a0a4f760f3113b10e82ff4c5c44bec20a68c8014f675"}, {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615"}, {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:665f58bfd29b167039f714c6998178d27ccd83984084c286110ef26b230f259f"}, + {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_24_aarch64.whl", hash = "sha256:305889baa4043a09e5b76f8e2a51d4ffba44259f6b4c72dec8ca56207d9c6fe1"}, {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91"}, {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e2b4c44b60eadec492926a7270abb100ef9f72798e18743939bdbf037aab8c28"}, {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e79e5db08739731b0ce4850bed599235d601701d5694c36570a99a0c5ca41a9d"}, @@ -2060,7 +2060,7 @@ files = [ {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win_amd64.whl", hash = "sha256:56f4252222c067b4ce51ae12cbac231bce32aee1d33fbfc9d17e5b8d6966c312"}, {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:03d1162b6d1df1caa3a4bd27aa51ce17c9afc2046c31b0ad60a0a96ec22f8001"}, {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba64af9fa9cebe325a62fa398760f5c7206b215201b0ec825005f1b18b9bccf"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:9eb5dee2772b0f704ca2e45b1713e4e5198c18f515b52743576d196348f374d3"}, + {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_24_aarch64.whl", hash = "sha256:a1a45e0bb052edf6a1d3a93baef85319733a888363938e1fc9924cb00c8df24c"}, {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:da09ad1c359a728e112d60116f626cc9f29730ff3e0e7db72b9a2dbc2e4beed5"}, {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:184565012b60405d93838167f425713180b949e9d8dd0bbc7b49f074407c5a8b"}, {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880"}, @@ -2266,47 +2266,54 @@ zmq = ["zmq"] [[package]] name = "uvloop" -version = "0.19.0" +version = "0.21.0" description = "Fast implementation of asyncio event loop on top of libuv" optional = true python-versions = ">=3.8.0" files = [ - {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e"}, - {file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428"}, - {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8"}, - {file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849"}, - {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957"}, - {file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd"}, - {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ce6b0af8f2729a02a5d1575feacb2a94fc7b2e983868b009d51c9a9d2149bef"}, - {file = "uvloop-0.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:31e672bb38b45abc4f26e273be83b72a0d28d074d5b370fc4dcf4c4eb15417d2"}, - {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:570fc0ed613883d8d30ee40397b79207eedd2624891692471808a95069a007c1"}, - {file = "uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5138821e40b0c3e6c9478643b4660bd44372ae1e16a322b8fc07478f92684e24"}, - {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:91ab01c6cd00e39cde50173ba4ec68a1e578fee9279ba64f5221810a9e786533"}, - {file = "uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:47bf3e9312f63684efe283f7342afb414eea4d3011542155c7e625cd799c3b12"}, - {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:da8435a3bd498419ee8c13c34b89b5005130a476bda1d6ca8cfdde3de35cd650"}, - {file = "uvloop-0.19.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:02506dc23a5d90e04d4f65c7791e65cf44bd91b37f24cfc3ef6cf2aff05dc7ec"}, - {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2693049be9d36fef81741fddb3f441673ba12a34a704e7b4361efb75cf30befc"}, - {file = "uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7010271303961c6f0fe37731004335401eb9075a12680738731e9c92ddd96ad6"}, - {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5daa304d2161d2918fa9a17d5635099a2f78ae5b5960e742b2fcfbb7aefaa593"}, - {file = "uvloop-0.19.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7207272c9520203fea9b93843bb775d03e1cf88a80a936ce760f60bb5add92f3"}, - {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:78ab247f0b5671cc887c31d33f9b3abfb88d2614b84e4303f1a63b46c046c8bd"}, - {file = "uvloop-0.19.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:472d61143059c84947aa8bb74eabbace30d577a03a1805b77933d6bd13ddebbd"}, - {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45bf4c24c19fb8a50902ae37c5de50da81de4922af65baf760f7c0c42e1088be"}, - {file = "uvloop-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271718e26b3e17906b28b67314c45d19106112067205119dddbd834c2b7ce797"}, - {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:34175c9fd2a4bc3adc1380e1261f60306344e3407c20a4d684fd5f3be010fa3d"}, - {file = "uvloop-0.19.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e27f100e1ff17f6feeb1f33968bc185bf8ce41ca557deee9d9bbbffeb72030b7"}, - {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:13dfdf492af0aa0a0edf66807d2b465607d11c4fa48f4a1fd41cbea5b18e8e8b"}, - {file = "uvloop-0.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e3d4e85ac060e2342ff85e90d0c04157acb210b9ce508e784a944f852a40e67"}, - {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca4956c9ab567d87d59d49fa3704cf29e37109ad348f2d5223c9bf761a332e7"}, - {file = "uvloop-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f467a5fd23b4fc43ed86342641f3936a68ded707f4627622fa3f82a120e18256"}, - {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:492e2c32c2af3f971473bc22f086513cedfc66a130756145a931a90c3958cb17"}, - {file = "uvloop-0.19.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2df95fca285a9f5bfe730e51945ffe2fa71ccbfdde3b0da5772b4ee4f2e770d5"}, - {file = "uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd"}, + {file = "uvloop-0.21.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ec7e6b09a6fdded42403182ab6b832b71f4edaf7f37a9a0e371a01db5f0cb45f"}, + {file = "uvloop-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:196274f2adb9689a289ad7d65700d37df0c0930fd8e4e743fa4834e850d7719d"}, + {file = "uvloop-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f38b2e090258d051d68a5b14d1da7203a3c3677321cf32a95a6f4db4dd8b6f26"}, + {file = "uvloop-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c43e0f13022b998eb9b973b5e97200c8b90823454d4bc06ab33829e09fb9bb"}, + {file = "uvloop-0.21.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10d66943def5fcb6e7b37310eb6b5639fd2ccbc38df1177262b0640c3ca68c1f"}, + {file = "uvloop-0.21.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:67dd654b8ca23aed0a8e99010b4c34aca62f4b7fce88f39d452ed7622c94845c"}, + {file = "uvloop-0.21.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c0f3fa6200b3108919f8bdabb9a7f87f20e7097ea3c543754cabc7d717d95cf8"}, + {file = "uvloop-0.21.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0878c2640cf341b269b7e128b1a5fed890adc4455513ca710d77d5e93aa6d6a0"}, + {file = "uvloop-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9fb766bb57b7388745d8bcc53a359b116b8a04c83a2288069809d2b3466c37e"}, + {file = "uvloop-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a375441696e2eda1c43c44ccb66e04d61ceeffcd76e4929e527b7fa401b90fb"}, + {file = "uvloop-0.21.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:baa0e6291d91649c6ba4ed4b2f982f9fa165b5bbd50a9e203c416a2797bab3c6"}, + {file = "uvloop-0.21.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4509360fcc4c3bd2c70d87573ad472de40c13387f5fda8cb58350a1d7475e58d"}, + {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c"}, + {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2"}, + {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d"}, + {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc"}, + {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb"}, + {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f"}, + {file = "uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281"}, + {file = "uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af"}, + {file = "uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6"}, + {file = "uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816"}, + {file = "uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc"}, + {file = "uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553"}, + {file = "uvloop-0.21.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:17df489689befc72c39a08359efac29bbee8eee5209650d4b9f34df73d22e414"}, + {file = "uvloop-0.21.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bc09f0ff191e61c2d592a752423c767b4ebb2986daa9ed62908e2b1b9a9ae206"}, + {file = "uvloop-0.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0ce1b49560b1d2d8a2977e3ba4afb2414fb46b86a1b64056bc4ab929efdafbe"}, + {file = "uvloop-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e678ad6fe52af2c58d2ae3c73dc85524ba8abe637f134bf3564ed07f555c5e79"}, + {file = "uvloop-0.21.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:460def4412e473896ef179a1671b40c039c7012184b627898eea5072ef6f017a"}, + {file = "uvloop-0.21.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:10da8046cc4a8f12c91a1c39d1dd1585c41162a15caaef165c2174db9ef18bdc"}, + {file = "uvloop-0.21.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c097078b8031190c934ed0ebfee8cc5f9ba9642e6eb88322b9958b649750f72b"}, + {file = "uvloop-0.21.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:46923b0b5ee7fc0020bef24afe7836cb068f5050ca04caf6b487c513dc1a20b2"}, + {file = "uvloop-0.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53e420a3afe22cdcf2a0f4846e377d16e718bc70103d7088a4f7623567ba5fb0"}, + {file = "uvloop-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88cb67cdbc0e483da00af0b2c3cdad4b7c61ceb1ee0f33fe00e09c81e3a6cb75"}, + {file = "uvloop-0.21.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:221f4f2a1f46032b403bf3be628011caf75428ee3cc204a22addf96f586b19fd"}, + {file = "uvloop-0.21.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2d1f581393673ce119355d56da84fe1dd9d2bb8b3d13ce792524e1607139feff"}, + {file = "uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3"}, ] [package.extras] +dev = ["Cython (>=3.0,<4.0)", "setuptools (>=60)"] docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] -test = ["Cython (>=0.29.36,<0.30.0)", "aiohttp (==3.9.0b0)", "aiohttp (>=3.8.1)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] +test = ["aiohttp (>=3.10.5)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] [[package]] name = "verspec" @@ -2457,4 +2464,4 @@ uvloop = ["uvloop"] [metadata] lock-version = "2.0" python-versions = ">=3.8.1,<3.12" -content-hash = "af01c56eab29843ff819207a04837637263bbc2de6a060852f8b89d0110c3934" +content-hash = "b5fe475e0ad4d8cb73c8a260285102e9555108e8e1387daa21526f0dbc7c9b83" diff --git a/pyproject.toml b/pyproject.toml index 9eb3312..0edd6b1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,7 @@ loguru = "^0.7.2" aiofiles = "^23.2.1" pathvalidate = "^3.2.0" settings-doc = "^4.3.1" -uvloop = {version="^0.19.0", optional=true} +uvloop = {version=">=0.19,<0.22", optional=true} urwid = [ {version="^2.6.16", optional=true, markers = "sys_platform != 'win32'"}, {version="^2.6.16", extras=["curses"], optional=true, markers = "sys_platform == 'win32'"} From b5bab15cdd965369feacf1c88c372bed1d8cde79 Mon Sep 17 00:00:00 2001 From: Ljzd-PRO <63289359+Ljzd-PRO@users.noreply.github.com> Date: Fri, 25 Oct 2024 13:28:32 +0800 Subject: [PATCH 4/6] chore: remove comment --- ktoolbox.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ktoolbox.spec b/ktoolbox.spec index 53ce037..75e6acd 100644 --- a/ktoolbox.spec +++ b/ktoolbox.spec @@ -2,7 +2,7 @@ import pkg_resources -template_dir = pkg_resources.resource_filename('settings_doc', 'templates') # 或使用 importlib.resources +template_dir = pkg_resources.resource_filename('settings_doc', 'templates') a = Analysis( ['ktoolbox/__main__.py'], From 58c8c620e79e6f948ac6a8ca81b808d1304ea496 Mon Sep 17 00:00:00 2001 From: Ljzd-PRO <63289359+Ljzd-PRO@users.noreply.github.com> Date: Fri, 25 Oct 2024 14:01:41 +0800 Subject: [PATCH 5/6] docs: add images --- README.md | 3 +++ README_zh-CN.md | 3 +++ docs/en/configuration/guide.md | 3 +++ docs/zh/configuration/guide.md | 3 +++ static/preview-2.png | Bin 0 -> 46967 bytes static/preview-3.png | Bin 0 -> 41842 bytes 6 files changed, 12 insertions(+) create mode 100644 static/preview-2.png create mode 100644 static/preview-3.png diff --git a/README.md b/README.md index 5198936..5e55d4a 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,9 @@ Goto [Shortcuts for iOS](https://ktoolbox.readthedocs.io/latest/shortcut/) page Goto [Configuration-Guide](https://ktoolbox.readthedocs.io/latest/configuration/guide/) page for more details. +![KToolBox Configuration Editor](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-2.png) +![KToolBox Configuration Editor](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-3.png) + ## Other Branches - Pure Python branch: [🔗pure-py](https://github.com/Ljzd-PRO/KToolBox/tree/pure-py) diff --git a/README_zh-CN.md b/README_zh-CN.md index 1a732dc..1caee4d 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -130,6 +130,9 @@ ktoolbox sync-creator https://kemono.su/fanbox/user/9016 --start-time=2024-1-1 - 前往 [配置-向导](https://ktoolbox.readthedocs.io/latest/zh/configuration/guide/) 页面查看更多详情。 +![KToolBox 配置编辑器](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-2.png) +![KToolBox 配置编辑器](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-3.png) + ## 其他分支 - 纯 Python 分支:[🔗pure-py](https://github.com/Ljzd-PRO/KToolBox/tree/pure-py) diff --git a/docs/en/configuration/guide.md b/docs/en/configuration/guide.md index f9ff42c..91b1604 100644 --- a/docs/en/configuration/guide.md +++ b/docs/en/configuration/guide.md @@ -7,6 +7,9 @@ !!! tip "Generate Example `.env` File" Run `ktoolbox example-env` to generate a complete sample configuration file. +![KToolBox Configuration Editor](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-2.png) +![KToolBox Configuration Editor](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-3.png) + - KToolBox load **`.env` or `prod.env` file** in the work folder or **environment variables** to store configuration - Check [Reference](reference.md) for all configuration options - Use `__` to specify the sub option, like `KTOOLBOX_API__SCHEME` means `api.scheme` diff --git a/docs/zh/configuration/guide.md b/docs/zh/configuration/guide.md index fa0d0bf..58bc274 100644 --- a/docs/zh/configuration/guide.md +++ b/docs/zh/configuration/guide.md @@ -6,6 +6,9 @@ !!! tip "生成示例 `.env` 文件" 运行 `ktoolbox example-env` 来生成完整的配置文件样例。 +![KToolBox 配置编辑器](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-2.png) +![KToolBox 配置编辑器](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-3.png) + - KToolBox 读取工作目录下的 **`.env` 或 `prod.env` 文件** 或 **环境变量** 来设定配置 - 前往 [参考](./reference.md) 查看所有配置选项 - 用 `__` 来指定子选项, 例如 `KTOOLBOX_API__SCHEME` 相当于 `api.scheme` diff --git a/static/preview-2.png b/static/preview-2.png new file mode 100644 index 0000000000000000000000000000000000000000..30048471ca70745c1c7f898ff507e131b805d0e2 GIT binary patch literal 46967 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 z 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 A+5i9m literal 0 HcmV?d00001 From f9723d07ce4819aacc65f6dcb61f55529e3daf10 Mon Sep 17 00:00:00 2001 From: Ljzd-PRO <63289359+Ljzd-PRO@users.noreply.github.com> Date: Fri, 25 Oct 2024 14:15:19 +0800 Subject: [PATCH 6/6] docs: update guide.md --- docs/en/configuration/guide.md | 2 +- docs/zh/configuration/guide.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/configuration/guide.md b/docs/en/configuration/guide.md index 91b1604..90363d5 100644 --- a/docs/en/configuration/guide.md +++ b/docs/en/configuration/guide.md @@ -10,7 +10,7 @@ ![KToolBox Configuration Editor](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-2.png) ![KToolBox Configuration Editor](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-3.png) -- KToolBox load **`.env` or `prod.env` file** in the work folder or **environment variables** to store configuration +- KToolBox load **`.env` or `prod.env` file** in the **working directory** or **environment variables** to store configuration - Check [Reference](reference.md) for all configuration options - Use `__` to specify the sub option, like `KTOOLBOX_API__SCHEME` means `api.scheme` - All configuration options are optional diff --git a/docs/zh/configuration/guide.md b/docs/zh/configuration/guide.md index 58bc274..97ee66c 100644 --- a/docs/zh/configuration/guide.md +++ b/docs/zh/configuration/guide.md @@ -9,7 +9,7 @@ ![KToolBox 配置编辑器](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-2.png) ![KToolBox 配置编辑器](https://cdn.jsdelivr.net/gh/Ljzd-PRO/KToolBox@latest/static/preview-3.png) -- KToolBox 读取工作目录下的 **`.env` 或 `prod.env` 文件** 或 **环境变量** 来设定配置 +- KToolBox 读取 **工作目录** 下的 **`.env` 或 `prod.env` 文件** 或 **环境变量** 来设定配置 - 前往 [参考](./reference.md) 查看所有配置选项 - 用 `__` 来指定子选项, 例如 `KTOOLBOX_API__SCHEME` 相当于 `api.scheme` - 所有配置选项都是可选的