Modify Gradio UI
Browse files- app.py +76 -44
- modal/config.py +20 -0
- modal/engine.py +103 -0
- modal/requirements.txt +0 -0
- modal/server.py +103 -0
- modal_app.py +0 -12
- pyproject.toml +1 -0
- requirements.txt +12 -1
- uv.lock +123 -0
app.py
CHANGED
@@ -1,53 +1,85 @@
|
|
1 |
-
import re
|
2 |
-
import requests
|
3 |
-
import gradio as gr
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
-
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
-
|
|
|
9 |
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
|
|
|
|
14 |
try:
|
15 |
-
response = requests.
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
if len(markdown_content) > max_output_length:
|
20 |
-
markdown_content = (
|
21 |
-
markdown_content[: max_output_length // 2]
|
22 |
-
+ f"\n..._This content has been truncated to stay below {max_output_length} characters_...\n"
|
23 |
-
+ markdown_content[-max_output_length // 2 :]
|
24 |
-
)
|
25 |
-
# Use Preprocessor class methods
|
26 |
-
section = Preprocessor.extract_section(markdown_content)
|
27 |
-
dir_paths, files = Preprocessor.extract_dirs_from_text(section)
|
28 |
-
# Format the result
|
29 |
-
result = (
|
30 |
-
f"paths: {dir_paths}\n\n"
|
31 |
-
f"files: {files}"
|
32 |
)
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
return f"Error fetching the webpage: {str(e)}"
|
38 |
except Exception as e:
|
39 |
-
return f"
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
outputs=gr.Textbox(label="Extracted Section, Directory Paths, and File Paths", show_copy_button=True),
|
48 |
-
title="Webpage Section and Path Extractor",
|
49 |
-
description="Enter a website URL. This tool fetches the page, extracts a markdown section, and lists directory paths and files found in that section. You can also specify files or folders you want to highlight in the generated README."
|
50 |
-
)
|
51 |
|
52 |
if __name__ == "__main__":
|
53 |
demo.launch()
|
|
|
1 |
+
# import re
|
2 |
+
# import requests
|
3 |
+
# import gradio as gr
|
4 |
+
|
5 |
+
# from markdownify import markdownify
|
6 |
+
# from requests.exceptions import RequestException
|
7 |
+
|
8 |
+
# from utils.preprocessor import Preprocessor
|
9 |
+
|
10 |
+
# # https://modal.com/docs/guide/webhook-urls
|
11 |
+
# MODAL_ENDPOINT = "https://auto-readme-agent--text-to-speech-gradio-app.modal.run"
|
12 |
+
|
13 |
+
# def visit_webpage(url, max_output_length=40000):
|
14 |
+
# """
|
15 |
+
# Fetch the webpage, convert to markdown, and use Preprocessor methods.
|
16 |
+
# """
|
17 |
+
# try:
|
18 |
+
# response = requests.get(url, timeout=20)
|
19 |
+
# response.raise_for_status()
|
20 |
+
# markdown_content = markdownify(response.text).strip()
|
21 |
+
# markdown_content = re.sub(r"\n{3,}", "\n\n", markdown_content)
|
22 |
+
# # if len(markdown_content) > max_output_length:
|
23 |
+
# # markdown_content = (
|
24 |
+
# # markdown_content[: max_output_length // 2]
|
25 |
+
# # + f"\n..._This content has been truncated to stay below {max_output_length} characters_...\n"
|
26 |
+
# # + markdown_content[-max_output_length // 2 :]
|
27 |
+
# # )
|
28 |
+
# # Use Preprocessor class methods
|
29 |
+
# section = Preprocessor.extract_section(markdown_content)
|
30 |
+
# dir_paths, files = Preprocessor.extract_dirs_from_text(section)
|
31 |
+
# # Format the result
|
32 |
+
# result = (
|
33 |
+
# f"paths: {dir_paths}\n\n"
|
34 |
+
# f"files: {files}"
|
35 |
+
# )
|
36 |
+
# return result
|
37 |
+
# except requests.exceptions.Timeout:
|
38 |
+
# return "The request timed out. Please try again later or check the URL."
|
39 |
+
# except RequestException as e:
|
40 |
+
# return f"Error fetching the webpage: {str(e)}"
|
41 |
+
# except Exception as e:
|
42 |
+
# return f"An unexpected error occurred: {str(e)}"
|
43 |
|
44 |
+
# demo = gr.Interface(
|
45 |
+
# fn=visit_webpage,
|
46 |
+
# inputs=[
|
47 |
+
# gr.Textbox(label="Website URL"),
|
48 |
+
# gr.Textbox(label="Files or folders you want to highlight in the README (comma or newline separated)")
|
49 |
+
# ],
|
50 |
+
# outputs=gr.Textbox(label="Extracted Section, Directory Paths, and File Paths", show_copy_button=True),
|
51 |
+
# title="Webpage Section and Path Extractor",
|
52 |
+
# description="Enter a website URL. This tool fetches the page, extracts a markdown section, and lists directory paths and files found in that section. You can also specify files or folders you want to highlight in the generated README."
|
53 |
+
# )
|
54 |
|
55 |
+
# if __name__ == "__main__":
|
56 |
+
# demo.launch(debug=True)
|
57 |
|
58 |
+
import gradio as gr
|
59 |
+
import requests
|
60 |
+
|
61 |
+
MODAL_API_URL = "https://agents-mcp-hackathon--smolagents-modal-agent-readme-agen-eb6ccb.modal.run" # Replace with your deployed Modal endpoint
|
62 |
+
|
63 |
+
def generate_readme_from_github(repo_url):
|
64 |
try:
|
65 |
+
response = requests.post(
|
66 |
+
MODAL_API_URL,
|
67 |
+
json={"repo_url": repo_url},
|
68 |
+
timeout=600,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
)
|
70 |
+
if response.status_code == 200:
|
71 |
+
return response.json().get("readme", "No README generated.")
|
72 |
+
else:
|
73 |
+
return f"Error: {response.status_code}\n{response.text}"
|
|
|
74 |
except Exception as e:
|
75 |
+
return f"Exception: {str(e)}"
|
76 |
+
|
77 |
+
with gr.Blocks() as demo:
|
78 |
+
gr.Markdown("# 📝 GitHub Repo → README.md Generator\nPaste a public GitHub repo link to generate a draft README.md using AI.")
|
79 |
+
repo_input = gr.Textbox(label="GitHub Repository URL", placeholder="https://github.com/owner/repo")
|
80 |
+
output = gr.Textbox(label="Generated README.md", lines=20)
|
81 |
+
btn = gr.Button("Generate README")
|
82 |
+
btn.click(generate_readme_from_github, inputs=repo_input, outputs=output)
|
|
|
|
|
|
|
|
|
83 |
|
84 |
if __name__ == "__main__":
|
85 |
demo.launch()
|
modal/config.py
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
MODEL_DIR = "/model"
|
2 |
+
BASE_MODEL="mistralai/Mistral-7B-Instruct-v0.1"
|
3 |
+
|
4 |
+
|
5 |
+
# Name the stub (it should all be in lower case)
|
6 |
+
STUB_NAME=f"{BASE_MODEL.lower()}-deployement"
|
7 |
+
|
8 |
+
### Server level default configs
|
9 |
+
# Keep warm: is the warm pool size or the minimum number of containers that will always be up for your serverless function to get executed (Modal will scale up more containers from there based on need or demand)
|
10 |
+
|
11 |
+
KEEP_WARM = 1
|
12 |
+
|
13 |
+
# num of concurrent requests: is the number of concurrent requests a container should handle
|
14 |
+
NUM_CONCURRENT_REQUESTS = 10
|
15 |
+
|
16 |
+
# timeout: This is the server timeout after which it would be shutdown the server.
|
17 |
+
TIMEOUT = 600
|
18 |
+
|
19 |
+
# Number of GPUs to use
|
20 |
+
GPU_COUNT = 1
|
modal/engine.py
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
import asyncio
|
3 |
+
|
4 |
+
from queue import Empty
|
5 |
+
from typing import List, Union, List
|
6 |
+
|
7 |
+
# Import modal's required imports
|
8 |
+
from modal import Image, Stub, gpu, method, enter, exit
|
9 |
+
|
10 |
+
# Import the constants defined in constants.py
|
11 |
+
from config import (
|
12 |
+
MODEL_DIR,
|
13 |
+
BASE_MODEL,
|
14 |
+
STUB_NAME,
|
15 |
+
NUM_CONCURRENT_REQUESTS,
|
16 |
+
TIMEOUT,
|
17 |
+
GPU_COUNT
|
18 |
+
)
|
19 |
+
|
20 |
+
# Define our GPU Config
|
21 |
+
|
22 |
+
if BASE_MODEL == "mistralai/Mistral-7B-Instruct-v0.1":
|
23 |
+
GPU_CONFIG = gpu.A100(count=GPU_COUNT, memory=80)
|
24 |
+
else:
|
25 |
+
GPU_CONFIG = gpu.Any(count=GPU_COUNT)
|
26 |
+
|
27 |
+
stub = Stub(name=STUB_NAME)
|
28 |
+
|
29 |
+
def download_model_to_folder():
|
30 |
+
from transformers.utils import move_cache
|
31 |
+
from huggingface_hub import snapshot_download
|
32 |
+
|
33 |
+
os.makedirs(MODEL_DIR, exist_ok=True)
|
34 |
+
|
35 |
+
snapshot_download(
|
36 |
+
BASE_MODEL,
|
37 |
+
local_dir=MODEL_DIR,
|
38 |
+
ignore_patterns=["*.pt"], # Using safetensors
|
39 |
+
)
|
40 |
+
|
41 |
+
move_cache()
|
42 |
+
|
43 |
+
HF_DOCKER_IMAGE = (
|
44 |
+
Image.from_registry("nvidia/cuda:12.1.0-base-ubuntu22.04", add_python="3.10").pip_install_from_requirements("./requirements.txt")
|
45 |
+
.env({"HF_HUB_ENABLE_HF_TRANSFER": "1"})
|
46 |
+
.run_function(download_model_to_folder)
|
47 |
+
)
|
48 |
+
|
49 |
+
@stub.cls(
|
50 |
+
gpu=GPU_CONFIG,
|
51 |
+
timeout=TIMEOUT,
|
52 |
+
container_idle_timeout=TIMEOUT,
|
53 |
+
allow_concurrent_inputs=NUM_CONCURRENT_REQUESTS,
|
54 |
+
image=HF_DOCKER_IMAGE,
|
55 |
+
)
|
56 |
+
class HFEngine:
|
57 |
+
model_name_or_path: str = MODEL_DIR
|
58 |
+
device: str = "cuda"
|
59 |
+
|
60 |
+
@enter()
|
61 |
+
def start_engine(self):
|
62 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
|
63 |
+
|
64 |
+
self.model = AutoModelForCausalLM.from_pretrained(self.model_name_or_path, trust_remote_code=True).to(self.device)
|
65 |
+
self.tokenizer = AutoTokenizer.from_pretrained(self.model_name_or_path, trust_remote_code=True)
|
66 |
+
self.streamer = TextIteratorStreamer(self.tokenizer)
|
67 |
+
return self
|
68 |
+
|
69 |
+
@exit()
|
70 |
+
def terminate_engine(self):
|
71 |
+
import gc
|
72 |
+
import torch
|
73 |
+
|
74 |
+
del self.model
|
75 |
+
torch.cuda.synchronize()
|
76 |
+
gc.collect()
|
77 |
+
|
78 |
+
@method()
|
79 |
+
async def stream(self, chat_input: Union[str, List[dict]], generation_kwargs: dict):
|
80 |
+
from threading import Thread
|
81 |
+
|
82 |
+
if isinstance(chat_input, str):
|
83 |
+
chat_input = [{"role": "user", "content": chat_input}]
|
84 |
+
input_ids = self.tokenizer.apply_chat_template(
|
85 |
+
conversation=chat_input, tokenize=True, return_tensors="pt"
|
86 |
+
).to(self.device)
|
87 |
+
|
88 |
+
gen_kwargs = dict(
|
89 |
+
input_ids=input_ids,
|
90 |
+
streamer=self.streamer,
|
91 |
+
pad_token_id=self.tokenizer.eos_token_id,
|
92 |
+
**generation_kwargs
|
93 |
+
)
|
94 |
+
|
95 |
+
thread = Thread(target=self.model.generate, kwargs=gen_kwargs)
|
96 |
+
thread.start()
|
97 |
+
|
98 |
+
for next_token in self.streamer:
|
99 |
+
try:
|
100 |
+
if next_token is not None:
|
101 |
+
yield next_token
|
102 |
+
except Empty:
|
103 |
+
await asyncio.sleep(0.001)
|
modal/requirements.txt
ADDED
File without changes
|
modal/server.py
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import modal
|
2 |
+
|
3 |
+
image = (
|
4 |
+
modal.Image.debian_slim(python_version="3.12")
|
5 |
+
.pip_install(
|
6 |
+
"smolagents[toolkit]",
|
7 |
+
"huggingface_hub",
|
8 |
+
"transformers",
|
9 |
+
"duckduckgo-search",
|
10 |
+
"fastapi",
|
11 |
+
"uvicorn",
|
12 |
+
"PyGithub",
|
13 |
+
"gitpython"
|
14 |
+
)
|
15 |
+
)
|
16 |
+
|
17 |
+
app = modal.App("smolagents-modal-agent-readme")
|
18 |
+
|
19 |
+
HF_SECRET_NAME = "hf-secret"
|
20 |
+
MODEL_ID = "mistralai/Mistral-7B-Instruct-v0.2"
|
21 |
+
|
22 |
+
@app.function(
|
23 |
+
image=image,
|
24 |
+
gpu="A10G",
|
25 |
+
secrets=[modal.Secret.from_name(HF_SECRET_NAME)],
|
26 |
+
timeout=600,
|
27 |
+
)
|
28 |
+
@modal.fastapi_endpoint()
|
29 |
+
def agent_server():
|
30 |
+
import os
|
31 |
+
from fastapi import FastAPI, HTTPException, Request
|
32 |
+
import uvicorn
|
33 |
+
from huggingface_hub import login as hf_login
|
34 |
+
from smolagents import CodeAgent, WebSearchTool, InferenceClientModel
|
35 |
+
import tempfile
|
36 |
+
import shutil
|
37 |
+
import subprocess
|
38 |
+
|
39 |
+
hf_token = os.environ.get("HF_TOKEN")
|
40 |
+
hf_login(token=hf_token)
|
41 |
+
|
42 |
+
model = InferenceClientModel(
|
43 |
+
model_id=MODEL_ID,
|
44 |
+
provider="huggingface",
|
45 |
+
token=hf_token,
|
46 |
+
)
|
47 |
+
|
48 |
+
agent = CodeAgent(
|
49 |
+
tools=[WebSearchTool()],
|
50 |
+
model=model,
|
51 |
+
stream_outputs=True,
|
52 |
+
)
|
53 |
+
|
54 |
+
app = FastAPI()
|
55 |
+
|
56 |
+
@app.post("/generate_readme")
|
57 |
+
async def generate_readme(request: Request):
|
58 |
+
try:
|
59 |
+
data = await request.json()
|
60 |
+
repo_url = data.get("repo_url")
|
61 |
+
if not repo_url:
|
62 |
+
raise HTTPException(status_code=400, detail="Missing 'repo_url' in request body")
|
63 |
+
|
64 |
+
temp_dir = tempfile.mkdtemp()
|
65 |
+
try:
|
66 |
+
subprocess.run(
|
67 |
+
["git", "clone", "--depth", "1", "--branch", "main", repo_url, temp_dir],
|
68 |
+
check=True
|
69 |
+
)
|
70 |
+
|
71 |
+
repo_summary = []
|
72 |
+
for root, dirs, files in os.walk(temp_dir):
|
73 |
+
depth = root[len(temp_dir):].count(os.sep)
|
74 |
+
if depth > 2:
|
75 |
+
continue
|
76 |
+
rel_root = os.path.relpath(root, temp_dir)
|
77 |
+
repo_summary.append(f"Directory: {rel_root}")
|
78 |
+
for file in files:
|
79 |
+
if file.endswith((".py", ".md", ".txt", ".json", ".yaml", ".yml")):
|
80 |
+
file_path = os.path.join(root, file)
|
81 |
+
try:
|
82 |
+
with open(file_path, "r", encoding="utf-8") as f:
|
83 |
+
content = f.read(500)
|
84 |
+
except Exception:
|
85 |
+
content = "[Could not read file content]"
|
86 |
+
repo_summary.append(f"File: {file} Content Preview: {content}")
|
87 |
+
|
88 |
+
prompt = (
|
89 |
+
"You are an AI assistant that drafts a detailed README.md for a GitHub repository. "
|
90 |
+
"Based on the following repository structure and code snippets, create a comprehensive README.md content. "
|
91 |
+
"Repository summary:\n" + "\n".join(repo_summary)
|
92 |
+
)
|
93 |
+
|
94 |
+
readme_text = agent.run(prompt)
|
95 |
+
return {"readme": readme_text}
|
96 |
+
finally:
|
97 |
+
shutil.rmtree(temp_dir)
|
98 |
+
|
99 |
+
except Exception as e:
|
100 |
+
raise HTTPException(status_code=500, detail=str(e))
|
101 |
+
|
102 |
+
# Start Uvicorn in blocking mode
|
103 |
+
uvicorn.run(app, host="0.0.0.0", port=8000)
|
modal_app.py
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
import modal
|
2 |
-
|
3 |
-
app = modal.App("auto-readme-agent")
|
4 |
-
|
5 |
-
@app.function()
|
6 |
-
def square(x):
|
7 |
-
print("This code is running on a remote worker!")
|
8 |
-
return x**2
|
9 |
-
|
10 |
-
@app.local_entrypoint()
|
11 |
-
def main():
|
12 |
-
print("the square is", square.remote(42))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pyproject.toml
CHANGED
@@ -9,4 +9,5 @@ dependencies = [
|
|
9 |
"markdownify>=1.1.0",
|
10 |
"modal>=1.0.3",
|
11 |
"smolagents>=1.17.0",
|
|
|
12 |
]
|
|
|
9 |
"markdownify>=1.1.0",
|
10 |
"modal>=1.0.3",
|
11 |
"smolagents>=1.17.0",
|
12 |
+
"transformers>=4.52.4",
|
13 |
]
|
requirements.txt
CHANGED
@@ -1 +1,12 @@
|
|
1 |
-
markdownify
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
markdownify
|
2 |
+
smolagents[toolkit]
|
3 |
+
huggingface_hub
|
4 |
+
transformers
|
5 |
+
duckduckgo-search
|
6 |
+
fastapi
|
7 |
+
uvicorn
|
8 |
+
PyGithub
|
9 |
+
gitpython
|
10 |
+
modal
|
11 |
+
gradio
|
12 |
+
requests
|
uv.lock
CHANGED
@@ -15,6 +15,7 @@ dependencies = [
|
|
15 |
{ name = "markdownify" },
|
16 |
{ name = "modal" },
|
17 |
{ name = "smolagents" },
|
|
|
18 |
]
|
19 |
|
20 |
[package.metadata]
|
@@ -23,6 +24,7 @@ requires-dist = [
|
|
23 |
{ name = "markdownify", specifier = ">=1.1.0" },
|
24 |
{ name = "modal", specifier = ">=1.0.3" },
|
25 |
{ name = "smolagents", specifier = ">=1.17.0" },
|
|
|
26 |
]
|
27 |
|
28 |
[[package]]
|
@@ -1265,6 +1267,59 @@ wheels = [
|
|
1265 |
{ url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 },
|
1266 |
]
|
1267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1268 |
[[package]]
|
1269 |
name = "requests"
|
1270 |
version = "2.32.3"
|
@@ -1330,6 +1385,28 @@ wheels = [
|
|
1330 |
{ url = "https://files.pythonhosted.org/packages/4d/c0/1108ad9f01567f66b3154063605b350b69c3c9366732e09e45f9fd0d1deb/safehttpx-0.1.6-py3-none-any.whl", hash = "sha256:407cff0b410b071623087c63dd2080c3b44dc076888d8c5823c00d1e58cb381c", size = 8692 },
|
1331 |
]
|
1332 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1333 |
[[package]]
|
1334 |
name = "semantic-version"
|
1335 |
version = "2.10.0"
|
@@ -1429,6 +1506,31 @@ wheels = [
|
|
1429 |
{ url = "https://files.pythonhosted.org/packages/35/8a/fd0a54e4bc7d09e6296efc7e9712f16e0001e82a13a90acb1e5729d34b39/synchronicity-0.9.13-py3-none-any.whl", hash = "sha256:762bb5f84def464b2c7dbb944d4f19c3336a12ed7046bc5d9646f0b4a3f6a0d5", size = 36974 },
|
1430 |
]
|
1431 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1432 |
[[package]]
|
1433 |
name = "toml"
|
1434 |
version = "0.10.2"
|
@@ -1459,6 +1561,27 @@ wheels = [
|
|
1459 |
{ url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 },
|
1460 |
]
|
1461 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1462 |
[[package]]
|
1463 |
name = "typer"
|
1464 |
version = "0.16.0"
|
|
|
15 |
{ name = "markdownify" },
|
16 |
{ name = "modal" },
|
17 |
{ name = "smolagents" },
|
18 |
+
{ name = "transformers" },
|
19 |
]
|
20 |
|
21 |
[package.metadata]
|
|
|
24 |
{ name = "markdownify", specifier = ">=1.1.0" },
|
25 |
{ name = "modal", specifier = ">=1.0.3" },
|
26 |
{ name = "smolagents", specifier = ">=1.17.0" },
|
27 |
+
{ name = "transformers", specifier = ">=4.52.4" },
|
28 |
]
|
29 |
|
30 |
[[package]]
|
|
|
1267 |
{ url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 },
|
1268 |
]
|
1269 |
|
1270 |
+
[[package]]
|
1271 |
+
name = "regex"
|
1272 |
+
version = "2024.11.6"
|
1273 |
+
source = { registry = "https://pypi.org/simple" }
|
1274 |
+
sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494 }
|
1275 |
+
wheels = [
|
1276 |
+
{ url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669 },
|
1277 |
+
{ url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684 },
|
1278 |
+
{ url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589 },
|
1279 |
+
{ url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121 },
|
1280 |
+
{ url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275 },
|
1281 |
+
{ url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257 },
|
1282 |
+
{ url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727 },
|
1283 |
+
{ url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667 },
|
1284 |
+
{ url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963 },
|
1285 |
+
{ url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700 },
|
1286 |
+
{ url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592 },
|
1287 |
+
{ url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929 },
|
1288 |
+
{ url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213 },
|
1289 |
+
{ url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734 },
|
1290 |
+
{ url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052 },
|
1291 |
+
{ url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781 },
|
1292 |
+
{ url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455 },
|
1293 |
+
{ url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759 },
|
1294 |
+
{ url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976 },
|
1295 |
+
{ url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077 },
|
1296 |
+
{ url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160 },
|
1297 |
+
{ url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896 },
|
1298 |
+
{ url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997 },
|
1299 |
+
{ url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725 },
|
1300 |
+
{ url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481 },
|
1301 |
+
{ url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896 },
|
1302 |
+
{ url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138 },
|
1303 |
+
{ url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692 },
|
1304 |
+
{ url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135 },
|
1305 |
+
{ url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567 },
|
1306 |
+
{ url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525 },
|
1307 |
+
{ url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324 },
|
1308 |
+
{ url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617 },
|
1309 |
+
{ url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023 },
|
1310 |
+
{ url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072 },
|
1311 |
+
{ url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130 },
|
1312 |
+
{ url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857 },
|
1313 |
+
{ url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006 },
|
1314 |
+
{ url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650 },
|
1315 |
+
{ url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545 },
|
1316 |
+
{ url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045 },
|
1317 |
+
{ url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182 },
|
1318 |
+
{ url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733 },
|
1319 |
+
{ url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122 },
|
1320 |
+
{ url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545 },
|
1321 |
+
]
|
1322 |
+
|
1323 |
[[package]]
|
1324 |
name = "requests"
|
1325 |
version = "2.32.3"
|
|
|
1385 |
{ url = "https://files.pythonhosted.org/packages/4d/c0/1108ad9f01567f66b3154063605b350b69c3c9366732e09e45f9fd0d1deb/safehttpx-0.1.6-py3-none-any.whl", hash = "sha256:407cff0b410b071623087c63dd2080c3b44dc076888d8c5823c00d1e58cb381c", size = 8692 },
|
1386 |
]
|
1387 |
|
1388 |
+
[[package]]
|
1389 |
+
name = "safetensors"
|
1390 |
+
version = "0.5.3"
|
1391 |
+
source = { registry = "https://pypi.org/simple" }
|
1392 |
+
sdist = { url = "https://files.pythonhosted.org/packages/71/7e/2d5d6ee7b40c0682315367ec7475693d110f512922d582fef1bd4a63adc3/safetensors-0.5.3.tar.gz", hash = "sha256:b6b0d6ecacec39a4fdd99cc19f4576f5219ce858e6fd8dbe7609df0b8dc56965", size = 67210 }
|
1393 |
+
wheels = [
|
1394 |
+
{ url = "https://files.pythonhosted.org/packages/18/ae/88f6c49dbd0cc4da0e08610019a3c78a7d390879a919411a410a1876d03a/safetensors-0.5.3-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bd20eb133db8ed15b40110b7c00c6df51655a2998132193de2f75f72d99c7073", size = 436917 },
|
1395 |
+
{ url = "https://files.pythonhosted.org/packages/b8/3b/11f1b4a2f5d2ab7da34ecc062b0bc301f2be024d110a6466726bec8c055c/safetensors-0.5.3-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:21d01c14ff6c415c485616b8b0bf961c46b3b343ca59110d38d744e577f9cce7", size = 418419 },
|
1396 |
+
{ url = "https://files.pythonhosted.org/packages/5d/9a/add3e6fef267658075c5a41573c26d42d80c935cdc992384dfae435feaef/safetensors-0.5.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11bce6164887cd491ca75c2326a113ba934be596e22b28b1742ce27b1d076467", size = 459493 },
|
1397 |
+
{ url = "https://files.pythonhosted.org/packages/df/5c/bf2cae92222513cc23b3ff85c4a1bb2811a2c3583ac0f8e8d502751de934/safetensors-0.5.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4a243be3590bc3301c821da7a18d87224ef35cbd3e5f5727e4e0728b8172411e", size = 472400 },
|
1398 |
+
{ url = "https://files.pythonhosted.org/packages/58/11/7456afb740bd45782d0f4c8e8e1bb9e572f1bf82899fb6ace58af47b4282/safetensors-0.5.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8bd84b12b1670a6f8e50f01e28156422a2bc07fb16fc4e98bded13039d688a0d", size = 522891 },
|
1399 |
+
{ url = "https://files.pythonhosted.org/packages/57/3d/fe73a9d2ace487e7285f6e157afee2383bd1ddb911b7cb44a55cf812eae3/safetensors-0.5.3-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:391ac8cab7c829452175f871fcaf414aa1e292b5448bd02620f675a7f3e7abb9", size = 537694 },
|
1400 |
+
{ url = "https://files.pythonhosted.org/packages/a6/f8/dae3421624fcc87a89d42e1898a798bc7ff72c61f38973a65d60df8f124c/safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cead1fa41fc54b1e61089fa57452e8834f798cb1dc7a09ba3524f1eb08e0317a", size = 471642 },
|
1401 |
+
{ url = "https://files.pythonhosted.org/packages/ce/20/1fbe16f9b815f6c5a672f5b760951e20e17e43f67f231428f871909a37f6/safetensors-0.5.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1077f3e94182d72618357b04b5ced540ceb71c8a813d3319f1aba448e68a770d", size = 502241 },
|
1402 |
+
{ url = "https://files.pythonhosted.org/packages/5f/18/8e108846b506487aa4629fe4116b27db65c3dde922de2c8e0cc1133f3f29/safetensors-0.5.3-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:799021e78287bac619c7b3f3606730a22da4cda27759ddf55d37c8db7511c74b", size = 638001 },
|
1403 |
+
{ url = "https://files.pythonhosted.org/packages/82/5a/c116111d8291af6c8c8a8b40628fe833b9db97d8141c2a82359d14d9e078/safetensors-0.5.3-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:df26da01aaac504334644e1b7642fa000bfec820e7cef83aeac4e355e03195ff", size = 734013 },
|
1404 |
+
{ url = "https://files.pythonhosted.org/packages/7d/ff/41fcc4d3b7de837963622e8610d998710705bbde9a8a17221d85e5d0baad/safetensors-0.5.3-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:32c3ef2d7af8b9f52ff685ed0bc43913cdcde135089ae322ee576de93eae5135", size = 670687 },
|
1405 |
+
{ url = "https://files.pythonhosted.org/packages/40/ad/2b113098e69c985a3d8fbda4b902778eae4a35b7d5188859b4a63d30c161/safetensors-0.5.3-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:37f1521be045e56fc2b54c606d4455573e717b2d887c579ee1dbba5f868ece04", size = 643147 },
|
1406 |
+
{ url = "https://files.pythonhosted.org/packages/0a/0c/95aeb51d4246bd9a3242d3d8349c1112b4ee7611a4b40f0c5c93b05f001d/safetensors-0.5.3-cp38-abi3-win32.whl", hash = "sha256:cfc0ec0846dcf6763b0ed3d1846ff36008c6e7290683b61616c4b040f6a54ace", size = 296677 },
|
1407 |
+
{ url = "https://files.pythonhosted.org/packages/69/e2/b011c38e5394c4c18fb5500778a55ec43ad6106126e74723ffaee246f56e/safetensors-0.5.3-cp38-abi3-win_amd64.whl", hash = "sha256:836cbbc320b47e80acd40e44c8682db0e8ad7123209f69b093def21ec7cafd11", size = 308878 },
|
1408 |
+
]
|
1409 |
+
|
1410 |
[[package]]
|
1411 |
name = "semantic-version"
|
1412 |
version = "2.10.0"
|
|
|
1506 |
{ url = "https://files.pythonhosted.org/packages/35/8a/fd0a54e4bc7d09e6296efc7e9712f16e0001e82a13a90acb1e5729d34b39/synchronicity-0.9.13-py3-none-any.whl", hash = "sha256:762bb5f84def464b2c7dbb944d4f19c3336a12ed7046bc5d9646f0b4a3f6a0d5", size = 36974 },
|
1507 |
]
|
1508 |
|
1509 |
+
[[package]]
|
1510 |
+
name = "tokenizers"
|
1511 |
+
version = "0.21.1"
|
1512 |
+
source = { registry = "https://pypi.org/simple" }
|
1513 |
+
dependencies = [
|
1514 |
+
{ name = "huggingface-hub" },
|
1515 |
+
]
|
1516 |
+
sdist = { url = "https://files.pythonhosted.org/packages/92/76/5ac0c97f1117b91b7eb7323dcd61af80d72f790b4df71249a7850c195f30/tokenizers-0.21.1.tar.gz", hash = "sha256:a1bb04dc5b448985f86ecd4b05407f5a8d97cb2c0532199b2a302a604a0165ab", size = 343256 }
|
1517 |
+
wheels = [
|
1518 |
+
{ url = "https://files.pythonhosted.org/packages/a5/1f/328aee25f9115bf04262e8b4e5a2050b7b7cf44b59c74e982db7270c7f30/tokenizers-0.21.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:e78e413e9e668ad790a29456e677d9d3aa50a9ad311a40905d6861ba7692cf41", size = 2780767 },
|
1519 |
+
{ url = "https://files.pythonhosted.org/packages/ae/1a/4526797f3719b0287853f12c5ad563a9be09d446c44ac784cdd7c50f76ab/tokenizers-0.21.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:cd51cd0a91ecc801633829fcd1fda9cf8682ed3477c6243b9a095539de4aecf3", size = 2650555 },
|
1520 |
+
{ url = "https://files.pythonhosted.org/packages/4d/7a/a209b29f971a9fdc1da86f917fe4524564924db50d13f0724feed37b2a4d/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28da6b72d4fb14ee200a1bd386ff74ade8992d7f725f2bde2c495a9a98cf4d9f", size = 2937541 },
|
1521 |
+
{ url = "https://files.pythonhosted.org/packages/3c/1e/b788b50ffc6191e0b1fc2b0d49df8cff16fe415302e5ceb89f619d12c5bc/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:34d8cfde551c9916cb92014e040806122295a6800914bab5865deb85623931cf", size = 2819058 },
|
1522 |
+
{ url = "https://files.pythonhosted.org/packages/36/aa/3626dfa09a0ecc5b57a8c58eeaeb7dd7ca9a37ad9dd681edab5acd55764c/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaa852d23e125b73d283c98f007e06d4595732104b65402f46e8ef24b588d9f8", size = 3133278 },
|
1523 |
+
{ url = "https://files.pythonhosted.org/packages/a4/4d/8fbc203838b3d26269f944a89459d94c858f5b3f9a9b6ee9728cdcf69161/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a21a15d5c8e603331b8a59548bbe113564136dc0f5ad8306dd5033459a226da0", size = 3144253 },
|
1524 |
+
{ url = "https://files.pythonhosted.org/packages/d8/1b/2bd062adeb7c7511b847b32e356024980c0ffcf35f28947792c2d8ad2288/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2fdbd4c067c60a0ac7eca14b6bd18a5bebace54eb757c706b47ea93204f7a37c", size = 3398225 },
|
1525 |
+
{ url = "https://files.pythonhosted.org/packages/8a/63/38be071b0c8e06840bc6046991636bcb30c27f6bb1e670f4f4bc87cf49cc/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dd9a0061e403546f7377df940e866c3e678d7d4e9643d0461ea442b4f89e61a", size = 3038874 },
|
1526 |
+
{ url = "https://files.pythonhosted.org/packages/ec/83/afa94193c09246417c23a3c75a8a0a96bf44ab5630a3015538d0c316dd4b/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:db9484aeb2e200c43b915a1a0150ea885e35f357a5a8fabf7373af333dcc8dbf", size = 9014448 },
|
1527 |
+
{ url = "https://files.pythonhosted.org/packages/ae/b3/0e1a37d4f84c0f014d43701c11eb8072704f6efe8d8fc2dcdb79c47d76de/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ed248ab5279e601a30a4d67bdb897ecbe955a50f1e7bb62bd99f07dd11c2f5b6", size = 8937877 },
|
1528 |
+
{ url = "https://files.pythonhosted.org/packages/ac/33/ff08f50e6d615eb180a4a328c65907feb6ded0b8f990ec923969759dc379/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:9ac78b12e541d4ce67b4dfd970e44c060a2147b9b2a21f509566d556a509c67d", size = 9186645 },
|
1529 |
+
{ url = "https://files.pythonhosted.org/packages/5f/aa/8ae85f69a9f6012c6f8011c6f4aa1c96154c816e9eea2e1b758601157833/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e5a69c1a4496b81a5ee5d2c1f3f7fbdf95e90a0196101b0ee89ed9956b8a168f", size = 9384380 },
|
1530 |
+
{ url = "https://files.pythonhosted.org/packages/e8/5b/a5d98c89f747455e8b7a9504910c865d5e51da55e825a7ae641fb5ff0a58/tokenizers-0.21.1-cp39-abi3-win32.whl", hash = "sha256:1039a3a5734944e09de1d48761ade94e00d0fa760c0e0551151d4dd851ba63e3", size = 2239506 },
|
1531 |
+
{ url = "https://files.pythonhosted.org/packages/e6/b6/072a8e053ae600dcc2ac0da81a23548e3b523301a442a6ca900e92ac35be/tokenizers-0.21.1-cp39-abi3-win_amd64.whl", hash = "sha256:0f0dcbcc9f6e13e675a66d7a5f2f225a736745ce484c1a4e07476a89ccdad382", size = 2435481 },
|
1532 |
+
]
|
1533 |
+
|
1534 |
[[package]]
|
1535 |
name = "toml"
|
1536 |
version = "0.10.2"
|
|
|
1561 |
{ url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 },
|
1562 |
]
|
1563 |
|
1564 |
+
[[package]]
|
1565 |
+
name = "transformers"
|
1566 |
+
version = "4.52.4"
|
1567 |
+
source = { registry = "https://pypi.org/simple" }
|
1568 |
+
dependencies = [
|
1569 |
+
{ name = "filelock" },
|
1570 |
+
{ name = "huggingface-hub" },
|
1571 |
+
{ name = "numpy" },
|
1572 |
+
{ name = "packaging" },
|
1573 |
+
{ name = "pyyaml" },
|
1574 |
+
{ name = "regex" },
|
1575 |
+
{ name = "requests" },
|
1576 |
+
{ name = "safetensors" },
|
1577 |
+
{ name = "tokenizers" },
|
1578 |
+
{ name = "tqdm" },
|
1579 |
+
]
|
1580 |
+
sdist = { url = "https://files.pythonhosted.org/packages/da/a9/275037087f9d846580b02f2d7cae0e0a6955d46f84583d0151d6227bd416/transformers-4.52.4.tar.gz", hash = "sha256:aff3764441c1adc192a08dba49740d3cbbcb72d850586075aed6bd89b98203e6", size = 8945376 }
|
1581 |
+
wheels = [
|
1582 |
+
{ url = "https://files.pythonhosted.org/packages/96/f2/25b27b396af03d5b64e61976b14f7209e2939e9e806c10749b6d277c273e/transformers-4.52.4-py3-none-any.whl", hash = "sha256:203f5c19416d5877e36e88633943761719538a25d9775977a24fe77a1e5adfc7", size = 10460375 },
|
1583 |
+
]
|
1584 |
+
|
1585 |
[[package]]
|
1586 |
name = "typer"
|
1587 |
version = "0.16.0"
|