killian31
commited on
Commit
·
856d805
1
Parent(s):
06ba827
relooked and download srt
Browse files- app.py +91 -36
- poetry.lock +211 -209
- pyproject.toml +1 -0
app.py
CHANGED
@@ -1,3 +1,5 @@
|
|
|
|
|
|
1 |
import gradio as gr
|
2 |
import torch
|
3 |
import whisper
|
@@ -26,6 +28,13 @@ def generate_srt_file(transcription_result, srt_file_path, lag=0):
|
|
26 |
file.write(f"{i}\n{start_srt} --> {end_srt}\n{text}\n\n")
|
27 |
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
def generate_video(
|
30 |
audio_path, video_path, input, language, lag, progress=gr.Progress(track_tqdm=True)
|
31 |
):
|
@@ -38,7 +47,7 @@ def generate_video(
|
|
38 |
progress(0.0, "Checking input...")
|
39 |
if input == "Video":
|
40 |
progress(0.0, "Extracting audio from video...")
|
41 |
-
audio_path = "./
|
42 |
video = VideoFileClip(video_path)
|
43 |
video.audio.write_audiofile(audio_path)
|
44 |
video.close()
|
@@ -51,12 +60,13 @@ def generate_video(
|
|
51 |
|
52 |
# Generate SRT file
|
53 |
progress(0.30, "Generating SRT file...")
|
54 |
-
srt_file_path =
|
55 |
generate_srt_file(result, srt_file_path, lag=lag)
|
56 |
progress(0.40, "SRT file generated!")
|
57 |
|
|
|
|
|
58 |
if input == "Video":
|
59 |
-
# if lag is 0, we can use the original video, else we need to create a new video
|
60 |
if lag == 0:
|
61 |
return video_path, srt_file_path
|
62 |
else:
|
@@ -78,9 +88,7 @@ def generate_video(
|
|
78 |
duration = audio_clip.duration + lag
|
79 |
video_clip = ColorClip(
|
80 |
size=(1280, 720), color=(0, 0, 0), duration=duration
|
81 |
-
).set_fps(
|
82 |
-
1
|
83 |
-
) # Low fps
|
84 |
video_clip = video_clip.set_audio(audio_clip)
|
85 |
video_clip.write_videofile(
|
86 |
output_video_path, codec="libx264", audio_codec="aac"
|
@@ -88,37 +96,84 @@ def generate_video(
|
|
88 |
return output_video_path, srt_file_path
|
89 |
|
90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
if __name__ == "__main__":
|
92 |
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
|
93 |
model = whisper.load_model("base", device=DEVICE)
|
94 |
|
95 |
-
# Gradio
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
gr.
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
|
3 |
import gradio as gr
|
4 |
import torch
|
5 |
import whisper
|
|
|
28 |
file.write(f"{i}\n{start_srt} --> {end_srt}\n{text}\n\n")
|
29 |
|
30 |
|
31 |
+
def get_srt_filename(video_path, audio_path):
|
32 |
+
if video_path is not None:
|
33 |
+
return os.path.splitext(os.path.basename(video_path))[0] + ".srt"
|
34 |
+
else:
|
35 |
+
return os.path.splitext(os.path.basename(audio_path))[0] + ".srt"
|
36 |
+
|
37 |
+
|
38 |
def generate_video(
|
39 |
audio_path, video_path, input, language, lag, progress=gr.Progress(track_tqdm=True)
|
40 |
):
|
|
|
47 |
progress(0.0, "Checking input...")
|
48 |
if input == "Video":
|
49 |
progress(0.0, "Extracting audio from video...")
|
50 |
+
audio_path = f"./{os.path.splitext(os.path.basename(video_path))[0]}.wav"
|
51 |
video = VideoFileClip(video_path)
|
52 |
video.audio.write_audiofile(audio_path)
|
53 |
video.close()
|
|
|
60 |
|
61 |
# Generate SRT file
|
62 |
progress(0.30, "Generating SRT file...")
|
63 |
+
srt_file_path = get_srt_filename(video_path, audio_path)
|
64 |
generate_srt_file(result, srt_file_path, lag=lag)
|
65 |
progress(0.40, "SRT file generated!")
|
66 |
|
67 |
+
if result["segments"] == []:
|
68 |
+
raise gr.Error("No speech detected in the audio.")
|
69 |
if input == "Video":
|
|
|
70 |
if lag == 0:
|
71 |
return video_path, srt_file_path
|
72 |
else:
|
|
|
88 |
duration = audio_clip.duration + lag
|
89 |
video_clip = ColorClip(
|
90 |
size=(1280, 720), color=(0, 0, 0), duration=duration
|
91 |
+
).set_fps(1)
|
|
|
|
|
92 |
video_clip = video_clip.set_audio(audio_clip)
|
93 |
video_clip.write_videofile(
|
94 |
output_video_path, codec="libx264", audio_codec="aac"
|
|
|
96 |
return output_video_path, srt_file_path
|
97 |
|
98 |
|
99 |
+
def download_srt(audio_input, video_input):
|
100 |
+
srt_file_path = get_srt_filename(video_input, audio_input)
|
101 |
+
if os.path.exists(srt_file_path):
|
102 |
+
return srt_file_path
|
103 |
+
else:
|
104 |
+
raise gr.Error("No SRT file found. Please generate subtitles first.")
|
105 |
+
|
106 |
+
|
107 |
if __name__ == "__main__":
|
108 |
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
|
109 |
model = whisper.load_model("base", device=DEVICE)
|
110 |
|
111 |
+
# Gradio Blocks implementation
|
112 |
+
with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
113 |
+
gr.Markdown(
|
114 |
+
"""
|
115 |
+
<div style="text-align: center;">
|
116 |
+
<h1 style="color: #4A90E2; font-size: 3em;">Audio Transcription & Subtitled Video Generator 🎥✨</h1>
|
117 |
+
<p style="font-size: 1.2em; color: #333; max-width: 1000px; margin: auto; text-align: left;">
|
118 |
+
Transform your audio or video files into subtitled content effortlessly! <br>
|
119 |
+
1. Upload your audio or video file, select the language, and receive a video with synchronized subtitles. <br>
|
120 |
+
2. You can view the subtitled video directly here or download the subtitles as an SRT file for your use.
|
121 |
+
</p>
|
122 |
+
</div>
|
123 |
+
"""
|
124 |
+
)
|
125 |
+
|
126 |
+
with gr.Row():
|
127 |
+
with gr.Column():
|
128 |
+
audio_input = gr.Audio(
|
129 |
+
sources=["upload", "microphone"],
|
130 |
+
type="filepath",
|
131 |
+
label="🎵 Upload Audio File",
|
132 |
+
)
|
133 |
+
video_input = gr.Video(
|
134 |
+
label="📹 Or Upload Video File", sources=["upload", "webcam"]
|
135 |
+
)
|
136 |
+
with gr.Column():
|
137 |
+
file_type = gr.Dropdown(
|
138 |
+
["Video", "Audio"],
|
139 |
+
label="File Type",
|
140 |
+
value="Video",
|
141 |
+
interactive=True,
|
142 |
+
)
|
143 |
+
language = gr.Dropdown(
|
144 |
+
["en", "es", "fr", "de", "it", "nl", "ru", "no", "zh"],
|
145 |
+
label="Select Language",
|
146 |
+
value="en",
|
147 |
+
interactive=True,
|
148 |
+
)
|
149 |
+
lag_slider = gr.Slider(
|
150 |
+
minimum=0,
|
151 |
+
maximum=10,
|
152 |
+
step=1,
|
153 |
+
value=0,
|
154 |
+
label="⏱ Lag (seconds): delay the transcription by this amount of time.",
|
155 |
+
)
|
156 |
+
transcribe_button = gr.Button(
|
157 |
+
"🎬 Generate Subtitled Video", variant="primary"
|
158 |
+
)
|
159 |
+
download_button = gr.Button("💾 Download SRT File", variant="secondary")
|
160 |
+
|
161 |
+
with gr.Column():
|
162 |
+
video_output = gr.Video(
|
163 |
+
label="Play Video with Subtitles", show_download_button=False
|
164 |
+
)
|
165 |
+
srt_file_output = gr.File(label="Download Subtitle (SRT)")
|
166 |
+
|
167 |
+
transcribe_button.click(
|
168 |
+
fn=generate_video,
|
169 |
+
inputs=[audio_input, video_input, file_type, language, lag_slider],
|
170 |
+
outputs=video_output,
|
171 |
+
)
|
172 |
+
|
173 |
+
download_button.click(
|
174 |
+
fn=download_srt,
|
175 |
+
inputs=[audio_input, video_input],
|
176 |
+
outputs=srt_file_output,
|
177 |
+
)
|
178 |
+
|
179 |
+
demo.launch()
|
poetry.lock
CHANGED
@@ -221,18 +221,18 @@ test = ["pytest (>=6)"]
|
|
221 |
|
222 |
[[package]]
|
223 |
name = "fastapi"
|
224 |
-
version = "0.115.
|
225 |
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
|
226 |
optional = false
|
227 |
python-versions = ">=3.8"
|
228 |
files = [
|
229 |
-
{file = "fastapi-0.115.
|
230 |
-
{file = "fastapi-0.115.
|
231 |
]
|
232 |
|
233 |
[package.dependencies]
|
234 |
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0"
|
235 |
-
starlette = ">=0.
|
236 |
typing-extensions = ">=4.8.0"
|
237 |
|
238 |
[package.extras]
|
@@ -268,13 +268,13 @@ typing = ["typing-extensions (>=4.12.2)"]
|
|
268 |
|
269 |
[[package]]
|
270 |
name = "fsspec"
|
271 |
-
version = "2024.
|
272 |
description = "File-system specification"
|
273 |
optional = false
|
274 |
python-versions = ">=3.8"
|
275 |
files = [
|
276 |
-
{file = "fsspec-2024.
|
277 |
-
{file = "fsspec-2024.
|
278 |
]
|
279 |
|
280 |
[package.extras]
|
@@ -424,13 +424,13 @@ zstd = ["zstandard (>=0.18.0)"]
|
|
424 |
|
425 |
[[package]]
|
426 |
name = "huggingface-hub"
|
427 |
-
version = "0.26.
|
428 |
description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
|
429 |
optional = false
|
430 |
python-versions = ">=3.8.0"
|
431 |
files = [
|
432 |
-
{file = "huggingface_hub-0.26.
|
433 |
-
{file = "huggingface_hub-0.26.
|
434 |
]
|
435 |
|
436 |
[package.dependencies]
|
@@ -726,13 +726,13 @@ tests = ["pytest (>=4.6)"]
|
|
726 |
|
727 |
[[package]]
|
728 |
name = "networkx"
|
729 |
-
version = "3.4.
|
730 |
description = "Python package for creating and manipulating graphs and networks"
|
731 |
optional = false
|
732 |
python-versions = ">=3.10"
|
733 |
files = [
|
734 |
-
{file = "networkx-3.4.
|
735 |
-
{file = "networkx-3.4.
|
736 |
]
|
737 |
|
738 |
[package.extras]
|
@@ -980,79 +980,80 @@ dev = ["black", "flake8", "isort", "pytest", "scipy"]
|
|
980 |
|
981 |
[[package]]
|
982 |
name = "orjson"
|
983 |
-
version = "3.10.
|
984 |
description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
|
985 |
optional = false
|
986 |
python-versions = ">=3.8"
|
987 |
files = [
|
988 |
-
{file = "orjson-3.10.
|
989 |
-
{file = "orjson-3.10.
|
990 |
-
{file = "orjson-3.10.
|
991 |
-
{file = "orjson-3.10.
|
992 |
-
{file = "orjson-3.10.
|
993 |
-
{file = "orjson-3.10.
|
994 |
-
{file = "orjson-3.10.
|
995 |
-
{file = "orjson-3.10.
|
996 |
-
{file = "orjson-3.10.
|
997 |
-
{file = "orjson-3.10.
|
998 |
-
{file = "orjson-3.10.
|
999 |
-
{file = "orjson-3.10.
|
1000 |
-
{file = "orjson-3.10.
|
1001 |
-
{file = "orjson-3.10.
|
1002 |
-
{file = "orjson-3.10.
|
1003 |
-
{file = "orjson-3.10.
|
1004 |
-
{file = "orjson-3.10.
|
1005 |
-
{file = "orjson-3.10.
|
1006 |
-
{file = "orjson-3.10.
|
1007 |
-
{file = "orjson-3.10.
|
1008 |
-
{file = "orjson-3.10.
|
1009 |
-
{file = "orjson-3.10.
|
1010 |
-
{file = "orjson-3.10.
|
1011 |
-
{file = "orjson-3.10.
|
1012 |
-
{file = "orjson-3.10.
|
1013 |
-
{file = "orjson-3.10.
|
1014 |
-
{file = "orjson-3.10.
|
1015 |
-
{file = "orjson-3.10.
|
1016 |
-
{file = "orjson-3.10.
|
1017 |
-
{file = "orjson-3.10.
|
1018 |
-
{file = "orjson-3.10.
|
1019 |
-
{file = "orjson-3.10.
|
1020 |
-
{file = "orjson-3.10.
|
1021 |
-
{file = "orjson-3.10.
|
1022 |
-
{file = "orjson-3.10.
|
1023 |
-
{file = "orjson-3.10.
|
1024 |
-
{file = "orjson-3.10.
|
1025 |
-
{file = "orjson-3.10.
|
1026 |
-
{file = "orjson-3.10.
|
1027 |
-
{file = "orjson-3.10.
|
1028 |
-
{file = "orjson-3.10.
|
1029 |
-
{file = "orjson-3.10.
|
1030 |
-
{file = "orjson-3.10.
|
1031 |
-
{file = "orjson-3.10.
|
1032 |
-
{file = "orjson-3.10.
|
1033 |
-
{file = "orjson-3.10.
|
1034 |
-
{file = "orjson-3.10.
|
1035 |
-
{file = "orjson-3.10.
|
1036 |
-
{file = "orjson-3.10.
|
1037 |
-
{file = "orjson-3.10.
|
1038 |
-
{file = "orjson-3.10.
|
1039 |
-
{file = "orjson-3.10.
|
1040 |
-
{file = "orjson-3.10.
|
1041 |
-
{file = "orjson-3.10.
|
1042 |
-
{file = "orjson-3.10.
|
1043 |
-
{file = "orjson-3.10.
|
1044 |
-
{file = "orjson-3.10.
|
|
|
1045 |
]
|
1046 |
|
1047 |
[[package]]
|
1048 |
name = "packaging"
|
1049 |
-
version = "24.
|
1050 |
description = "Core utilities for Python packages"
|
1051 |
optional = false
|
1052 |
python-versions = ">=3.8"
|
1053 |
files = [
|
1054 |
-
{file = "packaging-24.
|
1055 |
-
{file = "packaging-24.
|
1056 |
]
|
1057 |
|
1058 |
[[package]]
|
@@ -1413,13 +1414,13 @@ six = ">=1.5"
|
|
1413 |
|
1414 |
[[package]]
|
1415 |
name = "python-multipart"
|
1416 |
-
version = "0.0.
|
1417 |
description = "A streaming multipart parser for Python"
|
1418 |
optional = false
|
1419 |
python-versions = ">=3.8"
|
1420 |
files = [
|
1421 |
-
{file = "python_multipart-0.0.
|
1422 |
-
{file = "python_multipart-0.0.
|
1423 |
]
|
1424 |
|
1425 |
[[package]]
|
@@ -1497,105 +1498,105 @@ files = [
|
|
1497 |
|
1498 |
[[package]]
|
1499 |
name = "regex"
|
1500 |
-
version = "2024.
|
1501 |
description = "Alternative regular expression module, to replace re."
|
1502 |
optional = false
|
1503 |
python-versions = ">=3.8"
|
1504 |
files = [
|
1505 |
-
{file = "regex-2024.
|
1506 |
-
{file = "regex-2024.
|
1507 |
-
{file = "regex-2024.
|
1508 |
-
{file = "regex-2024.
|
1509 |
-
{file = "regex-2024.
|
1510 |
-
{file = "regex-2024.
|
1511 |
-
{file = "regex-2024.
|
1512 |
-
{file = "regex-2024.
|
1513 |
-
{file = "regex-2024.
|
1514 |
-
{file = "regex-2024.
|
1515 |
-
{file = "regex-2024.
|
1516 |
-
{file = "regex-2024.
|
1517 |
-
{file = "regex-2024.
|
1518 |
-
{file = "regex-2024.
|
1519 |
-
{file = "regex-2024.
|
1520 |
-
{file = "regex-2024.
|
1521 |
-
{file = "regex-2024.
|
1522 |
-
{file = "regex-2024.
|
1523 |
-
{file = "regex-2024.
|
1524 |
-
{file = "regex-2024.
|
1525 |
-
{file = "regex-2024.
|
1526 |
-
{file = "regex-2024.
|
1527 |
-
{file = "regex-2024.
|
1528 |
-
{file = "regex-2024.
|
1529 |
-
{file = "regex-2024.
|
1530 |
-
{file = "regex-2024.
|
1531 |
-
{file = "regex-2024.
|
1532 |
-
{file = "regex-2024.
|
1533 |
-
{file = "regex-2024.
|
1534 |
-
{file = "regex-2024.
|
1535 |
-
{file = "regex-2024.
|
1536 |
-
{file = "regex-2024.
|
1537 |
-
{file = "regex-2024.
|
1538 |
-
{file = "regex-2024.
|
1539 |
-
{file = "regex-2024.
|
1540 |
-
{file = "regex-2024.
|
1541 |
-
{file = "regex-2024.
|
1542 |
-
{file = "regex-2024.
|
1543 |
-
{file = "regex-2024.
|
1544 |
-
{file = "regex-2024.
|
1545 |
-
{file = "regex-2024.
|
1546 |
-
{file = "regex-2024.
|
1547 |
-
{file = "regex-2024.
|
1548 |
-
{file = "regex-2024.
|
1549 |
-
{file = "regex-2024.
|
1550 |
-
{file = "regex-2024.
|
1551 |
-
{file = "regex-2024.
|
1552 |
-
{file = "regex-2024.
|
1553 |
-
{file = "regex-2024.
|
1554 |
-
{file = "regex-2024.
|
1555 |
-
{file = "regex-2024.
|
1556 |
-
{file = "regex-2024.
|
1557 |
-
{file = "regex-2024.
|
1558 |
-
{file = "regex-2024.
|
1559 |
-
{file = "regex-2024.
|
1560 |
-
{file = "regex-2024.
|
1561 |
-
{file = "regex-2024.
|
1562 |
-
{file = "regex-2024.
|
1563 |
-
{file = "regex-2024.
|
1564 |
-
{file = "regex-2024.
|
1565 |
-
{file = "regex-2024.
|
1566 |
-
{file = "regex-2024.
|
1567 |
-
{file = "regex-2024.
|
1568 |
-
{file = "regex-2024.
|
1569 |
-
{file = "regex-2024.
|
1570 |
-
{file = "regex-2024.
|
1571 |
-
{file = "regex-2024.
|
1572 |
-
{file = "regex-2024.
|
1573 |
-
{file = "regex-2024.
|
1574 |
-
{file = "regex-2024.
|
1575 |
-
{file = "regex-2024.
|
1576 |
-
{file = "regex-2024.
|
1577 |
-
{file = "regex-2024.
|
1578 |
-
{file = "regex-2024.
|
1579 |
-
{file = "regex-2024.
|
1580 |
-
{file = "regex-2024.
|
1581 |
-
{file = "regex-2024.
|
1582 |
-
{file = "regex-2024.
|
1583 |
-
{file = "regex-2024.
|
1584 |
-
{file = "regex-2024.
|
1585 |
-
{file = "regex-2024.
|
1586 |
-
{file = "regex-2024.
|
1587 |
-
{file = "regex-2024.
|
1588 |
-
{file = "regex-2024.
|
1589 |
-
{file = "regex-2024.
|
1590 |
-
{file = "regex-2024.
|
1591 |
-
{file = "regex-2024.
|
1592 |
-
{file = "regex-2024.
|
1593 |
-
{file = "regex-2024.
|
1594 |
-
{file = "regex-2024.
|
1595 |
-
{file = "regex-2024.
|
1596 |
-
{file = "regex-2024.
|
1597 |
-
{file = "regex-2024.
|
1598 |
-
{file = "regex-2024.
|
1599 |
]
|
1600 |
|
1601 |
[[package]]
|
@@ -1621,13 +1622,13 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
|
1621 |
|
1622 |
[[package]]
|
1623 |
name = "rich"
|
1624 |
-
version = "13.9.
|
1625 |
description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
|
1626 |
optional = false
|
1627 |
python-versions = ">=3.8.0"
|
1628 |
files = [
|
1629 |
-
{file = "rich-13.9.
|
1630 |
-
{file = "rich-13.9.
|
1631 |
]
|
1632 |
|
1633 |
[package.dependencies]
|
@@ -1640,29 +1641,29 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"]
|
|
1640 |
|
1641 |
[[package]]
|
1642 |
name = "ruff"
|
1643 |
-
version = "0.7.
|
1644 |
description = "An extremely fast Python linter and code formatter, written in Rust."
|
1645 |
optional = false
|
1646 |
python-versions = ">=3.7"
|
1647 |
files = [
|
1648 |
-
{file = "ruff-0.7.
|
1649 |
-
{file = "ruff-0.7.
|
1650 |
-
{file = "ruff-0.7.
|
1651 |
-
{file = "ruff-0.7.
|
1652 |
-
{file = "ruff-0.7.
|
1653 |
-
{file = "ruff-0.7.
|
1654 |
-
{file = "ruff-0.7.
|
1655 |
-
{file = "ruff-0.7.
|
1656 |
-
{file = "ruff-0.7.
|
1657 |
-
{file = "ruff-0.7.
|
1658 |
-
{file = "ruff-0.7.
|
1659 |
-
{file = "ruff-0.7.
|
1660 |
-
{file = "ruff-0.7.
|
1661 |
-
{file = "ruff-0.7.
|
1662 |
-
{file = "ruff-0.7.
|
1663 |
-
{file = "ruff-0.7.
|
1664 |
-
{file = "ruff-0.7.
|
1665 |
-
{file = "ruff-0.7.
|
1666 |
]
|
1667 |
|
1668 |
[[package]]
|
@@ -1682,23 +1683,23 @@ doc = ["Sphinx", "sphinx-rtd-theme"]
|
|
1682 |
|
1683 |
[[package]]
|
1684 |
name = "setuptools"
|
1685 |
-
version = "75.
|
1686 |
description = "Easily download, build, install, upgrade, and uninstall Python packages"
|
1687 |
optional = false
|
1688 |
python-versions = ">=3.8"
|
1689 |
files = [
|
1690 |
-
{file = "setuptools-75.
|
1691 |
-
{file = "setuptools-75.
|
1692 |
]
|
1693 |
|
1694 |
[package.extras]
|
1695 |
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"]
|
1696 |
-
core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.
|
1697 |
cover = ["pytest-cov"]
|
1698 |
doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
|
1699 |
enabler = ["pytest-enabler (>=2.2)"]
|
1700 |
-
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
|
1701 |
-
type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.
|
1702 |
|
1703 |
[[package]]
|
1704 |
name = "shellingham"
|
@@ -1735,13 +1736,13 @@ files = [
|
|
1735 |
|
1736 |
[[package]]
|
1737 |
name = "starlette"
|
1738 |
-
version = "0.
|
1739 |
description = "The little ASGI library that shines."
|
1740 |
optional = false
|
1741 |
python-versions = ">=3.8"
|
1742 |
files = [
|
1743 |
-
{file = "starlette-0.
|
1744 |
-
{file = "starlette-0.
|
1745 |
]
|
1746 |
|
1747 |
[package.dependencies]
|
@@ -1885,13 +1886,13 @@ optree = ["optree (>=0.9.1)"]
|
|
1885 |
|
1886 |
[[package]]
|
1887 |
name = "tqdm"
|
1888 |
-
version = "4.
|
1889 |
description = "Fast, Extensible Progress Meter"
|
1890 |
optional = false
|
1891 |
python-versions = ">=3.7"
|
1892 |
files = [
|
1893 |
-
{file = "tqdm-4.
|
1894 |
-
{file = "tqdm-4.
|
1895 |
]
|
1896 |
|
1897 |
[package.dependencies]
|
@@ -1899,6 +1900,7 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
|
|
1899 |
|
1900 |
[package.extras]
|
1901 |
dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"]
|
|
|
1902 |
notebook = ["ipywidgets (>=6)"]
|
1903 |
slack = ["slack-sdk"]
|
1904 |
telegram = ["requests"]
|
@@ -1928,13 +1930,13 @@ tutorials = ["matplotlib", "pandas", "tabulate", "torch"]
|
|
1928 |
|
1929 |
[[package]]
|
1930 |
name = "typer"
|
1931 |
-
version = "0.
|
1932 |
description = "Typer, build great CLIs. Easy to code. Based on Python type hints."
|
1933 |
optional = false
|
1934 |
python-versions = ">=3.7"
|
1935 |
files = [
|
1936 |
-
{file = "typer-0.
|
1937 |
-
{file = "typer-0.
|
1938 |
]
|
1939 |
|
1940 |
[package.dependencies]
|
|
|
221 |
|
222 |
[[package]]
|
223 |
name = "fastapi"
|
224 |
+
version = "0.115.4"
|
225 |
description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
|
226 |
optional = false
|
227 |
python-versions = ">=3.8"
|
228 |
files = [
|
229 |
+
{file = "fastapi-0.115.4-py3-none-any.whl", hash = "sha256:0b504a063ffb3cf96a5e27dc1bc32c80ca743a2528574f9cdc77daa2d31b4742"},
|
230 |
+
{file = "fastapi-0.115.4.tar.gz", hash = "sha256:db653475586b091cb8b2fec2ac54a680ac6a158e07406e1abae31679e8826349"},
|
231 |
]
|
232 |
|
233 |
[package.dependencies]
|
234 |
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0"
|
235 |
+
starlette = ">=0.40.0,<0.42.0"
|
236 |
typing-extensions = ">=4.8.0"
|
237 |
|
238 |
[package.extras]
|
|
|
268 |
|
269 |
[[package]]
|
270 |
name = "fsspec"
|
271 |
+
version = "2024.10.0"
|
272 |
description = "File-system specification"
|
273 |
optional = false
|
274 |
python-versions = ">=3.8"
|
275 |
files = [
|
276 |
+
{file = "fsspec-2024.10.0-py3-none-any.whl", hash = "sha256:03b9a6785766a4de40368b88906366755e2819e758b83705c88cd7cb5fe81871"},
|
277 |
+
{file = "fsspec-2024.10.0.tar.gz", hash = "sha256:eda2d8a4116d4f2429db8550f2457da57279247dd930bb12f821b58391359493"},
|
278 |
]
|
279 |
|
280 |
[package.extras]
|
|
|
424 |
|
425 |
[[package]]
|
426 |
name = "huggingface-hub"
|
427 |
+
version = "0.26.2"
|
428 |
description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
|
429 |
optional = false
|
430 |
python-versions = ">=3.8.0"
|
431 |
files = [
|
432 |
+
{file = "huggingface_hub-0.26.2-py3-none-any.whl", hash = "sha256:98c2a5a8e786c7b2cb6fdeb2740893cba4d53e312572ed3d8afafda65b128c46"},
|
433 |
+
{file = "huggingface_hub-0.26.2.tar.gz", hash = "sha256:b100d853465d965733964d123939ba287da60a547087783ddff8a323f340332b"},
|
434 |
]
|
435 |
|
436 |
[package.dependencies]
|
|
|
726 |
|
727 |
[[package]]
|
728 |
name = "networkx"
|
729 |
+
version = "3.4.2"
|
730 |
description = "Python package for creating and manipulating graphs and networks"
|
731 |
optional = false
|
732 |
python-versions = ">=3.10"
|
733 |
files = [
|
734 |
+
{file = "networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f"},
|
735 |
+
{file = "networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1"},
|
736 |
]
|
737 |
|
738 |
[package.extras]
|
|
|
980 |
|
981 |
[[package]]
|
982 |
name = "orjson"
|
983 |
+
version = "3.10.11"
|
984 |
description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
|
985 |
optional = false
|
986 |
python-versions = ">=3.8"
|
987 |
files = [
|
988 |
+
{file = "orjson-3.10.11-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:6dade64687f2bd7c090281652fe18f1151292d567a9302b34c2dbb92a3872f1f"},
|
989 |
+
{file = "orjson-3.10.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82f07c550a6ccd2b9290849b22316a609023ed851a87ea888c0456485a7d196a"},
|
990 |
+
{file = "orjson-3.10.11-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd9a187742d3ead9df2e49240234d728c67c356516cf4db018833a86f20ec18c"},
|
991 |
+
{file = "orjson-3.10.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77b0fed6f209d76c1c39f032a70df2d7acf24b1812ca3e6078fd04e8972685a3"},
|
992 |
+
{file = "orjson-3.10.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:63fc9d5fe1d4e8868f6aae547a7b8ba0a2e592929245fff61d633f4caccdcdd6"},
|
993 |
+
{file = "orjson-3.10.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65cd3e3bb4fbb4eddc3c1e8dce10dc0b73e808fcb875f9fab40c81903dd9323e"},
|
994 |
+
{file = "orjson-3.10.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6f67c570602300c4befbda12d153113b8974a3340fdcf3d6de095ede86c06d92"},
|
995 |
+
{file = "orjson-3.10.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1f39728c7f7d766f1f5a769ce4d54b5aaa4c3f92d5b84817053cc9995b977acc"},
|
996 |
+
{file = "orjson-3.10.11-cp310-none-win32.whl", hash = "sha256:1789d9db7968d805f3d94aae2c25d04014aae3a2fa65b1443117cd462c6da647"},
|
997 |
+
{file = "orjson-3.10.11-cp310-none-win_amd64.whl", hash = "sha256:5576b1e5a53a5ba8f8df81872bb0878a112b3ebb1d392155f00f54dd86c83ff6"},
|
998 |
+
{file = "orjson-3.10.11-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:1444f9cb7c14055d595de1036f74ecd6ce15f04a715e73f33bb6326c9cef01b6"},
|
999 |
+
{file = "orjson-3.10.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdec57fe3b4bdebcc08a946db3365630332dbe575125ff3d80a3272ebd0ddafe"},
|
1000 |
+
{file = "orjson-3.10.11-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4eed32f33a0ea6ef36ccc1d37f8d17f28a1d6e8eefae5928f76aff8f1df85e67"},
|
1001 |
+
{file = "orjson-3.10.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80df27dd8697242b904f4ea54820e2d98d3f51f91e97e358fc13359721233e4b"},
|
1002 |
+
{file = "orjson-3.10.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:705f03cee0cb797256d54de6695ef219e5bc8c8120b6654dd460848d57a9af3d"},
|
1003 |
+
{file = "orjson-3.10.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03246774131701de8e7059b2e382597da43144a9a7400f178b2a32feafc54bd5"},
|
1004 |
+
{file = "orjson-3.10.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8b5759063a6c940a69c728ea70d7c33583991c6982915a839c8da5f957e0103a"},
|
1005 |
+
{file = "orjson-3.10.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:677f23e32491520eebb19c99bb34675daf5410c449c13416f7f0d93e2cf5f981"},
|
1006 |
+
{file = "orjson-3.10.11-cp311-none-win32.whl", hash = "sha256:a11225d7b30468dcb099498296ffac36b4673a8398ca30fdaec1e6c20df6aa55"},
|
1007 |
+
{file = "orjson-3.10.11-cp311-none-win_amd64.whl", hash = "sha256:df8c677df2f9f385fcc85ab859704045fa88d4668bc9991a527c86e710392bec"},
|
1008 |
+
{file = "orjson-3.10.11-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:360a4e2c0943da7c21505e47cf6bd725588962ff1d739b99b14e2f7f3545ba51"},
|
1009 |
+
{file = "orjson-3.10.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:496e2cb45de21c369079ef2d662670a4892c81573bcc143c4205cae98282ba97"},
|
1010 |
+
{file = "orjson-3.10.11-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7dfa8db55c9792d53c5952900c6a919cfa377b4f4534c7a786484a6a4a350c19"},
|
1011 |
+
{file = "orjson-3.10.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:51f3382415747e0dbda9dade6f1e1a01a9d37f630d8c9049a8ed0e385b7a90c0"},
|
1012 |
+
{file = "orjson-3.10.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f35a1b9f50a219f470e0e497ca30b285c9f34948d3c8160d5ad3a755d9299433"},
|
1013 |
+
{file = "orjson-3.10.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2f3b7c5803138e67028dde33450e054c87e0703afbe730c105f1fcd873496d5"},
|
1014 |
+
{file = "orjson-3.10.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f91d9eb554310472bd09f5347950b24442600594c2edc1421403d7610a0998fd"},
|
1015 |
+
{file = "orjson-3.10.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dfbb2d460a855c9744bbc8e36f9c3a997c4b27d842f3d5559ed54326e6911f9b"},
|
1016 |
+
{file = "orjson-3.10.11-cp312-none-win32.whl", hash = "sha256:d4a62c49c506d4d73f59514986cadebb7e8d186ad510c518f439176cf8d5359d"},
|
1017 |
+
{file = "orjson-3.10.11-cp312-none-win_amd64.whl", hash = "sha256:f1eec3421a558ff7a9b010a6c7effcfa0ade65327a71bb9b02a1c3b77a247284"},
|
1018 |
+
{file = "orjson-3.10.11-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c46294faa4e4d0eb73ab68f1a794d2cbf7bab33b1dda2ac2959ffb7c61591899"},
|
1019 |
+
{file = "orjson-3.10.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52e5834d7d6e58a36846e059d00559cb9ed20410664f3ad156cd2cc239a11230"},
|
1020 |
+
{file = "orjson-3.10.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2fc947e5350fdce548bfc94f434e8760d5cafa97fb9c495d2fef6757aa02ec0"},
|
1021 |
+
{file = "orjson-3.10.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0efabbf839388a1dab5b72b5d3baedbd6039ac83f3b55736eb9934ea5494d258"},
|
1022 |
+
{file = "orjson-3.10.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a3f29634260708c200c4fe148e42b4aae97d7b9fee417fbdd74f8cfc265f15b0"},
|
1023 |
+
{file = "orjson-3.10.11-cp313-none-win32.whl", hash = "sha256:1a1222ffcee8a09476bbdd5d4f6f33d06d0d6642df2a3d78b7a195ca880d669b"},
|
1024 |
+
{file = "orjson-3.10.11-cp313-none-win_amd64.whl", hash = "sha256:bc274ac261cc69260913b2d1610760e55d3c0801bb3457ba7b9004420b6b4270"},
|
1025 |
+
{file = "orjson-3.10.11-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:19b3763e8bbf8ad797df6b6b5e0fc7c843ec2e2fc0621398534e0c6400098f87"},
|
1026 |
+
{file = "orjson-3.10.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1be83a13312e5e58d633580c5eb8d0495ae61f180da2722f20562974188af205"},
|
1027 |
+
{file = "orjson-3.10.11-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:afacfd1ab81f46dedd7f6001b6d4e8de23396e4884cd3c3436bd05defb1a6446"},
|
1028 |
+
{file = "orjson-3.10.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cb4d0bea56bba596723d73f074c420aec3b2e5d7d30698bc56e6048066bd560c"},
|
1029 |
+
{file = "orjson-3.10.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96ed1de70fcb15d5fed529a656df29f768187628727ee2788344e8a51e1c1350"},
|
1030 |
+
{file = "orjson-3.10.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bfb30c891b530f3f80e801e3ad82ef150b964e5c38e1fb8482441c69c35c61c"},
|
1031 |
+
{file = "orjson-3.10.11-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d496c74fc2b61341e3cefda7eec21b7854c5f672ee350bc55d9a4997a8a95204"},
|
1032 |
+
{file = "orjson-3.10.11-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:655a493bac606655db9a47fe94d3d84fc7f3ad766d894197c94ccf0c5408e7d3"},
|
1033 |
+
{file = "orjson-3.10.11-cp38-none-win32.whl", hash = "sha256:b9546b278c9fb5d45380f4809e11b4dd9844ca7aaf1134024503e134ed226161"},
|
1034 |
+
{file = "orjson-3.10.11-cp38-none-win_amd64.whl", hash = "sha256:b592597fe551d518f42c5a2eb07422eb475aa8cfdc8c51e6da7054b836b26782"},
|
1035 |
+
{file = "orjson-3.10.11-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c95f2ecafe709b4e5c733b5e2768ac569bed308623c85806c395d9cca00e08af"},
|
1036 |
+
{file = "orjson-3.10.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80c00d4acded0c51c98754fe8218cb49cb854f0f7eb39ea4641b7f71732d2cb7"},
|
1037 |
+
{file = "orjson-3.10.11-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:461311b693d3d0a060439aa669c74f3603264d4e7a08faa68c47ae5a863f352d"},
|
1038 |
+
{file = "orjson-3.10.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52ca832f17d86a78cbab86cdc25f8c13756ebe182b6fc1a97d534051c18a08de"},
|
1039 |
+
{file = "orjson-3.10.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c57ea78a753812f528178aa2f1c57da633754c91d2124cb28991dab4c79a54"},
|
1040 |
+
{file = "orjson-3.10.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7fcfc6f7ca046383fb954ba528587e0f9336828b568282b27579c49f8e16aad"},
|
1041 |
+
{file = "orjson-3.10.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:86b9dd983857970c29e4c71bb3e95ff085c07d3e83e7c46ebe959bac07ebd80b"},
|
1042 |
+
{file = "orjson-3.10.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4d83f87582d223e54efb2242a79547611ba4ebae3af8bae1e80fa9a0af83bb7f"},
|
1043 |
+
{file = "orjson-3.10.11-cp39-none-win32.whl", hash = "sha256:9fd0ad1c129bc9beb1154c2655f177620b5beaf9a11e0d10bac63ef3fce96950"},
|
1044 |
+
{file = "orjson-3.10.11-cp39-none-win_amd64.whl", hash = "sha256:10f416b2a017c8bd17f325fb9dee1fb5cdd7a54e814284896b7c3f2763faa017"},
|
1045 |
+
{file = "orjson-3.10.11.tar.gz", hash = "sha256:e35b6d730de6384d5b2dab5fd23f0d76fae8bbc8c353c2f78210aa5fa4beb3ef"},
|
1046 |
]
|
1047 |
|
1048 |
[[package]]
|
1049 |
name = "packaging"
|
1050 |
+
version = "24.2"
|
1051 |
description = "Core utilities for Python packages"
|
1052 |
optional = false
|
1053 |
python-versions = ">=3.8"
|
1054 |
files = [
|
1055 |
+
{file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"},
|
1056 |
+
{file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"},
|
1057 |
]
|
1058 |
|
1059 |
[[package]]
|
|
|
1414 |
|
1415 |
[[package]]
|
1416 |
name = "python-multipart"
|
1417 |
+
version = "0.0.17"
|
1418 |
description = "A streaming multipart parser for Python"
|
1419 |
optional = false
|
1420 |
python-versions = ">=3.8"
|
1421 |
files = [
|
1422 |
+
{file = "python_multipart-0.0.17-py3-none-any.whl", hash = "sha256:15dc4f487e0a9476cc1201261188ee0940165cffc94429b6fc565c4d3045cb5d"},
|
1423 |
+
{file = "python_multipart-0.0.17.tar.gz", hash = "sha256:41330d831cae6e2f22902704ead2826ea038d0419530eadff3ea80175aec5538"},
|
1424 |
]
|
1425 |
|
1426 |
[[package]]
|
|
|
1498 |
|
1499 |
[[package]]
|
1500 |
name = "regex"
|
1501 |
+
version = "2024.11.6"
|
1502 |
description = "Alternative regular expression module, to replace re."
|
1503 |
optional = false
|
1504 |
python-versions = ">=3.8"
|
1505 |
files = [
|
1506 |
+
{file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"},
|
1507 |
+
{file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"},
|
1508 |
+
{file = "regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e"},
|
1509 |
+
{file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde"},
|
1510 |
+
{file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e"},
|
1511 |
+
{file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2"},
|
1512 |
+
{file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf"},
|
1513 |
+
{file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c"},
|
1514 |
+
{file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86"},
|
1515 |
+
{file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67"},
|
1516 |
+
{file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d"},
|
1517 |
+
{file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2"},
|
1518 |
+
{file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008"},
|
1519 |
+
{file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62"},
|
1520 |
+
{file = "regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e"},
|
1521 |
+
{file = "regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519"},
|
1522 |
+
{file = "regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638"},
|
1523 |
+
{file = "regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7"},
|
1524 |
+
{file = "regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20"},
|
1525 |
+
{file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114"},
|
1526 |
+
{file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3"},
|
1527 |
+
{file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f"},
|
1528 |
+
{file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0"},
|
1529 |
+
{file = "regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55"},
|
1530 |
+
{file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89"},
|
1531 |
+
{file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d"},
|
1532 |
+
{file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34"},
|
1533 |
+
{file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d"},
|
1534 |
+
{file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45"},
|
1535 |
+
{file = "regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9"},
|
1536 |
+
{file = "regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60"},
|
1537 |
+
{file = "regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a"},
|
1538 |
+
{file = "regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9"},
|
1539 |
+
{file = "regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2"},
|
1540 |
+
{file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4"},
|
1541 |
+
{file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577"},
|
1542 |
+
{file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3"},
|
1543 |
+
{file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e"},
|
1544 |
+
{file = "regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe"},
|
1545 |
+
{file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e"},
|
1546 |
+
{file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29"},
|
1547 |
+
{file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39"},
|
1548 |
+
{file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51"},
|
1549 |
+
{file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad"},
|
1550 |
+
{file = "regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54"},
|
1551 |
+
{file = "regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b"},
|
1552 |
+
{file = "regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84"},
|
1553 |
+
{file = "regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4"},
|
1554 |
+
{file = "regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0"},
|
1555 |
+
{file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0"},
|
1556 |
+
{file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7"},
|
1557 |
+
{file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7"},
|
1558 |
+
{file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c"},
|
1559 |
+
{file = "regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3"},
|
1560 |
+
{file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07"},
|
1561 |
+
{file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e"},
|
1562 |
+
{file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6"},
|
1563 |
+
{file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4"},
|
1564 |
+
{file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d"},
|
1565 |
+
{file = "regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff"},
|
1566 |
+
{file = "regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a"},
|
1567 |
+
{file = "regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b"},
|
1568 |
+
{file = "regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3"},
|
1569 |
+
{file = "regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467"},
|
1570 |
+
{file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd"},
|
1571 |
+
{file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf"},
|
1572 |
+
{file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd"},
|
1573 |
+
{file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6"},
|
1574 |
+
{file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f"},
|
1575 |
+
{file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5"},
|
1576 |
+
{file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df"},
|
1577 |
+
{file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773"},
|
1578 |
+
{file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c"},
|
1579 |
+
{file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc"},
|
1580 |
+
{file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f"},
|
1581 |
+
{file = "regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4"},
|
1582 |
+
{file = "regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001"},
|
1583 |
+
{file = "regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839"},
|
1584 |
+
{file = "regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e"},
|
1585 |
+
{file = "regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf"},
|
1586 |
+
{file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b"},
|
1587 |
+
{file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0"},
|
1588 |
+
{file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b"},
|
1589 |
+
{file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef"},
|
1590 |
+
{file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48"},
|
1591 |
+
{file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13"},
|
1592 |
+
{file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2"},
|
1593 |
+
{file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95"},
|
1594 |
+
{file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9"},
|
1595 |
+
{file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f"},
|
1596 |
+
{file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b"},
|
1597 |
+
{file = "regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57"},
|
1598 |
+
{file = "regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983"},
|
1599 |
+
{file = "regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519"},
|
1600 |
]
|
1601 |
|
1602 |
[[package]]
|
|
|
1622 |
|
1623 |
[[package]]
|
1624 |
name = "rich"
|
1625 |
+
version = "13.9.4"
|
1626 |
description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
|
1627 |
optional = false
|
1628 |
python-versions = ">=3.8.0"
|
1629 |
files = [
|
1630 |
+
{file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"},
|
1631 |
+
{file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"},
|
1632 |
]
|
1633 |
|
1634 |
[package.dependencies]
|
|
|
1641 |
|
1642 |
[[package]]
|
1643 |
name = "ruff"
|
1644 |
+
version = "0.7.3"
|
1645 |
description = "An extremely fast Python linter and code formatter, written in Rust."
|
1646 |
optional = false
|
1647 |
python-versions = ">=3.7"
|
1648 |
files = [
|
1649 |
+
{file = "ruff-0.7.3-py3-none-linux_armv6l.whl", hash = "sha256:34f2339dc22687ec7e7002792d1f50712bf84a13d5152e75712ac08be565d344"},
|
1650 |
+
{file = "ruff-0.7.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:fb397332a1879b9764a3455a0bb1087bda876c2db8aca3a3cbb67b3dbce8cda0"},
|
1651 |
+
{file = "ruff-0.7.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:37d0b619546103274e7f62643d14e1adcbccb242efda4e4bdb9544d7764782e9"},
|
1652 |
+
{file = "ruff-0.7.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d59f0c3ee4d1a6787614e7135b72e21024875266101142a09a61439cb6e38a5"},
|
1653 |
+
{file = "ruff-0.7.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:44eb93c2499a169d49fafd07bc62ac89b1bc800b197e50ff4633aed212569299"},
|
1654 |
+
{file = "ruff-0.7.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d0242ce53f3a576c35ee32d907475a8d569944c0407f91d207c8af5be5dae4e"},
|
1655 |
+
{file = "ruff-0.7.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:6b6224af8b5e09772c2ecb8dc9f3f344c1aa48201c7f07e7315367f6dd90ac29"},
|
1656 |
+
{file = "ruff-0.7.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c50f95a82b94421c964fae4c27c0242890a20fe67d203d127e84fbb8013855f5"},
|
1657 |
+
{file = "ruff-0.7.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f3eff9961b5d2644bcf1616c606e93baa2d6b349e8aa8b035f654df252c8c67"},
|
1658 |
+
{file = "ruff-0.7.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8963cab06d130c4df2fd52c84e9f10d297826d2e8169ae0c798b6221be1d1d2"},
|
1659 |
+
{file = "ruff-0.7.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:61b46049d6edc0e4317fb14b33bd693245281a3007288b68a3f5b74a22a0746d"},
|
1660 |
+
{file = "ruff-0.7.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:10ebce7696afe4644e8c1a23b3cf8c0f2193a310c18387c06e583ae9ef284de2"},
|
1661 |
+
{file = "ruff-0.7.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:3f36d56326b3aef8eeee150b700e519880d1aab92f471eefdef656fd57492aa2"},
|
1662 |
+
{file = "ruff-0.7.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5d024301109a0007b78d57ab0ba190087b43dce852e552734ebf0b0b85e4fb16"},
|
1663 |
+
{file = "ruff-0.7.3-py3-none-win32.whl", hash = "sha256:4ba81a5f0c5478aa61674c5a2194de8b02652f17addf8dfc40c8937e6e7d79fc"},
|
1664 |
+
{file = "ruff-0.7.3-py3-none-win_amd64.whl", hash = "sha256:588a9ff2fecf01025ed065fe28809cd5a53b43505f48b69a1ac7707b1b7e4088"},
|
1665 |
+
{file = "ruff-0.7.3-py3-none-win_arm64.whl", hash = "sha256:1713e2c5545863cdbfe2cbce21f69ffaf37b813bfd1fb3b90dc9a6f1963f5a8c"},
|
1666 |
+
{file = "ruff-0.7.3.tar.gz", hash = "sha256:e1d1ba2e40b6e71a61b063354d04be669ab0d39c352461f3d789cac68b54a313"},
|
1667 |
]
|
1668 |
|
1669 |
[[package]]
|
|
|
1683 |
|
1684 |
[[package]]
|
1685 |
name = "setuptools"
|
1686 |
+
version = "75.3.0"
|
1687 |
description = "Easily download, build, install, upgrade, and uninstall Python packages"
|
1688 |
optional = false
|
1689 |
python-versions = ">=3.8"
|
1690 |
files = [
|
1691 |
+
{file = "setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd"},
|
1692 |
+
{file = "setuptools-75.3.0.tar.gz", hash = "sha256:fba5dd4d766e97be1b1681d98712680ae8f2f26d7881245f2ce9e40714f1a686"},
|
1693 |
]
|
1694 |
|
1695 |
[package.extras]
|
1696 |
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"]
|
1697 |
+
core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"]
|
1698 |
cover = ["pytest-cov"]
|
1699 |
doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
|
1700 |
enabler = ["pytest-enabler (>=2.2)"]
|
1701 |
+
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
|
1702 |
+
type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.12.*)", "pytest-mypy"]
|
1703 |
|
1704 |
[[package]]
|
1705 |
name = "shellingham"
|
|
|
1736 |
|
1737 |
[[package]]
|
1738 |
name = "starlette"
|
1739 |
+
version = "0.41.2"
|
1740 |
description = "The little ASGI library that shines."
|
1741 |
optional = false
|
1742 |
python-versions = ">=3.8"
|
1743 |
files = [
|
1744 |
+
{file = "starlette-0.41.2-py3-none-any.whl", hash = "sha256:fbc189474b4731cf30fcef52f18a8d070e3f3b46c6a04c97579e85e6ffca942d"},
|
1745 |
+
{file = "starlette-0.41.2.tar.gz", hash = "sha256:9834fd799d1a87fd346deb76158668cfa0b0d56f85caefe8268e2d97c3468b62"},
|
1746 |
]
|
1747 |
|
1748 |
[package.dependencies]
|
|
|
1886 |
|
1887 |
[[package]]
|
1888 |
name = "tqdm"
|
1889 |
+
version = "4.67.0"
|
1890 |
description = "Fast, Extensible Progress Meter"
|
1891 |
optional = false
|
1892 |
python-versions = ">=3.7"
|
1893 |
files = [
|
1894 |
+
{file = "tqdm-4.67.0-py3-none-any.whl", hash = "sha256:0cd8af9d56911acab92182e88d763100d4788bdf421d251616040cc4d44863be"},
|
1895 |
+
{file = "tqdm-4.67.0.tar.gz", hash = "sha256:fe5a6f95e6fe0b9755e9469b77b9c3cf850048224ecaa8293d7d2d31f97d869a"},
|
1896 |
]
|
1897 |
|
1898 |
[package.dependencies]
|
|
|
1900 |
|
1901 |
[package.extras]
|
1902 |
dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"]
|
1903 |
+
discord = ["requests"]
|
1904 |
notebook = ["ipywidgets (>=6)"]
|
1905 |
slack = ["slack-sdk"]
|
1906 |
telegram = ["requests"]
|
|
|
1930 |
|
1931 |
[[package]]
|
1932 |
name = "typer"
|
1933 |
+
version = "0.13.0"
|
1934 |
description = "Typer, build great CLIs. Easy to code. Based on Python type hints."
|
1935 |
optional = false
|
1936 |
python-versions = ">=3.7"
|
1937 |
files = [
|
1938 |
+
{file = "typer-0.13.0-py3-none-any.whl", hash = "sha256:d85fe0b777b2517cc99c8055ed735452f2659cd45e451507c76f48ce5c1d00e2"},
|
1939 |
+
{file = "typer-0.13.0.tar.gz", hash = "sha256:f1c7198347939361eec90139ffa0fd8b3df3a2259d5852a0f7400e476d95985c"},
|
1940 |
]
|
1941 |
|
1942 |
[package.dependencies]
|
pyproject.toml
CHANGED
@@ -5,6 +5,7 @@ description = "Get your synchronized subtitiled video in seconds!"
|
|
5 |
authors = ["killian31 <80256683+killian31@users.noreply.github.com>"]
|
6 |
license = "Apache 2.0"
|
7 |
readme = "README.md"
|
|
|
8 |
|
9 |
[tool.poetry.dependencies]
|
10 |
python = ">=3.10,<=3.11.9"
|
|
|
5 |
authors = ["killian31 <80256683+killian31@users.noreply.github.com>"]
|
6 |
license = "Apache 2.0"
|
7 |
readme = "README.md"
|
8 |
+
package-mode = false
|
9 |
|
10 |
[tool.poetry.dependencies]
|
11 |
python = ">=3.10,<=3.11.9"
|