Spaces:
Running
on
Zero
Running
on
Zero
Commit
·
52e44f1
0
Parent(s):
Good first version
Browse files- app.py +159 -0
- dataset.py +46 -0
- labelizer/__init__.py +74 -0
- pdm.lock +1244 -0
- pyproject.toml +15 -0
app.py
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from click import progressbar
|
| 2 |
+
import gradio as gr
|
| 3 |
+
from PIL import Image
|
| 4 |
+
|
| 5 |
+
from dataset import ImageDataset
|
| 6 |
+
from labelizer import get_task_response
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
def auto_label(image):
|
| 10 |
+
text = get_task_response("<MORE_DETAILED_CAPTION>", image)
|
| 11 |
+
return image, text
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
def auto_label_and_update(dataset, im, image_id):
|
| 15 |
+
"""Generate label and return updated dataset."""
|
| 16 |
+
text = get_task_response("<MORE_DETAILED_CAPTION>", im)
|
| 17 |
+
return dataset.update_label(image_id, text)
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
def uploaded(files, current_dataset):
|
| 21 |
+
"""Handle file upload - return new dataset instance."""
|
| 22 |
+
if current_dataset is None:
|
| 23 |
+
current_dataset = ImageDataset()
|
| 24 |
+
return current_dataset.add_images(files)
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
def labelize_all_images(dataset, label, progress=gr.Progress(True)):
|
| 28 |
+
"""Generate labels for all images and return new dataset instance."""
|
| 29 |
+
|
| 30 |
+
# Generate actual labels
|
| 31 |
+
labels_dict = {}
|
| 32 |
+
for imdata in progress.tqdm(dataset.images):
|
| 33 |
+
text = get_task_response("<MORE_DETAILED_CAPTION>", Image.open(imdata["path"]))
|
| 34 |
+
print(text)
|
| 35 |
+
labels_dict[imdata["id"]] = text
|
| 36 |
+
|
| 37 |
+
return dataset.update_all_labels(labels_dict), label
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
def update_buttons_states(dataset):
|
| 41 |
+
count = len(dataset.images)
|
| 42 |
+
return (
|
| 43 |
+
gr.update(interactive=count > 0), # remove all
|
| 44 |
+
gr.update(interactive=count > 0), # label all
|
| 45 |
+
)
|
| 46 |
+
|
| 47 |
+
|
| 48 |
+
CSS = """
|
| 49 |
+
.label_image_box {
|
| 50 |
+
border-radius: 1rem;
|
| 51 |
+
background: var(--panel-background-fill);
|
| 52 |
+
.image-frame img {
|
| 53 |
+
height: 300px;
|
| 54 |
+
max-height: 300px;
|
| 55 |
+
}
|
| 56 |
+
}
|
| 57 |
+
"""
|
| 58 |
+
|
| 59 |
+
with gr.Blocks(title="Labelizer") as demo:
|
| 60 |
+
dataset = gr.State()
|
| 61 |
+
with gr.Sidebar():
|
| 62 |
+
gr.Markdown("# 🖼️ Image Labeling Tool")
|
| 63 |
+
gr.Markdown("Upload images and add labels to build your dataset.")
|
| 64 |
+
upload_button = gr.UploadButton("Upload images", file_count="multiple")
|
| 65 |
+
label_all = gr.Button("Labelize all images", interactive=False)
|
| 66 |
+
is_labeling_in_progress = gr.State(False)
|
| 67 |
+
progressbar = gr.Label("", visible=False, label="Preparing...")
|
| 68 |
+
remove_all = gr.Button("Remove all", interactive=False)
|
| 69 |
+
|
| 70 |
+
@gr.render(inputs=[dataset, is_labeling_in_progress])
|
| 71 |
+
def render_grid(dataset, is_labeling_in_progress):
|
| 72 |
+
if dataset is None:
|
| 73 |
+
return
|
| 74 |
+
cols = 6
|
| 75 |
+
rows = len(dataset.images) // cols
|
| 76 |
+
if len(dataset.images) > cols * rows:
|
| 77 |
+
rows += 1
|
| 78 |
+
current = 0
|
| 79 |
+
for _ in range(rows):
|
| 80 |
+
with gr.Row(equal_height=True):
|
| 81 |
+
for _ in range(cols):
|
| 82 |
+
with gr.Column(variant="compact", elem_classes=["label_image_box"]):
|
| 83 |
+
if current >= len(dataset.images):
|
| 84 |
+
break
|
| 85 |
+
image = gr.Image(
|
| 86 |
+
dataset.images[current]["path"],
|
| 87 |
+
type="pil",
|
| 88 |
+
container=False,
|
| 89 |
+
sources=None,
|
| 90 |
+
buttons=["fullscreen"],
|
| 91 |
+
)
|
| 92 |
+
label = gr.Text(
|
| 93 |
+
dataset.images[current]["label"],
|
| 94 |
+
placeholder="Description...",
|
| 95 |
+
lines=5,
|
| 96 |
+
container=False,
|
| 97 |
+
interactive=not is_labeling_in_progress,
|
| 98 |
+
)
|
| 99 |
+
with gr.Row():
|
| 100 |
+
button = gr.Button(
|
| 101 |
+
"Generate label",
|
| 102 |
+
interactive=not is_labeling_in_progress,
|
| 103 |
+
)
|
| 104 |
+
|
| 105 |
+
button.click(
|
| 106 |
+
auto_label,
|
| 107 |
+
inputs=[image],
|
| 108 |
+
outputs=[image, label],
|
| 109 |
+
)
|
| 110 |
+
|
| 111 |
+
current += 1
|
| 112 |
+
|
| 113 |
+
remove_all.click(lambda: ImageDataset(), inputs=None, outputs=dataset).then(
|
| 114 |
+
update_buttons_states, inputs=dataset, outputs=[remove_all, label_all]
|
| 115 |
+
)
|
| 116 |
+
|
| 117 |
+
upload_button.upload(
|
| 118 |
+
uploaded, inputs=[upload_button, dataset], outputs=dataset
|
| 119 |
+
).then(
|
| 120 |
+
update_buttons_states,
|
| 121 |
+
inputs=dataset,
|
| 122 |
+
outputs=[remove_all, label_all],
|
| 123 |
+
)
|
| 124 |
+
label_all.click(
|
| 125 |
+
fn=lambda: (
|
| 126 |
+
gr.update(interactive=False),
|
| 127 |
+
gr.update(interactive=False),
|
| 128 |
+
gr.update(visible=True),
|
| 129 |
+
True,
|
| 130 |
+
),
|
| 131 |
+
inputs=None,
|
| 132 |
+
outputs=[
|
| 133 |
+
upload_button,
|
| 134 |
+
label_all,
|
| 135 |
+
progressbar,
|
| 136 |
+
is_labeling_in_progress,
|
| 137 |
+
],
|
| 138 |
+
).then(
|
| 139 |
+
fn=labelize_all_images,
|
| 140 |
+
inputs=[dataset, progressbar],
|
| 141 |
+
outputs=[dataset, progressbar],
|
| 142 |
+
).then(
|
| 143 |
+
fn=lambda: (
|
| 144 |
+
gr.update(interactive=True),
|
| 145 |
+
gr.update(interactive=True),
|
| 146 |
+
gr.update(visible=False),
|
| 147 |
+
False,
|
| 148 |
+
),
|
| 149 |
+
inputs=None,
|
| 150 |
+
outputs=[
|
| 151 |
+
upload_button,
|
| 152 |
+
label_all,
|
| 153 |
+
progressbar,
|
| 154 |
+
is_labeling_in_progress,
|
| 155 |
+
],
|
| 156 |
+
)
|
| 157 |
+
|
| 158 |
+
if __name__ == "__main__":
|
| 159 |
+
demo.launch(css=CSS)
|
dataset.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
class ImageDataset:
|
| 2 |
+
def __init__(self, images=None):
|
| 3 |
+
self.images = images if images is not None else []
|
| 4 |
+
|
| 5 |
+
def add_images(self, files):
|
| 6 |
+
"""Return new instance with added images."""
|
| 7 |
+
new_images = self.images.copy()
|
| 8 |
+
for _, file in enumerate(files):
|
| 9 |
+
new_images.append(
|
| 10 |
+
{
|
| 11 |
+
"id": len(new_images),
|
| 12 |
+
"path": file.name,
|
| 13 |
+
"label": "",
|
| 14 |
+
"name": f"Image {len(new_images) + 1}",
|
| 15 |
+
}
|
| 16 |
+
)
|
| 17 |
+
return ImageDataset(new_images)
|
| 18 |
+
|
| 19 |
+
def remove_image(self, image_id):
|
| 20 |
+
"""Return new instance with image removed by ID."""
|
| 21 |
+
new_images = [img for img in self.images if img["id"] != image_id]
|
| 22 |
+
# Reindex remaining images
|
| 23 |
+
for i, img in enumerate(new_images):
|
| 24 |
+
img["id"] = i
|
| 25 |
+
img["name"] = f"Image {i + 1}"
|
| 26 |
+
return ImageDataset(new_images)
|
| 27 |
+
|
| 28 |
+
def update_label(self, image_id, label):
|
| 29 |
+
"""Return new instance with updated label."""
|
| 30 |
+
new_images = []
|
| 31 |
+
for img in self.images:
|
| 32 |
+
new_img = img.copy()
|
| 33 |
+
if new_img["id"] == image_id:
|
| 34 |
+
new_img["label"] = label
|
| 35 |
+
new_images.append(new_img)
|
| 36 |
+
return ImageDataset(new_images)
|
| 37 |
+
|
| 38 |
+
def update_all_labels(self, labels_dict):
|
| 39 |
+
"""Return new instance with all labels updated."""
|
| 40 |
+
new_images = []
|
| 41 |
+
for img in self.images:
|
| 42 |
+
new_img = img.copy()
|
| 43 |
+
if img["id"] in labels_dict:
|
| 44 |
+
new_img["label"] = labels_dict[img["id"]]
|
| 45 |
+
new_images.append(new_img)
|
| 46 |
+
return ImageDataset(new_images)
|
labelizer/__init__.py
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from PIL import Image
|
| 3 |
+
from transformers import Florence2ForConditionalGeneration, Florence2Processor
|
| 4 |
+
|
| 5 |
+
MODEL_ID = "ducviet00/Florence-2-large-hf"
|
| 6 |
+
|
| 7 |
+
# Global variables for lazy loading
|
| 8 |
+
_model = None
|
| 9 |
+
_processor = None
|
| 10 |
+
_device = None
|
| 11 |
+
_torch_dtype = None
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
def _load_model():
|
| 15 |
+
"""Load model and processor lazily"""
|
| 16 |
+
global _model, _processor, _device, _torch_dtype
|
| 17 |
+
|
| 18 |
+
if _model is None:
|
| 19 |
+
_device = "cuda:0" if torch.cuda.is_available() else "cpu"
|
| 20 |
+
_torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
|
| 21 |
+
|
| 22 |
+
print(f"Loading model {MODEL_ID} on {_device} with dtype {_torch_dtype}...")
|
| 23 |
+
_model = Florence2ForConditionalGeneration.from_pretrained(
|
| 24 |
+
MODEL_ID, torch_dtype=_torch_dtype, trust_remote_code=True
|
| 25 |
+
).to(_device) # type: ignore
|
| 26 |
+
_processor = Florence2Processor.from_pretrained(
|
| 27 |
+
MODEL_ID, trust_remote_code=True
|
| 28 |
+
)
|
| 29 |
+
print("Model loaded successfully!")
|
| 30 |
+
|
| 31 |
+
return _model, _processor, _device, _torch_dtype
|
| 32 |
+
|
| 33 |
+
|
| 34 |
+
def get_task_response(task_prompt: str, image: Image.Image, text_input=None):
|
| 35 |
+
"""Return associated task response
|
| 36 |
+
|
| 37 |
+
Task can be:
|
| 38 |
+
'<MORE_DETAILED_CAPTION>'
|
| 39 |
+
'<DETAILED_CAPTION>'
|
| 40 |
+
'<CAPTION>'
|
| 41 |
+
|
| 42 |
+
"""
|
| 43 |
+
# Lazy load model only when needed
|
| 44 |
+
model, processor, device, torch_dtype = _load_model()
|
| 45 |
+
if text_input is None:
|
| 46 |
+
prompt = task_prompt
|
| 47 |
+
else:
|
| 48 |
+
prompt = task_prompt + text_input
|
| 49 |
+
|
| 50 |
+
# Ensure image is in RGB mode
|
| 51 |
+
if image.mode != "RGB":
|
| 52 |
+
image = image.convert("RGB")
|
| 53 |
+
|
| 54 |
+
if processor is None:
|
| 55 |
+
raise ValueError("processor is None")
|
| 56 |
+
inputs = processor(
|
| 57 |
+
text=prompt,
|
| 58 |
+
images=image,
|
| 59 |
+
return_tensors="pt", # type: ignore
|
| 60 |
+
).to(device, torch_dtype)
|
| 61 |
+
|
| 62 |
+
generated_ids = model.generate(
|
| 63 |
+
input_ids=inputs["input_ids"],
|
| 64 |
+
pixel_values=inputs["pixel_values"],
|
| 65 |
+
max_new_tokens=1024,
|
| 66 |
+
num_beams=3,
|
| 67 |
+
)
|
| 68 |
+
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=False)[0]
|
| 69 |
+
|
| 70 |
+
parsed_answer = processor.post_process_generation(
|
| 71 |
+
generated_text, task=task_prompt, image_size=(image.width, image.height)
|
| 72 |
+
)
|
| 73 |
+
|
| 74 |
+
return parsed_answer[task_prompt]
|
pdm.lock
ADDED
|
@@ -0,0 +1,1244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# This file is @generated by PDM.
|
| 2 |
+
# It is not intended for manual editing.
|
| 3 |
+
|
| 4 |
+
[metadata]
|
| 5 |
+
groups = ["default"]
|
| 6 |
+
strategy = ["inherit_metadata"]
|
| 7 |
+
lock_version = "4.5.0"
|
| 8 |
+
content_hash = "sha256:ca1f4cf6df24c991a826baf1788242e48e5c757fc53700048e3bea57b9608ca0"
|
| 9 |
+
|
| 10 |
+
[[metadata.targets]]
|
| 11 |
+
requires_python = "==3.12.*"
|
| 12 |
+
|
| 13 |
+
[[package]]
|
| 14 |
+
name = "aiofiles"
|
| 15 |
+
version = "24.1.0"
|
| 16 |
+
requires_python = ">=3.8"
|
| 17 |
+
summary = "File support for asyncio."
|
| 18 |
+
groups = ["default"]
|
| 19 |
+
files = [
|
| 20 |
+
{file = "aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5"},
|
| 21 |
+
{file = "aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c"},
|
| 22 |
+
]
|
| 23 |
+
|
| 24 |
+
[[package]]
|
| 25 |
+
name = "annotated-doc"
|
| 26 |
+
version = "0.0.4"
|
| 27 |
+
requires_python = ">=3.8"
|
| 28 |
+
summary = "Document parameters, class attributes, return types, and variables inline, with Annotated."
|
| 29 |
+
groups = ["default"]
|
| 30 |
+
files = [
|
| 31 |
+
{file = "annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320"},
|
| 32 |
+
{file = "annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4"},
|
| 33 |
+
]
|
| 34 |
+
|
| 35 |
+
[[package]]
|
| 36 |
+
name = "annotated-types"
|
| 37 |
+
version = "0.7.0"
|
| 38 |
+
requires_python = ">=3.8"
|
| 39 |
+
summary = "Reusable constraint types to use with typing.Annotated"
|
| 40 |
+
groups = ["default"]
|
| 41 |
+
dependencies = [
|
| 42 |
+
"typing-extensions>=4.0.0; python_version < \"3.9\"",
|
| 43 |
+
]
|
| 44 |
+
files = [
|
| 45 |
+
{file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"},
|
| 46 |
+
{file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
|
| 47 |
+
]
|
| 48 |
+
|
| 49 |
+
[[package]]
|
| 50 |
+
name = "anyio"
|
| 51 |
+
version = "4.12.0"
|
| 52 |
+
requires_python = ">=3.9"
|
| 53 |
+
summary = "High-level concurrency and networking framework on top of asyncio or Trio"
|
| 54 |
+
groups = ["default"]
|
| 55 |
+
dependencies = [
|
| 56 |
+
"exceptiongroup>=1.0.2; python_version < \"3.11\"",
|
| 57 |
+
"idna>=2.8",
|
| 58 |
+
"typing-extensions>=4.5; python_version < \"3.13\"",
|
| 59 |
+
]
|
| 60 |
+
files = [
|
| 61 |
+
{file = "anyio-4.12.0-py3-none-any.whl", hash = "sha256:dad2376a628f98eeca4881fc56cd06affd18f659b17a747d3ff0307ced94b1bb"},
|
| 62 |
+
{file = "anyio-4.12.0.tar.gz", hash = "sha256:73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0"},
|
| 63 |
+
]
|
| 64 |
+
|
| 65 |
+
[[package]]
|
| 66 |
+
name = "brotli"
|
| 67 |
+
version = "1.2.0"
|
| 68 |
+
summary = "Python bindings for the Brotli compression library"
|
| 69 |
+
groups = ["default"]
|
| 70 |
+
files = [
|
| 71 |
+
{file = "brotli-1.2.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:35d382625778834a7f3061b15423919aa03e4f5da34ac8e02c074e4b75ab4f84"},
|
| 72 |
+
{file = "brotli-1.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a61c06b334bd99bc5ae84f1eeb36bfe01400264b3c352f968c6e30a10f9d08b"},
|
| 73 |
+
{file = "brotli-1.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:acec55bb7c90f1dfc476126f9711a8e81c9af7fb617409a9ee2953115343f08d"},
|
| 74 |
+
{file = "brotli-1.2.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:260d3692396e1895c5034f204f0db022c056f9e2ac841593a4cf9426e2a3faca"},
|
| 75 |
+
{file = "brotli-1.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:072e7624b1fc4d601036ab3f4f27942ef772887e876beff0301d261210bca97f"},
|
| 76 |
+
{file = "brotli-1.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:adedc4a67e15327dfdd04884873c6d5a01d3e3b6f61406f99b1ed4865a2f6d28"},
|
| 77 |
+
{file = "brotli-1.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7a47ce5c2288702e09dc22a44d0ee6152f2c7eda97b3c8482d826a1f3cfc7da7"},
|
| 78 |
+
{file = "brotli-1.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:af43b8711a8264bb4e7d6d9a6d004c3a2019c04c01127a868709ec29962b6036"},
|
| 79 |
+
{file = "brotli-1.2.0-cp312-cp312-win32.whl", hash = "sha256:e99befa0b48f3cd293dafeacdd0d191804d105d279e0b387a32054c1180f3161"},
|
| 80 |
+
{file = "brotli-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:b35c13ce241abdd44cb8ca70683f20c0c079728a36a996297adb5334adfc1c44"},
|
| 81 |
+
{file = "brotli-1.2.0.tar.gz", hash = "sha256:e310f77e41941c13340a95976fe66a8a95b01e783d430eeaf7a2f87e0a57dd0a"},
|
| 82 |
+
]
|
| 83 |
+
|
| 84 |
+
[[package]]
|
| 85 |
+
name = "certifi"
|
| 86 |
+
version = "2025.11.12"
|
| 87 |
+
requires_python = ">=3.7"
|
| 88 |
+
summary = "Python package for providing Mozilla's CA Bundle."
|
| 89 |
+
groups = ["default"]
|
| 90 |
+
files = [
|
| 91 |
+
{file = "certifi-2025.11.12-py3-none-any.whl", hash = "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b"},
|
| 92 |
+
{file = "certifi-2025.11.12.tar.gz", hash = "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316"},
|
| 93 |
+
]
|
| 94 |
+
|
| 95 |
+
[[package]]
|
| 96 |
+
name = "charset-normalizer"
|
| 97 |
+
version = "3.4.4"
|
| 98 |
+
requires_python = ">=3.7"
|
| 99 |
+
summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
| 100 |
+
groups = ["default"]
|
| 101 |
+
files = [
|
| 102 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394"},
|
| 103 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25"},
|
| 104 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef"},
|
| 105 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d"},
|
| 106 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8"},
|
| 107 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86"},
|
| 108 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a"},
|
| 109 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f"},
|
| 110 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc"},
|
| 111 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf"},
|
| 112 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15"},
|
| 113 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9"},
|
| 114 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0"},
|
| 115 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26"},
|
| 116 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525"},
|
| 117 |
+
{file = "charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3"},
|
| 118 |
+
{file = "charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f"},
|
| 119 |
+
{file = "charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a"},
|
| 120 |
+
]
|
| 121 |
+
|
| 122 |
+
[[package]]
|
| 123 |
+
name = "click"
|
| 124 |
+
version = "8.3.1"
|
| 125 |
+
requires_python = ">=3.10"
|
| 126 |
+
summary = "Composable command line interface toolkit"
|
| 127 |
+
groups = ["default"]
|
| 128 |
+
dependencies = [
|
| 129 |
+
"colorama; platform_system == \"Windows\"",
|
| 130 |
+
]
|
| 131 |
+
files = [
|
| 132 |
+
{file = "click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6"},
|
| 133 |
+
{file = "click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a"},
|
| 134 |
+
]
|
| 135 |
+
|
| 136 |
+
[[package]]
|
| 137 |
+
name = "colorama"
|
| 138 |
+
version = "0.4.6"
|
| 139 |
+
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
| 140 |
+
summary = "Cross-platform colored terminal text."
|
| 141 |
+
groups = ["default"]
|
| 142 |
+
marker = "platform_system == \"Windows\""
|
| 143 |
+
files = [
|
| 144 |
+
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
|
| 145 |
+
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
| 146 |
+
]
|
| 147 |
+
|
| 148 |
+
[[package]]
|
| 149 |
+
name = "fastapi"
|
| 150 |
+
version = "0.124.0"
|
| 151 |
+
requires_python = ">=3.8"
|
| 152 |
+
summary = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
|
| 153 |
+
groups = ["default"]
|
| 154 |
+
dependencies = [
|
| 155 |
+
"annotated-doc>=0.0.2",
|
| 156 |
+
"pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4",
|
| 157 |
+
"starlette<0.51.0,>=0.40.0",
|
| 158 |
+
"typing-extensions>=4.8.0",
|
| 159 |
+
]
|
| 160 |
+
files = [
|
| 161 |
+
{file = "fastapi-0.124.0-py3-none-any.whl", hash = "sha256:91596bdc6dde303c318f06e8d2bc75eafb341fc793a0c9c92c0bc1db1ac52480"},
|
| 162 |
+
{file = "fastapi-0.124.0.tar.gz", hash = "sha256:260cd178ad75e6d259991f2fd9b0fee924b224850079df576a3ba604ce58f4e6"},
|
| 163 |
+
]
|
| 164 |
+
|
| 165 |
+
[[package]]
|
| 166 |
+
name = "ffmpy"
|
| 167 |
+
version = "1.0.0"
|
| 168 |
+
requires_python = ">=3.9"
|
| 169 |
+
summary = "A simple Python wrapper for FFmpeg"
|
| 170 |
+
groups = ["default"]
|
| 171 |
+
files = [
|
| 172 |
+
{file = "ffmpy-1.0.0-py3-none-any.whl", hash = "sha256:5640e5f0fd03fb6236d0e119b16ccf6522db1c826fdf35dcb87087b60fd7504f"},
|
| 173 |
+
{file = "ffmpy-1.0.0.tar.gz", hash = "sha256:b12932e95435c8820f1cd041024402765f821971e4bae753b327fc02a6e12f8b"},
|
| 174 |
+
]
|
| 175 |
+
|
| 176 |
+
[[package]]
|
| 177 |
+
name = "filelock"
|
| 178 |
+
version = "3.20.0"
|
| 179 |
+
requires_python = ">=3.10"
|
| 180 |
+
summary = "A platform independent file lock."
|
| 181 |
+
groups = ["default"]
|
| 182 |
+
files = [
|
| 183 |
+
{file = "filelock-3.20.0-py3-none-any.whl", hash = "sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2"},
|
| 184 |
+
{file = "filelock-3.20.0.tar.gz", hash = "sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4"},
|
| 185 |
+
]
|
| 186 |
+
|
| 187 |
+
[[package]]
|
| 188 |
+
name = "fsspec"
|
| 189 |
+
version = "2025.12.0"
|
| 190 |
+
requires_python = ">=3.10"
|
| 191 |
+
summary = "File-system specification"
|
| 192 |
+
groups = ["default"]
|
| 193 |
+
files = [
|
| 194 |
+
{file = "fsspec-2025.12.0-py3-none-any.whl", hash = "sha256:8bf1fe301b7d8acfa6e8571e3b1c3d158f909666642431cc78a1b7b4dbc5ec5b"},
|
| 195 |
+
{file = "fsspec-2025.12.0.tar.gz", hash = "sha256:c505de011584597b1060ff778bb664c1bc022e87921b0e4f10cc9c44f9635973"},
|
| 196 |
+
]
|
| 197 |
+
|
| 198 |
+
[[package]]
|
| 199 |
+
name = "gradio"
|
| 200 |
+
version = "6.0.2"
|
| 201 |
+
requires_python = ">=3.10"
|
| 202 |
+
summary = "Python library for easily interacting with trained machine learning models"
|
| 203 |
+
groups = ["default"]
|
| 204 |
+
dependencies = [
|
| 205 |
+
"aiofiles<25.0,>=22.0",
|
| 206 |
+
"anyio<5.0,>=3.0",
|
| 207 |
+
"audioop-lts<1.0; python_version >= \"3.13\"",
|
| 208 |
+
"brotli>=1.1.0",
|
| 209 |
+
"fastapi<1.0,>=0.115.2",
|
| 210 |
+
"ffmpy",
|
| 211 |
+
"gradio-client==2.0.1",
|
| 212 |
+
"groovy~=0.1",
|
| 213 |
+
"httpx<1.0,>=0.24.1",
|
| 214 |
+
"huggingface-hub<2.0,>=0.33.5",
|
| 215 |
+
"jinja2<4.0",
|
| 216 |
+
"markupsafe<4.0,>=2.0",
|
| 217 |
+
"numpy<3.0,>=1.0",
|
| 218 |
+
"orjson~=3.0",
|
| 219 |
+
"packaging",
|
| 220 |
+
"pandas<3.0,>=1.0",
|
| 221 |
+
"pillow<13.0,>=8.0",
|
| 222 |
+
"pydantic<=2.12.4,>=2.11.10",
|
| 223 |
+
"pydub",
|
| 224 |
+
"python-multipart>=0.0.18",
|
| 225 |
+
"pyyaml<7.0,>=5.0",
|
| 226 |
+
"safehttpx<0.2.0,>=0.1.7",
|
| 227 |
+
"semantic-version~=2.0",
|
| 228 |
+
"starlette<1.0,>=0.40.0",
|
| 229 |
+
"tomlkit<0.14.0,>=0.12.0",
|
| 230 |
+
"typer<1.0,>=0.12",
|
| 231 |
+
"typing-extensions~=4.0",
|
| 232 |
+
"uvicorn>=0.14.0",
|
| 233 |
+
]
|
| 234 |
+
files = [
|
| 235 |
+
{file = "gradio-6.0.2-py3-none-any.whl", hash = "sha256:bcb8b9d147b313c958f811977527415cfd7871ee9547ccd92ef1911970c49a2c"},
|
| 236 |
+
{file = "gradio-6.0.2.tar.gz", hash = "sha256:e3bb128fd9247a49820048cfb8f5b677b59a0da24f6d81bc990ca1a20eb6d1fb"},
|
| 237 |
+
]
|
| 238 |
+
|
| 239 |
+
[[package]]
|
| 240 |
+
name = "gradio-client"
|
| 241 |
+
version = "2.0.1"
|
| 242 |
+
requires_python = ">=3.10"
|
| 243 |
+
summary = "Python library for easily interacting with trained machine learning models"
|
| 244 |
+
groups = ["default"]
|
| 245 |
+
dependencies = [
|
| 246 |
+
"fsspec",
|
| 247 |
+
"httpx>=0.24.1",
|
| 248 |
+
"huggingface-hub<2.0,>=0.19.3",
|
| 249 |
+
"packaging",
|
| 250 |
+
"typing-extensions~=4.0",
|
| 251 |
+
]
|
| 252 |
+
files = [
|
| 253 |
+
{file = "gradio_client-2.0.1-py3-none-any.whl", hash = "sha256:6322eecb5963a07703306c0b048bb98518063d05ca99a65fe384417188af8c63"},
|
| 254 |
+
{file = "gradio_client-2.0.1.tar.gz", hash = "sha256:087eb50652370747c0ce66cd0ae79ecb49f9682188d5348e279d44602cbc2814"},
|
| 255 |
+
]
|
| 256 |
+
|
| 257 |
+
[[package]]
|
| 258 |
+
name = "groovy"
|
| 259 |
+
version = "0.1.2"
|
| 260 |
+
requires_python = ">3.9"
|
| 261 |
+
summary = "A small Python library created to help developers protect their applications from Server Side Request Forgery (SSRF) attacks."
|
| 262 |
+
groups = ["default"]
|
| 263 |
+
files = [
|
| 264 |
+
{file = "groovy-0.1.2-py3-none-any.whl", hash = "sha256:7f7975bab18c729a257a8b1ae9dcd70b7cafb1720481beae47719af57c35fa64"},
|
| 265 |
+
{file = "groovy-0.1.2.tar.gz", hash = "sha256:25c1dc09b3f9d7e292458aa762c6beb96ea037071bf5e917fc81fb78d2231083"},
|
| 266 |
+
]
|
| 267 |
+
|
| 268 |
+
[[package]]
|
| 269 |
+
name = "h11"
|
| 270 |
+
version = "0.16.0"
|
| 271 |
+
requires_python = ">=3.8"
|
| 272 |
+
summary = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
|
| 273 |
+
groups = ["default"]
|
| 274 |
+
files = [
|
| 275 |
+
{file = "h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86"},
|
| 276 |
+
{file = "h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"},
|
| 277 |
+
]
|
| 278 |
+
|
| 279 |
+
[[package]]
|
| 280 |
+
name = "hf-xet"
|
| 281 |
+
version = "1.2.0"
|
| 282 |
+
requires_python = ">=3.8"
|
| 283 |
+
summary = "Fast transfer of large files with the Hugging Face Hub."
|
| 284 |
+
groups = ["default"]
|
| 285 |
+
marker = "platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\""
|
| 286 |
+
files = [
|
| 287 |
+
{file = "hf_xet-1.2.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:46740d4ac024a7ca9b22bebf77460ff43332868b661186a8e46c227fdae01848"},
|
| 288 |
+
{file = "hf_xet-1.2.0-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:27df617a076420d8845bea087f59303da8be17ed7ec0cd7ee3b9b9f579dff0e4"},
|
| 289 |
+
{file = "hf_xet-1.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3651fd5bfe0281951b988c0facbe726aa5e347b103a675f49a3fa8144c7968fd"},
|
| 290 |
+
{file = "hf_xet-1.2.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d06fa97c8562fb3ee7a378dd9b51e343bc5bc8190254202c9771029152f5e08c"},
|
| 291 |
+
{file = "hf_xet-1.2.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:4c1428c9ae73ec0939410ec73023c4f842927f39db09b063b9482dac5a3bb737"},
|
| 292 |
+
{file = "hf_xet-1.2.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a55558084c16b09b5ed32ab9ed38421e2d87cf3f1f89815764d1177081b99865"},
|
| 293 |
+
{file = "hf_xet-1.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:e6584a52253f72c9f52f9e549d5895ca7a471608495c4ecaa6cc73dba2b24d69"},
|
| 294 |
+
{file = "hf_xet-1.2.0.tar.gz", hash = "sha256:a8c27070ca547293b6890c4bf389f713f80e8c478631432962bb7f4bc0bd7d7f"},
|
| 295 |
+
]
|
| 296 |
+
|
| 297 |
+
[[package]]
|
| 298 |
+
name = "httpcore"
|
| 299 |
+
version = "1.0.9"
|
| 300 |
+
requires_python = ">=3.8"
|
| 301 |
+
summary = "A minimal low-level HTTP client."
|
| 302 |
+
groups = ["default"]
|
| 303 |
+
dependencies = [
|
| 304 |
+
"certifi",
|
| 305 |
+
"h11>=0.16",
|
| 306 |
+
]
|
| 307 |
+
files = [
|
| 308 |
+
{file = "httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55"},
|
| 309 |
+
{file = "httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8"},
|
| 310 |
+
]
|
| 311 |
+
|
| 312 |
+
[[package]]
|
| 313 |
+
name = "httpx"
|
| 314 |
+
version = "0.28.1"
|
| 315 |
+
requires_python = ">=3.8"
|
| 316 |
+
summary = "The next generation HTTP client."
|
| 317 |
+
groups = ["default"]
|
| 318 |
+
dependencies = [
|
| 319 |
+
"anyio",
|
| 320 |
+
"certifi",
|
| 321 |
+
"httpcore==1.*",
|
| 322 |
+
"idna",
|
| 323 |
+
]
|
| 324 |
+
files = [
|
| 325 |
+
{file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"},
|
| 326 |
+
{file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"},
|
| 327 |
+
]
|
| 328 |
+
|
| 329 |
+
[[package]]
|
| 330 |
+
name = "huggingface-hub"
|
| 331 |
+
version = "0.36.0"
|
| 332 |
+
requires_python = ">=3.8.0"
|
| 333 |
+
summary = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
|
| 334 |
+
groups = ["default"]
|
| 335 |
+
dependencies = [
|
| 336 |
+
"filelock",
|
| 337 |
+
"fsspec>=2023.5.0",
|
| 338 |
+
"hf-xet<2.0.0,>=1.1.3; platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\"",
|
| 339 |
+
"packaging>=20.9",
|
| 340 |
+
"pyyaml>=5.1",
|
| 341 |
+
"requests",
|
| 342 |
+
"tqdm>=4.42.1",
|
| 343 |
+
"typing-extensions>=3.7.4.3",
|
| 344 |
+
]
|
| 345 |
+
files = [
|
| 346 |
+
{file = "huggingface_hub-0.36.0-py3-none-any.whl", hash = "sha256:7bcc9ad17d5b3f07b57c78e79d527102d08313caa278a641993acddcb894548d"},
|
| 347 |
+
{file = "huggingface_hub-0.36.0.tar.gz", hash = "sha256:47b3f0e2539c39bf5cde015d63b72ec49baff67b6931c3d97f3f84532e2b8d25"},
|
| 348 |
+
]
|
| 349 |
+
|
| 350 |
+
[[package]]
|
| 351 |
+
name = "idna"
|
| 352 |
+
version = "3.11"
|
| 353 |
+
requires_python = ">=3.8"
|
| 354 |
+
summary = "Internationalized Domain Names in Applications (IDNA)"
|
| 355 |
+
groups = ["default"]
|
| 356 |
+
files = [
|
| 357 |
+
{file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"},
|
| 358 |
+
{file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"},
|
| 359 |
+
]
|
| 360 |
+
|
| 361 |
+
[[package]]
|
| 362 |
+
name = "jinja2"
|
| 363 |
+
version = "3.1.6"
|
| 364 |
+
requires_python = ">=3.7"
|
| 365 |
+
summary = "A very fast and expressive template engine."
|
| 366 |
+
groups = ["default"]
|
| 367 |
+
dependencies = [
|
| 368 |
+
"MarkupSafe>=2.0",
|
| 369 |
+
]
|
| 370 |
+
files = [
|
| 371 |
+
{file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"},
|
| 372 |
+
{file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"},
|
| 373 |
+
]
|
| 374 |
+
|
| 375 |
+
[[package]]
|
| 376 |
+
name = "markdown-it-py"
|
| 377 |
+
version = "4.0.0"
|
| 378 |
+
requires_python = ">=3.10"
|
| 379 |
+
summary = "Python port of markdown-it. Markdown parsing, done right!"
|
| 380 |
+
groups = ["default"]
|
| 381 |
+
dependencies = [
|
| 382 |
+
"mdurl~=0.1",
|
| 383 |
+
]
|
| 384 |
+
files = [
|
| 385 |
+
{file = "markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147"},
|
| 386 |
+
{file = "markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3"},
|
| 387 |
+
]
|
| 388 |
+
|
| 389 |
+
[[package]]
|
| 390 |
+
name = "markupsafe"
|
| 391 |
+
version = "3.0.3"
|
| 392 |
+
requires_python = ">=3.9"
|
| 393 |
+
summary = "Safely add untrusted strings to HTML/XML markup."
|
| 394 |
+
groups = ["default"]
|
| 395 |
+
files = [
|
| 396 |
+
{file = "markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e"},
|
| 397 |
+
{file = "markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce"},
|
| 398 |
+
{file = "markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d"},
|
| 399 |
+
{file = "markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d"},
|
| 400 |
+
{file = "markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a"},
|
| 401 |
+
{file = "markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b"},
|
| 402 |
+
{file = "markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f"},
|
| 403 |
+
{file = "markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b"},
|
| 404 |
+
{file = "markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d"},
|
| 405 |
+
{file = "markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c"},
|
| 406 |
+
{file = "markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f"},
|
| 407 |
+
{file = "markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698"},
|
| 408 |
+
]
|
| 409 |
+
|
| 410 |
+
[[package]]
|
| 411 |
+
name = "mdurl"
|
| 412 |
+
version = "0.1.2"
|
| 413 |
+
requires_python = ">=3.7"
|
| 414 |
+
summary = "Markdown URL utilities"
|
| 415 |
+
groups = ["default"]
|
| 416 |
+
files = [
|
| 417 |
+
{file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"},
|
| 418 |
+
{file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
|
| 419 |
+
]
|
| 420 |
+
|
| 421 |
+
[[package]]
|
| 422 |
+
name = "mpmath"
|
| 423 |
+
version = "1.3.0"
|
| 424 |
+
summary = "Python library for arbitrary-precision floating-point arithmetic"
|
| 425 |
+
groups = ["default"]
|
| 426 |
+
files = [
|
| 427 |
+
{file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"},
|
| 428 |
+
{file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"},
|
| 429 |
+
]
|
| 430 |
+
|
| 431 |
+
[[package]]
|
| 432 |
+
name = "networkx"
|
| 433 |
+
version = "3.6"
|
| 434 |
+
requires_python = ">=3.11"
|
| 435 |
+
summary = "Python package for creating and manipulating graphs and networks"
|
| 436 |
+
groups = ["default"]
|
| 437 |
+
files = [
|
| 438 |
+
{file = "networkx-3.6-py3-none-any.whl", hash = "sha256:cdb395b105806062473d3be36458d8f1459a4e4b98e236a66c3a48996e07684f"},
|
| 439 |
+
{file = "networkx-3.6.tar.gz", hash = "sha256:285276002ad1f7f7da0f7b42f004bcba70d381e936559166363707fdad3d72ad"},
|
| 440 |
+
]
|
| 441 |
+
|
| 442 |
+
[[package]]
|
| 443 |
+
name = "numpy"
|
| 444 |
+
version = "2.3.5"
|
| 445 |
+
requires_python = ">=3.11"
|
| 446 |
+
summary = "Fundamental package for array computing in Python"
|
| 447 |
+
groups = ["default"]
|
| 448 |
+
files = [
|
| 449 |
+
{file = "numpy-2.3.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:74ae7b798248fe62021dbf3c914245ad45d1a6b0cb4a29ecb4b31d0bfbc4cc3e"},
|
| 450 |
+
{file = "numpy-2.3.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ee3888d9ff7c14604052b2ca5535a30216aa0a58e948cdd3eeb8d3415f638769"},
|
| 451 |
+
{file = "numpy-2.3.5-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:612a95a17655e213502f60cfb9bf9408efdc9eb1d5f50535cc6eb365d11b42b5"},
|
| 452 |
+
{file = "numpy-2.3.5-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:3101e5177d114a593d79dd79658650fe28b5a0d8abeb8ce6f437c0e6df5be1a4"},
|
| 453 |
+
{file = "numpy-2.3.5-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b973c57ff8e184109db042c842423ff4f60446239bd585a5131cc47f06f789d"},
|
| 454 |
+
{file = "numpy-2.3.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0d8163f43acde9a73c2a33605353a4f1bc4798745a8b1d73183b28e5b435ae28"},
|
| 455 |
+
{file = "numpy-2.3.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:51c1e14eb1e154ebd80e860722f9e6ed6ec89714ad2db2d3aa33c31d7c12179b"},
|
| 456 |
+
{file = "numpy-2.3.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b46b4ec24f7293f23adcd2d146960559aaf8020213de8ad1909dba6c013bf89c"},
|
| 457 |
+
{file = "numpy-2.3.5-cp312-cp312-win32.whl", hash = "sha256:3997b5b3c9a771e157f9aae01dd579ee35ad7109be18db0e85dbdbe1de06e952"},
|
| 458 |
+
{file = "numpy-2.3.5-cp312-cp312-win_amd64.whl", hash = "sha256:86945f2ee6d10cdfd67bcb4069c1662dd711f7e2a4343db5cecec06b87cf31aa"},
|
| 459 |
+
{file = "numpy-2.3.5-cp312-cp312-win_arm64.whl", hash = "sha256:f28620fe26bee16243be2b7b874da327312240a7cdc38b769a697578d2100013"},
|
| 460 |
+
{file = "numpy-2.3.5.tar.gz", hash = "sha256:784db1dcdab56bf0517743e746dfb0f885fc68d948aba86eeec2cba234bdf1c0"},
|
| 461 |
+
]
|
| 462 |
+
|
| 463 |
+
[[package]]
|
| 464 |
+
name = "nvidia-cublas-cu12"
|
| 465 |
+
version = "12.8.4.1"
|
| 466 |
+
requires_python = ">=3"
|
| 467 |
+
summary = "CUBLAS native runtime libraries"
|
| 468 |
+
groups = ["default"]
|
| 469 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 470 |
+
files = [
|
| 471 |
+
{file = "nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:b86f6dd8935884615a0683b663891d43781b819ac4f2ba2b0c9604676af346d0"},
|
| 472 |
+
{file = "nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:8ac4e771d5a348c551b2a426eda6193c19aa630236b418086020df5ba9667142"},
|
| 473 |
+
{file = "nvidia_cublas_cu12-12.8.4.1-py3-none-win_amd64.whl", hash = "sha256:47e9b82132fa8d2b4944e708049229601448aaad7e6f296f630f2d1a32de35af"},
|
| 474 |
+
]
|
| 475 |
+
|
| 476 |
+
[[package]]
|
| 477 |
+
name = "nvidia-cuda-cupti-cu12"
|
| 478 |
+
version = "12.8.90"
|
| 479 |
+
requires_python = ">=3"
|
| 480 |
+
summary = "CUDA profiling tools runtime libs."
|
| 481 |
+
groups = ["default"]
|
| 482 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 483 |
+
files = [
|
| 484 |
+
{file = "nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4412396548808ddfed3f17a467b104ba7751e6b58678a4b840675c56d21cf7ed"},
|
| 485 |
+
{file = "nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ea0cb07ebda26bb9b29ba82cda34849e73c166c18162d3913575b0c9db9a6182"},
|
| 486 |
+
{file = "nvidia_cuda_cupti_cu12-12.8.90-py3-none-win_amd64.whl", hash = "sha256:bb479dcdf7e6d4f8b0b01b115260399bf34154a1a2e9fe11c85c517d87efd98e"},
|
| 487 |
+
]
|
| 488 |
+
|
| 489 |
+
[[package]]
|
| 490 |
+
name = "nvidia-cuda-nvrtc-cu12"
|
| 491 |
+
version = "12.8.93"
|
| 492 |
+
requires_python = ">=3"
|
| 493 |
+
summary = "NVRTC native runtime libraries"
|
| 494 |
+
groups = ["default"]
|
| 495 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 496 |
+
files = [
|
| 497 |
+
{file = "nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:a7756528852ef889772a84c6cd89d41dfa74667e24cca16bb31f8f061e3e9994"},
|
| 498 |
+
{file = "nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fc1fec1e1637854b4c0a65fb9a8346b51dd9ee69e61ebaccc82058441f15bce8"},
|
| 499 |
+
{file = "nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-win_amd64.whl", hash = "sha256:7a4b6b2904850fe78e0bd179c4b655c404d4bb799ef03ddc60804247099ae909"},
|
| 500 |
+
]
|
| 501 |
+
|
| 502 |
+
[[package]]
|
| 503 |
+
name = "nvidia-cuda-runtime-cu12"
|
| 504 |
+
version = "12.8.90"
|
| 505 |
+
requires_python = ">=3"
|
| 506 |
+
summary = "CUDA Runtime native Libraries"
|
| 507 |
+
groups = ["default"]
|
| 508 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 509 |
+
files = [
|
| 510 |
+
{file = "nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:52bf7bbee900262ffefe5e9d5a2a69a30d97e2bc5bb6cc866688caa976966e3d"},
|
| 511 |
+
{file = "nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adade8dcbd0edf427b7204d480d6066d33902cab2a4707dcfc48a2d0fd44ab90"},
|
| 512 |
+
{file = "nvidia_cuda_runtime_cu12-12.8.90-py3-none-win_amd64.whl", hash = "sha256:c0c6027f01505bfed6c3b21ec546f69c687689aad5f1a377554bc6ca4aa993a8"},
|
| 513 |
+
]
|
| 514 |
+
|
| 515 |
+
[[package]]
|
| 516 |
+
name = "nvidia-cudnn-cu12"
|
| 517 |
+
version = "9.10.2.21"
|
| 518 |
+
requires_python = ">=3"
|
| 519 |
+
summary = "cuDNN runtime libraries"
|
| 520 |
+
groups = ["default"]
|
| 521 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 522 |
+
dependencies = [
|
| 523 |
+
"nvidia-cublas-cu12",
|
| 524 |
+
]
|
| 525 |
+
files = [
|
| 526 |
+
{file = "nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:c9132cc3f8958447b4910a1720036d9eff5928cc3179b0a51fb6d167c6cc87d8"},
|
| 527 |
+
{file = "nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:949452be657fa16687d0930933f032835951ef0892b37d2d53824d1a84dc97a8"},
|
| 528 |
+
{file = "nvidia_cudnn_cu12-9.10.2.21-py3-none-win_amd64.whl", hash = "sha256:c6288de7d63e6cf62988f0923f96dc339cea362decb1bf5b3141883392a7d65e"},
|
| 529 |
+
]
|
| 530 |
+
|
| 531 |
+
[[package]]
|
| 532 |
+
name = "nvidia-cufft-cu12"
|
| 533 |
+
version = "11.3.3.83"
|
| 534 |
+
requires_python = ">=3"
|
| 535 |
+
summary = "CUFFT native runtime libraries"
|
| 536 |
+
groups = ["default"]
|
| 537 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 538 |
+
dependencies = [
|
| 539 |
+
"nvidia-nvjitlink-cu12",
|
| 540 |
+
]
|
| 541 |
+
files = [
|
| 542 |
+
{file = "nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:848ef7224d6305cdb2a4df928759dca7b1201874787083b6e7550dd6765ce69a"},
|
| 543 |
+
{file = "nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d2dd21ec0b88cf61b62e6b43564355e5222e4a3fb394cac0db101f2dd0d4f74"},
|
| 544 |
+
{file = "nvidia_cufft_cu12-11.3.3.83-py3-none-win_amd64.whl", hash = "sha256:7a64a98ef2a7c47f905aaf8931b69a3a43f27c55530c698bb2ed7c75c0b42cb7"},
|
| 545 |
+
]
|
| 546 |
+
|
| 547 |
+
[[package]]
|
| 548 |
+
name = "nvidia-cufile-cu12"
|
| 549 |
+
version = "1.13.1.3"
|
| 550 |
+
requires_python = ">=3"
|
| 551 |
+
summary = "cuFile GPUDirect libraries"
|
| 552 |
+
groups = ["default"]
|
| 553 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 554 |
+
files = [
|
| 555 |
+
{file = "nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d069003be650e131b21c932ec3d8969c1715379251f8d23a1860554b1cb24fc"},
|
| 556 |
+
{file = "nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:4beb6d4cce47c1a0f1013d72e02b0994730359e17801d395bdcbf20cfb3bb00a"},
|
| 557 |
+
]
|
| 558 |
+
|
| 559 |
+
[[package]]
|
| 560 |
+
name = "nvidia-curand-cu12"
|
| 561 |
+
version = "10.3.9.90"
|
| 562 |
+
requires_python = ">=3"
|
| 563 |
+
summary = "CURAND native runtime libraries"
|
| 564 |
+
groups = ["default"]
|
| 565 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 566 |
+
files = [
|
| 567 |
+
{file = "nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:dfab99248034673b779bc6decafdc3404a8a6f502462201f2f31f11354204acd"},
|
| 568 |
+
{file = "nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:b32331d4f4df5d6eefa0554c565b626c7216f87a06a4f56fab27c3b68a830ec9"},
|
| 569 |
+
{file = "nvidia_curand_cu12-10.3.9.90-py3-none-win_amd64.whl", hash = "sha256:f149a8ca457277da854f89cf282d6ef43176861926c7ac85b2a0fbd237c587ec"},
|
| 570 |
+
]
|
| 571 |
+
|
| 572 |
+
[[package]]
|
| 573 |
+
name = "nvidia-cusolver-cu12"
|
| 574 |
+
version = "11.7.3.90"
|
| 575 |
+
requires_python = ">=3"
|
| 576 |
+
summary = "CUDA solver native runtime libraries"
|
| 577 |
+
groups = ["default"]
|
| 578 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 579 |
+
dependencies = [
|
| 580 |
+
"nvidia-cublas-cu12",
|
| 581 |
+
"nvidia-cusparse-cu12",
|
| 582 |
+
"nvidia-nvjitlink-cu12",
|
| 583 |
+
]
|
| 584 |
+
files = [
|
| 585 |
+
{file = "nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:db9ed69dbef9715071232caa9b69c52ac7de3a95773c2db65bdba85916e4e5c0"},
|
| 586 |
+
{file = "nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4376c11ad263152bd50ea295c05370360776f8c3427b30991df774f9fb26c450"},
|
| 587 |
+
{file = "nvidia_cusolver_cu12-11.7.3.90-py3-none-win_amd64.whl", hash = "sha256:4a550db115fcabc4d495eb7d39ac8b58d4ab5d8e63274d3754df1c0ad6a22d34"},
|
| 588 |
+
]
|
| 589 |
+
|
| 590 |
+
[[package]]
|
| 591 |
+
name = "nvidia-cusparse-cu12"
|
| 592 |
+
version = "12.5.8.93"
|
| 593 |
+
requires_python = ">=3"
|
| 594 |
+
summary = "CUSPARSE native runtime libraries"
|
| 595 |
+
groups = ["default"]
|
| 596 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 597 |
+
dependencies = [
|
| 598 |
+
"nvidia-nvjitlink-cu12",
|
| 599 |
+
]
|
| 600 |
+
files = [
|
| 601 |
+
{file = "nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9b6c161cb130be1a07a27ea6923df8141f3c295852f4b260c65f18f3e0a091dc"},
|
| 602 |
+
{file = "nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ec05d76bbbd8b61b06a80e1eaf8cf4959c3d4ce8e711b65ebd0443bb0ebb13b"},
|
| 603 |
+
{file = "nvidia_cusparse_cu12-12.5.8.93-py3-none-win_amd64.whl", hash = "sha256:9a33604331cb2cac199f2e7f5104dfbb8a5a898c367a53dfda9ff2acb6b6b4dd"},
|
| 604 |
+
]
|
| 605 |
+
|
| 606 |
+
[[package]]
|
| 607 |
+
name = "nvidia-cusparselt-cu12"
|
| 608 |
+
version = "0.7.1"
|
| 609 |
+
summary = "NVIDIA cuSPARSELt"
|
| 610 |
+
groups = ["default"]
|
| 611 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 612 |
+
files = [
|
| 613 |
+
{file = "nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8878dce784d0fac90131b6817b607e803c36e629ba34dc5b433471382196b6a5"},
|
| 614 |
+
{file = "nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:f1bb701d6b930d5a7cea44c19ceb973311500847f81b634d802b7b539dc55623"},
|
| 615 |
+
{file = "nvidia_cusparselt_cu12-0.7.1-py3-none-win_amd64.whl", hash = "sha256:f67fbb5831940ec829c9117b7f33807db9f9678dc2a617fbe781cac17b4e1075"},
|
| 616 |
+
]
|
| 617 |
+
|
| 618 |
+
[[package]]
|
| 619 |
+
name = "nvidia-nccl-cu12"
|
| 620 |
+
version = "2.27.5"
|
| 621 |
+
requires_python = ">=3"
|
| 622 |
+
summary = "NVIDIA Collective Communication Library (NCCL) Runtime"
|
| 623 |
+
groups = ["default"]
|
| 624 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 625 |
+
files = [
|
| 626 |
+
{file = "nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:31432ad4d1fb1004eb0c56203dc9bc2178a1ba69d1d9e02d64a6938ab5e40e7a"},
|
| 627 |
+
{file = "nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ad730cf15cb5d25fe849c6e6ca9eb5b76db16a80f13f425ac68d8e2e55624457"},
|
| 628 |
+
]
|
| 629 |
+
|
| 630 |
+
[[package]]
|
| 631 |
+
name = "nvidia-nvjitlink-cu12"
|
| 632 |
+
version = "12.8.93"
|
| 633 |
+
requires_python = ">=3"
|
| 634 |
+
summary = "Nvidia JIT LTO Library"
|
| 635 |
+
groups = ["default"]
|
| 636 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 637 |
+
files = [
|
| 638 |
+
{file = "nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:81ff63371a7ebd6e6451970684f916be2eab07321b73c9d244dc2b4da7f73b88"},
|
| 639 |
+
{file = "nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:adccd7161ace7261e01bb91e44e88da350895c270d23f744f0820c818b7229e7"},
|
| 640 |
+
{file = "nvidia_nvjitlink_cu12-12.8.93-py3-none-win_amd64.whl", hash = "sha256:bd93fbeeee850917903583587f4fc3a4eafa022e34572251368238ab5e6bd67f"},
|
| 641 |
+
]
|
| 642 |
+
|
| 643 |
+
[[package]]
|
| 644 |
+
name = "nvidia-nvshmem-cu12"
|
| 645 |
+
version = "3.3.20"
|
| 646 |
+
requires_python = ">=3"
|
| 647 |
+
summary = "NVSHMEM creates a global address space that provides efficient and scalable communication for NVIDIA GPU clusters."
|
| 648 |
+
groups = ["default"]
|
| 649 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 650 |
+
files = [
|
| 651 |
+
{file = "nvidia_nvshmem_cu12-3.3.20-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b0b960da3842212758e4fa4696b94f129090b30e5122fea3c5345916545cff0"},
|
| 652 |
+
{file = "nvidia_nvshmem_cu12-3.3.20-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d00f26d3f9b2e3c3065be895e3059d6479ea5c638a3f38c9fec49b1b9dd7c1e5"},
|
| 653 |
+
]
|
| 654 |
+
|
| 655 |
+
[[package]]
|
| 656 |
+
name = "nvidia-nvtx-cu12"
|
| 657 |
+
version = "12.8.90"
|
| 658 |
+
requires_python = ">=3"
|
| 659 |
+
summary = "NVIDIA Tools Extension"
|
| 660 |
+
groups = ["default"]
|
| 661 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 662 |
+
files = [
|
| 663 |
+
{file = "nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d7ad891da111ebafbf7e015d34879f7112832fc239ff0d7d776b6cb685274615"},
|
| 664 |
+
{file = "nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5b17e2001cc0d751a5bc2c6ec6d26ad95913324a4adb86788c944f8ce9ba441f"},
|
| 665 |
+
{file = "nvidia_nvtx_cu12-12.8.90-py3-none-win_amd64.whl", hash = "sha256:619c8304aedc69f02ea82dd244541a83c3d9d40993381b3b590f1adaed3db41e"},
|
| 666 |
+
]
|
| 667 |
+
|
| 668 |
+
[[package]]
|
| 669 |
+
name = "orjson"
|
| 670 |
+
version = "3.11.5"
|
| 671 |
+
requires_python = ">=3.9"
|
| 672 |
+
summary = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
|
| 673 |
+
groups = ["default"]
|
| 674 |
+
files = [
|
| 675 |
+
{file = "orjson-3.11.5-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:334e5b4bff9ad101237c2d799d9fd45737752929753bf4faf4b207335a416b7d"},
|
| 676 |
+
{file = "orjson-3.11.5-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:ff770589960a86eae279f5d8aa536196ebda8273a2a07db2a54e82b93bc86626"},
|
| 677 |
+
{file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed24250e55efbcb0b35bed7caaec8cedf858ab2f9f2201f17b8938c618c8ca6f"},
|
| 678 |
+
{file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a66d7769e98a08a12a139049aac2f0ca3adae989817f8c43337455fbc7669b85"},
|
| 679 |
+
{file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:86cfc555bfd5794d24c6a1903e558b50644e5e68e6471d66502ce5cb5fdef3f9"},
|
| 680 |
+
{file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a230065027bc2a025e944f9d4714976a81e7ecfa940923283bca7bbc1f10f626"},
|
| 681 |
+
{file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b29d36b60e606df01959c4b982729c8845c69d1963f88686608be9ced96dbfaa"},
|
| 682 |
+
{file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c74099c6b230d4261fdc3169d50efc09abf38ace1a42ea2f9994b1d79153d477"},
|
| 683 |
+
{file = "orjson-3.11.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e697d06ad57dd0c7a737771d470eedc18e68dfdefcdd3b7de7f33dfda5b6212e"},
|
| 684 |
+
{file = "orjson-3.11.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e08ca8a6c851e95aaecc32bc44a5aa75d0ad26af8cdac7c77e4ed93acf3d5b69"},
|
| 685 |
+
{file = "orjson-3.11.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e8b5f96c05fce7d0218df3fdfeb962d6b8cfff7e3e20264306b46dd8b217c0f3"},
|
| 686 |
+
{file = "orjson-3.11.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ddbfdb5099b3e6ba6d6ea818f61997bb66de14b411357d24c4612cf1ebad08ca"},
|
| 687 |
+
{file = "orjson-3.11.5-cp312-cp312-win32.whl", hash = "sha256:9172578c4eb09dbfcf1657d43198de59b6cef4054de385365060ed50c458ac98"},
|
| 688 |
+
{file = "orjson-3.11.5-cp312-cp312-win_amd64.whl", hash = "sha256:2b91126e7b470ff2e75746f6f6ee32b9ab67b7a93c8ba1d15d3a0caaf16ec875"},
|
| 689 |
+
{file = "orjson-3.11.5-cp312-cp312-win_arm64.whl", hash = "sha256:acbc5fac7e06777555b0722b8ad5f574739e99ffe99467ed63da98f97f9ca0fe"},
|
| 690 |
+
{file = "orjson-3.11.5.tar.gz", hash = "sha256:82393ab47b4fe44ffd0a7659fa9cfaacc717eb617c93cde83795f14af5c2e9d5"},
|
| 691 |
+
]
|
| 692 |
+
|
| 693 |
+
[[package]]
|
| 694 |
+
name = "packaging"
|
| 695 |
+
version = "25.0"
|
| 696 |
+
requires_python = ">=3.8"
|
| 697 |
+
summary = "Core utilities for Python packages"
|
| 698 |
+
groups = ["default"]
|
| 699 |
+
files = [
|
| 700 |
+
{file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"},
|
| 701 |
+
{file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"},
|
| 702 |
+
]
|
| 703 |
+
|
| 704 |
+
[[package]]
|
| 705 |
+
name = "pandas"
|
| 706 |
+
version = "2.3.3"
|
| 707 |
+
requires_python = ">=3.9"
|
| 708 |
+
summary = "Powerful data structures for data analysis, time series, and statistics"
|
| 709 |
+
groups = ["default"]
|
| 710 |
+
dependencies = [
|
| 711 |
+
"numpy>=1.22.4; python_version < \"3.11\"",
|
| 712 |
+
"numpy>=1.23.2; python_version == \"3.11\"",
|
| 713 |
+
"numpy>=1.26.0; python_version >= \"3.12\"",
|
| 714 |
+
"python-dateutil>=2.8.2",
|
| 715 |
+
"pytz>=2020.1",
|
| 716 |
+
"tzdata>=2022.7",
|
| 717 |
+
]
|
| 718 |
+
files = [
|
| 719 |
+
{file = "pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53"},
|
| 720 |
+
{file = "pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35"},
|
| 721 |
+
{file = "pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908"},
|
| 722 |
+
{file = "pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89"},
|
| 723 |
+
{file = "pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98"},
|
| 724 |
+
{file = "pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084"},
|
| 725 |
+
{file = "pandas-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b"},
|
| 726 |
+
{file = "pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b"},
|
| 727 |
+
]
|
| 728 |
+
|
| 729 |
+
[[package]]
|
| 730 |
+
name = "pillow"
|
| 731 |
+
version = "12.0.0"
|
| 732 |
+
requires_python = ">=3.10"
|
| 733 |
+
summary = "Python Imaging Library (fork)"
|
| 734 |
+
groups = ["default"]
|
| 735 |
+
files = [
|
| 736 |
+
{file = "pillow-12.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:53561a4ddc36facb432fae7a9d8afbfaf94795414f5cdc5fc52f28c1dca90371"},
|
| 737 |
+
{file = "pillow-12.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:71db6b4c1653045dacc1585c1b0d184004f0d7e694c7b34ac165ca70c0838082"},
|
| 738 |
+
{file = "pillow-12.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2fa5f0b6716fc88f11380b88b31fe591a06c6315e955c096c35715788b339e3f"},
|
| 739 |
+
{file = "pillow-12.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:82240051c6ca513c616f7f9da06e871f61bfd7805f566275841af15015b8f98d"},
|
| 740 |
+
{file = "pillow-12.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:55f818bd74fe2f11d4d7cbc65880a843c4075e0ac7226bc1a23261dbea531953"},
|
| 741 |
+
{file = "pillow-12.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b87843e225e74576437fd5b6a4c2205d422754f84a06942cfaf1dc32243e45a8"},
|
| 742 |
+
{file = "pillow-12.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c607c90ba67533e1b2355b821fef6764d1dd2cbe26b8c1005ae84f7aea25ff79"},
|
| 743 |
+
{file = "pillow-12.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:21f241bdd5080a15bc86d3466a9f6074a9c2c2b314100dd896ac81ee6db2f1ba"},
|
| 744 |
+
{file = "pillow-12.0.0-cp312-cp312-win32.whl", hash = "sha256:dd333073e0cacdc3089525c7df7d39b211bcdf31fc2824e49d01c6b6187b07d0"},
|
| 745 |
+
{file = "pillow-12.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:9fe611163f6303d1619bbcb653540a4d60f9e55e622d60a3108be0d5b441017a"},
|
| 746 |
+
{file = "pillow-12.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:7dfb439562f234f7d57b1ac6bc8fe7f838a4bd49c79230e0f6a1da93e82f1fad"},
|
| 747 |
+
{file = "pillow-12.0.0.tar.gz", hash = "sha256:87d4f8125c9988bfbed67af47dd7a953e2fc7b0cc1e7800ec6d2080d490bb353"},
|
| 748 |
+
]
|
| 749 |
+
|
| 750 |
+
[[package]]
|
| 751 |
+
name = "pydantic"
|
| 752 |
+
version = "2.12.4"
|
| 753 |
+
requires_python = ">=3.9"
|
| 754 |
+
summary = "Data validation using Python type hints"
|
| 755 |
+
groups = ["default"]
|
| 756 |
+
dependencies = [
|
| 757 |
+
"annotated-types>=0.6.0",
|
| 758 |
+
"pydantic-core==2.41.5",
|
| 759 |
+
"typing-extensions>=4.14.1",
|
| 760 |
+
"typing-inspection>=0.4.2",
|
| 761 |
+
]
|
| 762 |
+
files = [
|
| 763 |
+
{file = "pydantic-2.12.4-py3-none-any.whl", hash = "sha256:92d3d202a745d46f9be6df459ac5a064fdaa3c1c4cd8adcfa332ccf3c05f871e"},
|
| 764 |
+
{file = "pydantic-2.12.4.tar.gz", hash = "sha256:0f8cb9555000a4b5b617f66bfd2566264c4984b27589d3b845685983e8ea85ac"},
|
| 765 |
+
]
|
| 766 |
+
|
| 767 |
+
[[package]]
|
| 768 |
+
name = "pydantic-core"
|
| 769 |
+
version = "2.41.5"
|
| 770 |
+
requires_python = ">=3.9"
|
| 771 |
+
summary = "Core functionality for Pydantic validation and serialization"
|
| 772 |
+
groups = ["default"]
|
| 773 |
+
dependencies = [
|
| 774 |
+
"typing-extensions>=4.14.1",
|
| 775 |
+
]
|
| 776 |
+
files = [
|
| 777 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f41a7489d32336dbf2199c8c0a215390a751c5b014c2c1c5366e817202e9cdf7"},
|
| 778 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:070259a8818988b9a84a449a2a7337c7f430a22acc0859c6b110aa7212a6d9c0"},
|
| 779 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e96cea19e34778f8d59fe40775a7a574d95816eb150850a85a7a4c8f4b94ac69"},
|
| 780 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed2e99c456e3fadd05c991f8f437ef902e00eedf34320ba2b0842bd1c3ca3a75"},
|
| 781 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65840751b72fbfd82c3c640cff9284545342a4f1eb1586ad0636955b261b0b05"},
|
| 782 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e536c98a7626a98feb2d3eaf75944ef6f3dbee447e1f841eae16f2f0a72d8ddc"},
|
| 783 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eceb81a8d74f9267ef4081e246ffd6d129da5d87e37a77c9bde550cb04870c1c"},
|
| 784 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d38548150c39b74aeeb0ce8ee1d8e82696f4a4e16ddc6de7b1d8823f7de4b9b5"},
|
| 785 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c23e27686783f60290e36827f9c626e63154b82b116d7fe9adba1fda36da706c"},
|
| 786 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:482c982f814460eabe1d3bb0adfdc583387bd4691ef00b90575ca0d2b6fe2294"},
|
| 787 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bfea2a5f0b4d8d43adf9d7b8bf019fb46fdd10a2e5cde477fbcb9d1fa08c68e1"},
|
| 788 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-win32.whl", hash = "sha256:b74557b16e390ec12dca509bce9264c3bbd128f8a2c376eaa68003d7f327276d"},
|
| 789 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-win_amd64.whl", hash = "sha256:1962293292865bca8e54702b08a4f26da73adc83dd1fcf26fbc875b35d81c815"},
|
| 790 |
+
{file = "pydantic_core-2.41.5-cp312-cp312-win_arm64.whl", hash = "sha256:1746d4a3d9a794cacae06a5eaaccb4b8643a131d45fbc9af23e353dc0a5ba5c3"},
|
| 791 |
+
{file = "pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e"},
|
| 792 |
+
]
|
| 793 |
+
|
| 794 |
+
[[package]]
|
| 795 |
+
name = "pydub"
|
| 796 |
+
version = "0.25.1"
|
| 797 |
+
summary = "Manipulate audio with an simple and easy high level interface"
|
| 798 |
+
groups = ["default"]
|
| 799 |
+
files = [
|
| 800 |
+
{file = "pydub-0.25.1-py2.py3-none-any.whl", hash = "sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6"},
|
| 801 |
+
{file = "pydub-0.25.1.tar.gz", hash = "sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f"},
|
| 802 |
+
]
|
| 803 |
+
|
| 804 |
+
[[package]]
|
| 805 |
+
name = "pygments"
|
| 806 |
+
version = "2.19.2"
|
| 807 |
+
requires_python = ">=3.8"
|
| 808 |
+
summary = "Pygments is a syntax highlighting package written in Python."
|
| 809 |
+
groups = ["default"]
|
| 810 |
+
files = [
|
| 811 |
+
{file = "pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b"},
|
| 812 |
+
{file = "pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887"},
|
| 813 |
+
]
|
| 814 |
+
|
| 815 |
+
[[package]]
|
| 816 |
+
name = "python-dateutil"
|
| 817 |
+
version = "2.9.0.post0"
|
| 818 |
+
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
| 819 |
+
summary = "Extensions to the standard Python datetime module"
|
| 820 |
+
groups = ["default"]
|
| 821 |
+
dependencies = [
|
| 822 |
+
"six>=1.5",
|
| 823 |
+
]
|
| 824 |
+
files = [
|
| 825 |
+
{file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"},
|
| 826 |
+
{file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"},
|
| 827 |
+
]
|
| 828 |
+
|
| 829 |
+
[[package]]
|
| 830 |
+
name = "python-multipart"
|
| 831 |
+
version = "0.0.20"
|
| 832 |
+
requires_python = ">=3.8"
|
| 833 |
+
summary = "A streaming multipart parser for Python"
|
| 834 |
+
groups = ["default"]
|
| 835 |
+
files = [
|
| 836 |
+
{file = "python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104"},
|
| 837 |
+
{file = "python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13"},
|
| 838 |
+
]
|
| 839 |
+
|
| 840 |
+
[[package]]
|
| 841 |
+
name = "pytz"
|
| 842 |
+
version = "2025.2"
|
| 843 |
+
summary = "World timezone definitions, modern and historical"
|
| 844 |
+
groups = ["default"]
|
| 845 |
+
files = [
|
| 846 |
+
{file = "pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00"},
|
| 847 |
+
{file = "pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3"},
|
| 848 |
+
]
|
| 849 |
+
|
| 850 |
+
[[package]]
|
| 851 |
+
name = "pyyaml"
|
| 852 |
+
version = "6.0.3"
|
| 853 |
+
requires_python = ">=3.8"
|
| 854 |
+
summary = "YAML parser and emitter for Python"
|
| 855 |
+
groups = ["default"]
|
| 856 |
+
files = [
|
| 857 |
+
{file = "pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196"},
|
| 858 |
+
{file = "pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0"},
|
| 859 |
+
{file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28"},
|
| 860 |
+
{file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c"},
|
| 861 |
+
{file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc"},
|
| 862 |
+
{file = "pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e"},
|
| 863 |
+
{file = "pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea"},
|
| 864 |
+
{file = "pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5"},
|
| 865 |
+
{file = "pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b"},
|
| 866 |
+
{file = "pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd"},
|
| 867 |
+
{file = "pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f"},
|
| 868 |
+
]
|
| 869 |
+
|
| 870 |
+
[[package]]
|
| 871 |
+
name = "regex"
|
| 872 |
+
version = "2025.11.3"
|
| 873 |
+
requires_python = ">=3.9"
|
| 874 |
+
summary = "Alternative regular expression module, to replace re."
|
| 875 |
+
groups = ["default"]
|
| 876 |
+
files = [
|
| 877 |
+
{file = "regex-2025.11.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bc8ab71e2e31b16e40868a40a69007bc305e1109bd4658eb6cad007e0bf67c41"},
|
| 878 |
+
{file = "regex-2025.11.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:22b29dda7e1f7062a52359fca6e58e548e28c6686f205e780b02ad8ef710de36"},
|
| 879 |
+
{file = "regex-2025.11.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3a91e4a29938bc1a082cc28fdea44be420bf2bebe2665343029723892eb073e1"},
|
| 880 |
+
{file = "regex-2025.11.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:08b884f4226602ad40c5d55f52bf91a9df30f513864e0054bad40c0e9cf1afb7"},
|
| 881 |
+
{file = "regex-2025.11.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3e0b11b2b2433d1c39c7c7a30e3f3d0aeeea44c2a8d0bae28f6b95f639927a69"},
|
| 882 |
+
{file = "regex-2025.11.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:87eb52a81ef58c7ba4d45c3ca74e12aa4b4e77816f72ca25258a85b3ea96cb48"},
|
| 883 |
+
{file = "regex-2025.11.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a12ab1f5c29b4e93db518f5e3872116b7e9b1646c9f9f426f777b50d44a09e8c"},
|
| 884 |
+
{file = "regex-2025.11.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7521684c8c7c4f6e88e35ec89680ee1aa8358d3f09d27dfbdf62c446f5d4c695"},
|
| 885 |
+
{file = "regex-2025.11.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7fe6e5440584e94cc4b3f5f4d98a25e29ca12dccf8873679a635638349831b98"},
|
| 886 |
+
{file = "regex-2025.11.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8e026094aa12b43f4fd74576714e987803a315c76edb6b098b9809db5de58f74"},
|
| 887 |
+
{file = "regex-2025.11.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:435bbad13e57eb5606a68443af62bed3556de2f46deb9f7d4237bc2f1c9fb3a0"},
|
| 888 |
+
{file = "regex-2025.11.3-cp312-cp312-win32.whl", hash = "sha256:3839967cf4dc4b985e1570fd8d91078f0c519f30491c60f9ac42a8db039be204"},
|
| 889 |
+
{file = "regex-2025.11.3-cp312-cp312-win_amd64.whl", hash = "sha256:e721d1b46e25c481dc5ded6f4b3f66c897c58d2e8cfdf77bbced84339108b0b9"},
|
| 890 |
+
{file = "regex-2025.11.3-cp312-cp312-win_arm64.whl", hash = "sha256:64350685ff08b1d3a6fff33f45a9ca183dc1d58bbfe4981604e70ec9801bbc26"},
|
| 891 |
+
{file = "regex-2025.11.3.tar.gz", hash = "sha256:1fedc720f9bb2494ce31a58a1631f9c82df6a09b49c19517ea5cc280b4541e01"},
|
| 892 |
+
]
|
| 893 |
+
|
| 894 |
+
[[package]]
|
| 895 |
+
name = "requests"
|
| 896 |
+
version = "2.32.5"
|
| 897 |
+
requires_python = ">=3.9"
|
| 898 |
+
summary = "Python HTTP for Humans."
|
| 899 |
+
groups = ["default"]
|
| 900 |
+
dependencies = [
|
| 901 |
+
"certifi>=2017.4.17",
|
| 902 |
+
"charset-normalizer<4,>=2",
|
| 903 |
+
"idna<4,>=2.5",
|
| 904 |
+
"urllib3<3,>=1.21.1",
|
| 905 |
+
]
|
| 906 |
+
files = [
|
| 907 |
+
{file = "requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6"},
|
| 908 |
+
{file = "requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf"},
|
| 909 |
+
]
|
| 910 |
+
|
| 911 |
+
[[package]]
|
| 912 |
+
name = "rich"
|
| 913 |
+
version = "14.2.0"
|
| 914 |
+
requires_python = ">=3.8.0"
|
| 915 |
+
summary = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
|
| 916 |
+
groups = ["default"]
|
| 917 |
+
dependencies = [
|
| 918 |
+
"markdown-it-py>=2.2.0",
|
| 919 |
+
"pygments<3.0.0,>=2.13.0",
|
| 920 |
+
]
|
| 921 |
+
files = [
|
| 922 |
+
{file = "rich-14.2.0-py3-none-any.whl", hash = "sha256:76bc51fe2e57d2b1be1f96c524b890b816e334ab4c1e45888799bfaab0021edd"},
|
| 923 |
+
{file = "rich-14.2.0.tar.gz", hash = "sha256:73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4"},
|
| 924 |
+
]
|
| 925 |
+
|
| 926 |
+
[[package]]
|
| 927 |
+
name = "safehttpx"
|
| 928 |
+
version = "0.1.7"
|
| 929 |
+
requires_python = ">3.9"
|
| 930 |
+
summary = "A small Python library created to help developers protect their applications from Server Side Request Forgery (SSRF) attacks."
|
| 931 |
+
groups = ["default"]
|
| 932 |
+
dependencies = [
|
| 933 |
+
"httpx",
|
| 934 |
+
]
|
| 935 |
+
files = [
|
| 936 |
+
{file = "safehttpx-0.1.7-py3-none-any.whl", hash = "sha256:c4f4a162db6993464d7ca3d7cc4af0ffc6515a606dfd220b9f82c6945d869cde"},
|
| 937 |
+
{file = "safehttpx-0.1.7.tar.gz", hash = "sha256:db201c0978c41eddb8bb480f3eee59dd67304fdd91646035e9d9a720049a9d23"},
|
| 938 |
+
]
|
| 939 |
+
|
| 940 |
+
[[package]]
|
| 941 |
+
name = "safetensors"
|
| 942 |
+
version = "0.7.0"
|
| 943 |
+
requires_python = ">=3.9"
|
| 944 |
+
summary = ""
|
| 945 |
+
groups = ["default"]
|
| 946 |
+
files = [
|
| 947 |
+
{file = "safetensors-0.7.0-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c82f4d474cf725255d9e6acf17252991c3c8aac038d6ef363a4bf8be2f6db517"},
|
| 948 |
+
{file = "safetensors-0.7.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:94fd4858284736bb67a897a41608b5b0c2496c9bdb3bf2af1fa3409127f20d57"},
|
| 949 |
+
{file = "safetensors-0.7.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e07d91d0c92a31200f25351f4acb2bc6aff7f48094e13ebb1d0fb995b54b6542"},
|
| 950 |
+
{file = "safetensors-0.7.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8469155f4cb518bafb4acf4865e8bb9d6804110d2d9bdcaa78564b9fd841e104"},
|
| 951 |
+
{file = "safetensors-0.7.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:54bef08bf00a2bff599982f6b08e8770e09cc012d7bba00783fc7ea38f1fb37d"},
|
| 952 |
+
{file = "safetensors-0.7.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:42cb091236206bb2016d245c377ed383aa7f78691748f3bb6ee1bfa51ae2ce6a"},
|
| 953 |
+
{file = "safetensors-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac7252938f0696ddea46f5e855dd3138444e82236e3be475f54929f0c510d48"},
|
| 954 |
+
{file = "safetensors-0.7.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1d060c70284127fa805085d8f10fbd0962792aed71879d00864acda69dbab981"},
|
| 955 |
+
{file = "safetensors-0.7.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:cdab83a366799fa730f90a4ebb563e494f28e9e92c4819e556152ad55e43591b"},
|
| 956 |
+
{file = "safetensors-0.7.0-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:672132907fcad9f2aedcb705b2d7b3b93354a2aec1b2f706c4db852abe338f85"},
|
| 957 |
+
{file = "safetensors-0.7.0-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:5d72abdb8a4d56d4020713724ba81dac065fedb7f3667151c4a637f1d3fb26c0"},
|
| 958 |
+
{file = "safetensors-0.7.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0f6d66c1c538d5a94a73aa9ddca8ccc4227e6c9ff555322ea40bdd142391dd4"},
|
| 959 |
+
{file = "safetensors-0.7.0-cp38-abi3-win32.whl", hash = "sha256:c74af94bf3ac15ac4d0f2a7c7b4663a15f8c2ab15ed0fc7531ca61d0835eccba"},
|
| 960 |
+
{file = "safetensors-0.7.0-cp38-abi3-win_amd64.whl", hash = "sha256:d1239932053f56f3456f32eb9625590cc7582e905021f94636202a864d470755"},
|
| 961 |
+
{file = "safetensors-0.7.0.tar.gz", hash = "sha256:07663963b67e8bd9f0b8ad15bb9163606cd27cc5a1b96235a50d8369803b96b0"},
|
| 962 |
+
]
|
| 963 |
+
|
| 964 |
+
[[package]]
|
| 965 |
+
name = "semantic-version"
|
| 966 |
+
version = "2.10.0"
|
| 967 |
+
requires_python = ">=2.7"
|
| 968 |
+
summary = "A library implementing the 'SemVer' scheme."
|
| 969 |
+
groups = ["default"]
|
| 970 |
+
files = [
|
| 971 |
+
{file = "semantic_version-2.10.0-py2.py3-none-any.whl", hash = "sha256:de78a3b8e0feda74cabc54aab2da702113e33ac9d9eb9d2389bcf1f58b7d9177"},
|
| 972 |
+
{file = "semantic_version-2.10.0.tar.gz", hash = "sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c"},
|
| 973 |
+
]
|
| 974 |
+
|
| 975 |
+
[[package]]
|
| 976 |
+
name = "setuptools"
|
| 977 |
+
version = "80.9.0"
|
| 978 |
+
requires_python = ">=3.9"
|
| 979 |
+
summary = "Easily download, build, install, upgrade, and uninstall Python packages"
|
| 980 |
+
groups = ["default"]
|
| 981 |
+
marker = "python_version >= \"3.12\""
|
| 982 |
+
files = [
|
| 983 |
+
{file = "setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922"},
|
| 984 |
+
{file = "setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c"},
|
| 985 |
+
]
|
| 986 |
+
|
| 987 |
+
[[package]]
|
| 988 |
+
name = "shellingham"
|
| 989 |
+
version = "1.5.4"
|
| 990 |
+
requires_python = ">=3.7"
|
| 991 |
+
summary = "Tool to Detect Surrounding Shell"
|
| 992 |
+
groups = ["default"]
|
| 993 |
+
files = [
|
| 994 |
+
{file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"},
|
| 995 |
+
{file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"},
|
| 996 |
+
]
|
| 997 |
+
|
| 998 |
+
[[package]]
|
| 999 |
+
name = "six"
|
| 1000 |
+
version = "1.17.0"
|
| 1001 |
+
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
| 1002 |
+
summary = "Python 2 and 3 compatibility utilities"
|
| 1003 |
+
groups = ["default"]
|
| 1004 |
+
files = [
|
| 1005 |
+
{file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"},
|
| 1006 |
+
{file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"},
|
| 1007 |
+
]
|
| 1008 |
+
|
| 1009 |
+
[[package]]
|
| 1010 |
+
name = "starlette"
|
| 1011 |
+
version = "0.50.0"
|
| 1012 |
+
requires_python = ">=3.10"
|
| 1013 |
+
summary = "The little ASGI library that shines."
|
| 1014 |
+
groups = ["default"]
|
| 1015 |
+
dependencies = [
|
| 1016 |
+
"anyio<5,>=3.6.2",
|
| 1017 |
+
"typing-extensions>=4.10.0; python_version < \"3.13\"",
|
| 1018 |
+
]
|
| 1019 |
+
files = [
|
| 1020 |
+
{file = "starlette-0.50.0-py3-none-any.whl", hash = "sha256:9e5391843ec9b6e472eed1365a78c8098cfceb7a74bfd4d6b1c0c0095efb3bca"},
|
| 1021 |
+
{file = "starlette-0.50.0.tar.gz", hash = "sha256:a2a17b22203254bcbc2e1f926d2d55f3f9497f769416b3190768befe598fa3ca"},
|
| 1022 |
+
]
|
| 1023 |
+
|
| 1024 |
+
[[package]]
|
| 1025 |
+
name = "sympy"
|
| 1026 |
+
version = "1.14.0"
|
| 1027 |
+
requires_python = ">=3.9"
|
| 1028 |
+
summary = "Computer algebra system (CAS) in Python"
|
| 1029 |
+
groups = ["default"]
|
| 1030 |
+
dependencies = [
|
| 1031 |
+
"mpmath<1.4,>=1.1.0",
|
| 1032 |
+
]
|
| 1033 |
+
files = [
|
| 1034 |
+
{file = "sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5"},
|
| 1035 |
+
{file = "sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517"},
|
| 1036 |
+
]
|
| 1037 |
+
|
| 1038 |
+
[[package]]
|
| 1039 |
+
name = "tokenizers"
|
| 1040 |
+
version = "0.22.1"
|
| 1041 |
+
requires_python = ">=3.9"
|
| 1042 |
+
summary = ""
|
| 1043 |
+
groups = ["default"]
|
| 1044 |
+
dependencies = [
|
| 1045 |
+
"huggingface-hub<2.0,>=0.16.4",
|
| 1046 |
+
]
|
| 1047 |
+
files = [
|
| 1048 |
+
{file = "tokenizers-0.22.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:59fdb013df17455e5f950b4b834a7b3ee2e0271e6378ccb33aa74d178b513c73"},
|
| 1049 |
+
{file = "tokenizers-0.22.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:8d4e484f7b0827021ac5f9f71d4794aaef62b979ab7608593da22b1d2e3c4edc"},
|
| 1050 |
+
{file = "tokenizers-0.22.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d2962dd28bc67c1f205ab180578a78eef89ac60ca7ef7cbe9635a46a56422a"},
|
| 1051 |
+
{file = "tokenizers-0.22.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:38201f15cdb1f8a6843e6563e6e79f4abd053394992b9bbdf5213ea3469b4ae7"},
|
| 1052 |
+
{file = "tokenizers-0.22.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1cbe5454c9a15df1b3443c726063d930c16f047a3cc724b9e6e1a91140e5a21"},
|
| 1053 |
+
{file = "tokenizers-0.22.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e7d094ae6312d69cc2a872b54b91b309f4f6fbce871ef28eb27b52a98e4d0214"},
|
| 1054 |
+
{file = "tokenizers-0.22.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:afd7594a56656ace95cdd6df4cca2e4059d294c5cfb1679c57824b605556cb2f"},
|
| 1055 |
+
{file = "tokenizers-0.22.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2ef6063d7a84994129732b47e7915e8710f27f99f3a3260b8a38fc7ccd083f4"},
|
| 1056 |
+
{file = "tokenizers-0.22.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ba0a64f450b9ef412c98f6bcd2a50c6df6e2443b560024a09fa6a03189726879"},
|
| 1057 |
+
{file = "tokenizers-0.22.1-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:331d6d149fa9c7d632cde4490fb8bbb12337fa3a0232e77892be656464f4b446"},
|
| 1058 |
+
{file = "tokenizers-0.22.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:607989f2ea68a46cb1dfbaf3e3aabdf3f21d8748312dbeb6263d1b3b66c5010a"},
|
| 1059 |
+
{file = "tokenizers-0.22.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a0f307d490295717726598ef6fa4f24af9d484809223bbc253b201c740a06390"},
|
| 1060 |
+
{file = "tokenizers-0.22.1-cp39-abi3-win32.whl", hash = "sha256:b5120eed1442765cd90b903bb6cfef781fd8fe64e34ccaecbae4c619b7b12a82"},
|
| 1061 |
+
{file = "tokenizers-0.22.1-cp39-abi3-win_amd64.whl", hash = "sha256:65fd6e3fb11ca1e78a6a93602490f134d1fdeb13bcef99389d5102ea318ed138"},
|
| 1062 |
+
{file = "tokenizers-0.22.1.tar.gz", hash = "sha256:61de6522785310a309b3407bac22d99c4db5dba349935e99e4d15ea2226af2d9"},
|
| 1063 |
+
]
|
| 1064 |
+
|
| 1065 |
+
[[package]]
|
| 1066 |
+
name = "tomlkit"
|
| 1067 |
+
version = "0.13.3"
|
| 1068 |
+
requires_python = ">=3.8"
|
| 1069 |
+
summary = "Style preserving TOML library"
|
| 1070 |
+
groups = ["default"]
|
| 1071 |
+
files = [
|
| 1072 |
+
{file = "tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0"},
|
| 1073 |
+
{file = "tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1"},
|
| 1074 |
+
]
|
| 1075 |
+
|
| 1076 |
+
[[package]]
|
| 1077 |
+
name = "torch"
|
| 1078 |
+
version = "2.9.1"
|
| 1079 |
+
requires_python = ">=3.10"
|
| 1080 |
+
summary = "Tensors and Dynamic neural networks in Python with strong GPU acceleration"
|
| 1081 |
+
groups = ["default"]
|
| 1082 |
+
dependencies = [
|
| 1083 |
+
"filelock",
|
| 1084 |
+
"fsspec>=0.8.5",
|
| 1085 |
+
"jinja2",
|
| 1086 |
+
"networkx>=2.5.1",
|
| 1087 |
+
"nvidia-cublas-cu12==12.8.4.1; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1088 |
+
"nvidia-cuda-cupti-cu12==12.8.90; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1089 |
+
"nvidia-cuda-nvrtc-cu12==12.8.93; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1090 |
+
"nvidia-cuda-runtime-cu12==12.8.90; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1091 |
+
"nvidia-cudnn-cu12==9.10.2.21; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1092 |
+
"nvidia-cufft-cu12==11.3.3.83; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1093 |
+
"nvidia-cufile-cu12==1.13.1.3; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1094 |
+
"nvidia-curand-cu12==10.3.9.90; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1095 |
+
"nvidia-cusolver-cu12==11.7.3.90; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1096 |
+
"nvidia-cusparse-cu12==12.5.8.93; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1097 |
+
"nvidia-cusparselt-cu12==0.7.1; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1098 |
+
"nvidia-nccl-cu12==2.27.5; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1099 |
+
"nvidia-nvjitlink-cu12==12.8.93; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1100 |
+
"nvidia-nvshmem-cu12==3.3.20; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1101 |
+
"nvidia-nvtx-cu12==12.8.90; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1102 |
+
"setuptools; python_version >= \"3.12\"",
|
| 1103 |
+
"sympy>=1.13.3",
|
| 1104 |
+
"triton==3.5.1; platform_system == \"Linux\" and platform_machine == \"x86_64\"",
|
| 1105 |
+
"typing-extensions>=4.10.0",
|
| 1106 |
+
]
|
| 1107 |
+
files = [
|
| 1108 |
+
{file = "torch-2.9.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:da5f6f4d7f4940a173e5572791af238cb0b9e21b1aab592bd8b26da4c99f1cd6"},
|
| 1109 |
+
{file = "torch-2.9.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:27331cd902fb4322252657f3902adf1c4f6acad9dcad81d8df3ae14c7c4f07c4"},
|
| 1110 |
+
{file = "torch-2.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:81a285002d7b8cfd3fdf1b98aa8df138d41f1a8334fd9ea37511517cedf43083"},
|
| 1111 |
+
{file = "torch-2.9.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:c0d25d1d8e531b8343bea0ed811d5d528958f1dcbd37e7245bc686273177ad7e"},
|
| 1112 |
+
]
|
| 1113 |
+
|
| 1114 |
+
[[package]]
|
| 1115 |
+
name = "tqdm"
|
| 1116 |
+
version = "4.67.1"
|
| 1117 |
+
requires_python = ">=3.7"
|
| 1118 |
+
summary = "Fast, Extensible Progress Meter"
|
| 1119 |
+
groups = ["default"]
|
| 1120 |
+
dependencies = [
|
| 1121 |
+
"colorama; platform_system == \"Windows\"",
|
| 1122 |
+
]
|
| 1123 |
+
files = [
|
| 1124 |
+
{file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"},
|
| 1125 |
+
{file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"},
|
| 1126 |
+
]
|
| 1127 |
+
|
| 1128 |
+
[[package]]
|
| 1129 |
+
name = "transformers"
|
| 1130 |
+
version = "4.57.3"
|
| 1131 |
+
requires_python = ">=3.9.0"
|
| 1132 |
+
summary = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow"
|
| 1133 |
+
groups = ["default"]
|
| 1134 |
+
dependencies = [
|
| 1135 |
+
"filelock",
|
| 1136 |
+
"huggingface-hub<1.0,>=0.34.0",
|
| 1137 |
+
"numpy>=1.17",
|
| 1138 |
+
"packaging>=20.0",
|
| 1139 |
+
"pyyaml>=5.1",
|
| 1140 |
+
"regex!=2019.12.17",
|
| 1141 |
+
"requests",
|
| 1142 |
+
"safetensors>=0.4.3",
|
| 1143 |
+
"tokenizers<=0.23.0,>=0.22.0",
|
| 1144 |
+
"tqdm>=4.27",
|
| 1145 |
+
]
|
| 1146 |
+
files = [
|
| 1147 |
+
{file = "transformers-4.57.3-py3-none-any.whl", hash = "sha256:c77d353a4851b1880191603d36acb313411d3577f6e2897814f333841f7003f4"},
|
| 1148 |
+
{file = "transformers-4.57.3.tar.gz", hash = "sha256:df4945029aaddd7c09eec5cad851f30662f8bd1746721b34cc031d70c65afebc"},
|
| 1149 |
+
]
|
| 1150 |
+
|
| 1151 |
+
[[package]]
|
| 1152 |
+
name = "triton"
|
| 1153 |
+
version = "3.5.1"
|
| 1154 |
+
requires_python = "<3.15,>=3.10"
|
| 1155 |
+
summary = "A language and compiler for custom Deep Learning operations"
|
| 1156 |
+
groups = ["default"]
|
| 1157 |
+
marker = "platform_system == \"Linux\" and platform_machine == \"x86_64\""
|
| 1158 |
+
dependencies = [
|
| 1159 |
+
"importlib-metadata; python_version < \"3.10\"",
|
| 1160 |
+
]
|
| 1161 |
+
files = [
|
| 1162 |
+
{file = "triton-3.5.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:275a045b6ed670dd1bd005c3e6c2d61846c74c66f4512d6f33cc027b11de8fd4"},
|
| 1163 |
+
{file = "triton-3.5.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d2c6b915a03888ab931a9fd3e55ba36785e1fe70cbea0b40c6ef93b20fc85232"},
|
| 1164 |
+
]
|
| 1165 |
+
|
| 1166 |
+
[[package]]
|
| 1167 |
+
name = "typer"
|
| 1168 |
+
version = "0.20.0"
|
| 1169 |
+
requires_python = ">=3.8"
|
| 1170 |
+
summary = "Typer, build great CLIs. Easy to code. Based on Python type hints."
|
| 1171 |
+
groups = ["default"]
|
| 1172 |
+
dependencies = [
|
| 1173 |
+
"click>=8.0.0",
|
| 1174 |
+
"rich>=10.11.0",
|
| 1175 |
+
"shellingham>=1.3.0",
|
| 1176 |
+
"typing-extensions>=3.7.4.3",
|
| 1177 |
+
]
|
| 1178 |
+
files = [
|
| 1179 |
+
{file = "typer-0.20.0-py3-none-any.whl", hash = "sha256:5b463df6793ec1dca6213a3cf4c0f03bc6e322ac5e16e13ddd622a889489784a"},
|
| 1180 |
+
{file = "typer-0.20.0.tar.gz", hash = "sha256:1aaf6494031793e4876fb0bacfa6a912b551cf43c1e63c800df8b1a866720c37"},
|
| 1181 |
+
]
|
| 1182 |
+
|
| 1183 |
+
[[package]]
|
| 1184 |
+
name = "typing-extensions"
|
| 1185 |
+
version = "4.15.0"
|
| 1186 |
+
requires_python = ">=3.9"
|
| 1187 |
+
summary = "Backported and Experimental Type Hints for Python 3.9+"
|
| 1188 |
+
groups = ["default"]
|
| 1189 |
+
files = [
|
| 1190 |
+
{file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"},
|
| 1191 |
+
{file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"},
|
| 1192 |
+
]
|
| 1193 |
+
|
| 1194 |
+
[[package]]
|
| 1195 |
+
name = "typing-inspection"
|
| 1196 |
+
version = "0.4.2"
|
| 1197 |
+
requires_python = ">=3.9"
|
| 1198 |
+
summary = "Runtime typing introspection tools"
|
| 1199 |
+
groups = ["default"]
|
| 1200 |
+
dependencies = [
|
| 1201 |
+
"typing-extensions>=4.12.0",
|
| 1202 |
+
]
|
| 1203 |
+
files = [
|
| 1204 |
+
{file = "typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7"},
|
| 1205 |
+
{file = "typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464"},
|
| 1206 |
+
]
|
| 1207 |
+
|
| 1208 |
+
[[package]]
|
| 1209 |
+
name = "tzdata"
|
| 1210 |
+
version = "2025.2"
|
| 1211 |
+
requires_python = ">=2"
|
| 1212 |
+
summary = "Provider of IANA time zone data"
|
| 1213 |
+
groups = ["default"]
|
| 1214 |
+
files = [
|
| 1215 |
+
{file = "tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8"},
|
| 1216 |
+
{file = "tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9"},
|
| 1217 |
+
]
|
| 1218 |
+
|
| 1219 |
+
[[package]]
|
| 1220 |
+
name = "urllib3"
|
| 1221 |
+
version = "2.6.0"
|
| 1222 |
+
requires_python = ">=3.9"
|
| 1223 |
+
summary = "HTTP library with thread-safe connection pooling, file post, and more."
|
| 1224 |
+
groups = ["default"]
|
| 1225 |
+
files = [
|
| 1226 |
+
{file = "urllib3-2.6.0-py3-none-any.whl", hash = "sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f"},
|
| 1227 |
+
{file = "urllib3-2.6.0.tar.gz", hash = "sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1"},
|
| 1228 |
+
]
|
| 1229 |
+
|
| 1230 |
+
[[package]]
|
| 1231 |
+
name = "uvicorn"
|
| 1232 |
+
version = "0.38.0"
|
| 1233 |
+
requires_python = ">=3.9"
|
| 1234 |
+
summary = "The lightning-fast ASGI server."
|
| 1235 |
+
groups = ["default"]
|
| 1236 |
+
dependencies = [
|
| 1237 |
+
"click>=7.0",
|
| 1238 |
+
"h11>=0.8",
|
| 1239 |
+
"typing-extensions>=4.0; python_version < \"3.11\"",
|
| 1240 |
+
]
|
| 1241 |
+
files = [
|
| 1242 |
+
{file = "uvicorn-0.38.0-py3-none-any.whl", hash = "sha256:48c0afd214ceb59340075b4a052ea1ee91c16fbc2a9b1469cca0e54566977b02"},
|
| 1243 |
+
{file = "uvicorn-0.38.0.tar.gz", hash = "sha256:fd97093bdd120a2609fc0d3afe931d4d4ad688b6e75f0f929fde1bc36fe0e91d"},
|
| 1244 |
+
]
|
pyproject.toml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[project]
|
| 2 |
+
name = "labelm2"
|
| 3 |
+
version = "0.1.0"
|
| 4 |
+
description = "Default template for PDM package"
|
| 5 |
+
authors = [
|
| 6 |
+
{name = "Patrice Ferlet", email = "[email protected]"},
|
| 7 |
+
]
|
| 8 |
+
dependencies = ["gradio>=6.0.2", "torch>=2.9.1", "transformers>=4.57.3", "pillow>=12.0.0"]
|
| 9 |
+
requires-python = "==3.12.*"
|
| 10 |
+
readme = "README.md"
|
| 11 |
+
license = {text = "MIT"}
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
[tool.pdm]
|
| 15 |
+
distribution = false
|