Spaces:
Runtime error
Runtime error
Charles Azam
commited on
Commit
·
55e85a1
1
Parent(s):
7f58cad
feat: add sanatize function
Browse files- pyproject.toml +6 -1
- src/deepengineer/deepsearch/scawl_web_agent.py +3 -0
- src/deepengineer/webcrawler/tools.py +0 -17
- src/deepengineer/webcrawler/utils.py +74 -0
- tests/webcrawler/test_utils.py +28 -0
- uv.lock +193 -0
pyproject.toml
CHANGED
|
@@ -27,6 +27,11 @@ dependencies = [
|
|
| 27 |
"fastapi>=0.115.14",
|
| 28 |
"supabase>=2.16.0",
|
| 29 |
"ipython>=9.4.0",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
]
|
| 31 |
|
| 32 |
[project.scripts]
|
|
@@ -34,4 +39,4 @@ deepengineer = "deepengineer:main"
|
|
| 34 |
|
| 35 |
[build-system]
|
| 36 |
requires = ["hatchling"]
|
| 37 |
-
build-backend = "hatchling.build"
|
|
|
|
| 27 |
"fastapi>=0.115.14",
|
| 28 |
"supabase>=2.16.0",
|
| 29 |
"ipython>=9.4.0",
|
| 30 |
+
"numpy>=2.3.1",
|
| 31 |
+
"pandas>=2.3.0",
|
| 32 |
+
"matplotlib>=3.10.3",
|
| 33 |
+
"scipy>=1.16.0",
|
| 34 |
+
"sympy>=1.14.0",
|
| 35 |
]
|
| 36 |
|
| 37 |
[project.scripts]
|
|
|
|
| 39 |
|
| 40 |
[build-system]
|
| 41 |
requires = ["hatchling"]
|
| 42 |
+
build-backend = "hatchling.build"
|
src/deepengineer/deepsearch/scawl_web_agent.py
CHANGED
|
@@ -288,6 +288,8 @@ def create_web_search_agent(model_id="deepseek/deepseek-chat"):
|
|
| 288 |
|
| 289 |
return web_search_agent
|
| 290 |
|
|
|
|
|
|
|
| 291 |
def create_web_search_agent_with_pdf_analysis(markdown: OCRResponse, model_id="deepseek/deepseek-chat"):
|
| 292 |
"""Create a web search agent that also includes PDF analysis capabilities."""
|
| 293 |
|
|
@@ -323,6 +325,7 @@ def create_web_search_agent_with_pdf_analysis(markdown: OCRResponse, model_id="d
|
|
| 323 |
planning_interval=4,
|
| 324 |
name="web_search_agent_with_pdf_analysis",
|
| 325 |
description="""A team member that can search the web, crawl URLs, download PDFs, and analyze the provided PDF document.""",
|
|
|
|
| 326 |
)
|
| 327 |
|
| 328 |
web_search_agent.prompt_templates["managed_agent"]["task"] += """
|
|
|
|
| 288 |
|
| 289 |
return web_search_agent
|
| 290 |
|
| 291 |
+
|
| 292 |
+
|
| 293 |
def create_web_search_agent_with_pdf_analysis(markdown: OCRResponse, model_id="deepseek/deepseek-chat"):
|
| 294 |
"""Create a web search agent that also includes PDF analysis capabilities."""
|
| 295 |
|
|
|
|
| 325 |
planning_interval=4,
|
| 326 |
name="web_search_agent_with_pdf_analysis",
|
| 327 |
description="""A team member that can search the web, crawl URLs, download PDFs, and analyze the provided PDF document.""",
|
| 328 |
+
additional_authorized_imports=["numpy", "matplotlib", "scipy", "sympy", "pandas", ],
|
| 329 |
)
|
| 330 |
|
| 331 |
web_search_agent.prompt_templates["managed_agent"]["task"] += """
|
src/deepengineer/webcrawler/tools.py
DELETED
|
@@ -1,17 +0,0 @@
|
|
| 1 |
-
from deepengineer.webcrawler.async_search import linkup_search_async, tavily_search_async, arxiv_search_async, pubmed_search_async, sciencedirect_search_async, scientific_search_async
|
| 2 |
-
from deepengineer.webcrawler.async_crawl import crawl4ai_extract_markdown_of_url_async, arxiv_download_pdf_async, download_pdf_async
|
| 3 |
-
from deepengineer.webcrawler.pdf_utils import get_table_of_contents_per_page_markdown
|
| 4 |
-
from typing import Callable
|
| 5 |
-
from smolagents.tools import get_json_schema
|
| 6 |
-
|
| 7 |
-
def print_function_signature_smolagents(tool_function: Callable):
|
| 8 |
-
tool_json_schema = get_json_schema(tool_function)["function"]
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
# Set the class attributes
|
| 12 |
-
print("name: ", tool_json_schema["name"])
|
| 13 |
-
print("description: ", tool_json_schema["description"])
|
| 14 |
-
print("inputs: ", tool_json_schema["parameters"]["properties"])
|
| 15 |
-
print("output_type: ", tool_json_schema["return"]["type"])
|
| 16 |
-
|
| 17 |
-
print_function_signature_smolagents(get_table_of_contents_per_page_markdown)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/deepengineer/webcrawler/utils.py
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import re
|
| 2 |
+
import unicodedata
|
| 3 |
+
|
| 4 |
+
def sanitize_filename(filename, replacement_char="_", max_length=255):
|
| 5 |
+
"""
|
| 6 |
+
Sanitizes a string to be suitable for use as a filename.
|
| 7 |
+
|
| 8 |
+
This function performs the following steps:
|
| 9 |
+
1. Replaces spaces with the specified replacement_char.
|
| 10 |
+
2. Converts the string to Unicode Normalization Form KD (NFKD) to separate
|
| 11 |
+
base characters from their diacritical marks (e.g., 'é' becomes 'e').
|
| 12 |
+
3. Encodes to ASCII and decodes back to remove non-ASCII characters.
|
| 13 |
+
4. Removes any characters that are not alphanumeric, hyphens, underscores,
|
| 14 |
+
or periods, replacing them with the replacement_char.
|
| 15 |
+
5. Replaces multiple consecutive replacement_char characters with a single one.
|
| 16 |
+
6. Trims leading/trailing replacement_char characters.
|
| 17 |
+
7. Ensures the filename doesn't start with a period (which makes it hidden on some systems).
|
| 18 |
+
8. Truncates the filename to the specified max_length (important for OS compatibility).
|
| 19 |
+
|
| 20 |
+
Args:
|
| 21 |
+
filename (str): The original string to sanitize.
|
| 22 |
+
replacement_char (str, optional): The character to replace invalid characters with.
|
| 23 |
+
Defaults to "_".
|
| 24 |
+
max_length (int, optional): The maximum allowed length for the filename.
|
| 25 |
+
Defaults to 255, a common OS limit.
|
| 26 |
+
|
| 27 |
+
Returns:
|
| 28 |
+
str: The sanitized filename.
|
| 29 |
+
"""
|
| 30 |
+
|
| 31 |
+
# 1. Replace spaces with the replacement_char
|
| 32 |
+
# This is done early to ensure spaces are handled before other replacements
|
| 33 |
+
# to avoid issues with double replacement characters in subsequent steps.
|
| 34 |
+
cleaned_filename = filename.replace(' ', replacement_char)
|
| 35 |
+
|
| 36 |
+
# 2. Convert to NFKD and encode to ASCII to handle accented characters
|
| 37 |
+
# This transforms 'crème brûlée' into 'creme brulee'
|
| 38 |
+
cleaned_filename = unicodedata.normalize('NFKD', cleaned_filename).encode('ascii', 'ignore').decode('utf-8')
|
| 39 |
+
|
| 40 |
+
# 3. Remove characters that are not alphanumeric, hyphen, underscore, or period.
|
| 41 |
+
# Replace them with the specified replacement_char.
|
| 42 |
+
# The regex pattern `[^a-zA-Z0-9\-_.]` matches any character that is NOT
|
| 43 |
+
# (a-z, A-Z, 0-9, hyphen, underscore, or period).
|
| 44 |
+
cleaned_filename = re.sub(r'[^a-zA-Z0-9\-_.]', replacement_char, cleaned_filename)
|
| 45 |
+
|
| 46 |
+
# 4. Replace multiple consecutive replacement_char characters with a single one
|
| 47 |
+
cleaned_filename = re.sub(re.escape(replacement_char) + r'+', replacement_char, cleaned_filename)
|
| 48 |
+
|
| 49 |
+
# 5. Trim leading/trailing replacement_char characters
|
| 50 |
+
cleaned_filename = cleaned_filename.strip(replacement_char)
|
| 51 |
+
|
| 52 |
+
# 6. Ensure the filename doesn't start with a period (hidden file on some systems)
|
| 53 |
+
if cleaned_filename.startswith('.'):
|
| 54 |
+
cleaned_filename = replacement_char + cleaned_filename[1:]
|
| 55 |
+
|
| 56 |
+
# 7. Truncate to max_length
|
| 57 |
+
# This is important for cross-platform compatibility (e.g., Windows limits are around 255)
|
| 58 |
+
if len(cleaned_filename) > max_length:
|
| 59 |
+
# Try to keep the file extension if present
|
| 60 |
+
name, ext = "", ""
|
| 61 |
+
if '.' in cleaned_filename:
|
| 62 |
+
parts = cleaned_filename.rsplit('.', 1)
|
| 63 |
+
name, ext = parts[0], "." + parts[1]
|
| 64 |
+
|
| 65 |
+
if len(name) > max_length - len(ext):
|
| 66 |
+
cleaned_filename = name[:max_length - len(ext)] + ext
|
| 67 |
+
else:
|
| 68 |
+
cleaned_filename = cleaned_filename[:max_length]
|
| 69 |
+
|
| 70 |
+
# Handle empty string case after all operations
|
| 71 |
+
if not cleaned_filename:
|
| 72 |
+
return "untitled" + replacement_char + "file"
|
| 73 |
+
|
| 74 |
+
return cleaned_filename
|
tests/webcrawler/test_utils.py
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from deepengineer.webcrawler.utils import sanitize_filename
|
| 2 |
+
|
| 3 |
+
def test_sanitize_filename():
|
| 4 |
+
|
| 5 |
+
assert sanitize_filename("My Document!@#$%^&*.txt") == "My_Document_.txt"
|
| 6 |
+
assert sanitize_filename(" Another file with spaces & special_chars ") == "Another_file_with_spaces_special_chars"
|
| 7 |
+
assert sanitize_filename("Düsseldorf_Report_2023.pdf") == "Dusseldorf_Report_2023.pdf"
|
| 8 |
+
assert sanitize_filename("File with an é, ö, ü, ç, ñ.docx") == "File_with_an_e_o_u_c_n.docx"
|
| 9 |
+
assert sanitize_filename("Очень важное дело.xlsx") == "_xlsx"
|
| 10 |
+
assert sanitize_filename("My.Super.Duper.File.Name.with.lots.of.dots.and.A@#!!%@#$%^&*.txt") == "My.Super.Duper.File.Name.with.lots.of.dots.and.A_.txt"
|
| 11 |
+
assert sanitize_filename("........hidden_file.txt") == "_.......hidden_file.txt"
|
| 12 |
+
assert sanitize_filename("A very long file name that exceeds typical operating system limits and needs to be truncated gracefully.zip") == "A_very_long_file_name_that_exceeds_typical_operating_system_limits_and_needs_to_be_truncated_gracefully.zip"
|
| 13 |
+
assert sanitize_filename(" ") == "untitled_file"
|
| 14 |
+
assert sanitize_filename("!") == "untitled_file"
|
| 15 |
+
assert sanitize_filename(" .some_hidden_file.txt ") == "_some_hidden_file.txt"
|
| 16 |
+
assert sanitize_filename("file_name_with_________many_underscores.txt") == "file_name_with_many_underscores.txt"
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
|
uv.lock
CHANGED
|
@@ -274,6 +274,37 @@ wheels = [
|
|
| 274 |
{ url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 },
|
| 275 |
]
|
| 276 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 277 |
[[package]]
|
| 278 |
name = "crawl4ai"
|
| 279 |
version = "0.6.3"
|
|
@@ -358,6 +389,15 @@ wheels = [
|
|
| 358 |
{ url = "https://files.pythonhosted.org/packages/ee/58/257350f7db99b4ae12b614a36256d9cc870d71d9e451e79c2dc3b23d7c3c/cssselect-1.3.0-py3-none-any.whl", hash = "sha256:56d1bf3e198080cc1667e137bc51de9cadfca259f03c2d4e09037b3e01e30f0d", size = 18786 },
|
| 359 |
]
|
| 360 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 361 |
[[package]]
|
| 362 |
name = "datasets"
|
| 363 |
version = "3.6.0"
|
|
@@ -405,14 +445,19 @@ dependencies = [
|
|
| 405 |
{ name = "ipython" },
|
| 406 |
{ name = "langchain" },
|
| 407 |
{ name = "litellm" },
|
|
|
|
| 408 |
{ name = "mistralai" },
|
|
|
|
| 409 |
{ name = "openai" },
|
|
|
|
| 410 |
{ name = "pillow" },
|
| 411 |
{ name = "pypdf" },
|
| 412 |
{ name = "pytest-asyncio" },
|
| 413 |
{ name = "python-dotenv" },
|
|
|
|
| 414 |
{ name = "smolagents" },
|
| 415 |
{ name = "supabase" },
|
|
|
|
| 416 |
{ name = "transformers" },
|
| 417 |
{ name = "wikipedia-api" },
|
| 418 |
]
|
|
@@ -428,14 +473,19 @@ requires-dist = [
|
|
| 428 |
{ name = "ipython", specifier = ">=9.4.0" },
|
| 429 |
{ name = "langchain" },
|
| 430 |
{ name = "litellm" },
|
|
|
|
| 431 |
{ name = "mistralai", specifier = ">=1.9.1" },
|
|
|
|
| 432 |
{ name = "openai" },
|
|
|
|
| 433 |
{ name = "pillow" },
|
| 434 |
{ name = "pypdf" },
|
| 435 |
{ name = "pytest-asyncio", specifier = ">=1.0.0" },
|
| 436 |
{ name = "python-dotenv", specifier = ">=1.1.1" },
|
|
|
|
| 437 |
{ name = "smolagents", specifier = ">=1.19.0" },
|
| 438 |
{ name = "supabase", specifier = ">=2.16.0" },
|
|
|
|
| 439 |
{ name = "transformers" },
|
| 440 |
{ name = "wikipedia-api" },
|
| 441 |
]
|
|
@@ -548,6 +598,23 @@ wheels = [
|
|
| 548 |
{ url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215 },
|
| 549 |
]
|
| 550 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 551 |
[[package]]
|
| 552 |
name = "frozenlist"
|
| 553 |
version = "1.7.0"
|
|
@@ -1005,6 +1072,42 @@ wheels = [
|
|
| 1005 |
{ url = "https://files.pythonhosted.org/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", size = 18437 },
|
| 1006 |
]
|
| 1007 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1008 |
[[package]]
|
| 1009 |
name = "langchain"
|
| 1010 |
version = "0.3.26"
|
|
@@ -1158,6 +1261,37 @@ wheels = [
|
|
| 1158 |
{ url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 },
|
| 1159 |
]
|
| 1160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1161 |
[[package]]
|
| 1162 |
name = "matplotlib-inline"
|
| 1163 |
version = "0.1.7"
|
|
@@ -1195,6 +1329,15 @@ wheels = [
|
|
| 1195 |
{ url = "https://files.pythonhosted.org/packages/10/a2/2e177165a24d978f07cf5d5841265ab399c187b0a44077d67502b8129b27/mistralai-1.9.1-py3-none-any.whl", hash = "sha256:250ec26534db6f4a4d5e6292b0801a64da2ab1f0d4c63a20d8ce27e3a427e402", size = 381773 },
|
| 1196 |
]
|
| 1197 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1198 |
[[package]]
|
| 1199 |
name = "multidict"
|
| 1200 |
version = "6.6.3"
|
|
@@ -1685,6 +1828,15 @@ wheels = [
|
|
| 1685 |
{ url = "https://files.pythonhosted.org/packages/80/28/2659c02301b9500751f8d42f9a6632e1508aa5120de5e43042b8b30f8d5d/pyopenssl-25.1.0-py3-none-any.whl", hash = "sha256:2b11f239acc47ac2e5aca04fd7fa829800aeee22a2eb30d744572a157bd8a1ab", size = 56771 },
|
| 1686 |
]
|
| 1687 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1688 |
[[package]]
|
| 1689 |
name = "pypdf"
|
| 1690 |
version = "5.7.0"
|
|
@@ -2006,6 +2158,35 @@ wheels = [
|
|
| 2006 |
{ url = "https://files.pythonhosted.org/packages/69/e2/b011c38e5394c4c18fb5500778a55ec43ad6106126e74723ffaee246f56e/safetensors-0.5.3-cp38-abi3-win_amd64.whl", hash = "sha256:836cbbc320b47e80acd40e44c8682db0e8ad7123209f69b093def21ec7cafd11", size = 308878 },
|
| 2007 |
]
|
| 2008 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2009 |
[[package]]
|
| 2010 |
name = "semantic-version"
|
| 2011 |
version = "2.10.0"
|
|
@@ -2186,6 +2367,18 @@ wheels = [
|
|
| 2186 |
{ url = "https://files.pythonhosted.org/packages/76/4a/9cbea12d86a741d4e73a6e278c2b1d6479fb03d1002efb00e8e71aea76db/supafunc-0.10.1-py3-none-any.whl", hash = "sha256:26df9bd25ff2ef56cb5bfb8962de98f43331f7f8ff69572bac3ed9c3a9672040", size = 8028 },
|
| 2187 |
]
|
| 2188 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2189 |
[[package]]
|
| 2190 |
name = "tenacity"
|
| 2191 |
version = "9.1.2"
|
|
|
|
| 274 |
{ url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 },
|
| 275 |
]
|
| 276 |
|
| 277 |
+
[[package]]
|
| 278 |
+
name = "contourpy"
|
| 279 |
+
version = "1.3.2"
|
| 280 |
+
source = { registry = "https://pypi.org/simple" }
|
| 281 |
+
dependencies = [
|
| 282 |
+
{ name = "numpy" },
|
| 283 |
+
]
|
| 284 |
+
sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130 }
|
| 285 |
+
wheels = [
|
| 286 |
+
{ url = "https://files.pythonhosted.org/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb", size = 271630 },
|
| 287 |
+
{ url = "https://files.pythonhosted.org/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08", size = 255670 },
|
| 288 |
+
{ url = "https://files.pythonhosted.org/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c", size = 306694 },
|
| 289 |
+
{ url = "https://files.pythonhosted.org/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f", size = 345986 },
|
| 290 |
+
{ url = "https://files.pythonhosted.org/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85", size = 318060 },
|
| 291 |
+
{ url = "https://files.pythonhosted.org/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841", size = 322747 },
|
| 292 |
+
{ url = "https://files.pythonhosted.org/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422", size = 1308895 },
|
| 293 |
+
{ url = "https://files.pythonhosted.org/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef", size = 1379098 },
|
| 294 |
+
{ url = "https://files.pythonhosted.org/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f", size = 178535 },
|
| 295 |
+
{ url = "https://files.pythonhosted.org/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9", size = 223096 },
|
| 296 |
+
{ url = "https://files.pythonhosted.org/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f", size = 285090 },
|
| 297 |
+
{ url = "https://files.pythonhosted.org/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739", size = 268643 },
|
| 298 |
+
{ url = "https://files.pythonhosted.org/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823", size = 310443 },
|
| 299 |
+
{ url = "https://files.pythonhosted.org/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5", size = 349865 },
|
| 300 |
+
{ url = "https://files.pythonhosted.org/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532", size = 321162 },
|
| 301 |
+
{ url = "https://files.pythonhosted.org/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b", size = 327355 },
|
| 302 |
+
{ url = "https://files.pythonhosted.org/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52", size = 1307935 },
|
| 303 |
+
{ url = "https://files.pythonhosted.org/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd", size = 1372168 },
|
| 304 |
+
{ url = "https://files.pythonhosted.org/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1", size = 189550 },
|
| 305 |
+
{ url = "https://files.pythonhosted.org/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69", size = 238214 },
|
| 306 |
+
]
|
| 307 |
+
|
| 308 |
[[package]]
|
| 309 |
name = "crawl4ai"
|
| 310 |
version = "0.6.3"
|
|
|
|
| 389 |
{ url = "https://files.pythonhosted.org/packages/ee/58/257350f7db99b4ae12b614a36256d9cc870d71d9e451e79c2dc3b23d7c3c/cssselect-1.3.0-py3-none-any.whl", hash = "sha256:56d1bf3e198080cc1667e137bc51de9cadfca259f03c2d4e09037b3e01e30f0d", size = 18786 },
|
| 390 |
]
|
| 391 |
|
| 392 |
+
[[package]]
|
| 393 |
+
name = "cycler"
|
| 394 |
+
version = "0.12.1"
|
| 395 |
+
source = { registry = "https://pypi.org/simple" }
|
| 396 |
+
sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615 }
|
| 397 |
+
wheels = [
|
| 398 |
+
{ url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 },
|
| 399 |
+
]
|
| 400 |
+
|
| 401 |
[[package]]
|
| 402 |
name = "datasets"
|
| 403 |
version = "3.6.0"
|
|
|
|
| 445 |
{ name = "ipython" },
|
| 446 |
{ name = "langchain" },
|
| 447 |
{ name = "litellm" },
|
| 448 |
+
{ name = "matplotlib" },
|
| 449 |
{ name = "mistralai" },
|
| 450 |
+
{ name = "numpy" },
|
| 451 |
{ name = "openai" },
|
| 452 |
+
{ name = "pandas" },
|
| 453 |
{ name = "pillow" },
|
| 454 |
{ name = "pypdf" },
|
| 455 |
{ name = "pytest-asyncio" },
|
| 456 |
{ name = "python-dotenv" },
|
| 457 |
+
{ name = "scipy" },
|
| 458 |
{ name = "smolagents" },
|
| 459 |
{ name = "supabase" },
|
| 460 |
+
{ name = "sympy" },
|
| 461 |
{ name = "transformers" },
|
| 462 |
{ name = "wikipedia-api" },
|
| 463 |
]
|
|
|
|
| 473 |
{ name = "ipython", specifier = ">=9.4.0" },
|
| 474 |
{ name = "langchain" },
|
| 475 |
{ name = "litellm" },
|
| 476 |
+
{ name = "matplotlib", specifier = ">=3.10.3" },
|
| 477 |
{ name = "mistralai", specifier = ">=1.9.1" },
|
| 478 |
+
{ name = "numpy", specifier = ">=2.3.1" },
|
| 479 |
{ name = "openai" },
|
| 480 |
+
{ name = "pandas", specifier = ">=2.3.0" },
|
| 481 |
{ name = "pillow" },
|
| 482 |
{ name = "pypdf" },
|
| 483 |
{ name = "pytest-asyncio", specifier = ">=1.0.0" },
|
| 484 |
{ name = "python-dotenv", specifier = ">=1.1.1" },
|
| 485 |
+
{ name = "scipy", specifier = ">=1.16.0" },
|
| 486 |
{ name = "smolagents", specifier = ">=1.19.0" },
|
| 487 |
{ name = "supabase", specifier = ">=2.16.0" },
|
| 488 |
+
{ name = "sympy", specifier = ">=1.14.0" },
|
| 489 |
{ name = "transformers" },
|
| 490 |
{ name = "wikipedia-api" },
|
| 491 |
]
|
|
|
|
| 598 |
{ url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215 },
|
| 599 |
]
|
| 600 |
|
| 601 |
+
[[package]]
|
| 602 |
+
name = "fonttools"
|
| 603 |
+
version = "4.58.5"
|
| 604 |
+
source = { registry = "https://pypi.org/simple" }
|
| 605 |
+
sdist = { url = "https://files.pythonhosted.org/packages/52/97/5735503e58d3816b0989955ef9b2df07e4c99b246469bd8b3823a14095da/fonttools-4.58.5.tar.gz", hash = "sha256:b2a35b0a19f1837284b3a23dd64fd7761b8911d50911ecd2bdbaf5b2d1b5df9c", size = 3526243 }
|
| 606 |
+
wheels = [
|
| 607 |
+
{ url = "https://files.pythonhosted.org/packages/3a/ee/764dd8b99891f815241f449345863cfed9e546923d9cef463f37fd1d7168/fonttools-4.58.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f4b6f1360da13cecc88c0d60716145b31e1015fbe6a59e32f73a4404e2ea92cf", size = 2745867 },
|
| 608 |
+
{ url = "https://files.pythonhosted.org/packages/e2/23/8fef484c02fef55e226dfeac4339a015c5480b6a496064058491759ac71e/fonttools-4.58.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4a036822e915692aa2c03e2decc60f49a8190f8111b639c947a4f4e5774d0d7a", size = 2317933 },
|
| 609 |
+
{ url = "https://files.pythonhosted.org/packages/ab/47/f92b135864fa777e11ad68420bf89446c91a572fe2782745586f8e6aac0c/fonttools-4.58.5-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a6d7709fcf4577b0f294ee6327088884ca95046e1eccde87c53bbba4d5008541", size = 4877844 },
|
| 610 |
+
{ url = "https://files.pythonhosted.org/packages/3e/65/6c1a83511d8ac32411930495645edb3f8dfabebcb78f08cf6009ba2585ec/fonttools-4.58.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b9b5099ca99b79d6d67162778b1b1616fc0e1de02c1a178248a0da8d78a33852", size = 4940106 },
|
| 611 |
+
{ url = "https://files.pythonhosted.org/packages/fa/90/df8eb77d6cf266cbbba01866a1349a3e9121e0a63002cf8d6754e994f755/fonttools-4.58.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3f2c05a8d82a4d15aebfdb3506e90793aea16e0302cec385134dd960647a36c0", size = 4879458 },
|
| 612 |
+
{ url = "https://files.pythonhosted.org/packages/26/b1/e32f8de51b7afcfea6ad62780da2fa73212c43a32cd8cafcc852189d7949/fonttools-4.58.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:79f0c4b1cc63839b61deeac646d8dba46f8ed40332c2ac1b9997281462c2e4ba", size = 5021917 },
|
| 613 |
+
{ url = "https://files.pythonhosted.org/packages/89/72/578aa7fe32918dd763c62f447aaed672d665ee10e3eeb1725f4d6493fe96/fonttools-4.58.5-cp313-cp313-win32.whl", hash = "sha256:a1a9a2c462760976882131cbab7d63407813413a2d32cd699e86a1ff22bf7aa5", size = 2186827 },
|
| 614 |
+
{ url = "https://files.pythonhosted.org/packages/71/a3/21e921b16cb9c029d3308e0cb79c9a937e9ff1fc1ee28c2419f0957b9e7c/fonttools-4.58.5-cp313-cp313-win_amd64.whl", hash = "sha256:bca61b14031a4b7dc87e14bf6ca34c275f8e4b9f7a37bc2fe746b532a924cf30", size = 2235706 },
|
| 615 |
+
{ url = "https://files.pythonhosted.org/packages/d7/d4/1d85a1996b6188cd2713230e002d79a6f3a289bb17cef600cba385848b72/fonttools-4.58.5-py3-none-any.whl", hash = "sha256:e48a487ed24d9b611c5c4b25db1e50e69e9854ca2670e39a3486ffcd98863ec4", size = 1115318 },
|
| 616 |
+
]
|
| 617 |
+
|
| 618 |
[[package]]
|
| 619 |
name = "frozenlist"
|
| 620 |
version = "1.7.0"
|
|
|
|
| 1072 |
{ url = "https://files.pythonhosted.org/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", size = 18437 },
|
| 1073 |
]
|
| 1074 |
|
| 1075 |
+
[[package]]
|
| 1076 |
+
name = "kiwisolver"
|
| 1077 |
+
version = "1.4.8"
|
| 1078 |
+
source = { registry = "https://pypi.org/simple" }
|
| 1079 |
+
sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538 }
|
| 1080 |
+
wheels = [
|
| 1081 |
+
{ url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156 },
|
| 1082 |
+
{ url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555 },
|
| 1083 |
+
{ url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071 },
|
| 1084 |
+
{ url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053 },
|
| 1085 |
+
{ url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278 },
|
| 1086 |
+
{ url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139 },
|
| 1087 |
+
{ url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517 },
|
| 1088 |
+
{ url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952 },
|
| 1089 |
+
{ url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132 },
|
| 1090 |
+
{ url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997 },
|
| 1091 |
+
{ url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060 },
|
| 1092 |
+
{ url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471 },
|
| 1093 |
+
{ url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793 },
|
| 1094 |
+
{ url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855 },
|
| 1095 |
+
{ url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430 },
|
| 1096 |
+
{ url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294 },
|
| 1097 |
+
{ url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736 },
|
| 1098 |
+
{ url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194 },
|
| 1099 |
+
{ url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942 },
|
| 1100 |
+
{ url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341 },
|
| 1101 |
+
{ url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455 },
|
| 1102 |
+
{ url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138 },
|
| 1103 |
+
{ url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857 },
|
| 1104 |
+
{ url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129 },
|
| 1105 |
+
{ url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538 },
|
| 1106 |
+
{ url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661 },
|
| 1107 |
+
{ url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710 },
|
| 1108 |
+
{ url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213 },
|
| 1109 |
+
]
|
| 1110 |
+
|
| 1111 |
[[package]]
|
| 1112 |
name = "langchain"
|
| 1113 |
version = "0.3.26"
|
|
|
|
| 1261 |
{ url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 },
|
| 1262 |
]
|
| 1263 |
|
| 1264 |
+
[[package]]
|
| 1265 |
+
name = "matplotlib"
|
| 1266 |
+
version = "3.10.3"
|
| 1267 |
+
source = { registry = "https://pypi.org/simple" }
|
| 1268 |
+
dependencies = [
|
| 1269 |
+
{ name = "contourpy" },
|
| 1270 |
+
{ name = "cycler" },
|
| 1271 |
+
{ name = "fonttools" },
|
| 1272 |
+
{ name = "kiwisolver" },
|
| 1273 |
+
{ name = "numpy" },
|
| 1274 |
+
{ name = "packaging" },
|
| 1275 |
+
{ name = "pillow" },
|
| 1276 |
+
{ name = "pyparsing" },
|
| 1277 |
+
{ name = "python-dateutil" },
|
| 1278 |
+
]
|
| 1279 |
+
sdist = { url = "https://files.pythonhosted.org/packages/26/91/d49359a21893183ed2a5b6c76bec40e0b1dcbf8ca148f864d134897cfc75/matplotlib-3.10.3.tar.gz", hash = "sha256:2f82d2c5bb7ae93aaaa4cd42aca65d76ce6376f83304fa3a630b569aca274df0", size = 34799811 }
|
| 1280 |
+
wheels = [
|
| 1281 |
+
{ url = "https://files.pythonhosted.org/packages/3b/c1/23cfb566a74c696a3b338d8955c549900d18fe2b898b6e94d682ca21e7c2/matplotlib-3.10.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9f2efccc8dcf2b86fc4ee849eea5dcaecedd0773b30f47980dc0cbeabf26ec84", size = 8180318 },
|
| 1282 |
+
{ url = "https://files.pythonhosted.org/packages/6c/0c/02f1c3b66b30da9ee343c343acbb6251bef5b01d34fad732446eaadcd108/matplotlib-3.10.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ddbba06a6c126e3301c3d272a99dcbe7f6c24c14024e80307ff03791a5f294e", size = 8051132 },
|
| 1283 |
+
{ url = "https://files.pythonhosted.org/packages/b4/ab/8db1a5ac9b3a7352fb914133001dae889f9fcecb3146541be46bed41339c/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748302b33ae9326995b238f606e9ed840bf5886ebafcb233775d946aa8107a15", size = 8457633 },
|
| 1284 |
+
{ url = "https://files.pythonhosted.org/packages/f5/64/41c4367bcaecbc03ef0d2a3ecee58a7065d0a36ae1aa817fe573a2da66d4/matplotlib-3.10.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a80fcccbef63302c0efd78042ea3c2436104c5b1a4d3ae20f864593696364ac7", size = 8601031 },
|
| 1285 |
+
{ url = "https://files.pythonhosted.org/packages/12/6f/6cc79e9e5ab89d13ed64da28898e40fe5b105a9ab9c98f83abd24e46d7d7/matplotlib-3.10.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55e46cbfe1f8586adb34f7587c3e4f7dedc59d5226719faf6cb54fc24f2fd52d", size = 9406988 },
|
| 1286 |
+
{ url = "https://files.pythonhosted.org/packages/b1/0f/eed564407bd4d935ffabf561ed31099ed609e19287409a27b6d336848653/matplotlib-3.10.3-cp313-cp313-win_amd64.whl", hash = "sha256:151d89cb8d33cb23345cd12490c76fd5d18a56581a16d950b48c6ff19bb2ab93", size = 8068034 },
|
| 1287 |
+
{ url = "https://files.pythonhosted.org/packages/3e/e5/2f14791ff69b12b09e9975e1d116d9578ac684460860ce542c2588cb7a1c/matplotlib-3.10.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c26dd9834e74d164d06433dc7be5d75a1e9890b926b3e57e74fa446e1a62c3e2", size = 8218223 },
|
| 1288 |
+
{ url = "https://files.pythonhosted.org/packages/5c/08/30a94afd828b6e02d0a52cae4a29d6e9ccfcf4c8b56cc28b021d3588873e/matplotlib-3.10.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:24853dad5b8c84c8c2390fc31ce4858b6df504156893292ce8092d190ef8151d", size = 8094985 },
|
| 1289 |
+
{ url = "https://files.pythonhosted.org/packages/89/44/f3bc6b53066c889d7a1a3ea8094c13af6a667c5ca6220ec60ecceec2dabe/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68f7878214d369d7d4215e2a9075fef743be38fa401d32e6020bab2dfabaa566", size = 8483109 },
|
| 1290 |
+
{ url = "https://files.pythonhosted.org/packages/ba/c7/473bc559beec08ebee9f86ca77a844b65747e1a6c2691e8c92e40b9f42a8/matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6929fc618cb6db9cb75086f73b3219bbb25920cb24cee2ea7a12b04971a4158", size = 8618082 },
|
| 1291 |
+
{ url = "https://files.pythonhosted.org/packages/d8/e9/6ce8edd264c8819e37bbed8172e0ccdc7107fe86999b76ab5752276357a4/matplotlib-3.10.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6c7818292a5cc372a2dc4c795e5c356942eb8350b98ef913f7fda51fe175ac5d", size = 9413699 },
|
| 1292 |
+
{ url = "https://files.pythonhosted.org/packages/1b/92/9a45c91089c3cf690b5badd4be81e392ff086ccca8a1d4e3a08463d8a966/matplotlib-3.10.3-cp313-cp313t-win_amd64.whl", hash = "sha256:4f23ffe95c5667ef8a2b56eea9b53db7f43910fa4a2d5472ae0f72b64deab4d5", size = 8139044 },
|
| 1293 |
+
]
|
| 1294 |
+
|
| 1295 |
[[package]]
|
| 1296 |
name = "matplotlib-inline"
|
| 1297 |
version = "0.1.7"
|
|
|
|
| 1329 |
{ url = "https://files.pythonhosted.org/packages/10/a2/2e177165a24d978f07cf5d5841265ab399c187b0a44077d67502b8129b27/mistralai-1.9.1-py3-none-any.whl", hash = "sha256:250ec26534db6f4a4d5e6292b0801a64da2ab1f0d4c63a20d8ce27e3a427e402", size = 381773 },
|
| 1330 |
]
|
| 1331 |
|
| 1332 |
+
[[package]]
|
| 1333 |
+
name = "mpmath"
|
| 1334 |
+
version = "1.3.0"
|
| 1335 |
+
source = { registry = "https://pypi.org/simple" }
|
| 1336 |
+
sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106 }
|
| 1337 |
+
wheels = [
|
| 1338 |
+
{ url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198 },
|
| 1339 |
+
]
|
| 1340 |
+
|
| 1341 |
[[package]]
|
| 1342 |
name = "multidict"
|
| 1343 |
version = "6.6.3"
|
|
|
|
| 1828 |
{ url = "https://files.pythonhosted.org/packages/80/28/2659c02301b9500751f8d42f9a6632e1508aa5120de5e43042b8b30f8d5d/pyopenssl-25.1.0-py3-none-any.whl", hash = "sha256:2b11f239acc47ac2e5aca04fd7fa829800aeee22a2eb30d744572a157bd8a1ab", size = 56771 },
|
| 1829 |
]
|
| 1830 |
|
| 1831 |
+
[[package]]
|
| 1832 |
+
name = "pyparsing"
|
| 1833 |
+
version = "3.2.3"
|
| 1834 |
+
source = { registry = "https://pypi.org/simple" }
|
| 1835 |
+
sdist = { url = "https://files.pythonhosted.org/packages/bb/22/f1129e69d94ffff626bdb5c835506b3a5b4f3d070f17ea295e12c2c6f60f/pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be", size = 1088608 }
|
| 1836 |
+
wheels = [
|
| 1837 |
+
{ url = "https://files.pythonhosted.org/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf", size = 111120 },
|
| 1838 |
+
]
|
| 1839 |
+
|
| 1840 |
[[package]]
|
| 1841 |
name = "pypdf"
|
| 1842 |
version = "5.7.0"
|
|
|
|
| 2158 |
{ url = "https://files.pythonhosted.org/packages/69/e2/b011c38e5394c4c18fb5500778a55ec43ad6106126e74723ffaee246f56e/safetensors-0.5.3-cp38-abi3-win_amd64.whl", hash = "sha256:836cbbc320b47e80acd40e44c8682db0e8ad7123209f69b093def21ec7cafd11", size = 308878 },
|
| 2159 |
]
|
| 2160 |
|
| 2161 |
+
[[package]]
|
| 2162 |
+
name = "scipy"
|
| 2163 |
+
version = "1.16.0"
|
| 2164 |
+
source = { registry = "https://pypi.org/simple" }
|
| 2165 |
+
dependencies = [
|
| 2166 |
+
{ name = "numpy" },
|
| 2167 |
+
]
|
| 2168 |
+
sdist = { url = "https://files.pythonhosted.org/packages/81/18/b06a83f0c5ee8cddbde5e3f3d0bb9b702abfa5136ef6d4620ff67df7eee5/scipy-1.16.0.tar.gz", hash = "sha256:b5ef54021e832869c8cfb03bc3bf20366cbcd426e02a58e8a58d7584dfbb8f62", size = 30581216 }
|
| 2169 |
+
wheels = [
|
| 2170 |
+
{ url = "https://files.pythonhosted.org/packages/46/95/0746417bc24be0c2a7b7563946d61f670a3b491b76adede420e9d173841f/scipy-1.16.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:e9f414cbe9ca289a73e0cc92e33a6a791469b6619c240aa32ee18abdce8ab451", size = 36418162 },
|
| 2171 |
+
{ url = "https://files.pythonhosted.org/packages/19/5a/914355a74481b8e4bbccf67259bbde171348a3f160b67b4945fbc5f5c1e5/scipy-1.16.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:bbba55fb97ba3cdef9b1ee973f06b09d518c0c7c66a009c729c7d1592be1935e", size = 28465985 },
|
| 2172 |
+
{ url = "https://files.pythonhosted.org/packages/58/46/63477fc1246063855969cbefdcee8c648ba4b17f67370bd542ba56368d0b/scipy-1.16.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:58e0d4354eacb6004e7aa1cd350e5514bd0270acaa8d5b36c0627bb3bb486974", size = 20737961 },
|
| 2173 |
+
{ url = "https://files.pythonhosted.org/packages/93/86/0fbb5588b73555e40f9d3d6dde24ee6fac7d8e301a27f6f0cab9d8f66ff2/scipy-1.16.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:75b2094ec975c80efc273567436e16bb794660509c12c6a31eb5c195cbf4b6dc", size = 23377941 },
|
| 2174 |
+
{ url = "https://files.pythonhosted.org/packages/ca/80/a561f2bf4c2da89fa631b3cbf31d120e21ea95db71fd9ec00cb0247c7a93/scipy-1.16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6b65d232157a380fdd11a560e7e21cde34fdb69d65c09cb87f6cc024ee376351", size = 33196703 },
|
| 2175 |
+
{ url = "https://files.pythonhosted.org/packages/11/6b/3443abcd0707d52e48eb315e33cc669a95e29fc102229919646f5a501171/scipy-1.16.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d8747f7736accd39289943f7fe53a8333be7f15a82eea08e4afe47d79568c32", size = 35083410 },
|
| 2176 |
+
{ url = "https://files.pythonhosted.org/packages/20/ab/eb0fc00e1e48961f1bd69b7ad7e7266896fe5bad4ead91b5fc6b3561bba4/scipy-1.16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eb9f147a1b8529bb7fec2a85cf4cf42bdfadf9e83535c309a11fdae598c88e8b", size = 35387829 },
|
| 2177 |
+
{ url = "https://files.pythonhosted.org/packages/57/9e/d6fc64e41fad5d481c029ee5a49eefc17f0b8071d636a02ceee44d4a0de2/scipy-1.16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d2b83c37edbfa837a8923d19c749c1935ad3d41cf196006a24ed44dba2ec4358", size = 37841356 },
|
| 2178 |
+
{ url = "https://files.pythonhosted.org/packages/7c/a7/4c94bbe91f12126b8bf6709b2471900577b7373a4fd1f431f28ba6f81115/scipy-1.16.0-cp313-cp313-win_amd64.whl", hash = "sha256:79a3c13d43c95aa80b87328a46031cf52508cf5f4df2767602c984ed1d3c6bbe", size = 38403710 },
|
| 2179 |
+
{ url = "https://files.pythonhosted.org/packages/47/20/965da8497f6226e8fa90ad3447b82ed0e28d942532e92dd8b91b43f100d4/scipy-1.16.0-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:f91b87e1689f0370690e8470916fe1b2308e5b2061317ff76977c8f836452a47", size = 36813833 },
|
| 2180 |
+
{ url = "https://files.pythonhosted.org/packages/28/f4/197580c3dac2d234e948806e164601c2df6f0078ed9f5ad4a62685b7c331/scipy-1.16.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:88a6ca658fb94640079e7a50b2ad3b67e33ef0f40e70bdb7dc22017dae73ac08", size = 28974431 },
|
| 2181 |
+
{ url = "https://files.pythonhosted.org/packages/8a/fc/e18b8550048d9224426e76906694c60028dbdb65d28b1372b5503914b89d/scipy-1.16.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ae902626972f1bd7e4e86f58fd72322d7f4ec7b0cfc17b15d4b7006efc385176", size = 21246454 },
|
| 2182 |
+
{ url = "https://files.pythonhosted.org/packages/8c/48/07b97d167e0d6a324bfd7484cd0c209cc27338b67e5deadae578cf48e809/scipy-1.16.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:8cb824c1fc75ef29893bc32b3ddd7b11cf9ab13c1127fe26413a05953b8c32ed", size = 23772979 },
|
| 2183 |
+
{ url = "https://files.pythonhosted.org/packages/4c/4f/9efbd3f70baf9582edf271db3002b7882c875ddd37dc97f0f675ad68679f/scipy-1.16.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:de2db7250ff6514366a9709c2cba35cb6d08498e961cba20d7cff98a7ee88938", size = 33341972 },
|
| 2184 |
+
{ url = "https://files.pythonhosted.org/packages/3f/dc/9e496a3c5dbe24e76ee24525155ab7f659c20180bab058ef2c5fa7d9119c/scipy-1.16.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e85800274edf4db8dd2e4e93034f92d1b05c9421220e7ded9988b16976f849c1", size = 35185476 },
|
| 2185 |
+
{ url = "https://files.pythonhosted.org/packages/ce/b3/21001cff985a122ba434c33f2c9d7d1dc3b669827e94f4fc4e1fe8b9dfd8/scipy-1.16.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4f720300a3024c237ace1cb11f9a84c38beb19616ba7c4cdcd771047a10a1706", size = 35570990 },
|
| 2186 |
+
{ url = "https://files.pythonhosted.org/packages/e5/d3/7ba42647d6709251cdf97043d0c107e0317e152fa2f76873b656b509ff55/scipy-1.16.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:aad603e9339ddb676409b104c48a027e9916ce0d2838830691f39552b38a352e", size = 37950262 },
|
| 2187 |
+
{ url = "https://files.pythonhosted.org/packages/eb/c4/231cac7a8385394ebbbb4f1ca662203e9d8c332825ab4f36ffc3ead09a42/scipy-1.16.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f56296fefca67ba605fd74d12f7bd23636267731a72cb3947963e76b8c0a25db", size = 38515076 },
|
| 2188 |
+
]
|
| 2189 |
+
|
| 2190 |
[[package]]
|
| 2191 |
name = "semantic-version"
|
| 2192 |
version = "2.10.0"
|
|
|
|
| 2367 |
{ url = "https://files.pythonhosted.org/packages/76/4a/9cbea12d86a741d4e73a6e278c2b1d6479fb03d1002efb00e8e71aea76db/supafunc-0.10.1-py3-none-any.whl", hash = "sha256:26df9bd25ff2ef56cb5bfb8962de98f43331f7f8ff69572bac3ed9c3a9672040", size = 8028 },
|
| 2368 |
]
|
| 2369 |
|
| 2370 |
+
[[package]]
|
| 2371 |
+
name = "sympy"
|
| 2372 |
+
version = "1.14.0"
|
| 2373 |
+
source = { registry = "https://pypi.org/simple" }
|
| 2374 |
+
dependencies = [
|
| 2375 |
+
{ name = "mpmath" },
|
| 2376 |
+
]
|
| 2377 |
+
sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921 }
|
| 2378 |
+
wheels = [
|
| 2379 |
+
{ url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353 },
|
| 2380 |
+
]
|
| 2381 |
+
|
| 2382 |
[[package]]
|
| 2383 |
name = "tenacity"
|
| 2384 |
version = "9.1.2"
|