Spaces:
Paused
Paused
Arshit-Singhal-Official commited on
Commit ·
a5ce7e9
1
Parent(s): 7836a85
made changes to speedtest endpoint to use the Streamer class
Browse files- mediaflow_proxy/static/speedtest_progress.html +16 -8
- mediaflow_proxy/utils/http_utils.py +4 -1
- mediaflow_proxy/utils/rd_speedtest.py +38 -39
- poetry.lock +7 -159
- pyproject.toml +0 -1
mediaflow_proxy/static/speedtest_progress.html
CHANGED
|
@@ -63,19 +63,27 @@
|
|
| 63 |
<script>
|
| 64 |
const urlParams = new URLSearchParams(window.location.search);
|
| 65 |
const taskId = urlParams.get("task_id");
|
| 66 |
-
|
| 67 |
async function checkStatus() {
|
| 68 |
try {
|
| 69 |
const response = await fetch(`/speedtest/results/${taskId}`);
|
|
|
|
|
|
|
|
|
|
| 70 |
const data = await response.json();
|
|
|
|
| 71 |
|
| 72 |
-
// Check if the test is
|
| 73 |
-
if (
|
| 74 |
-
|
| 75 |
-
window.location.href = `/speedtest/results/${taskId}`;
|
| 76 |
-
} else {
|
| 77 |
// Poll again after 5 seconds if the test is still running
|
| 78 |
setTimeout(checkStatus, 5000);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
}
|
| 80 |
} catch (error) {
|
| 81 |
console.error("Error fetching status:", error);
|
|
@@ -83,10 +91,10 @@
|
|
| 83 |
setTimeout(checkStatus, 5000);
|
| 84 |
}
|
| 85 |
}
|
| 86 |
-
|
| 87 |
// Start the first status check after 120 seconds (120000 milliseconds)
|
| 88 |
setTimeout(checkStatus, 120000);
|
| 89 |
-
|
| 90 |
// Toggle dark mode
|
| 91 |
function toggleDarkMode() {
|
| 92 |
const body = document.body;
|
|
|
|
| 63 |
<script>
|
| 64 |
const urlParams = new URLSearchParams(window.location.search);
|
| 65 |
const taskId = urlParams.get("task_id");
|
| 66 |
+
|
| 67 |
async function checkStatus() {
|
| 68 |
try {
|
| 69 |
const response = await fetch(`/speedtest/results/${taskId}`);
|
| 70 |
+
if (!response.ok) {
|
| 71 |
+
throw new Error('Network response was not ok');
|
| 72 |
+
}
|
| 73 |
const data = await response.json();
|
| 74 |
+
console.log("Fetched data:", data);
|
| 75 |
|
| 76 |
+
// Check if the test is still running based on the response data
|
| 77 |
+
if (data && data.message && data.message.includes("still running")) {
|
| 78 |
+
console.log("Test still running, polling again...");
|
|
|
|
|
|
|
| 79 |
// Poll again after 5 seconds if the test is still running
|
| 80 |
setTimeout(checkStatus, 5000);
|
| 81 |
+
} else {
|
| 82 |
+
console.log("Test complete, redirecting after a short delay...");
|
| 83 |
+
// Redirect to the results if the test is done after a short delay
|
| 84 |
+
setTimeout(() => {
|
| 85 |
+
window.location.href = `/speedtest/results/${taskId}`;
|
| 86 |
+
}, 2000); // 2 seconds delay
|
| 87 |
}
|
| 88 |
} catch (error) {
|
| 89 |
console.error("Error fetching status:", error);
|
|
|
|
| 91 |
setTimeout(checkStatus, 5000);
|
| 92 |
}
|
| 93 |
}
|
| 94 |
+
|
| 95 |
// Start the first status check after 120 seconds (120000 milliseconds)
|
| 96 |
setTimeout(checkStatus, 120000);
|
| 97 |
+
|
| 98 |
// Toggle dark mode
|
| 99 |
function toggleDarkMode() {
|
| 100 |
const body = document.body;
|
mediaflow_proxy/utils/http_utils.py
CHANGED
|
@@ -130,7 +130,10 @@ class Streamer:
|
|
| 130 |
except Exception as e:
|
| 131 |
logger.error(f"Error streaming content: {e}")
|
| 132 |
finally:
|
| 133 |
-
|
|
|
|
|
|
|
|
|
|
| 134 |
|
| 135 |
@staticmethod
|
| 136 |
def format_bytes(size) -> str:
|
|
|
|
| 130 |
except Exception as e:
|
| 131 |
logger.error(f"Error streaming content: {e}")
|
| 132 |
finally:
|
| 133 |
+
if self.response:
|
| 134 |
+
await self.response.aclose()
|
| 135 |
+
if self.progress_bar:
|
| 136 |
+
self.progress_bar.close()
|
| 137 |
|
| 138 |
@staticmethod
|
| 139 |
def format_bytes(size) -> str:
|
mediaflow_proxy/utils/rd_speedtest.py
CHANGED
|
@@ -1,22 +1,21 @@
|
|
| 1 |
-
import requests
|
| 2 |
-
import time
|
| 3 |
import random
|
| 4 |
import logging
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
results={}
|
| 9 |
|
| 10 |
-
def run_speedtest(taskid
|
| 11 |
-
results[taskid] = perform_speed_test() # Run the speedtest and store the results
|
| 12 |
|
| 13 |
-
def prune_task(taskid
|
| 14 |
time.sleep(3600)
|
| 15 |
if taskid in results:
|
| 16 |
del results[taskid] # Remove task from the results set
|
| 17 |
|
| 18 |
-
|
| 19 |
-
def perform_speed_test():
|
| 20 |
test_urls = {
|
| 21 |
"AMS": "https://45.download.real-debrid.com/speedtest/testDefault.rar/",
|
| 22 |
"RBX": "https://rbx.download.real-debrid.com/speedtest/test.rar/",
|
|
@@ -31,39 +30,39 @@ def perform_speed_test():
|
|
| 31 |
"JKT1": "https://jkt1.download.real-debrid.com/speedtest/test.rar/",
|
| 32 |
"Cloudflare": "https://45.download.real-debrid.cloud/speedtest/testCloudflare.rar/"
|
| 33 |
}
|
| 34 |
-
|
| 35 |
speed = {}
|
| 36 |
-
test_duration = 10
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
|
| 43 |
-
|
| 44 |
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
if not chunk: # Stop if no more data
|
| 55 |
-
break
|
| 56 |
-
total_bytes += len(chunk)
|
| 57 |
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
|
| 69 |
return speed
|
|
|
|
|
|
|
|
|
|
| 1 |
import random
|
| 2 |
import logging
|
| 3 |
+
import time
|
| 4 |
+
import asyncio
|
| 5 |
+
from httpx import AsyncClient
|
| 6 |
+
from mediaflow_proxy.utils.http_utils import Streamer
|
| 7 |
|
| 8 |
+
results = {}
|
|
|
|
|
|
|
| 9 |
|
| 10 |
+
def run_speedtest(taskid: str):
|
| 11 |
+
results[taskid] = asyncio.run(perform_speed_test()) # Run the speedtest and store the results
|
| 12 |
|
| 13 |
+
def prune_task(taskid: str):
|
| 14 |
time.sleep(3600)
|
| 15 |
if taskid in results:
|
| 16 |
del results[taskid] # Remove task from the results set
|
| 17 |
|
| 18 |
+
async def perform_speed_test():
|
|
|
|
| 19 |
test_urls = {
|
| 20 |
"AMS": "https://45.download.real-debrid.com/speedtest/testDefault.rar/",
|
| 21 |
"RBX": "https://rbx.download.real-debrid.com/speedtest/test.rar/",
|
|
|
|
| 30 |
"JKT1": "https://jkt1.download.real-debrid.com/speedtest/test.rar/",
|
| 31 |
"Cloudflare": "https://45.download.real-debrid.cloud/speedtest/testCloudflare.rar/"
|
| 32 |
}
|
| 33 |
+
|
| 34 |
speed = {}
|
| 35 |
+
test_duration = 10 # Duration for each test in seconds
|
| 36 |
+
|
| 37 |
+
async with AsyncClient() as client:
|
| 38 |
+
streamer = Streamer(client)
|
| 39 |
|
| 40 |
+
for location, base_url in test_urls.items():
|
| 41 |
+
# Generate a random float with 16 decimal places
|
| 42 |
+
random_number = f"{random.uniform(0, 1):.16f}"
|
| 43 |
+
url = f"{base_url}{random_number}"
|
| 44 |
|
| 45 |
+
logging.info(f"Testing URL: {url}")
|
| 46 |
|
| 47 |
+
start_time = time.time()
|
| 48 |
+
total_bytes = 0
|
| 49 |
+
|
| 50 |
+
try:
|
| 51 |
+
# Stream the response
|
| 52 |
+
async for chunk in streamer.stream_content(url, headers={}):
|
| 53 |
+
if time.time() - start_time >= test_duration:
|
| 54 |
+
break
|
| 55 |
+
total_bytes += len(chunk)
|
|
|
|
|
|
|
|
|
|
| 56 |
|
| 57 |
+
duration = time.time() - start_time
|
| 58 |
+
speed_mbps = (total_bytes * 8) / (duration * 1_000_000)
|
| 59 |
+
speed[location] = {
|
| 60 |
+
"speed_mbps": round(speed_mbps, 2),
|
| 61 |
+
"duration": round(duration, 2)
|
| 62 |
+
}
|
| 63 |
+
logging.info(f"Speed for {location}: {speed_mbps} Mbps in {duration} seconds")
|
| 64 |
+
except Exception as e:
|
| 65 |
+
speed[location] = {"error": str(e)}
|
| 66 |
+
logging.error(f"Error for {location}: {e}")
|
| 67 |
|
| 68 |
return speed
|
poetry.lock
CHANGED
|
@@ -101,120 +101,6 @@ files = [
|
|
| 101 |
{file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"},
|
| 102 |
]
|
| 103 |
|
| 104 |
-
[[package]]
|
| 105 |
-
name = "charset-normalizer"
|
| 106 |
-
version = "3.4.0"
|
| 107 |
-
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
| 108 |
-
optional = false
|
| 109 |
-
python-versions = ">=3.7.0"
|
| 110 |
-
files = [
|
| 111 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"},
|
| 112 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"},
|
| 113 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"},
|
| 114 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"},
|
| 115 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"},
|
| 116 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"},
|
| 117 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"},
|
| 118 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"},
|
| 119 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"},
|
| 120 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"},
|
| 121 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"},
|
| 122 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"},
|
| 123 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"},
|
| 124 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"},
|
| 125 |
-
{file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"},
|
| 126 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"},
|
| 127 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"},
|
| 128 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"},
|
| 129 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"},
|
| 130 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"},
|
| 131 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"},
|
| 132 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"},
|
| 133 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"},
|
| 134 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"},
|
| 135 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"},
|
| 136 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"},
|
| 137 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"},
|
| 138 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"},
|
| 139 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"},
|
| 140 |
-
{file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"},
|
| 141 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"},
|
| 142 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"},
|
| 143 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"},
|
| 144 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"},
|
| 145 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"},
|
| 146 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"},
|
| 147 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"},
|
| 148 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"},
|
| 149 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"},
|
| 150 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"},
|
| 151 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"},
|
| 152 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"},
|
| 153 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"},
|
| 154 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"},
|
| 155 |
-
{file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"},
|
| 156 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"},
|
| 157 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"},
|
| 158 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"},
|
| 159 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"},
|
| 160 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"},
|
| 161 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"},
|
| 162 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"},
|
| 163 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"},
|
| 164 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"},
|
| 165 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"},
|
| 166 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"},
|
| 167 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"},
|
| 168 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"},
|
| 169 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"},
|
| 170 |
-
{file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"},
|
| 171 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"},
|
| 172 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"},
|
| 173 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"},
|
| 174 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"},
|
| 175 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"},
|
| 176 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"},
|
| 177 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"},
|
| 178 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"},
|
| 179 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"},
|
| 180 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"},
|
| 181 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"},
|
| 182 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"},
|
| 183 |
-
{file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"},
|
| 184 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"},
|
| 185 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"},
|
| 186 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"},
|
| 187 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"},
|
| 188 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"},
|
| 189 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"},
|
| 190 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"},
|
| 191 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"},
|
| 192 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"},
|
| 193 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"},
|
| 194 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"},
|
| 195 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"},
|
| 196 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"},
|
| 197 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"},
|
| 198 |
-
{file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"},
|
| 199 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"},
|
| 200 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"},
|
| 201 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"},
|
| 202 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"},
|
| 203 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"},
|
| 204 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"},
|
| 205 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"},
|
| 206 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"},
|
| 207 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"},
|
| 208 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"},
|
| 209 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"},
|
| 210 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"},
|
| 211 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"},
|
| 212 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"},
|
| 213 |
-
{file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"},
|
| 214 |
-
{file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"},
|
| 215 |
-
{file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"},
|
| 216 |
-
]
|
| 217 |
-
|
| 218 |
[[package]]
|
| 219 |
name = "click"
|
| 220 |
version = "8.1.7"
|
|
@@ -583,13 +469,13 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
|
|
| 583 |
|
| 584 |
[[package]]
|
| 585 |
name = "pydantic-settings"
|
| 586 |
-
version = "2.6.
|
| 587 |
description = "Settings management using Pydantic"
|
| 588 |
optional = false
|
| 589 |
python-versions = ">=3.8"
|
| 590 |
files = [
|
| 591 |
-
{file = "pydantic_settings-2.6.
|
| 592 |
-
{file = "pydantic_settings-2.6.
|
| 593 |
]
|
| 594 |
|
| 595 |
[package.dependencies]
|
|
@@ -615,27 +501,6 @@ files = [
|
|
| 615 |
[package.extras]
|
| 616 |
cli = ["click (>=5.0)"]
|
| 617 |
|
| 618 |
-
[[package]]
|
| 619 |
-
name = "requests"
|
| 620 |
-
version = "2.32.3"
|
| 621 |
-
description = "Python HTTP for Humans."
|
| 622 |
-
optional = false
|
| 623 |
-
python-versions = ">=3.8"
|
| 624 |
-
files = [
|
| 625 |
-
{file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"},
|
| 626 |
-
{file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"},
|
| 627 |
-
]
|
| 628 |
-
|
| 629 |
-
[package.dependencies]
|
| 630 |
-
certifi = ">=2017.4.17"
|
| 631 |
-
charset-normalizer = ">=2,<4"
|
| 632 |
-
idna = ">=2.5,<4"
|
| 633 |
-
urllib3 = ">=1.21.1,<3"
|
| 634 |
-
|
| 635 |
-
[package.extras]
|
| 636 |
-
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
| 637 |
-
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
| 638 |
-
|
| 639 |
[[package]]
|
| 640 |
name = "sniffio"
|
| 641 |
version = "1.3.1"
|
|
@@ -703,13 +568,13 @@ files = [
|
|
| 703 |
|
| 704 |
[[package]]
|
| 705 |
name = "tqdm"
|
| 706 |
-
version = "4.66.
|
| 707 |
description = "Fast, Extensible Progress Meter"
|
| 708 |
optional = false
|
| 709 |
python-versions = ">=3.7"
|
| 710 |
files = [
|
| 711 |
-
{file = "tqdm-4.66.
|
| 712 |
-
{file = "tqdm-4.66.
|
| 713 |
]
|
| 714 |
|
| 715 |
[package.dependencies]
|
|
@@ -732,23 +597,6 @@ files = [
|
|
| 732 |
{file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"},
|
| 733 |
]
|
| 734 |
|
| 735 |
-
[[package]]
|
| 736 |
-
name = "urllib3"
|
| 737 |
-
version = "2.2.3"
|
| 738 |
-
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
| 739 |
-
optional = false
|
| 740 |
-
python-versions = ">=3.8"
|
| 741 |
-
files = [
|
| 742 |
-
{file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"},
|
| 743 |
-
{file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"},
|
| 744 |
-
]
|
| 745 |
-
|
| 746 |
-
[package.extras]
|
| 747 |
-
brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
|
| 748 |
-
h2 = ["h2 (>=4,<5)"]
|
| 749 |
-
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
|
| 750 |
-
zstd = ["zstandard (>=0.18.0)"]
|
| 751 |
-
|
| 752 |
[[package]]
|
| 753 |
name = "uvicorn"
|
| 754 |
version = "0.31.1"
|
|
@@ -782,4 +630,4 @@ files = [
|
|
| 782 |
[metadata]
|
| 783 |
lock-version = "2.0"
|
| 784 |
python-versions = ">=3.10"
|
| 785 |
-
content-hash = "
|
|
|
|
| 101 |
{file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"},
|
| 102 |
]
|
| 103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
[[package]]
|
| 105 |
name = "click"
|
| 106 |
version = "8.1.7"
|
|
|
|
| 469 |
|
| 470 |
[[package]]
|
| 471 |
name = "pydantic-settings"
|
| 472 |
+
version = "2.6.1"
|
| 473 |
description = "Settings management using Pydantic"
|
| 474 |
optional = false
|
| 475 |
python-versions = ">=3.8"
|
| 476 |
files = [
|
| 477 |
+
{file = "pydantic_settings-2.6.1-py3-none-any.whl", hash = "sha256:7fb0637c786a558d3103436278a7c4f1cfd29ba8973238a50c5bb9a55387da87"},
|
| 478 |
+
{file = "pydantic_settings-2.6.1.tar.gz", hash = "sha256:e0f92546d8a9923cb8941689abf85d6601a8c19a23e97a34b2964a2e3f813ca0"},
|
| 479 |
]
|
| 480 |
|
| 481 |
[package.dependencies]
|
|
|
|
| 501 |
[package.extras]
|
| 502 |
cli = ["click (>=5.0)"]
|
| 503 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 504 |
[[package]]
|
| 505 |
name = "sniffio"
|
| 506 |
version = "1.3.1"
|
|
|
|
| 568 |
|
| 569 |
[[package]]
|
| 570 |
name = "tqdm"
|
| 571 |
+
version = "4.66.6"
|
| 572 |
description = "Fast, Extensible Progress Meter"
|
| 573 |
optional = false
|
| 574 |
python-versions = ">=3.7"
|
| 575 |
files = [
|
| 576 |
+
{file = "tqdm-4.66.6-py3-none-any.whl", hash = "sha256:223e8b5359c2efc4b30555531f09e9f2f3589bcd7fdd389271191031b49b7a63"},
|
| 577 |
+
{file = "tqdm-4.66.6.tar.gz", hash = "sha256:4bdd694238bef1485ce839d67967ab50af8f9272aab687c0d7702a01da0be090"},
|
| 578 |
]
|
| 579 |
|
| 580 |
[package.dependencies]
|
|
|
|
| 597 |
{file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"},
|
| 598 |
]
|
| 599 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 600 |
[[package]]
|
| 601 |
name = "uvicorn"
|
| 602 |
version = "0.31.1"
|
|
|
|
| 630 |
[metadata]
|
| 631 |
lock-version = "2.0"
|
| 632 |
python-versions = ">=3.10"
|
| 633 |
+
content-hash = "8f7497d565d81c39251e2413999975dc89af0404f0205a0f2e6b26b5a4d8a8bd"
|
pyproject.toml
CHANGED
|
@@ -33,7 +33,6 @@ gunicorn = "^23.0.0"
|
|
| 33 |
pycryptodome = "^3.20.0"
|
| 34 |
uvicorn = "^0.31.0"
|
| 35 |
tqdm = "^4.66.5"
|
| 36 |
-
requests = "^2.31.0"
|
| 37 |
|
| 38 |
|
| 39 |
[tool.poetry.group.dev.dependencies]
|
|
|
|
| 33 |
pycryptodome = "^3.20.0"
|
| 34 |
uvicorn = "^0.31.0"
|
| 35 |
tqdm = "^4.66.5"
|
|
|
|
| 36 |
|
| 37 |
|
| 38 |
[tool.poetry.group.dev.dependencies]
|