Spaces:
Running
Running
save
Browse files- app.py +89 -2
- pyproject.toml +2 -1
- requirements.txt +2 -0
- uv.lock +161 -2
app.py
CHANGED
|
@@ -12,10 +12,55 @@ from transformers import (
|
|
| 12 |
AutoModel
|
| 13 |
)
|
| 14 |
import torch
|
|
|
|
|
|
|
|
|
|
| 15 |
|
| 16 |
# --- Helper Functions ---
|
| 17 |
|
| 18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
def get_quantization_recipe(method, model_architecture):
|
| 20 |
"""
|
| 21 |
Returns the appropriate llm-compressor recipe based on the selected method.
|
|
@@ -288,6 +333,7 @@ def compress_and_upload(
|
|
| 288 |
quant_method: str,
|
| 289 |
model_type_selection: str, # New parameter for manual model type selection
|
| 290 |
oauth_token: gr.OAuthToken | None,
|
|
|
|
| 291 |
):
|
| 292 |
"""
|
| 293 |
Compresses a model using llm-compressor and uploads it to a new HF repo.
|
|
@@ -305,39 +351,52 @@ def compress_and_upload(
|
|
| 305 |
username = whoami(token=token)["name"]
|
| 306 |
|
| 307 |
# --- 1. Load Model and Tokenizer ---
|
|
|
|
| 308 |
# Determine the appropriate model class based on the model's configuration or user selection
|
| 309 |
model_class = determine_model_class(model_id, token, model_type_selection)
|
| 310 |
|
| 311 |
try:
|
|
|
|
|
|
|
| 312 |
model = model_class.from_pretrained(
|
| 313 |
model_id, torch_dtype="auto", device_map=None, token=token, trust_remote_code=True
|
| 314 |
)
|
|
|
|
| 315 |
except ValueError as e:
|
| 316 |
if "Unrecognized configuration class" in str(e):
|
| 317 |
# If automatic detection fails, fall back to AutoModel and let transformers handle it
|
| 318 |
print(f"Automatic model class detection failed, falling back to AutoModel: {e}")
|
|
|
|
| 319 |
model = AutoModel.from_pretrained(
|
| 320 |
model_id, torch_dtype="auto", device_map=None, token=token, trust_remote_code=True
|
| 321 |
)
|
|
|
|
| 322 |
else:
|
| 323 |
raise
|
| 324 |
|
| 325 |
output_dir = f"{model_id.split('/')[-1]}-{quant_method}"
|
| 326 |
|
| 327 |
# --- 2. Get Recipe ---
|
|
|
|
| 328 |
if not model.config.architectures:
|
| 329 |
raise gr.Error("Could not determine model architecture.")
|
|
|
|
|
|
|
| 330 |
recipe = get_quantization_recipe(quant_method, model.config.architectures[0])
|
|
|
|
| 331 |
|
| 332 |
# --- 3. Run Compression ---
|
|
|
|
| 333 |
# Determine if this is a Qwen2.5-VL model to use appropriate dataset and data collator
|
| 334 |
if model.config.architectures and "Qwen2_5_VLForConditionalGeneration" in model.config.architectures[0]:
|
| 335 |
# Use a multimodal dataset and data collator for Qwen2.5-VL models
|
| 336 |
try:
|
| 337 |
from datasets import load_dataset
|
|
|
|
| 338 |
# Use a small subset of flickr30k for calibration if available
|
| 339 |
ds = load_dataset("lmms-lab/flickr30k", split="test[:64]")
|
| 340 |
ds = ds.shuffle(seed=42)
|
|
|
|
| 341 |
|
| 342 |
# Define a data collator for multimodal inputs
|
| 343 |
def qwen2_5_vl_data_collator(batch):
|
|
@@ -345,6 +404,7 @@ def compress_and_upload(
|
|
| 345 |
return {key: torch.tensor(value) if isinstance(value, (list, int, float)) else value
|
| 346 |
for key, value in batch[0].items()}
|
| 347 |
|
|
|
|
| 348 |
oneshot(
|
| 349 |
model=model,
|
| 350 |
dataset=ds,
|
|
@@ -355,11 +415,14 @@ def compress_and_upload(
|
|
| 355 |
num_calibration_samples=64,
|
| 356 |
data_collator=qwen2_5_vl_data_collator,
|
| 357 |
)
|
|
|
|
| 358 |
except Exception as e:
|
| 359 |
print(f"Could not load multimodal dataset, falling back to text-only: {e}")
|
|
|
|
| 360 |
# Fall back to text-only dataset - load it properly and pass as dataset
|
| 361 |
from datasets import load_dataset
|
| 362 |
fallback_ds = load_dataset("wikitext", "wikitext-2-raw-v1", split="train[:1%]")
|
|
|
|
| 363 |
oneshot(
|
| 364 |
model=model,
|
| 365 |
dataset=fallback_ds,
|
|
@@ -369,10 +432,13 @@ def compress_and_upload(
|
|
| 369 |
max_seq_length=512,
|
| 370 |
num_calibration_samples=64,
|
| 371 |
)
|
|
|
|
| 372 |
else:
|
| 373 |
# For non-multimodal models, use the original approach
|
| 374 |
from datasets import load_dataset
|
|
|
|
| 375 |
ds = load_dataset("wikitext", "wikitext-2-raw-v1", split="train[:1%]")
|
|
|
|
| 376 |
oneshot(
|
| 377 |
model=model,
|
| 378 |
dataset=ds,
|
|
@@ -382,20 +448,26 @@ def compress_and_upload(
|
|
| 382 |
max_seq_length=512,
|
| 383 |
num_calibration_samples=64,
|
| 384 |
)
|
|
|
|
| 385 |
|
| 386 |
# --- 4. Create Repo and Upload ---
|
|
|
|
| 387 |
api = HfApi(token=token)
|
| 388 |
repo_id = f"{username}/{output_dir}"
|
| 389 |
|
|
|
|
| 390 |
repo_url = api.create_repo(repo_id=repo_id, exist_ok=True)
|
| 391 |
|
|
|
|
| 392 |
api.upload_folder(
|
| 393 |
folder_path=output_dir,
|
| 394 |
repo_id=repo_id,
|
| 395 |
commit_message=f"Upload {quant_method} compressed model",
|
| 396 |
)
|
|
|
|
| 397 |
|
| 398 |
# --- 5. Create Model Card ---
|
|
|
|
| 399 |
card_content = f"""
|
| 400 |
---
|
| 401 |
license: apache-2.0
|
|
@@ -419,6 +491,7 @@ For more details on the recipe used, refer to the `recipe.yaml` file in this rep
|
|
| 419 |
card = ModelCard(card_content)
|
| 420 |
card.push_to_hub(repo_id, token=token)
|
| 421 |
|
|
|
|
| 422 |
return f'<h1>✅ Success!</h1><br/>Model compressed and saved to your new repo: <a href="{repo_url}" target="_blank" style="text-decoration:underline">{repo_id}</a>'
|
| 423 |
|
| 424 |
except gr.Error as e:
|
|
@@ -428,7 +501,6 @@ For more details on the recipe used, refer to the `recipe.yaml` file in this rep
|
|
| 428 |
return f'<h1>❌ ERROR</h1><br/><pre style="white-space:pre-wrap;">{error_message}</pre>'
|
| 429 |
|
| 430 |
|
| 431 |
-
|
| 432 |
# --- Gradio Interface ---
|
| 433 |
def build_gradio_app():
|
| 434 |
with gr.Blocks(css="footer {display: none !important;}") as demo:
|
|
@@ -479,10 +551,25 @@ def build_gradio_app():
|
|
| 479 |
compress_button = gr.Button("Compress and Create Repo", variant="primary")
|
| 480 |
output_html = gr.HTML(label="Result")
|
| 481 |
|
| 482 |
-
|
|
|
|
| 483 |
fn=compress_and_upload,
|
| 484 |
inputs=[model_input, quant_method_dropdown, model_type_dropdown],
|
| 485 |
outputs=output_html,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 486 |
)
|
| 487 |
return demo
|
| 488 |
|
|
|
|
| 12 |
AutoModel
|
| 13 |
)
|
| 14 |
import torch
|
| 15 |
+
import time
|
| 16 |
+
import threading
|
| 17 |
+
from typing import Callable, Optional
|
| 18 |
|
| 19 |
# --- Helper Functions ---
|
| 20 |
|
| 21 |
|
| 22 |
+
class ProgressTracker:
|
| 23 |
+
"""Class to track progress and send updates to the UI"""
|
| 24 |
+
|
| 25 |
+
def __init__(self):
|
| 26 |
+
self.current_stage = 0
|
| 27 |
+
self.total_stages = 5 # Load model, Get recipe, Run compression, Create repo, Create model card
|
| 28 |
+
self.stage_descriptions = [
|
| 29 |
+
"Loading model and tokenizer...",
|
| 30 |
+
"Preparing quantization recipe...",
|
| 31 |
+
"Running quantization compression...",
|
| 32 |
+
"Creating Hugging Face repository and uploading...",
|
| 33 |
+
"Generating model card..."
|
| 34 |
+
]
|
| 35 |
+
self.progress = 0.0
|
| 36 |
+
self.status = ""
|
| 37 |
+
self.lock = threading.Lock()
|
| 38 |
+
|
| 39 |
+
def update_stage(self, stage_idx: int, description: str = ""):
|
| 40 |
+
with self.lock:
|
| 41 |
+
self.current_stage = stage_idx
|
| 42 |
+
self.status = description or self.stage_descriptions[stage_idx]
|
| 43 |
+
# Calculate progress (each stage is 20% of total)
|
| 44 |
+
self.progress = min(100.0, (stage_idx / self.total_stages) * 100)
|
| 45 |
+
|
| 46 |
+
def update_progress(self, current: float, total: float, description: str = ""):
|
| 47 |
+
with self.lock:
|
| 48 |
+
# Calculate progress within the current stage
|
| 49 |
+
stage_progress = (current / total) * (100.0 / self.total_stages)
|
| 50 |
+
self.progress = min(100.0, ((self.current_stage / self.total_stages) * 100) + stage_progress)
|
| 51 |
+
if description:
|
| 52 |
+
self.status = description
|
| 53 |
+
|
| 54 |
+
def get_state(self):
|
| 55 |
+
with self.lock:
|
| 56 |
+
return {
|
| 57 |
+
"progress": self.progress,
|
| 58 |
+
"status": self.status,
|
| 59 |
+
"current_stage": self.current_stage + 1, # 1-indexed for display
|
| 60 |
+
"total_stages": self.total_stages
|
| 61 |
+
}
|
| 62 |
+
|
| 63 |
+
|
| 64 |
def get_quantization_recipe(method, model_architecture):
|
| 65 |
"""
|
| 66 |
Returns the appropriate llm-compressor recipe based on the selected method.
|
|
|
|
| 333 |
quant_method: str,
|
| 334 |
model_type_selection: str, # New parameter for manual model type selection
|
| 335 |
oauth_token: gr.OAuthToken | None,
|
| 336 |
+
progress=gr.Progress() # Gradio progress tracker
|
| 337 |
):
|
| 338 |
"""
|
| 339 |
Compresses a model using llm-compressor and uploads it to a new HF repo.
|
|
|
|
| 351 |
username = whoami(token=token)["name"]
|
| 352 |
|
| 353 |
# --- 1. Load Model and Tokenizer ---
|
| 354 |
+
progress(0, desc="Stage 1/5: Loading model and tokenizer...")
|
| 355 |
# Determine the appropriate model class based on the model's configuration or user selection
|
| 356 |
model_class = determine_model_class(model_id, token, model_type_selection)
|
| 357 |
|
| 358 |
try:
|
| 359 |
+
# Show sub-steps during model loading
|
| 360 |
+
progress(0.05, desc="Stage 1/5: Determining model class...")
|
| 361 |
model = model_class.from_pretrained(
|
| 362 |
model_id, torch_dtype="auto", device_map=None, token=token, trust_remote_code=True
|
| 363 |
)
|
| 364 |
+
progress(0.15, desc="Stage 1/5: Model loaded, loading tokenizer...")
|
| 365 |
except ValueError as e:
|
| 366 |
if "Unrecognized configuration class" in str(e):
|
| 367 |
# If automatic detection fails, fall back to AutoModel and let transformers handle it
|
| 368 |
print(f"Automatic model class detection failed, falling back to AutoModel: {e}")
|
| 369 |
+
progress(0.05, desc="Stage 1/5: Using fallback model class...")
|
| 370 |
model = AutoModel.from_pretrained(
|
| 371 |
model_id, torch_dtype="auto", device_map=None, token=token, trust_remote_code=True
|
| 372 |
)
|
| 373 |
+
progress(0.15, desc="Stage 1/5: Model loaded with fallback class...")
|
| 374 |
else:
|
| 375 |
raise
|
| 376 |
|
| 377 |
output_dir = f"{model_id.split('/')[-1]}-{quant_method}"
|
| 378 |
|
| 379 |
# --- 2. Get Recipe ---
|
| 380 |
+
progress(0.2, desc="Stage 2/5: Preparing quantization recipe...")
|
| 381 |
if not model.config.architectures:
|
| 382 |
raise gr.Error("Could not determine model architecture.")
|
| 383 |
+
|
| 384 |
+
progress(0.25, desc="Stage 2/5: Analyzing model architecture...")
|
| 385 |
recipe = get_quantization_recipe(quant_method, model.config.architectures[0])
|
| 386 |
+
progress(0.3, desc="Stage 2/5: Quantization recipe prepared!")
|
| 387 |
|
| 388 |
# --- 3. Run Compression ---
|
| 389 |
+
progress(0.35, desc="Stage 3/5: Setting up quantization dataset...")
|
| 390 |
# Determine if this is a Qwen2.5-VL model to use appropriate dataset and data collator
|
| 391 |
if model.config.architectures and "Qwen2_5_VLForConditionalGeneration" in model.config.architectures[0]:
|
| 392 |
# Use a multimodal dataset and data collator for Qwen2.5-VL models
|
| 393 |
try:
|
| 394 |
from datasets import load_dataset
|
| 395 |
+
progress(0.36, desc="Stage 3/5: Loading multimodal dataset for Qwen2.5-VL model...")
|
| 396 |
# Use a small subset of flickr30k for calibration if available
|
| 397 |
ds = load_dataset("lmms-lab/flickr30k", split="test[:64]")
|
| 398 |
ds = ds.shuffle(seed=42)
|
| 399 |
+
progress(0.38, desc="Stage 3/5: Dataset loaded, preparing data collator...")
|
| 400 |
|
| 401 |
# Define a data collator for multimodal inputs
|
| 402 |
def qwen2_5_vl_data_collator(batch):
|
|
|
|
| 404 |
return {key: torch.tensor(value) if isinstance(value, (list, int, float)) else value
|
| 405 |
for key, value in batch[0].items()}
|
| 406 |
|
| 407 |
+
progress(0.4, desc="Stage 3/5: Starting quantization process for Qwen2.5-VL model...")
|
| 408 |
oneshot(
|
| 409 |
model=model,
|
| 410 |
dataset=ds,
|
|
|
|
| 415 |
num_calibration_samples=64,
|
| 416 |
data_collator=qwen2_5_vl_data_collator,
|
| 417 |
)
|
| 418 |
+
progress(0.7, desc="Stage 3/5: Qwen2.5-VL quantization completed!")
|
| 419 |
except Exception as e:
|
| 420 |
print(f"Could not load multimodal dataset, falling back to text-only: {e}")
|
| 421 |
+
progress(0.36, desc="Stage 3/5: Multimodal dataset failed, using fallback dataset...")
|
| 422 |
# Fall back to text-only dataset - load it properly and pass as dataset
|
| 423 |
from datasets import load_dataset
|
| 424 |
fallback_ds = load_dataset("wikitext", "wikitext-2-raw-v1", split="train[:1%]")
|
| 425 |
+
progress(0.4, desc="Stage 3/5: Running quantization with fallback dataset...")
|
| 426 |
oneshot(
|
| 427 |
model=model,
|
| 428 |
dataset=fallback_ds,
|
|
|
|
| 432 |
max_seq_length=512,
|
| 433 |
num_calibration_samples=64,
|
| 434 |
)
|
| 435 |
+
progress(0.7, desc="Stage 3/5: Quantization with fallback dataset completed!")
|
| 436 |
else:
|
| 437 |
# For non-multimodal models, use the original approach
|
| 438 |
from datasets import load_dataset
|
| 439 |
+
progress(0.36, desc="Stage 3/5: Loading text dataset...")
|
| 440 |
ds = load_dataset("wikitext", "wikitext-2-raw-v1", split="train[:1%]")
|
| 441 |
+
progress(0.4, desc="Stage 3/5: Starting quantization process for standard model...")
|
| 442 |
oneshot(
|
| 443 |
model=model,
|
| 444 |
dataset=ds,
|
|
|
|
| 448 |
max_seq_length=512,
|
| 449 |
num_calibration_samples=64,
|
| 450 |
)
|
| 451 |
+
progress(0.7, desc="Stage 3/5: Quantization completed!")
|
| 452 |
|
| 453 |
# --- 4. Create Repo and Upload ---
|
| 454 |
+
progress(0.75, desc="Stage 4/5: Preparing Hugging Face repository...")
|
| 455 |
api = HfApi(token=token)
|
| 456 |
repo_id = f"{username}/{output_dir}"
|
| 457 |
|
| 458 |
+
progress(0.78, desc="Stage 4/5: Creating repository...")
|
| 459 |
repo_url = api.create_repo(repo_id=repo_id, exist_ok=True)
|
| 460 |
|
| 461 |
+
progress(0.8, desc="Stage 4/5: Uploading model files...")
|
| 462 |
api.upload_folder(
|
| 463 |
folder_path=output_dir,
|
| 464 |
repo_id=repo_id,
|
| 465 |
commit_message=f"Upload {quant_method} compressed model",
|
| 466 |
)
|
| 467 |
+
progress(0.9, desc="Stage 4/5: Upload completed!")
|
| 468 |
|
| 469 |
# --- 5. Create Model Card ---
|
| 470 |
+
progress(0.95, desc="Stage 5/5: Generating model card...")
|
| 471 |
card_content = f"""
|
| 472 |
---
|
| 473 |
license: apache-2.0
|
|
|
|
| 491 |
card = ModelCard(card_content)
|
| 492 |
card.push_to_hub(repo_id, token=token)
|
| 493 |
|
| 494 |
+
progress(1.0, desc="✅ All stages completed! Your compressed model is ready.")
|
| 495 |
return f'<h1>✅ Success!</h1><br/>Model compressed and saved to your new repo: <a href="{repo_url}" target="_blank" style="text-decoration:underline">{repo_id}</a>'
|
| 496 |
|
| 497 |
except gr.Error as e:
|
|
|
|
| 501 |
return f'<h1>❌ ERROR</h1><br/><pre style="white-space:pre-wrap;">{error_message}</pre>'
|
| 502 |
|
| 503 |
|
|
|
|
| 504 |
# --- Gradio Interface ---
|
| 505 |
def build_gradio_app():
|
| 506 |
with gr.Blocks(css="footer {display: none !important;}") as demo:
|
|
|
|
| 551 |
compress_button = gr.Button("Compress and Create Repo", variant="primary")
|
| 552 |
output_html = gr.HTML(label="Result")
|
| 553 |
|
| 554 |
+
# Create the event handler with updates to disable button during processing
|
| 555 |
+
btn_click = compress_button.click(
|
| 556 |
fn=compress_and_upload,
|
| 557 |
inputs=[model_input, quant_method_dropdown, model_type_dropdown],
|
| 558 |
outputs=output_html,
|
| 559 |
+
show_progress=True # Show built-in progress bar
|
| 560 |
+
)
|
| 561 |
+
|
| 562 |
+
# Disable button during processing then re-enable it afterward
|
| 563 |
+
btn_click.then(
|
| 564 |
+
fn=lambda: gr.Button(interactive=False, value="Processing..."),
|
| 565 |
+
inputs=[],
|
| 566 |
+
outputs=[compress_button],
|
| 567 |
+
queue=False
|
| 568 |
+
).then(
|
| 569 |
+
fn=lambda: gr.Button(interactive=True, value="Compress and Create Repo"),
|
| 570 |
+
inputs=[],
|
| 571 |
+
outputs=[compress_button],
|
| 572 |
+
queue=False
|
| 573 |
)
|
| 574 |
return demo
|
| 575 |
|
pyproject.toml
CHANGED
|
@@ -3,10 +3,11 @@ name = "llm-compressor-my-repo"
|
|
| 3 |
version = "0.1.0"
|
| 4 |
requires-python = ">=3.13"
|
| 5 |
dependencies = [
|
| 6 |
-
"gradio>=5.50.0",
|
| 7 |
"gradio-huggingfacehub-search>=0.0.12",
|
|
|
|
| 8 |
"llmcompressor>=0.8.1",
|
| 9 |
"torch<=2.8.0",
|
|
|
|
| 10 |
]
|
| 11 |
|
| 12 |
#[tool.uv.sources]
|
|
|
|
| 3 |
version = "0.1.0"
|
| 4 |
requires-python = ">=3.13"
|
| 5 |
dependencies = [
|
|
|
|
| 6 |
"gradio-huggingfacehub-search>=0.0.12",
|
| 7 |
+
"gradio[oauth]>=5.50.0",
|
| 8 |
"llmcompressor>=0.8.1",
|
| 9 |
"torch<=2.8.0",
|
| 10 |
+
"torchvision<=2.8.0",
|
| 11 |
]
|
| 12 |
|
| 13 |
#[tool.uv.sources]
|
requirements.txt
CHANGED
|
@@ -8,3 +8,5 @@ llmcompressor==0.8.1
|
|
| 8 |
# via llm-compressor-my-repo (pyproject.toml)
|
| 9 |
torch==2.8.0
|
| 10 |
# via llm-compressor-my-repo (pyproject.toml)
|
|
|
|
|
|
|
|
|
| 8 |
# via llm-compressor-my-repo (pyproject.toml)
|
| 9 |
torch==2.8.0
|
| 10 |
# via llm-compressor-my-repo (pyproject.toml)
|
| 11 |
+
torchvision==0.24.1
|
| 12 |
+
# via llm-compressor-my-repo (pyproject.toml)
|
uv.lock
CHANGED
|
@@ -213,6 +213,18 @@ wheels = [
|
|
| 213 |
{ url = "https://files.pythonhosted.org/packages/f6/22/91616fe707a5c5510de2cac9b046a30defe7007ba8a0c04f9c08f27df312/audioop_lts-0.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:b492c3b040153e68b9fdaff5913305aaaba5bb433d8a7f73d5cf6a64ed3cc1dd", size = 25206, upload-time = "2025-08-05T16:43:16.444Z" },
|
| 214 |
]
|
| 215 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 216 |
[[package]]
|
| 217 |
name = "brotli"
|
| 218 |
version = "1.2.0"
|
|
@@ -250,6 +262,51 @@ wheels = [
|
|
| 250 |
{ url = "https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl", hash = "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", size = 159438, upload-time = "2025-11-12T02:54:49.735Z" },
|
| 251 |
]
|
| 252 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 253 |
[[package]]
|
| 254 |
name = "charset-normalizer"
|
| 255 |
version = "3.4.4"
|
|
@@ -327,6 +384,62 @@ wheels = [
|
|
| 327 |
{ url = "https://files.pythonhosted.org/packages/f0/c0/1695b87d369e6652ec0d650912e02eca2151c5e9c29244f94d2afccfe970/compressed_tensors-0.12.2-py3-none-any.whl", hash = "sha256:e554ea761710ca2b0c0ea49276a4ef8e08658624f1591e6a7368817106b48fbe", size = 183049, upload-time = "2025-10-07T14:30:56.523Z" },
|
| 328 |
]
|
| 329 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 330 |
[[package]]
|
| 331 |
name = "datasets"
|
| 332 |
version = "4.1.1"
|
|
@@ -519,6 +632,12 @@ wheels = [
|
|
| 519 |
{ url = "https://files.pythonhosted.org/packages/22/04/8daf96bd6d2470f03e2a15a9fc900c7ecf6549619173f16c5944c7ec15a7/gradio-5.50.0-py3-none-any.whl", hash = "sha256:d06770d57cdda9b703ef9cf767ac93a890a0e12d82679a310eef74203a3673f4", size = 63530991, upload-time = "2025-11-21T18:07:19.239Z" },
|
| 520 |
]
|
| 521 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 522 |
[[package]]
|
| 523 |
name = "gradio-client"
|
| 524 |
version = "1.14.0"
|
|
@@ -650,6 +769,15 @@ wheels = [
|
|
| 650 |
{ url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" },
|
| 651 |
]
|
| 652 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 653 |
[[package]]
|
| 654 |
name = "jinja2"
|
| 655 |
version = "3.1.6"
|
|
@@ -667,18 +795,20 @@ name = "llm-compressor-my-repo"
|
|
| 667 |
version = "0.1.0"
|
| 668 |
source = { virtual = "." }
|
| 669 |
dependencies = [
|
| 670 |
-
{ name = "gradio" },
|
| 671 |
{ name = "gradio-huggingfacehub-search" },
|
| 672 |
{ name = "llmcompressor" },
|
| 673 |
{ name = "torch" },
|
|
|
|
| 674 |
]
|
| 675 |
|
| 676 |
[package.metadata]
|
| 677 |
requires-dist = [
|
| 678 |
-
{ name = "gradio", specifier = ">=5.50.0" },
|
| 679 |
{ name = "gradio-huggingfacehub-search", specifier = ">=0.0.12" },
|
| 680 |
{ name = "llmcompressor", specifier = ">=0.8.1" },
|
| 681 |
{ name = "torch", specifier = "<=2.8.0" },
|
|
|
|
| 682 |
]
|
| 683 |
|
| 684 |
[[package]]
|
|
@@ -1365,6 +1495,15 @@ wheels = [
|
|
| 1365 |
{ url = "https://files.pythonhosted.org/packages/7b/03/f335d6c52b4a4761bcc83499789a1e2e16d9d201a58c327a9b5cc9a41bd9/pyarrow-22.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:0c34fe18094686194f204a3b1787a27456897d8a2d62caf84b61e8dfbc0252ae", size = 29185594, upload-time = "2025-10-24T10:09:53.111Z" },
|
| 1366 |
]
|
| 1367 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1368 |
[[package]]
|
| 1369 |
name = "pydantic"
|
| 1370 |
version = "2.12.3"
|
|
@@ -1798,6 +1937,26 @@ wheels = [
|
|
| 1798 |
{ url = "https://files.pythonhosted.org/packages/04/6e/650bb7f28f771af0cb791b02348db8b7f5f64f40f6829ee82aa6ce99aabe/torch-2.8.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:7b677e17f5a3e69fdef7eb3b9da72622f8d322692930297e4ccb52fefc6c8211", size = 73632395, upload-time = "2025-08-06T14:55:28.645Z" },
|
| 1799 |
]
|
| 1800 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1801 |
[[package]]
|
| 1802 |
name = "tqdm"
|
| 1803 |
version = "4.67.1"
|
|
|
|
| 213 |
{ url = "https://files.pythonhosted.org/packages/f6/22/91616fe707a5c5510de2cac9b046a30defe7007ba8a0c04f9c08f27df312/audioop_lts-0.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:b492c3b040153e68b9fdaff5913305aaaba5bb433d8a7f73d5cf6a64ed3cc1dd", size = 25206, upload-time = "2025-08-05T16:43:16.444Z" },
|
| 214 |
]
|
| 215 |
|
| 216 |
+
[[package]]
|
| 217 |
+
name = "authlib"
|
| 218 |
+
version = "1.6.5"
|
| 219 |
+
source = { registry = "https://pypi.org/simple" }
|
| 220 |
+
dependencies = [
|
| 221 |
+
{ name = "cryptography" },
|
| 222 |
+
]
|
| 223 |
+
sdist = { url = "https://files.pythonhosted.org/packages/cd/3f/1d3bbd0bf23bdd99276d4def22f29c27a914067b4cf66f753ff9b8bbd0f3/authlib-1.6.5.tar.gz", hash = "sha256:6aaf9c79b7cc96c900f0b284061691c5d4e61221640a948fe690b556a6d6d10b", size = 164553, upload-time = "2025-10-02T13:36:09.489Z" }
|
| 224 |
+
wheels = [
|
| 225 |
+
{ url = "https://files.pythonhosted.org/packages/f8/aa/5082412d1ee302e9e7d80b6949bc4d2a8fa1149aaab610c5fc24709605d6/authlib-1.6.5-py2.py3-none-any.whl", hash = "sha256:3e0e0507807f842b02175507bdee8957a1d5707fd4afb17c32fb43fee90b6e3a", size = 243608, upload-time = "2025-10-02T13:36:07.637Z" },
|
| 226 |
+
]
|
| 227 |
+
|
| 228 |
[[package]]
|
| 229 |
name = "brotli"
|
| 230 |
version = "1.2.0"
|
|
|
|
| 262 |
{ url = "https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl", hash = "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", size = 159438, upload-time = "2025-11-12T02:54:49.735Z" },
|
| 263 |
]
|
| 264 |
|
| 265 |
+
[[package]]
|
| 266 |
+
name = "cffi"
|
| 267 |
+
version = "2.0.0"
|
| 268 |
+
source = { registry = "https://pypi.org/simple" }
|
| 269 |
+
dependencies = [
|
| 270 |
+
{ name = "pycparser", marker = "implementation_name != 'PyPy'" },
|
| 271 |
+
]
|
| 272 |
+
sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" }
|
| 273 |
+
wheels = [
|
| 274 |
+
{ url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" },
|
| 275 |
+
{ url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" },
|
| 276 |
+
{ url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" },
|
| 277 |
+
{ url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" },
|
| 278 |
+
{ url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" },
|
| 279 |
+
{ url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" },
|
| 280 |
+
{ url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" },
|
| 281 |
+
{ url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" },
|
| 282 |
+
{ url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" },
|
| 283 |
+
{ url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" },
|
| 284 |
+
{ url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" },
|
| 285 |
+
{ url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" },
|
| 286 |
+
{ url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" },
|
| 287 |
+
{ url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" },
|
| 288 |
+
{ url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" },
|
| 289 |
+
{ url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" },
|
| 290 |
+
{ url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" },
|
| 291 |
+
{ url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" },
|
| 292 |
+
{ url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" },
|
| 293 |
+
{ url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" },
|
| 294 |
+
{ url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" },
|
| 295 |
+
{ url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" },
|
| 296 |
+
{ url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" },
|
| 297 |
+
{ url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" },
|
| 298 |
+
{ url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" },
|
| 299 |
+
{ url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" },
|
| 300 |
+
{ url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" },
|
| 301 |
+
{ url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" },
|
| 302 |
+
{ url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" },
|
| 303 |
+
{ url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" },
|
| 304 |
+
{ url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" },
|
| 305 |
+
{ url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" },
|
| 306 |
+
{ url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" },
|
| 307 |
+
{ url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" },
|
| 308 |
+
]
|
| 309 |
+
|
| 310 |
[[package]]
|
| 311 |
name = "charset-normalizer"
|
| 312 |
version = "3.4.4"
|
|
|
|
| 384 |
{ url = "https://files.pythonhosted.org/packages/f0/c0/1695b87d369e6652ec0d650912e02eca2151c5e9c29244f94d2afccfe970/compressed_tensors-0.12.2-py3-none-any.whl", hash = "sha256:e554ea761710ca2b0c0ea49276a4ef8e08658624f1591e6a7368817106b48fbe", size = 183049, upload-time = "2025-10-07T14:30:56.523Z" },
|
| 385 |
]
|
| 386 |
|
| 387 |
+
[[package]]
|
| 388 |
+
name = "cryptography"
|
| 389 |
+
version = "46.0.3"
|
| 390 |
+
source = { registry = "https://pypi.org/simple" }
|
| 391 |
+
dependencies = [
|
| 392 |
+
{ name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
|
| 393 |
+
]
|
| 394 |
+
sdist = { url = "https://files.pythonhosted.org/packages/9f/33/c00162f49c0e2fe8064a62cb92b93e50c74a72bc370ab92f86112b33ff62/cryptography-46.0.3.tar.gz", hash = "sha256:a8b17438104fed022ce745b362294d9ce35b4c2e45c1d958ad4a4b019285f4a1", size = 749258, upload-time = "2025-10-15T23:18:31.74Z" }
|
| 395 |
+
wheels = [
|
| 396 |
+
{ url = "https://files.pythonhosted.org/packages/1d/42/9c391dd801d6cf0d561b5890549d4b27bafcc53b39c31a817e69d87c625b/cryptography-46.0.3-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:109d4ddfadf17e8e7779c39f9b18111a09efb969a301a31e987416a0191ed93a", size = 7225004, upload-time = "2025-10-15T23:16:52.239Z" },
|
| 397 |
+
{ url = "https://files.pythonhosted.org/packages/1c/67/38769ca6b65f07461eb200e85fc1639b438bdc667be02cf7f2cd6a64601c/cryptography-46.0.3-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:09859af8466b69bc3c27bdf4f5d84a665e0f7ab5088412e9e2ec49758eca5cbc", size = 4296667, upload-time = "2025-10-15T23:16:54.369Z" },
|
| 398 |
+
{ url = "https://files.pythonhosted.org/packages/5c/49/498c86566a1d80e978b42f0d702795f69887005548c041636df6ae1ca64c/cryptography-46.0.3-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:01ca9ff2885f3acc98c29f1860552e37f6d7c7d013d7334ff2a9de43a449315d", size = 4450807, upload-time = "2025-10-15T23:16:56.414Z" },
|
| 399 |
+
{ url = "https://files.pythonhosted.org/packages/4b/0a/863a3604112174c8624a2ac3c038662d9e59970c7f926acdcfaed8d61142/cryptography-46.0.3-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:6eae65d4c3d33da080cff9c4ab1f711b15c1d9760809dad6ea763f3812d254cb", size = 4299615, upload-time = "2025-10-15T23:16:58.442Z" },
|
| 400 |
+
{ url = "https://files.pythonhosted.org/packages/64/02/b73a533f6b64a69f3cd3872acb6ebc12aef924d8d103133bb3ea750dc703/cryptography-46.0.3-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5bf0ed4490068a2e72ac03d786693adeb909981cc596425d09032d372bcc849", size = 4016800, upload-time = "2025-10-15T23:17:00.378Z" },
|
| 401 |
+
{ url = "https://files.pythonhosted.org/packages/25/d5/16e41afbfa450cde85a3b7ec599bebefaef16b5c6ba4ec49a3532336ed72/cryptography-46.0.3-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:5ecfccd2329e37e9b7112a888e76d9feca2347f12f37918facbb893d7bb88ee8", size = 4984707, upload-time = "2025-10-15T23:17:01.98Z" },
|
| 402 |
+
{ url = "https://files.pythonhosted.org/packages/c9/56/e7e69b427c3878352c2fb9b450bd0e19ed552753491d39d7d0a2f5226d41/cryptography-46.0.3-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a2c0cd47381a3229c403062f764160d57d4d175e022c1df84e168c6251a22eec", size = 4482541, upload-time = "2025-10-15T23:17:04.078Z" },
|
| 403 |
+
{ url = "https://files.pythonhosted.org/packages/78/f6/50736d40d97e8483172f1bb6e698895b92a223dba513b0ca6f06b2365339/cryptography-46.0.3-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:549e234ff32571b1f4076ac269fcce7a808d3bf98b76c8dd560e42dbc66d7d91", size = 4299464, upload-time = "2025-10-15T23:17:05.483Z" },
|
| 404 |
+
{ url = "https://files.pythonhosted.org/packages/00/de/d8e26b1a855f19d9994a19c702fa2e93b0456beccbcfe437eda00e0701f2/cryptography-46.0.3-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:c0a7bb1a68a5d3471880e264621346c48665b3bf1c3759d682fc0864c540bd9e", size = 4950838, upload-time = "2025-10-15T23:17:07.425Z" },
|
| 405 |
+
{ url = "https://files.pythonhosted.org/packages/8f/29/798fc4ec461a1c9e9f735f2fc58741b0daae30688f41b2497dcbc9ed1355/cryptography-46.0.3-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:10b01676fc208c3e6feeb25a8b83d81767e8059e1fe86e1dc62d10a3018fa926", size = 4481596, upload-time = "2025-10-15T23:17:09.343Z" },
|
| 406 |
+
{ url = "https://files.pythonhosted.org/packages/15/8d/03cd48b20a573adfff7652b76271078e3045b9f49387920e7f1f631d125e/cryptography-46.0.3-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0abf1ffd6e57c67e92af68330d05760b7b7efb243aab8377e583284dbab72c71", size = 4426782, upload-time = "2025-10-15T23:17:11.22Z" },
|
| 407 |
+
{ url = "https://files.pythonhosted.org/packages/fa/b1/ebacbfe53317d55cf33165bda24c86523497a6881f339f9aae5c2e13e57b/cryptography-46.0.3-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a04bee9ab6a4da801eb9b51f1b708a1b5b5c9eb48c03f74198464c66f0d344ac", size = 4698381, upload-time = "2025-10-15T23:17:12.829Z" },
|
| 408 |
+
{ url = "https://files.pythonhosted.org/packages/96/92/8a6a9525893325fc057a01f654d7efc2c64b9de90413adcf605a85744ff4/cryptography-46.0.3-cp311-abi3-win32.whl", hash = "sha256:f260d0d41e9b4da1ed1e0f1ce571f97fe370b152ab18778e9e8f67d6af432018", size = 3055988, upload-time = "2025-10-15T23:17:14.65Z" },
|
| 409 |
+
{ url = "https://files.pythonhosted.org/packages/7e/bf/80fbf45253ea585a1e492a6a17efcb93467701fa79e71550a430c5e60df0/cryptography-46.0.3-cp311-abi3-win_amd64.whl", hash = "sha256:a9a3008438615669153eb86b26b61e09993921ebdd75385ddd748702c5adfddb", size = 3514451, upload-time = "2025-10-15T23:17:16.142Z" },
|
| 410 |
+
{ url = "https://files.pythonhosted.org/packages/2e/af/9b302da4c87b0beb9db4e756386a7c6c5b8003cd0e742277888d352ae91d/cryptography-46.0.3-cp311-abi3-win_arm64.whl", hash = "sha256:5d7f93296ee28f68447397bf5198428c9aeeab45705a55d53a6343455dcb2c3c", size = 2928007, upload-time = "2025-10-15T23:17:18.04Z" },
|
| 411 |
+
{ url = "https://files.pythonhosted.org/packages/f5/e2/a510aa736755bffa9d2f75029c229111a1d02f8ecd5de03078f4c18d91a3/cryptography-46.0.3-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:00a5e7e87938e5ff9ff5447ab086a5706a957137e6e433841e9d24f38a065217", size = 7158012, upload-time = "2025-10-15T23:17:19.982Z" },
|
| 412 |
+
{ url = "https://files.pythonhosted.org/packages/73/dc/9aa866fbdbb95b02e7f9d086f1fccfeebf8953509b87e3f28fff927ff8a0/cryptography-46.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c8daeb2d2174beb4575b77482320303f3d39b8e81153da4f0fb08eb5fe86a6c5", size = 4288728, upload-time = "2025-10-15T23:17:21.527Z" },
|
| 413 |
+
{ url = "https://files.pythonhosted.org/packages/c5/fd/bc1daf8230eaa075184cbbf5f8cd00ba9db4fd32d63fb83da4671b72ed8a/cryptography-46.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39b6755623145ad5eff1dab323f4eae2a32a77a7abef2c5089a04a3d04366715", size = 4435078, upload-time = "2025-10-15T23:17:23.042Z" },
|
| 414 |
+
{ url = "https://files.pythonhosted.org/packages/82/98/d3bd5407ce4c60017f8ff9e63ffee4200ab3e23fe05b765cab805a7db008/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:db391fa7c66df6762ee3f00c95a89e6d428f4d60e7abc8328f4fe155b5ac6e54", size = 4293460, upload-time = "2025-10-15T23:17:24.885Z" },
|
| 415 |
+
{ url = "https://files.pythonhosted.org/packages/26/e9/e23e7900983c2b8af7a08098db406cf989d7f09caea7897e347598d4cd5b/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:78a97cf6a8839a48c49271cdcbd5cf37ca2c1d6b7fdd86cc864f302b5e9bf459", size = 3995237, upload-time = "2025-10-15T23:17:26.449Z" },
|
| 416 |
+
{ url = "https://files.pythonhosted.org/packages/91/15/af68c509d4a138cfe299d0d7ddb14afba15233223ebd933b4bbdbc7155d3/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:dfb781ff7eaa91a6f7fd41776ec37c5853c795d3b358d4896fdbb5df168af422", size = 4967344, upload-time = "2025-10-15T23:17:28.06Z" },
|
| 417 |
+
{ url = "https://files.pythonhosted.org/packages/ca/e3/8643d077c53868b681af077edf6b3cb58288b5423610f21c62aadcbe99f4/cryptography-46.0.3-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:6f61efb26e76c45c4a227835ddeae96d83624fb0d29eb5df5b96e14ed1a0afb7", size = 4466564, upload-time = "2025-10-15T23:17:29.665Z" },
|
| 418 |
+
{ url = "https://files.pythonhosted.org/packages/0e/43/c1e8726fa59c236ff477ff2b5dc071e54b21e5a1e51aa2cee1676f1c986f/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:23b1a8f26e43f47ceb6d6a43115f33a5a37d57df4ea0ca295b780ae8546e8044", size = 4292415, upload-time = "2025-10-15T23:17:31.686Z" },
|
| 419 |
+
{ url = "https://files.pythonhosted.org/packages/42/f9/2f8fefdb1aee8a8e3256a0568cffc4e6d517b256a2fe97a029b3f1b9fe7e/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:b419ae593c86b87014b9be7396b385491ad7f320bde96826d0dd174459e54665", size = 4931457, upload-time = "2025-10-15T23:17:33.478Z" },
|
| 420 |
+
{ url = "https://files.pythonhosted.org/packages/79/30/9b54127a9a778ccd6d27c3da7563e9f2d341826075ceab89ae3b41bf5be2/cryptography-46.0.3-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:50fc3343ac490c6b08c0cf0d704e881d0d660be923fd3076db3e932007e726e3", size = 4466074, upload-time = "2025-10-15T23:17:35.158Z" },
|
| 421 |
+
{ url = "https://files.pythonhosted.org/packages/ac/68/b4f4a10928e26c941b1b6a179143af9f4d27d88fe84a6a3c53592d2e76bf/cryptography-46.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:22d7e97932f511d6b0b04f2bfd818d73dcd5928db509460aaf48384778eb6d20", size = 4420569, upload-time = "2025-10-15T23:17:37.188Z" },
|
| 422 |
+
{ url = "https://files.pythonhosted.org/packages/a3/49/3746dab4c0d1979888f125226357d3262a6dd40e114ac29e3d2abdf1ec55/cryptography-46.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d55f3dffadd674514ad19451161118fd010988540cee43d8bc20675e775925de", size = 4681941, upload-time = "2025-10-15T23:17:39.236Z" },
|
| 423 |
+
{ url = "https://files.pythonhosted.org/packages/fd/30/27654c1dbaf7e4a3531fa1fc77986d04aefa4d6d78259a62c9dc13d7ad36/cryptography-46.0.3-cp314-cp314t-win32.whl", hash = "sha256:8a6e050cb6164d3f830453754094c086ff2d0b2f3a897a1d9820f6139a1f0914", size = 3022339, upload-time = "2025-10-15T23:17:40.888Z" },
|
| 424 |
+
{ url = "https://files.pythonhosted.org/packages/f6/30/640f34ccd4d2a1bc88367b54b926b781b5a018d65f404d409aba76a84b1c/cryptography-46.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:760f83faa07f8b64e9c33fc963d790a2edb24efb479e3520c14a45741cd9b2db", size = 3494315, upload-time = "2025-10-15T23:17:42.769Z" },
|
| 425 |
+
{ url = "https://files.pythonhosted.org/packages/ba/8b/88cc7e3bd0a8e7b861f26981f7b820e1f46aa9d26cc482d0feba0ecb4919/cryptography-46.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:516ea134e703e9fe26bcd1277a4b59ad30586ea90c365a87781d7887a646fe21", size = 2919331, upload-time = "2025-10-15T23:17:44.468Z" },
|
| 426 |
+
{ url = "https://files.pythonhosted.org/packages/fd/23/45fe7f376a7df8daf6da3556603b36f53475a99ce4faacb6ba2cf3d82021/cryptography-46.0.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:cb3d760a6117f621261d662bccc8ef5bc32ca673e037c83fbe565324f5c46936", size = 7218248, upload-time = "2025-10-15T23:17:46.294Z" },
|
| 427 |
+
{ url = "https://files.pythonhosted.org/packages/27/32/b68d27471372737054cbd34c84981f9edbc24fe67ca225d389799614e27f/cryptography-46.0.3-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4b7387121ac7d15e550f5cb4a43aef2559ed759c35df7336c402bb8275ac9683", size = 4294089, upload-time = "2025-10-15T23:17:48.269Z" },
|
| 428 |
+
{ url = "https://files.pythonhosted.org/packages/26/42/fa8389d4478368743e24e61eea78846a0006caffaf72ea24a15159215a14/cryptography-46.0.3-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:15ab9b093e8f09daab0f2159bb7e47532596075139dd74365da52ecc9cb46c5d", size = 4440029, upload-time = "2025-10-15T23:17:49.837Z" },
|
| 429 |
+
{ url = "https://files.pythonhosted.org/packages/5f/eb/f483db0ec5ac040824f269e93dd2bd8a21ecd1027e77ad7bdf6914f2fd80/cryptography-46.0.3-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:46acf53b40ea38f9c6c229599a4a13f0d46a6c3fa9ef19fc1a124d62e338dfa0", size = 4297222, upload-time = "2025-10-15T23:17:51.357Z" },
|
| 430 |
+
{ url = "https://files.pythonhosted.org/packages/fd/cf/da9502c4e1912cb1da3807ea3618a6829bee8207456fbbeebc361ec38ba3/cryptography-46.0.3-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10ca84c4668d066a9878890047f03546f3ae0a6b8b39b697457b7757aaf18dbc", size = 4012280, upload-time = "2025-10-15T23:17:52.964Z" },
|
| 431 |
+
{ url = "https://files.pythonhosted.org/packages/6b/8f/9adb86b93330e0df8b3dcf03eae67c33ba89958fc2e03862ef1ac2b42465/cryptography-46.0.3-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:36e627112085bb3b81b19fed209c05ce2a52ee8b15d161b7c643a7d5a88491f3", size = 4978958, upload-time = "2025-10-15T23:17:54.965Z" },
|
| 432 |
+
{ url = "https://files.pythonhosted.org/packages/d1/a0/5fa77988289c34bdb9f913f5606ecc9ada1adb5ae870bd0d1054a7021cc4/cryptography-46.0.3-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1000713389b75c449a6e979ffc7dcc8ac90b437048766cef052d4d30b8220971", size = 4473714, upload-time = "2025-10-15T23:17:56.754Z" },
|
| 433 |
+
{ url = "https://files.pythonhosted.org/packages/14/e5/fc82d72a58d41c393697aa18c9abe5ae1214ff6f2a5c18ac470f92777895/cryptography-46.0.3-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:b02cf04496f6576afffef5ddd04a0cb7d49cf6be16a9059d793a30b035f6b6ac", size = 4296970, upload-time = "2025-10-15T23:17:58.588Z" },
|
| 434 |
+
{ url = "https://files.pythonhosted.org/packages/78/06/5663ed35438d0b09056973994f1aec467492b33bd31da36e468b01ec1097/cryptography-46.0.3-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:71e842ec9bc7abf543b47cf86b9a743baa95f4677d22baa4c7d5c69e49e9bc04", size = 4940236, upload-time = "2025-10-15T23:18:00.897Z" },
|
| 435 |
+
{ url = "https://files.pythonhosted.org/packages/fc/59/873633f3f2dcd8a053b8dd1d38f783043b5fce589c0f6988bf55ef57e43e/cryptography-46.0.3-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:402b58fc32614f00980b66d6e56a5b4118e6cb362ae8f3fda141ba4689bd4506", size = 4472642, upload-time = "2025-10-15T23:18:02.749Z" },
|
| 436 |
+
{ url = "https://files.pythonhosted.org/packages/3d/39/8e71f3930e40f6877737d6f69248cf74d4e34b886a3967d32f919cc50d3b/cryptography-46.0.3-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ef639cb3372f69ec44915fafcd6698b6cc78fbe0c2ea41be867f6ed612811963", size = 4423126, upload-time = "2025-10-15T23:18:04.85Z" },
|
| 437 |
+
{ url = "https://files.pythonhosted.org/packages/cd/c7/f65027c2810e14c3e7268353b1681932b87e5a48e65505d8cc17c99e36ae/cryptography-46.0.3-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3b51b8ca4f1c6453d8829e1eb7299499ca7f313900dd4d89a24b8b87c0a780d4", size = 4686573, upload-time = "2025-10-15T23:18:06.908Z" },
|
| 438 |
+
{ url = "https://files.pythonhosted.org/packages/0a/6e/1c8331ddf91ca4730ab3086a0f1be19c65510a33b5a441cb334e7a2d2560/cryptography-46.0.3-cp38-abi3-win32.whl", hash = "sha256:6276eb85ef938dc035d59b87c8a7dc559a232f954962520137529d77b18ff1df", size = 3036695, upload-time = "2025-10-15T23:18:08.672Z" },
|
| 439 |
+
{ url = "https://files.pythonhosted.org/packages/90/45/b0d691df20633eff80955a0fc7695ff9051ffce8b69741444bd9ed7bd0db/cryptography-46.0.3-cp38-abi3-win_amd64.whl", hash = "sha256:416260257577718c05135c55958b674000baef9a1c7d9e8f306ec60d71db850f", size = 3501720, upload-time = "2025-10-15T23:18:10.632Z" },
|
| 440 |
+
{ url = "https://files.pythonhosted.org/packages/e8/cb/2da4cc83f5edb9c3257d09e1e7ab7b23f049c7962cae8d842bbef0a9cec9/cryptography-46.0.3-cp38-abi3-win_arm64.whl", hash = "sha256:d89c3468de4cdc4f08a57e214384d0471911a3830fcdaf7a8cc587e42a866372", size = 2918740, upload-time = "2025-10-15T23:18:12.277Z" },
|
| 441 |
+
]
|
| 442 |
+
|
| 443 |
[[package]]
|
| 444 |
name = "datasets"
|
| 445 |
version = "4.1.1"
|
|
|
|
| 632 |
{ url = "https://files.pythonhosted.org/packages/22/04/8daf96bd6d2470f03e2a15a9fc900c7ecf6549619173f16c5944c7ec15a7/gradio-5.50.0-py3-none-any.whl", hash = "sha256:d06770d57cdda9b703ef9cf767ac93a890a0e12d82679a310eef74203a3673f4", size = 63530991, upload-time = "2025-11-21T18:07:19.239Z" },
|
| 633 |
]
|
| 634 |
|
| 635 |
+
[package.optional-dependencies]
|
| 636 |
+
oauth = [
|
| 637 |
+
{ name = "authlib" },
|
| 638 |
+
{ name = "itsdangerous" },
|
| 639 |
+
]
|
| 640 |
+
|
| 641 |
[[package]]
|
| 642 |
name = "gradio-client"
|
| 643 |
version = "1.14.0"
|
|
|
|
| 769 |
{ url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" },
|
| 770 |
]
|
| 771 |
|
| 772 |
+
[[package]]
|
| 773 |
+
name = "itsdangerous"
|
| 774 |
+
version = "2.2.0"
|
| 775 |
+
source = { registry = "https://pypi.org/simple" }
|
| 776 |
+
sdist = { url = "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173", size = 54410, upload-time = "2024-04-16T21:28:15.614Z" }
|
| 777 |
+
wheels = [
|
| 778 |
+
{ url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234, upload-time = "2024-04-16T21:28:14.499Z" },
|
| 779 |
+
]
|
| 780 |
+
|
| 781 |
[[package]]
|
| 782 |
name = "jinja2"
|
| 783 |
version = "3.1.6"
|
|
|
|
| 795 |
version = "0.1.0"
|
| 796 |
source = { virtual = "." }
|
| 797 |
dependencies = [
|
| 798 |
+
{ name = "gradio", extra = ["oauth"] },
|
| 799 |
{ name = "gradio-huggingfacehub-search" },
|
| 800 |
{ name = "llmcompressor" },
|
| 801 |
{ name = "torch" },
|
| 802 |
+
{ name = "torchvision" },
|
| 803 |
]
|
| 804 |
|
| 805 |
[package.metadata]
|
| 806 |
requires-dist = [
|
| 807 |
+
{ name = "gradio", extras = ["oauth"], specifier = ">=5.50.0" },
|
| 808 |
{ name = "gradio-huggingfacehub-search", specifier = ">=0.0.12" },
|
| 809 |
{ name = "llmcompressor", specifier = ">=0.8.1" },
|
| 810 |
{ name = "torch", specifier = "<=2.8.0" },
|
| 811 |
+
{ name = "torchvision", specifier = "<=2.8.0" },
|
| 812 |
]
|
| 813 |
|
| 814 |
[[package]]
|
|
|
|
| 1495 |
{ url = "https://files.pythonhosted.org/packages/7b/03/f335d6c52b4a4761bcc83499789a1e2e16d9d201a58c327a9b5cc9a41bd9/pyarrow-22.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:0c34fe18094686194f204a3b1787a27456897d8a2d62caf84b61e8dfbc0252ae", size = 29185594, upload-time = "2025-10-24T10:09:53.111Z" },
|
| 1496 |
]
|
| 1497 |
|
| 1498 |
+
[[package]]
|
| 1499 |
+
name = "pycparser"
|
| 1500 |
+
version = "2.23"
|
| 1501 |
+
source = { registry = "https://pypi.org/simple" }
|
| 1502 |
+
sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" }
|
| 1503 |
+
wheels = [
|
| 1504 |
+
{ url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" },
|
| 1505 |
+
]
|
| 1506 |
+
|
| 1507 |
[[package]]
|
| 1508 |
name = "pydantic"
|
| 1509 |
version = "2.12.3"
|
|
|
|
| 1937 |
{ url = "https://files.pythonhosted.org/packages/04/6e/650bb7f28f771af0cb791b02348db8b7f5f64f40f6829ee82aa6ce99aabe/torch-2.8.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:7b677e17f5a3e69fdef7eb3b9da72622f8d322692930297e4ccb52fefc6c8211", size = 73632395, upload-time = "2025-08-06T14:55:28.645Z" },
|
| 1938 |
]
|
| 1939 |
|
| 1940 |
+
[[package]]
|
| 1941 |
+
name = "torchvision"
|
| 1942 |
+
version = "0.23.0"
|
| 1943 |
+
source = { registry = "https://pypi.org/simple" }
|
| 1944 |
+
dependencies = [
|
| 1945 |
+
{ name = "numpy" },
|
| 1946 |
+
{ name = "pillow" },
|
| 1947 |
+
{ name = "torch" },
|
| 1948 |
+
]
|
| 1949 |
+
wheels = [
|
| 1950 |
+
{ url = "https://files.pythonhosted.org/packages/91/37/45a5b9407a7900f71d61b2b2f62db4b7c632debca397f205fdcacb502780/torchvision-0.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1c37e325e09a184b730c3ef51424f383ec5745378dc0eca244520aca29722600", size = 1856886, upload-time = "2025-08-06T14:58:05.491Z" },
|
| 1951 |
+
{ url = "https://files.pythonhosted.org/packages/ac/da/a06c60fc84fc849377cf035d3b3e9a1c896d52dbad493b963c0f1cdd74d0/torchvision-0.23.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:2f7fd6c15f3697e80627b77934f77705f3bc0e98278b989b2655de01f6903e1d", size = 2353112, upload-time = "2025-08-06T14:58:26.265Z" },
|
| 1952 |
+
{ url = "https://files.pythonhosted.org/packages/a0/27/5ce65ba5c9d3b7d2ccdd79892ab86a2f87ac2ca6638f04bb0280321f1a9c/torchvision-0.23.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:a76fafe113b2977be3a21bf78f115438c1f88631d7a87203acb3dd6ae55889e6", size = 8627658, upload-time = "2025-08-06T14:58:15.999Z" },
|
| 1953 |
+
{ url = "https://files.pythonhosted.org/packages/1f/e4/028a27b60aa578a2fa99d9d7334ff1871bb17008693ea055a2fdee96da0d/torchvision-0.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:07d069cb29691ff566e3b7f11f20d91044f079e1dbdc9d72e0655899a9b06938", size = 1600749, upload-time = "2025-08-06T14:58:10.719Z" },
|
| 1954 |
+
{ url = "https://files.pythonhosted.org/packages/05/35/72f91ad9ac7c19a849dedf083d347dc1123f0adeb401f53974f84f1d04c8/torchvision-0.23.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:2df618e1143805a7673aaf82cb5720dd9112d4e771983156aaf2ffff692eebf9", size = 2047192, upload-time = "2025-08-06T14:58:11.813Z" },
|
| 1955 |
+
{ url = "https://files.pythonhosted.org/packages/1d/9d/406cea60a9eb9882145bcd62a184ee61e823e8e1d550cdc3c3ea866a9445/torchvision-0.23.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:2a3299d2b1d5a7aed2d3b6ffb69c672ca8830671967eb1cee1497bacd82fe47b", size = 2359295, upload-time = "2025-08-06T14:58:17.469Z" },
|
| 1956 |
+
{ url = "https://files.pythonhosted.org/packages/2b/f4/34662f71a70fa1e59de99772142f22257ca750de05ccb400b8d2e3809c1d/torchvision-0.23.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:76bc4c0b63d5114aa81281390f8472a12a6a35ce9906e67ea6044e5af4cab60c", size = 8800474, upload-time = "2025-08-06T14:58:22.53Z" },
|
| 1957 |
+
{ url = "https://files.pythonhosted.org/packages/6e/f5/b5a2d841a8d228b5dbda6d524704408e19e7ca6b7bb0f24490e081da1fa1/torchvision-0.23.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b9e2dabf0da9c8aa9ea241afb63a8f3e98489e706b22ac3f30416a1be377153b", size = 1527667, upload-time = "2025-08-06T14:58:14.446Z" },
|
| 1958 |
+
]
|
| 1959 |
+
|
| 1960 |
[[package]]
|
| 1961 |
name = "tqdm"
|
| 1962 |
version = "4.67.1"
|