diff --git a/.env.example b/.env.example index fdaab21..ce497ec 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,5 @@ HF_TOKEN="your_huggingface_token" -WANDB_API_KEY="your_wandb_api_key" \ No newline at end of file +WANDB_API_KEY="your_wandb_api_key" + +AWS_SECRET_ACCESS_KEY="your_aws_secret_access_key" +AWS_ACCESS_KEY_ID="your_aws_access_key_id" diff --git a/cache/cache.py b/cache/cache.py new file mode 100644 index 0000000..a664b20 --- /dev/null +++ b/cache/cache.py @@ -0,0 +1,281 @@ +from abc import ABC, abstractmethod +import sqlite3 +import pickle +import hashlib +import asyncio +from typing import Optional, Callable, Tuple, Any +import os + +BUST_CACHE = os.getenv("BUST_CACHE", "") +CACHE_ONLY = os.getenv("CACHE_ONLY", "false").lower() != "false" +PRINT_CACHE_MISSES = os.getenv("PRINT_CACHE_MISSES", "false").lower() != "false" + +bust_cache_ids = set(BUST_CACHE.split(",")) + +if "all" in bust_cache_ids: + print("Busting all caches, good luck") +elif bust_cache_ids != {""}: + print(f"Busting cache for {bust_cache_ids}") + +if CACHE_ONLY: + print("CACHE_ONLY is set to True. Cache will be used exclusively.") + + +class CacheBackend(ABC): + @abstractmethod + async def setup(self) -> None: + pass + + @abstractmethod + async def get(self, fn_id: str, arg_hash: str) -> Tuple[bool, Any]: + """Returns (cache_hit, result)""" + pass + + @abstractmethod + async def set(self, fn_id: str, arg_hash: str, result: Any) -> None: + pass + + @abstractmethod + async def delete(self, fn_id: str, arg_hash: str) -> None: + """Deletes a cache entry""" + pass + + @abstractmethod + async def delete_all(self) -> None: + """Deletes all cache entries""" + pass + + @abstractmethod + async def delete_by_fn_id(self, fn_id: str) -> None: + """Deletes all cache entries for a specific function ID""" + pass + + +class SQLiteBackend(CacheBackend): + def __init__(self, db_path: str): + self.db_path = db_path + + def _get_connection(self): + return sqlite3.connect(self.db_path) + + async def setup(self): + with self._get_connection() as conn: + cursor = conn.cursor() + cursor.execute( + """ + CREATE TABLE IF NOT EXISTS cache ( + fn_id TEXT, + arg_hash TEXT, + result BLOB, + chunk_index INTEGER, + is_chunked BOOLEAN, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (fn_id, arg_hash, chunk_index) + ) + """ + ) + conn.commit() + + async def get(self, fn_id: str, arg_hash: str) -> Tuple[bool, Any]: + with self._get_connection() as conn: + cursor = conn.cursor() + cursor.execute( + """ + SELECT result, is_chunked, chunk_index FROM cache + WHERE fn_id = ? AND arg_hash = ? + ORDER BY chunk_index + """, + (fn_id, arg_hash), + ) + rows = cursor.fetchall() + + if not rows: + return False, None + + if not rows[0][1]: # not chunked + return True, pickle.loads(rows[0][0]) + + # Combine chunks + result_data = b"".join(row[0] for row in rows) + return True, pickle.loads(result_data) + + async def set(self, fn_id: str, arg_hash: str, result: Any) -> None: + pickled_data = pickle.dumps(result) + chunk_size = 1024 * 1024 # 1MB chunks + is_chunked = len(pickled_data) > chunk_size + + with self._get_connection() as conn: + cursor = conn.cursor() + cursor.execute( + "DELETE FROM cache WHERE fn_id = ? AND arg_hash = ?", + (fn_id, arg_hash), + ) + + if not is_chunked: + cursor.execute( + """ + INSERT INTO cache (fn_id, arg_hash, result, chunk_index, is_chunked) + VALUES (?, ?, ?, 0, 0) + """, + (fn_id, arg_hash, pickled_data), + ) + else: + chunks = [ + pickled_data[i : i + chunk_size] + for i in range(0, len(pickled_data), chunk_size) + ] + for i, chunk in enumerate(chunks): + cursor.execute( + """ + INSERT INTO cache (fn_id, arg_hash, result, chunk_index, is_chunked) + VALUES (?, ?, ?, ?, 1) + """, + (fn_id, arg_hash, chunk, i), + ) + + conn.commit() + + async def delete(self, fn_id: str, arg_hash: str) -> None: + with self._get_connection() as conn: + cursor = conn.cursor() + cursor.execute( + "DELETE FROM cache WHERE fn_id = ? AND arg_hash = ?", + (fn_id, arg_hash), + ) + conn.commit() + + async def delete_all(self) -> None: + with self._get_connection() as conn: + cursor = conn.cursor() + cursor.execute("DELETE FROM cache") + conn.commit() + + async def delete_by_fn_id(self, fn_id: str) -> None: + with self._get_connection() as conn: + cursor = conn.cursor() + cursor.execute("DELETE FROM cache WHERE fn_id = ?", (fn_id,)) + conn.commit() + + +class Cache: + def __init__(self, backend: CacheBackend): + self.backend = backend + self._setup_done = False + + async def ensure_setup(self): + if not self._setup_done: + await self.backend.setup() + self._setup_done = True + + def cache( + self, + id: Optional[str] = None, + hash_func: Optional[Callable[..., str]] = None, + debug: bool = False, + ): + def decorator(func): + if not asyncio.iscoroutinefunction(func): + raise ValueError( + "Cache decorator can only be used with async functions" + ) + + async def async_wrapper(*args, **kwargs): + await self.ensure_setup() + fn_id = id if id else func.__name__ + + try: + if hash_func: + arg_hash = hashlib.sha256( + hash_func(*args, **kwargs).encode() + ).hexdigest() + else: + arg_hash = hashlib.sha256( + pickle.dumps((args, kwargs)) + ).hexdigest() + except Exception as e: + print( + f"Error computing arg_hash for fn_id={fn_id} with inputs args={args}, kwargs={kwargs}" + ) + raise e + + if debug: + print(f"Debug: fn_id={fn_id}, arg_hash={arg_hash}") + + should_bust_cache = fn_id in bust_cache_ids or "all" in bust_cache_ids + if debug: + print(f"should_bust_cache={should_bust_cache}") + + if not should_bust_cache: + cache_hit, cached_result = await self.backend.get(fn_id, arg_hash) + if cache_hit: + return cached_result + + if CACHE_ONLY: + raise Exception( + f"Cache miss for fn_id={fn_id} with arg_hash={arg_hash}. CACHE_ONLY is set to True." + ) + + if PRINT_CACHE_MISSES: + print( + f"Cache miss for fn_id={fn_id} with arg_hash={arg_hash}. Executing function." + ) + + result = await func(*args, **kwargs) + await self.backend.set(fn_id, arg_hash, result) + return result + + async def bust_cache(*args, **kwargs): + await self.ensure_setup() + fn_id = id if id else func.__name__ + + if not args and not kwargs: + await self.backend.delete_by_fn_id(fn_id) + return + + try: + if hash_func: + arg_hash = hashlib.sha256( + hash_func(*args, **kwargs).encode() + ).hexdigest() + else: + arg_hash = hashlib.sha256( + pickle.dumps((args, kwargs)) + ).hexdigest() + await self.backend.delete(fn_id, arg_hash) + except Exception as e: + print( + f"Error computing arg_hash for fn_id={fn_id} with inputs args={args}, kwargs={kwargs}" + ) + raise e + + async def read_cache(*args, **kwargs): + await self.ensure_setup() + fn_id = id if id else func.__name__ + + try: + if hash_func: + arg_hash = hashlib.sha256( + hash_func(*args, **kwargs).encode() + ).hexdigest() + else: + arg_hash = hashlib.sha256( + pickle.dumps((args, kwargs)) + ).hexdigest() + except Exception as e: + print( + f"Error computing arg_hash for fn_id={fn_id} with inputs args={args}, kwargs={kwargs}" + ) + raise e + + return await self.backend.get(fn_id, arg_hash) + + async_wrapper.bust_cache = bust_cache + async_wrapper.read_cache = read_cache + return async_wrapper + + return decorator + + async def bust_all(self) -> None: + """Busts the entire cache""" + await self.ensure_setup() + await self.backend.delete_all() diff --git a/cache/test_cache.py b/cache/test_cache.py new file mode 100644 index 0000000..b61fc0f --- /dev/null +++ b/cache/test_cache.py @@ -0,0 +1,136 @@ +import pytest +import asyncio +import os +from cache import Cache, SQLiteBackend + + +# Test fixtures +@pytest.fixture +def cache(): + # Use temporary test database + db_path = "test_cache.db" + backend = SQLiteBackend(db_path) + cache = Cache(backend) + + yield cache + + # Cleanup + asyncio.run(cache.bust_all()) + if os.path.exists(db_path): + os.remove(db_path) + + +# Test functions to be cached +async def async_add(a: int, b: int) -> int: + return a + b + + +async def async_multiply(a: int, b: int) -> int: + return a * b + + +@pytest.mark.asyncio +async def test_async_cache_hit(cache): + cached_add = cache.cache()(async_add) + + # First call - should miss cache + result1 = await cached_add(2, 3) + assert result1 == 5 + + # Verify cache hit + cache_hit, cached_result = await cached_add.read_cache(2, 3) + assert cache_hit + assert cached_result == 5 + + # Verify cached result is returned quickly + result2 = await cached_add(2, 3) + assert result2 == 5 + + +@pytest.mark.asyncio +async def test_custom_cache_id(cache): + cached_add = cache.cache(id="custom_add")(async_add) + + # Initial call and verify result is cached + result = await cached_add(2, 3) + assert result == 5 + cache_hit, cached_result = await cached_add.read_cache(2, 3) + assert cache_hit + assert cached_result == 5 + + # Bust cache and verify it's gone + await cached_add.bust_cache() + cache_hit, _ = await cached_add.read_cache(2, 3) + assert not cache_hit + + +@pytest.mark.asyncio +async def test_custom_hash_function(cache): + def hash_func(a, b): + return f"{a}+{b}" + + cached_add = cache.cache(hash_func=hash_func)(async_add) + + # Initial call and verify result is cached + result = await cached_add(2, 3) + assert result == 5 + cache_hit, cached_result = await cached_add.read_cache(2, 3) + assert cache_hit + assert cached_result == 5 + + +@pytest.mark.asyncio +async def test_bust_specific_args(cache): + cached_add = cache.cache()(async_add) + + # Cache multiple different calls + result1 = await cached_add(2, 3) + result2 = await cached_add(4, 5) + assert result1 == 5 + assert result2 == 9 + + # Bust specific args and verify only that entry is removed + await cached_add.bust_cache(2, 3) + + cache_hit1, _ = await cached_add.read_cache(2, 3) + cache_hit2, cached_result2 = await cached_add.read_cache(4, 5) + assert not cache_hit1 # Should be busted + assert cache_hit2 # Should still exist + assert cached_result2 == 9 + + +@pytest.mark.asyncio +async def test_bust_entire_function(cache): + cached_add = cache.cache()(async_add) + cached_multiply = cache.cache()(async_multiply) + + await cached_add(2, 3) + await cached_multiply(4, 5) + + await cached_add.bust_cache() + + # Verify first cache is cleared but second remains + add_hit, _ = await cached_add.read_cache(2, 3) + mult_hit, mult_result = await cached_multiply.read_cache(4, 5) + assert not add_hit + assert mult_hit + assert mult_result == 20 + + +@pytest.mark.asyncio +async def test_bust_entire_cache(cache): + cached_add1 = cache.cache()(async_add) + cached_add2 = cache.cache()(async_add) + + # Cache results for both functions + await cached_add1(2, 3) + await cached_add2(4, 5) + + # Bust entire cache + await cache.bust_all() + + # Verify all caches are cleared + add1_hit, _ = await cached_add1.read_cache(2, 3) + add2_hit, _ = await cached_add2.read_cache(4, 5) + assert not add1_hit + assert not add2_hit diff --git a/pyproject.toml b/pyproject.toml index 08604ed..76f6609 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,23 +5,27 @@ description = "Add your description here" readme = "README.md" requires-python = ">=3.11" dependencies = [ - "bitsandbytes>=0.44.1", + # "bitsandbytes>=0.44.1", "datasets>=3.0.1", "dicttoxml>=1.7.16", - "flash-attn==2.6.3", + # "flash-attn==2.6.3", "hf-transfer>=0.1.8", "ipykernel>=6.29.5", "ipywidgets>=8.1.5", "jupyter>=1.1.1", - "liger-kernel>=0.3.1", + # "liger-kernel>=0.3.1", "matplotlib>=3.9.2", + "numpy>=1.26.4", "peft>=0.13.2", + "plotly>=5.24.1", "polars>=1.9.0", + "pytest-asyncio>=0.24.0", + "pytest>=8.3.3", "python-dotenv>=1.0.1", "schedulefree>=1.2.7", "scikit-learn>=1.5.2", "seaborn>=0.13.2", - "sglang[all]>=0.3.3.post1", + # "sglang[all]>=0.3.3.post1", "torch==2.4.0", "tqdm>=4.66.5", "transformers>=4.45.2", @@ -31,4 +35,3 @@ dependencies = [ [tool.uv.sources] transformers = { git = "https://github.com/huggingface/transformers" } -sglang = { path = "deps/sglang/python", editable = true } diff --git a/scraped-stories/prepare-data.ipynb b/scraped-stories/prepare-data.ipynb new file mode 100644 index 0000000..e8328b7 --- /dev/null +++ b/scraped-stories/prepare-data.ipynb @@ -0,0 +1,655 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "75c7e7d9bc12404e8380e1b1cb1c82ef", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "train-00006-of-00012.parquet: 0%| | 0.00/287M [00:00\n", + "shape: (5_483_458, 19)
idbytimetitletexturlscoredescendantskidsdeleteddeadscraping_errorscraped_titlescraped_published_atscraped_bylinescraped_bodyscraped_atscraped_languagesplit
i64strdatetime[μs]strstrstri64i64list[i64]list[str]boolstrstrstrstrstrdatetime[μs]strstr
2"phyllis"2006-10-09 18:30:28"A Student's Guide to Startups"null"http://www.paulgraham.com/mit.…160nullnullnullnullnullnullnullnullnullnull"train"
3"phyllis"2006-10-09 18:40:33"Woz Interview: the early days …null"http://www.foundersatwork.com/…70[531602]nullnull"http_404""404 - Page Not Found"nullnull"\n", + "\t\n", + "\tError - Page Not Found\n", + "\t\n", + "\t…2024-11-08 00:09:58null"train"
4"onebeerdave"2006-10-09 18:47:42"NYC Developer Dilemma"null"http://avc.blogs.com/a_vc/2006…50nullnullnullnullnullnullnullnullnullnull"train"
5"perler"2006-10-09 18:51:04"Google, YouTube acquisition an…null"http://www.techcrunch.com/2006…70nullnullnullnullnullnullnullnullnullnull"train"
6"perler"2006-10-09 18:56:40"Business Intelligence the Inkl…null"http://360techblog.com/2006/10…40nullnullnullnullnullnullnullnullnullnull"train"
42070630"Hooke"2024-11-06 22:37:34"Hard Cases for a Handle Theory"null"https://www.cabinetmagazine.or…10nullnullnullnullnullnullnullnullnullnull"test"
42070962"june07"2024-11-06 23:05:35nullnullnull1nullnullnulltruenullnullnullnullnullnullnull"test"
42071238"bentocorp"2024-11-06 23:32:57"New PFAS testing method makes …null"https://phys.org/news/2024-11-…10nullnullnullnullnullnullnullnullnullnull"test"
42071435"pentagrama"2024-11-06 23:50:11"Gimp 3.0 RC1 Released"null"https://www.gimp.org/news/2024…10nullnullnull"no_error""GIMP - GIMP 3.0 RC1 Released""2024-11-06T00:00:00+01:00""by G…"\n", + " We are ve…2024-11-08 06:29:21"en""test"
42071457"mixeden"2024-11-06 23:53:08"Node Identifiers in Graph Neur…null"https://synthical.com/article/…10nullnullnullnullnullnullnullnullnullnull"test"
" + ], + "text/plain": [ + "shape: (5_483_458, 19)\n", + "┌──────────┬────────────┬────────────┬────────────┬───┬────────────┬───────────┬───────────┬───────┐\n", + "│ id ┆ by ┆ time ┆ title ┆ … ┆ scraped_bo ┆ scraped_a ┆ scraped_l ┆ split │\n", + "│ --- ┆ --- ┆ --- ┆ --- ┆ ┆ dy ┆ t ┆ anguage ┆ --- │\n", + "│ i64 ┆ str ┆ datetime[μ ┆ str ┆ ┆ --- ┆ --- ┆ --- ┆ str │\n", + "│ ┆ ┆ s] ┆ ┆ ┆ str ┆ datetime[ ┆ str ┆ │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ μs] ┆ ┆ │\n", + "╞══════════╪════════════╪════════════╪════════════╪═══╪════════════╪═══════════╪═══════════╪═══════╡\n", + "│ 2 ┆ phyllis ┆ 2006-10-09 ┆ A ┆ … ┆ null ┆ null ┆ null ┆ train │\n", + "│ ┆ ┆ 18:30:28 ┆ Student's ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Guide to ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Startups ┆ ┆ ┆ ┆ ┆ │\n", + "│ 3 ┆ phyllis ┆ 2006-10-09 ┆ Woz ┆ … ┆ ┆ 2024-11-0 ┆ null ┆ train │\n", + "│ ┆ ┆ 18:40:33 ┆ Interview: ┆ ┆ \t ┆ 8 ┆ ┆ │\n", + "│ ┆ ┆ ┆ the early ┆ ┆ \tError - ┆ 00:09:58 ┆ ┆ │\n", + "│ ┆ ┆ ┆ days … ┆ ┆ Page Not ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ ┆ ┆ Found ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ ┆ ┆ \t ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ ┆ ┆ \t… ┆ ┆ ┆ │\n", + "│ 4 ┆ onebeerdav ┆ 2006-10-09 ┆ NYC ┆ … ┆ null ┆ null ┆ null ┆ train │\n", + "│ ┆ e ┆ 18:47:42 ┆ Developer ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Dilemma ┆ ┆ ┆ ┆ ┆ │\n", + "│ 5 ┆ perler ┆ 2006-10-09 ┆ Google, ┆ … ┆ null ┆ null ┆ null ┆ train │\n", + "│ ┆ ┆ 18:51:04 ┆ YouTube ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ acquisitio ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ n an… ┆ ┆ ┆ ┆ ┆ │\n", + "│ 6 ┆ perler ┆ 2006-10-09 ┆ Business ┆ … ┆ null ┆ null ┆ null ┆ train │\n", + "│ ┆ ┆ 18:56:40 ┆ Intelligen ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ ce the ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Inkl… ┆ ┆ ┆ ┆ ┆ │\n", + "│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ 42070630 ┆ Hooke ┆ 2024-11-06 ┆ Hard Cases ┆ … ┆ null ┆ null ┆ null ┆ test │\n", + "│ ┆ ┆ 22:37:34 ┆ for a ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Handle ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Theory ┆ ┆ ┆ ┆ ┆ │\n", + "│ 42070962 ┆ june07 ┆ 2024-11-06 ┆ null ┆ … ┆ null ┆ null ┆ null ┆ test │\n", + "│ ┆ ┆ 23:05:35 ┆ ┆ ┆ ┆ ┆ ┆ │\n", + "│ 42071238 ┆ bentocorp ┆ 2024-11-06 ┆ New PFAS ┆ … ┆ null ┆ null ┆ null ┆ test │\n", + "│ ┆ ┆ 23:32:57 ┆ testing ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ method ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ makes … ┆ ┆ ┆ ┆ ┆ │\n", + "│ 42071435 ┆ pentagrama ┆ 2024-11-06 ┆ Gimp 3.0 ┆ … ┆ ┆ 2024-11-0 ┆ en ┆ test │\n", + "│ ┆ ┆ 23:50:11 ┆ RC1 ┆ ┆ We are ve… ┆ 8 ┆ ┆ │\n", + "│ ┆ ┆ ┆ Released ┆ ┆ ┆ 06:29:21 ┆ ┆ │\n", + "│ 42071457 ┆ mixeden ┆ 2024-11-06 ┆ Node Ident ┆ … ┆ null ┆ null ┆ null ┆ test │\n", + "│ ┆ ┆ 23:53:08 ┆ ifiers in ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Graph ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Neur… ┆ ┆ ┆ ┆ ┆ │\n", + "└──────────┴────────────┴────────────┴────────────┴───┴────────────┴───────────┴───────────┴───────┘" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import polars as pl\n", + "\n", + "# Convert each split to polars and combine\n", + "train_df = (\n", + " dataset[\"train\"]\n", + " .to_polars()\n", + " .with_columns(pl.Series(name=\"split\", values=[\"train\"] * len(dataset[\"train\"])))\n", + ")\n", + "val_df = (\n", + " dataset[\"val\"]\n", + " .to_polars()\n", + " .with_columns(pl.Series(name=\"split\", values=[\"val\"] * len(dataset[\"val\"])))\n", + ")\n", + "test_df = (\n", + " dataset[\"test\"]\n", + " .to_polars()\n", + " .with_columns(pl.Series(name=\"split\", values=[\"test\"] * len(dataset[\"test\"])))\n", + ")\n", + "\n", + "# Combine into single dataframe\n", + "df = pl.concat([train_df, val_df, test_df])\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "shape: (368_679, 19)
idbytimetitletexturlscoredescendantskidsdeleteddeadscraping_errorscraped_titlescraped_published_atscraped_bylinescraped_bodyscraped_atscraped_languagesplit
i64strdatetime[μs]strstrstri64i64list[i64]list[str]boolstrstrstrstrstrdatetime[μs]strstr
92"greg"2007-02-19 18:09:20"Track users' mouse movements o…null"http://www.clicktale.com/"100nullnullnull"no_error""Clicktale Is Now Contentsquare…nullnull"We've joined forces to create …2024-11-07 18:14:40"en""train"
99"pg"2007-02-19 18:37:29"The Google-Powered Business"null"http://blog.radioactiveyak.com…50nullnullnull"no_error""GoogleOffice (Beta): The Googl…nullnull"\n", + "[ Google Office Tools Homepag…2024-11-08 05:11:41"en""train"
124"herdrick"2007-02-19 22:44:06"Startup news link submission s…null"http://news.ycombinator.com/"5819[133, 139, … 218215]nullnull"no_error""Hacker News"nullnull"\n", + " \n", + " 1. Ha…2024-11-08 03:12:42"en""train"
163"boris"2007-02-20 09:10:33"How to market to smart people …null"http://codesynthesis.com/~bori…120nullnullnull"no_error""How to market to smart people"nullnull"\n", + "\t\t\t\tIt should be pretty obvio…2024-11-08 04:30:27"en""train"
190"farmer"2007-02-20 21:36:43"Interview with Michael Wesch (…null"http://battellemedia.com/archi…20nullnullnull"no_error""John Battelle's Search Blog A …"2007-02-18T21:48:04+00:00"null"Michael Wesch, PhD, is Assista…2024-11-08 06:28:03"en""train"
42057787"robaato"2024-11-06 07:18:46"Early morning and evening acti…null"https://www.theguardian.com/so…20nullnullnull"no_error""Early morning and evening acti…"2024-11-06T05:00:04.000Z""Andrew Gregory""Being more active in the morni…2024-11-08 06:04:44"en""test"
42061756"DocFeind"2024-11-06 13:12:33"X has always had a Nazi proble…null"https://www.theatlantic.com/te…30nullnullnull"no_error""X Is a White-Supremacist Site""2024-11-05T19:41:17Z""Charlie Warzel""Elon Musk has made one of Twit…2024-11-07 22:12:22"en""test"
42063552"Olshansky"2024-11-06 15:13:49"Vibe Checks Are All You Need"null"https://olshansky.substack.com…30nullnullnull"no_error""Vibe Checks Are All You Need""2024-05-29T20:49:40+00:00""Daniel Olshansky""I’ve been using ChatGPT since …2024-11-08 14:57:45"en""test"
42068691"0xlogk"2024-11-06 20:18:46"Are You Playing to Play, or Pl…null"https://commoncog.com/playing-…30nullnullnull"no_error""Are You Playing to Play, or Pl…"2021-09-21T14:39:12.000Z""Cedric Chin""\n", + " \n", + " My friend Lesley…2024-11-08 10:31:35"en""test"
42071435"pentagrama"2024-11-06 23:50:11"Gimp 3.0 RC1 Released"null"https://www.gimp.org/news/2024…10nullnullnull"no_error""GIMP - GIMP 3.0 RC1 Released""2024-11-06T00:00:00+01:00""by G…"\n", + " We are ve…2024-11-08 06:29:21"en""test"
" + ], + "text/plain": [ + "shape: (368_679, 19)\n", + "┌──────────┬────────────┬────────────┬────────────┬───┬────────────┬───────────┬───────────┬───────┐\n", + "│ id ┆ by ┆ time ┆ title ┆ … ┆ scraped_bo ┆ scraped_a ┆ scraped_l ┆ split │\n", + "│ --- ┆ --- ┆ --- ┆ --- ┆ ┆ dy ┆ t ┆ anguage ┆ --- │\n", + "│ i64 ┆ str ┆ datetime[μ ┆ str ┆ ┆ --- ┆ --- ┆ --- ┆ str │\n", + "│ ┆ ┆ s] ┆ ┆ ┆ str ┆ datetime[ ┆ str ┆ │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ μs] ┆ ┆ │\n", + "╞══════════╪════════════╪════════════╪════════════╪═══╪════════════╪═══════════╪═══════════╪═══════╡\n", + "│ 92 ┆ greg ┆ 2007-02-19 ┆ Track ┆ … ┆ We've ┆ 2024-11-0 ┆ en ┆ train │\n", + "│ ┆ ┆ 18:09:20 ┆ users' ┆ ┆ joined ┆ 7 ┆ ┆ │\n", + "│ ┆ ┆ ┆ mouse ┆ ┆ forces to ┆ 18:14:40 ┆ ┆ │\n", + "│ ┆ ┆ ┆ movements ┆ ┆ create … ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ o… ┆ ┆ ┆ ┆ ┆ │\n", + "│ 99 ┆ pg ┆ 2007-02-19 ┆ The Google ┆ … ┆ ┆ 2024-11-0 ┆ en ┆ train │\n", + "│ ┆ ┆ 18:37:29 ┆ -Powered ┆ ┆ [ Google ┆ 8 ┆ ┆ │\n", + "│ ┆ ┆ ┆ Business ┆ ┆ Office ┆ 05:11:41 ┆ ┆ │\n", + "│ ┆ ┆ ┆ ┆ ┆ Tools ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ ┆ ┆ Homepag… ┆ ┆ ┆ │\n", + "│ 124 ┆ herdrick ┆ 2007-02-19 ┆ Startup ┆ … ┆ ┆ 2024-11-0 ┆ en ┆ train │\n", + "│ ┆ ┆ 22:44:06 ┆ news link ┆ ┆ 1. ┆ 8 ┆ ┆ │\n", + "│ ┆ ┆ ┆ submission ┆ ┆ Ha… ┆ 03:12:42 ┆ ┆ │\n", + "│ ┆ ┆ ┆ s… ┆ ┆ ┆ ┆ ┆ │\n", + "│ 163 ┆ boris ┆ 2007-02-20 ┆ How to ┆ … ┆ ┆ 2024-11-0 ┆ en ┆ train │\n", + "│ ┆ ┆ 09:10:33 ┆ market to ┆ ┆ \t\t\t\tIt ┆ 8 ┆ ┆ │\n", + "│ ┆ ┆ ┆ smart ┆ ┆ should be ┆ 04:30:27 ┆ ┆ │\n", + "│ ┆ ┆ ┆ people … ┆ ┆ pretty ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ ┆ ┆ obvio… ┆ ┆ ┆ │\n", + "│ 190 ┆ farmer ┆ 2007-02-20 ┆ Interview ┆ … ┆ Michael ┆ 2024-11-0 ┆ en ┆ train │\n", + "│ ┆ ┆ 21:36:43 ┆ with ┆ ┆ Wesch, ┆ 8 ┆ ┆ │\n", + "│ ┆ ┆ ┆ Michael ┆ ┆ PhD, is ┆ 06:28:03 ┆ ┆ │\n", + "│ ┆ ┆ ┆ Wesch (… ┆ ┆ Assista… ┆ ┆ ┆ │\n", + "│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ 42057787 ┆ robaato ┆ 2024-11-06 ┆ Early ┆ … ┆ Being more ┆ 2024-11-0 ┆ en ┆ test │\n", + "│ ┆ ┆ 07:18:46 ┆ morning ┆ ┆ active in ┆ 8 ┆ ┆ │\n", + "│ ┆ ┆ ┆ and ┆ ┆ the morni… ┆ 06:04:44 ┆ ┆ │\n", + "│ ┆ ┆ ┆ evening ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ acti… ┆ ┆ ┆ ┆ ┆ │\n", + "│ 42061756 ┆ DocFeind ┆ 2024-11-06 ┆ X has ┆ … ┆ Elon Musk ┆ 2024-11-0 ┆ en ┆ test │\n", + "│ ┆ ┆ 13:12:33 ┆ always had ┆ ┆ has made ┆ 7 ┆ ┆ │\n", + "│ ┆ ┆ ┆ a Nazi ┆ ┆ one of ┆ 22:12:22 ┆ ┆ │\n", + "│ ┆ ┆ ┆ proble… ┆ ┆ Twit… ┆ ┆ ┆ │\n", + "│ 42063552 ┆ Olshansky ┆ 2024-11-06 ┆ Vibe ┆ … ┆ I’ve been ┆ 2024-11-0 ┆ en ┆ test │\n", + "│ ┆ ┆ 15:13:49 ┆ Checks Are ┆ ┆ using ┆ 8 ┆ ┆ │\n", + "│ ┆ ┆ ┆ All You ┆ ┆ ChatGPT ┆ 14:57:45 ┆ ┆ │\n", + "│ ┆ ┆ ┆ Need ┆ ┆ since … ┆ ┆ ┆ │\n", + "│ 42068691 ┆ 0xlogk ┆ 2024-11-06 ┆ Are You ┆ … ┆ ┆ 2024-11-0 ┆ en ┆ test │\n", + "│ ┆ ┆ 20:18:46 ┆ Playing to ┆ ┆ ┆ 8 ┆ ┆ │\n", + "│ ┆ ┆ ┆ Play, or ┆ ┆ My friend ┆ 10:31:35 ┆ ┆ │\n", + "│ ┆ ┆ ┆ Pl… ┆ ┆ Lesley… ┆ ┆ ┆ │\n", + "│ 42071435 ┆ pentagrama ┆ 2024-11-06 ┆ Gimp 3.0 ┆ … ┆ ┆ 2024-11-0 ┆ en ┆ test │\n", + "│ ┆ ┆ 23:50:11 ┆ RC1 ┆ ┆ We are ve… ┆ 8 ┆ ┆ │\n", + "│ ┆ ┆ ┆ Released ┆ ┆ ┆ 06:29:21 ┆ ┆ │\n", + "└──────────┴────────────┴────────────┴────────────┴───┴────────────┴───────────┴───────────┴───────┘" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = df.filter((pl.col(\"scraping_error\") == \"no_error\") & pl.col(\"text\").is_null())\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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0969e7Vx40bt2rVLOTk5pZIvANjJzc0ttBA2OTlZX375pW655ZZSzAqo2Hbu3KmBAwcqPj7esszPz09RUVHq1KmTmjRpotDQUHl5eencuXOKjY3Vli1btGnTJsXExJRB5qjoli9frtGjRys5Odl2ef369TV8+HA1aNBAtWvXlpeXl06dOqWjR49q8eLFOnLkiKXNzp071a1bNy1YsEBXXXVVSW8CiqF+/frq0KGDS20OHjxouaGsSZMmqly5skv9uLo+AAAAAADuotAcAAAAAFCqnn76aY0bN06BgYFlnQoAFyQnJ1tmVrzhhhtKrchckt566y3bIvMBAwbo5ZdfVpcuXYrsIzExUYsWLdKCBQv0448/KisrqyRSvez89ttvZZ0CUGEsXrxYp06dMsW8vLxkGEb+61mzZlFoDjgpLy9PkyZNshSZBwQE6MEHH9TDDz+ssLCwIvvZs2ePFixYoK+++krbtm0rqXRxCfn11181cuRIZWRkWJb169dP06dPV48ePQrtY9OmTXriiSe0dOlSUzw5OVkjR47Ujz/+qAEDBng0b3jOc889p+eee86lNv369dPKlStNsQ8//FD9+vVzO485c+Zozpw5brcHAAAAAKAw3mWdAAAAAADg8nL8+HG99dZbZZ0GABfFxMQoLy/PFGvRokWpjZ+UlKRnnnnGEr/33nu1fPlyp4rMJalq1aoaP368FixYoGPHjunZZ59V7dq1PZ0uADg0a9Ys0+vQ0FDdfffdptiaNWu0b9++0kwLqLA+/vhjbd682RQLCgrSzz//rBdffNGpInNJatWqlZ588klt3bpVa9as0d/+9jf5+fmVRMq4BBw8eFBjx461FJn7+/vro48+0ooVK4osMpekzp076+eff9bcuXMtN2NnZGRo7NixOnTokEdzBwAAAAAAcAWF5gAAAACAEjVs2DAFBQWZYtOnT1dCQkIZZQTAHUlJSZZYcHBwqY2/aNEinT9/3hTr1KmT3njjDbdnVa9Ro4aefvppPfroo55IEQCKdObMGf3444+m2PXXX6877rjDsu5HH31UWmkBFdq8efMssRdeeEFRUVFu99mrVy/NmzdPbdq0KU5quETl5eVp/Pjxlt9p/f399c0337j1RIoLN0IGBASY4gkJCZowYYLlhk8AAAAAAIDSQqE5AAAAAKBE1a5dW3//+99NsYSEBE2f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/PyMPn36GPPnzzed80vDJ598Yrv/Hzx40GNjHDp0yPa6ZO7cubbrjxgxwvL+xMbGFiuHP//80zL+ww8/7HT7vLw846uvvjKGDx9uBAcHF/p51q5d27jnnnuM48ePu5xnUb9v//HHH8aoUaOMgIAA27Gd+Z3e0wpemxQ8ltxR1HehIw0aNDC1mzRpUv6ynJwc47333iv0eKxcubJx3333Ffr9ff78eePZZ5816tSp47CfGjVqGK+99pqRnZ1drPfhgmXLlhljx441qlatWui+Fx4ebkycONHYs2ePR8YFAAAAgEsVheYAAAAAAI8prNA8IyPDaNiwoeUP8jt37nSq70ut0DwvL8946qmnnC5s9PLyMl599VVL/4mJicbo0aOd6kOSERwcbCxbtsyl7XZUpBcbG2v06dPH6bG9vLyMqVOnGmlpaS6Nf7Ho6GiXtvfin9GjRxsJCQlOj1VYMc2HH35YZNFQSRczLl++3GjRooXL70P9+vWNBQsWFNl/eSs0b9++vWWMpUuXenSMgkqr0Dw1NdW46667Ci2gdXRMjR8/3jh37pxL2+WoECU5OdkYM2ZMkeOWVKF5aR7fhmEY27Zts92vXPl59913Xd5OVz3yyCNGYGCg2znWrVvX+P33310e19F+cuH7q7CbWwr+dOzY0Thz5oxb25+WlmZMnTrVqSLfi/e/C4W+5anQfPLkyZZcCxYmXnPNNablvr6+xqlTp4rse8aMGZa+v/3222LlO3jwYFN/AQEBTp9vvv32W6Np06Yu76+hoaEuFbMbRsmc07744gujevXqbh93QUFBLm9HQb/88otTN5Zc+PHz8zOmT59uGIZnCs1zcnKM6dOnF1mkZ/fTqFEjj95gWJjNmzdbxq9du3apjO3I119/7db+f+FnxowZTo81f/78Qos3Hf20adPGWLlypUvbVZLXxmlpacbDDz/s1vdd+/btTTdalLT+/ftbchg6dKjHxxk2bJhlnAEDBtiu+80331jWff3114s1/u23327pc/fu3U61/f33341OnTq5/FkGBAQY//znP43c3Fyn83T0+3ZWVpZxzz33FHn9QKG5faH5iRMnjO7duzv92dWtW9fYtm2bpf81a9a49F3WvXt3l6/pL7Z9+3ZjwIABLu97Pj4+xh133OH0TdkAAAAAcLkp+WfsAgAAAAAgKSAgQM8//7wplpeXp8cee6yMMipbd9xxh1544QXl5eU5tb5hGHrkkUf0/vvv58cSExM1cOBALViwwOlxU1NTdc0112jDhg0u53yxhIQE9e3bV6tWrXK6jWEYmjVrlq655hqlp6e7PObatWvVrVs3l7b3YgsWLFCPHj108OBBt9pf8Oqrr+rWW29VWlpasfopjtmzZ2vo0KHat2+fy22PHTumMWPG6NVXXy2BzEpOzZo1LbEvv/yyDDLxrLNnz2rAgAF69913lZOT41JbwzD06aefqnfv3jp27Fix8khNTdXAgQP1zTffFKsfd5X28b1p0yZFRUVp+/btbo1XmtavX6+MjAy328fExGjgwIGaO3dusXPJy8vThAkT9MILLyg3N9fpdlu2bFHfvn2VkpLi0njp6ekaOXKkZs2aJcMwnG63cuVK9e3bVwkJCS6NV5KSk5P11VdfmWK9evVSkyZNTLFJkyaZXufk5Ojjjz8usv/x48fLz8/PFJs9e7ab2f613yxfvtwUu+6661StWrVC2xmGoWeeeUajRo1y6/v2/Pnzuvfee3XHHXe4tI8VVNxz2u7du3X27Fm3x09LS9O9996ru+66y632ixYt0tVXX+3SuT07O1uPP/64R66tk5OTdc011+jxxx9XYmKiy+2PHDmiQYMG6aOPPip2LkWxuz44efKk1qxZU+JjF5SXl6dHHnlEY8eOLdb15vnz551a7/nnn9e4ceN04sQJl8fYtWuXBg0apM8//9zltgUV99r49OnT6tevn1577TW3vu+2b9+uXr16afHixW6N74qkpCTb339uvfVWj49l1+eqVats94+RI0eqevXqpticOXPcHjs9PV1ffPGFKda9e3e1atWqyLbvv/++BgwYoM2bN7s8bmZmpp5//nmNGjVKqampLre/IDc3V2PHjtX//d//uXT9gL+cPHlSvXr10rp165xuExMTo8GDB+v48eP5saVLl+qqq65y6bts3bp1Gjp0qMu/F0nSDz/8oJ49e+rXX391uW1ubq5mzpypfv36KTY21uX2AAAAAHCp8y3rBAAAAAAAl4+bb75ZM2bM0NatW/NjixYt0u+//66+ffuWXWKl7M0339QHH3yQ/7pBgwYaOXKk2rZtq7CwMCUmJmrdunX66quvLIUE//jHPzR06FDVrVtX48aN06ZNm/KXde7cWUOHDlWjRo0UEhKiM2fO6Ndff9X3339vKmhPT0/Xrbfeqk2bNsnX171/GpgwYYL27t2b/7pevXoaPXq0WrVqpapVq+rMmTPauHGjvvvuO8s2LF++XOPGjdN3333n9Hi//fabhg0bZik+8fb2Vp8+fdSrVy81atRIVatWVXp6umJiYrRy5Ur98ssvpkK1ffv26eqrr9bGjRsVGhrq8nYvXbpUL730Uv7rgIAA9e/fX/369VPNmjXl6+urmJgYrVu3zuWCSmfNnTtXU6ZMscS9vLzUs2dPDRs2TPXq1ZOvr69OnDihZcuWacWKFab3wTAMPfroo/Ly8tLDDz9sO07NmjXVoUOH/NcpKSk6dOiQaZ0mTZqocuXKtu2bNm3qzuY51KtXLy1dutQUmz17toYPH67rrrvOo2Nd4O/vb3oPdu/erezs7PzX1apVU/369d3uPz09Xf3799fOnTsty6pXr65Ro0apffv2ioyMVHx8vPbs2aNvvvlGJ0+eNK27e/du9e7dW1u3blVYWJhbudx+++1av359/uvatWtr+PDhateunSIjI3X+/HkdPXpU33//vVv9F6a0j+/MzEyNHz/eUjx54Rjq3bu3mjRpotDQUPn4+Oj8+fOKj4/X7t27tW3bNm3btq3Mipa8vLzUrl07tWvXTq1atVJERER+nsnJyTp8+LA2bNigFStWmPbV7Oxs3XbbbWrbtq06duzo9vhPPvmkPvvss/zX9erVy99PqlevrpSUlPz99MiRI6a2+/bt02OPPaa3337b6fHGjRunX375xRIPDw/XqFGj1KFDh/zjY9euXVqwYIFOnTolSdqzZ48mTpzo5pZ63vz58y1FcwWLyiVpxIgRCgsL07lz5/JjH330kaZNm1Zo/5GRkRo+fLgWLlyYH1u8eLFiY2MVGRnpcr6ffPKJ5Wa4W265pch2d911l2bOnGmJh4WFadCgQercubMiIyMVFBSkxMRE7dq1S0uWLLHcOPX++++ratWqevnll13OXfL8Oa1Bgwbq2LGjWrdurbp16yokJESVKlVSSkqKTp48qa1bt+rnn39WUlKSqd17772ndu3a6e6773Y69/Xr12vMmDHKysqyLOvWrZuuvvpq1a9fX4GBgTp9+rTWrFmjJUuW5O9fL7/8sqXg1BVpaWnq16+fbZFokyZN1L9/f7Vv315hYWHy9fXV2bNntWHDBi1evFhxcXH562ZnZ+vWW29VjRo1NHz4cLfzKUqtWrXUsGFDRUdHm+K33XabfvvtN7f2f3dNmDBB8+bNs13Wtm1bDRo0SE2aNFH16tWVnZ2tc+fOaffu3dqwYYO2bNni0nfL888/r6efftoS9/X1Vf/+/XXVVVepTp06ysnJ0fHjx7V48WKtXbvWNEZWVpZuvvlm+fj46IYbbnB9g1X8a+MzZ86oR48eOnr0qGVZ27ZtFRUVpTZt2qhq1aqSpNjYWP35559avHixkpOT89dNTk7WmDFj9McffxTre64oq1evthTAent7a8iQIR4fa/DgwfL29jadi7Ozs7V69WpdffXVpnX9/Pw0fvx4vfHGG/mxbdu2acuWLW69H99++63lfObMd8BLL72kxx9/3BIPDg7WoEGD1LVrV9WqVUshISFKSkrSgQMHtGzZMsv55vvvv9fUqVM1f/58l3OXpKefftp0fg8LC9OwYcPUtWtXRUZG5l9P/vTTT/Ly8nJrjEtVdna2rrvuuvxj0svLS3369NGgQYNUr149BQQEKCYmRkuWLLFco505c0Z33XWXFi1apD179mjs2LH5N5hXqlRJgwcPVt++fVWzZk3l5ubq0KFD+vrrr7Vr1y5TP+vWrdN//vMfPfroo07nPW/ePE2YMMFy7eLv768BAwaoe/fuqlevnqpUqaKUlBRFR0frl19+0erVq03rr127VqNHj9aKFSssN/ABAAAAwGWtrKZSBwAAAABceo4cOWJ5BPHUqVNN6yxZssSyTo8ePYrse9WqVW495nr27NmWdkeOHHFr+9wZ3+5R3gEBAYYkIygoyHj33XeNnJwc27anT582rrzySkv722+/3ZgxY0b+68aNGxvLly93mMOGDRuMyMhISz/z5s1zarsLPtr74kfaBwQEGK+99prDbUhMTDSmTJli+3jqOXPmODX+qVOnjBo1alja33LLLcbRo0cLbXvw4EFjyJAhlrZjx44tctwVK1bYPlL7wv+PGTPGOHbsmMP26enpTm2fKw4cOGBUrlzZklfbtm2NdevWOWy3e/duo0ePHpZ2fn5+xoYNG5wa2+79KO4j3l2xfft2w8vLy5KDl5eXMXHiRGPLli0lnoOjR8u764477rDdx5544gmH+09OTo7xyiuv5J9HLv4ZNWqUU+NOmjTJ4X5dqVIl44033jCysrIctrfLreB5IioqyqlcyuL4njt3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552FtnnqqacssYcfftitWekrurvvvtsSe/75510qIj1//rymTZtmid93333Fyq00zJ8/33aGUXesWbPG9ikFw4cPL7RdtWrVTK/d3Q9r166tUaNGmWJnzpzRs88+61I/b7zxhvbt22eKXXnllerYsaNbeZW2inp8FzzmIiIiSmScWrVqmV7v379f0dHRTrc/c+aMHn74YQ9nVToKfjdkZGTo0UcfdamPf//73zp9+rQn0ypSRkaG5s2bZ4r5+flp3Lhxxe7b19dXf/vb30yx9PR0y3h2brnlFtPrvLw8ffzxx/n/vViHDh1cPoc0aNDAcu12/vx53XLLLTIMw6W+ylrB406SS7N65+XlacqUKW7NMF23bl2NHDnSFNu5c6dLxbd79uzRv//9b5fHlv6apblp06am2KpVq/T666+71V9pSUpK0qeffur2U0YKsiuu79Spk+2+IUn16tXTTTfdZIrFxcXprrvu8kg+Bd1zzz2W2MMPP2wpFi7M0aNHLfuVl5eXR2fkLsq9995refLUp59+6vYTLErb3XffrS5duljit912m3766Se3+126dKmmTp1qiffs2VO33367W31OnDjRciP3hZtVC960Wr16dY0YMcKl/oODg/XAAw+YYrm5uRo/frzLNyYDrrK76ePWW29168lfAAAAAADHKDQHAAAAAJQ7zz33nAICAkyxr7/+2u3+hg0bZnp97NgxvfHGG061/eWXX1wubrtcPP/8804XUjz11FOWmcWqVatmKUwrKCoqyvJI7ISEBA0dOlR79uxxLeH/LyMjQzNnztR//vMft9qXlbZt21pmmkxKStKoUaOcmlk7MzNTY8eOtRTJtm/fXldddZVHcy0Jc+bMUaNGjfTAAw/o+PHjbvezZ88ejRs3zlL82LZtW7Vr167QtgWX79y50+1cChbkSNKMGTM0f/58p9ovWbLEtrDioYceciufslAWx3dKSooeeeQRHTt2zK3+v/vuOx09etQU69Chg1t9FaVPnz6WmN2NInbi4+M1YsQIt2ZBLw8mTpxoKUD8+OOP9d577znV/ttvv9XLL79cApkV7ptvvrHM4j1kyBBVr17dI/3bzYzuzBNXevbsqZYtW5pic+bM0S+//GI5hxUsSnfW008/bbl2W7hwoW6//Xa3Cw2jo6N13333aefOnW61d4fdcffCCy84NTt1Xl6e7rjjDv3+++9uj//kk09aZjV/+umn9dZbbxXZdteuXbrqqqvcms1c+utmBrsbnh599FHNnDnTrT4l6Y8//rAUYntSenq6JkyYoFatWmnOnDnFKmx966239P7771viReX/+OOPy8/PzxSbN2+eHnzwQZdvtsjNzS302uLqq6+2HM/R0dG66aabnJr9PiEhQddee62lMH3kyJGWmYFLUpUqVfTII4+YYoZhaOLEiW49EeCCn376qcSK/C/m4+OjTz/91DKTd2ZmpkaNGqVPPvnE5T4///xzXXfddcrIyDDFq1Wrpk8++cRSLO6sunXrWn6H+PLLL7Vt2zatWbPGFB8/frxlX3bGAw88YPmuW79+vcaOHev2k19iY2P11FNPadmyZW61x+Vh/PjxlnPikSNHdPXVV+vkyZNu9Xn+/Hm98sorZfJkHAAAAAAoryg0BwAAAACUO/Xr1/foDMu33nqrJTZt2jTNnDnTYfFHRkaGXn75ZQ0bNkyZmZluPab8UnXhvcjOztbo0aP1+uuvKy8vz3bdpKQk3Xbbbbaza77++uuW4gw7c+bMUe3atU2xAwcOqFu3bpo+fbpTxQuGYeiPP/7QAw88oIYNG+rOO+8s97Mm23nnnXdUuXJlU2zdunXq06ePNm/e7LDd3r17NWDAAEuhhp+fn1NFiuVFenq63njjDTVs2FBXXXWV5syZ4/RsdYmJiXrppZfUvXt3xcTEWJY7U8TXq1cv0+u8vDxdf/312rhxo3MbUKCvgoVQeXl5mjBhgv71r38pKyvLtl1ubq5mzJihUaNGWdYZNWqUZab08q60j++cnBy99tpraty4sUaNGqXPPvvMqTHy8vI0Z84c20Jfu5gnDB06VCEhIabYl19+qVtvvVWpqakO2y1dulQ9e/bM3y9DQ0NLJL+SVKVKFdtZlO+++2499thjliK8C3JycjR9+nSNGzcuv+CyUqVKJZrrxezOp57cP7p06WIpptq0aZO2b99eZNuCBeQHDx7U3//+d1PM39/f7XwbNWpkW4z84YcfqkePHlq0aJFTBbfJycmaN2+errvuOjVt2lRvv/22w8+7JNSqVUu9e/c2xQ4ePKghQ4ZYbjK52L59+zR06FB9+OGHkv4q2g4KCnJ5/C5dulhuGDIMQ/fff78GDRqkn3/+WdnZ2ablu3fv1rRp09SpU6f8orqePXu6PLb0V0F1wX0lJydHd955p8aMGePUvib99eSbN998Uz169NCVV16p77//3q18XHHgwAHdcsstqlmzpm6//Xb9/vvvThVeS9KOHTs0evRo26fvtGjRosjfS1q2bKkZM2ZY4q+//roGDhzo1HXCqVOn9Oabb6p58+aFXpt5eXlp1qxZlhsSvvvuOw0ePFgHDx502HbdunXq3bu3tm3bZopXrVrVqesgT3v00UctNzumpKRo1KhRuv32252+Vj9w4IBefPFFtW3bVldffbVWrVpVEulatGjRQl999ZXlJpvMzExNmjRJAwcO1Pr164vsZ/PmzRo2bJhuuukmy40igYGB+vrrry1PG3BVweP6/PnzlqdkSNKUKVPc6j80NFTz58+Xr6+vKb5o0SJ17txZn332mVPHY0ZGhr777juNHz9eDRo00L///W+3C9VxefDx8dFXX31luWZet26dOnbsqHfeecep64icnBwtX75ct99+u+rXr69p06aV+pNxAAAAAKA88y16FQAAAAAASt8TTzyhDz/80DIzqDu6deuma6+91jQ7Xm5uru6880793//9n0aNGqWmTZvK399fcXFx2rRpkxYvXqzY2Nj89d944w3deeedxc7lUtC9e3cFBwdr8eLFysjI0IMPPqg33nhDY8aMUcuWLVW1alXFxsZqw4YN+u6772yLA6655hpNmjTJqfFq166t7777Tv369TMVV6akpOiJJ57Qv//9b/Xu3Vu9evVSrVq1VK1aNaWnpysxMVEnT57U5s2btWnTJsXHx3vsPSgrTZo00TvvvKOJEyea4lu3blXXrl115ZVXaujQoapXr558fHx04sQJLV++XL/++qttcceLL76oLl26lFb6HpOXl6dffvlFv/zyi7y8vNS8eXN1795dzZs3V3h4uMLCwpSXl6fz58/r8OHD2rJli3777TeHxduPPvqo+vXrV+S41157rcLCwkzF7evWrVPXrl0VEhKi2rVr296UsnXrVtv+ZsyYoVWrVplm683JydGzzz6rd999V6NGjVL79u1VvXp1JSQkaPfu3VqwYIFtoXy9evXyCxwrkrI6vnNzc7Vw4UItXLhQfn5+at++vTp27KiWLVuqWrVqqlKlirKzsxUbG6tdu3ZpyZIltrOg33zzzW4XdBalWrVqeuCBB/Tcc8+Z4rNmzdLChQt1/fXXq1OnTqpWrZoS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+mpy9NFHJ/n5+VWOVVBQkBx99NHJa6+9lvVYDUUecpOHlStXJv/617+SH/3oR8lnPvOZpE+fPpXGmjdvXlZjNBaZyDwTGzduTO67777k7LPPToYNG1bjOHl5ecn48eOTW2+9Ndm8eXO9x2os8pB5Hp5//vnku9/9brLvvvsm7du3r3GciEgKCwuTz3zmM8mjjz5a77Eaizzk7j1EdX7/+99XOXZzfQ2Ricwzke16xMCBA+s9JjS15rfKDtBAvva1r1X7RqW226mnnpp89NFHGY37l7/8Jdluu+3qNE5eXl7yve99LyktLa33OCtWrEgOPvjgOp/TkCFDkunTp9ep71x/aPPss8/W+/wagkxknonyHnvssaRfv371evzy8/OT8847L9myZUu9x2so8pCbPDzwwAN1KhD7+NazZ89m80FuRa01E/fee29y+OGH17pgEJG7D/MaK+cNSR6yy8OGDRuSr3zlK8luu+1Wa/FPRPMp8KiOPGSeh4cffjjp27dvRo/d8OHDk//85z8ZjdvQZCK754jvf//7GT12EZEccMAByfz58zMeuyHIQ8MXmq9evTrZYYcdWsxriEwoNC9PHnL7HLFgwYJ6/Vv349tDDz2UszlkSyaaT6F5c1izlIfcPEdYr5SH8qxXNu9M1FToXdvf2QsvvDDZuHFjRud01VVXJYWFhXUaq7CwMLnmmmsyGqchyUN2eVi4cGFy6qmnJjvttFOSl5dX6xjNtUiwPJnIPBM333xz0rVr14weuz333DN56623MnrsGpI8ZPcccdJJJ2X02EVEcuyxxyYrVqzI6PFrKPKQXR7q4r333qu2sLk5vobIRHaZUGjOtqh5rbIDNKCxY8dW+QJeUFCQ9O/fPxk7dmwyevToahccx48fn6xevbpeY951111VvpHp2bNnssceeyT9+/evcvHivPPOq9c469atS8aPH1+pn+Li4mTEiBHJqFGjqvymbc+ePZO333671v5z+aFNr169ms03u2Ui80x87LHHHkvatGlT5Zv+YcOGJePHj09GjRpV6Uo0H99OPvnkep1XQ5KH7PNw2223VXk+7du3T0aNGpXsvvvuSbdu3Srd37Zt22b54U1rzcS5555b5+fsXHyY11g5b2jykF0eVqxYUedxIppnkWB58pB5Hq699tpq++zWrVsycuTIZM8996y2gLRdu3bN8pcPZCL3heZ5eXlJ//79k9122y3Za6+9kpEjRyZt27atcuzBgwcn7777bsbj55o8NHyh+de//vUW9RoiEwrNy5OH3D1HTJ8+vcpC0ry8vKRfv37J7rvvnowdOzYZPHhwpfNvToXmMtE8Cs2by5qlPGT/HGG9Uh7Ks17Z/DNR3VXmi4qKkoEDBybjxo1Ldt1112oLko4++uh6P3//8pe/rLKvvn37JmPHjq32C/JXX311vcZpaPKQXR5eeeWVOj8XRTTPIsGKZCLzTFxwwQXV/tn36tUrGTVqVI3PDz169EjeeOONej12DU0esnuOqKrQvKCgIBk0aFAyZsyYZPz48cmOO+6YFBUVVTnWHnvs0ayKzeUhN+8hanLkkUe2qNcQmcguEwrN2RY1r1V2gAZU/o1Sly5dkq997WvJAw88kKxatSp13JYtW5LJkycn+++/f6UX+2OOOabO482ePbtS4eZuu+2WPPHEE6nj3nzzzeTzn/98pbHuvvvuOo91zjnnpNrm5+cnl156abJ8+fKyYzZu3Fjlt7F33333Wq/Ssnz58uRf//pXRrdBgwalxjv//PPrfF4NTSYyz0SSJMmqVasqLai0bds2+fGPf1zp50U3b96c3HvvvcmIESMqnddtt91W5/NqSPKQXR5eeeWVSh/QDRgwIPnzn/+cbNiwoey4kpKS5Iknnkj22GOPSv+AXLRoUZ3PqTG01kzU9GFexfGz/TCvMXPe0OSh4QrN27RpU+kKUs3xw9zy5CE3heZ5eXnJwQcfnNx4443JnDlzKh377rvvJhdccEGlq+B36tQpWbBgQUbjNxSZyL7QvE2bNsnhhx+eXHnllckLL7yQrF27ttJxmzdvTiZPnpwcfvjhlebT0IXN9SEPDfvn8cwzz5R94JCfn1/pCwjN8TVEJnJbaH7IIYfUe22iOZGH3DxHzJ8/v1KRef/+/ZPf/e53yQcffFDp+LVr1yaTJ09OLrzwwqRv377NttBcJuqnNa5ZykN2zxHWK+WhPOuVLSMT5QuCevfunXznO99JHn/88WT9+vWp4zZt2pTcd999yahRoyqNc8EFF9T5nJ599tlK6wwTJ05Mpk6dmjruxRdfTCZMmJA6rrCwMHnhhRfqPFZDk4fs8lBToXmHDh0q7WuORYIVyUTmmShfaF5UVJR87nOfS26//fYq1yBnzpyZnHHGGZXG2WGHHapcz2oq8pDdc8RJJ52UdOjQITn22GOT3/zmN8mrr76aev/wsQ0bNiT33Xdfsvfee1ca69RTT63TWI1BHrJ/D1GT22+/vazPqi7u1hxfQ2Qiu0xULDQ/5ZRT6rUm8cwzz9T5sYPmQqE5sM0YO3ZsMmjQoOQPf/hDsm7dulqP37JlS3LWWWdVemNR8Y1Odb74xS+m2u25557V/nxMaWlppbGGDh1ap2/LzZw5s9Ki2B133FHt8dOnT0+6dOmSOv6mm26q0znV16xZsyo9fq+99lqDjJUJmdgq00xceeWVqTbFxcXJU089VWObVatWJWPGjEm1GzFiRK1jNQZ52CrTPHzyk5+s9Oe6cOHCao9fv359pZ83//rXv17rOI2ptWbi4w/zunXrlhx66KHJJZdcktx7773JwoULk5tvvjnVZ7YFII11To1BHnJTaF5QUJDsuuuuyRlnnJFcd911yUsvvZRs2rQpGThwYGqs5lgkWJ48ZFdoXlxcnHzzm9+s8+JqVVckbE6L9EkiE9k+R8yZM6fSAnZtLr/88kqP34MPPpjxHHJJHhqu0HzDhg3JjjvuWDbON7/5zRbxGiITuS00P+200zLuqzmQh9w8Rxx00EGpPk844YRkzZo1dWq7efPmel91qyHJRON/Yaw5r1nKQ3Z5sF4pD+VZr2wZmejevXuy6667Jn/961/rlJ/169dXumJoUVFRMmvWrDqd07777ptqe9RRRyUbN26s8tiNGzcmRxxxROr4T37yk3UapzHIQ3Z5+LjQvKioKBk7dmxyzjnnJDfeeGMybdq0pKSkpNLj1ByLBCuSicwzccEFFyQdO3ZMLr300jp/yeiWW26pdOXdH/zgB3Vq2xjkIbvniDfffLPKwvLqlJSUJGeeeWalx2/GjBl17qMhyUP27yGqs2TJkqRHjx5lfVb1yynN8TVEJrLLRMVC80mTJtXaBlo6hebANuP++++vdrGoOlu2bEnGjRuXeoNw4okn1tpu+vTpqZ98KS4urvXnstavX58MHz48NdYNN9xQ61jHH398qs0pp5xSa5s//OEPqTYDBw5MNm3aVGu7+rroootS4+y+++45HyMbMvFfmWSi4rdWv/a1r9U6TpIkyfPPP1/pHyDZ/gMuF+Thv+qbh+eeey51fH5+fvLSSy/VOs7ixYtT3ywuKipK5s6dW2u7xtJaMzF9+vRk9uzZVd6Xyw/zGvOcGoM8ZJeHTZs2JU8++WS1xT8toUiwPHnIPA9Tp05N3nnnnXq3u/rqq1Pjt2nTplkViMlE01xRfJ999knN4Utf+lKjz6Eq8tBweSj/b8z+/fsnq1atahGvITKh0Lw8ecj+OeKPf/xjqr+jjjqqTr/E1VzJROO/j2jOa5bykF0erFfKw8esV/5Xc8/EP/7xj6SkpKRe57RmzZqkf//+qXEuvvjiWts9+OCDqTbdu3dPFi9eXGObDz/8MJWJiEgeffTRes23ocjDVpnmYcWKFcm///3vagtJK74uNMciwYpkYqtMMvH0008nS5Ysqdc4SZIk559/fmqc7bffvt59NBR52CrT54hMbNiwodIvJ11xxRUNMlZ9ycNWDZGH8gXUY8eOTbZs2dIiXkNkYqtMM6HQnG2RQnOAWtx1112VFp5q8+1vfzvVpq5XXLzxxhtT7caPH1/j8cuXL08KCwvLjs/Ly0vmzJlT6zglJSWVPozP9dX/SkpKKr0hu/rqq3M6RlORia169eqVOv6xxx6r0zklSVLp560feOCBOrdtbuQhSb73ve+ljj388MPrdD5JkiQXX3xxqm1zutpDpppzJmqTyw93m8s5NTV5qJuWUCSYC/KQuU2bNiWdO3dOzeGf//xno86hIchEdn7zm9+k5rDPPvs0+hxySR5q9sorr6Te2957771JkrTu1xCZ2Kq1FZpnSh622rhxY9K7d++yvjp16pR88MEHWc2vpZKJzLTWNUt52Mp65VbyYL2yopacier8/Oc/T40zduzYWtt8/vOfz+jP9tJLL021O/7447OdfpOSh7op319E8ywSzBWZyNyiRYsqXdV82rRpDTJWY5GH7Fx44YWpsb74xS822FiNQR5q9s9//rOsn4KCguTll19OkqR1v4bIxFYKzdkW5QcANdp///1T28uWLYt169bV2Oa+++5LbZ955pl1GuuEE06I9u3bl22/+OKL8cEHH1R7/AMPPBBbtmwp2544cWIMGTKk1nHy8/PjjDPOSO37xz/+Uac51tXjjz8e77//ftl2UVFRnHjiiTkdo6nIxFbLly9PbQ8YMKDWcT62ww47pLZXrlxZ57bNjTxEPPnkk6nto48+utYxPnbUUUeltu+55546t22umnMmGlNrPKdMyAPlyUPmioqKYu+9907tmz9/fhPNJndkIjtDhw5NbS9durSJZpIb8lC9LVu2xJlnnln23vaYY46p13vOlkomKE8etrr33nvjww8/LNs+66yzom/fvk04o6YjE5lprWuW8rCV9cqt5MF6ZUWtMRMVz6m2NYKNGzfGI488ktr3pS99qU5jVTzuoYceik2bNtWpbXMkD1QkE5nr3bt3jBgxolHGaizykB3rldtOHlatWhVf/epXy7bPO++82H333bOaW0sgE7DtUmgOUIuuXbtW2vfRRx9Ve/ysWbNi9uzZZdvt27ePfffdt05jVTw2SZJ44IEHqj2+4n2HHHJIncaJiDj44INT2/fff3+d29bFH//4x9T2kUceGT169MjpGE1FJrbq3Llzanv9+vV1HqvisS05G/JQ+R9bu+22W53HqXjs9OnTY968eXVu3xw150w0ltZ4TpmSB8qTh+xUfPxqeuxaCpnIzoYNG1LbXbp0aZqJ5Ig8VO/KK6+Ml19+OSK2/jvk2muvbeIZNQ6ZoDx52OrGG29MbZ988slNNJOmJxOZaa1rlvKwlfXKreTBemVFrTET9V0jmDJlSqxdu7Zse8cdd4yBAwfWaaxBgwbF8OHDy7ZXr15d6csMLYk8UJFMtJyxGoM8ZMd65baTh+9+97tlX2IeNGhQXHHFFVnPrSWQCdh2KTQHqMWCBQsq7evevXu1x7/66qup7fHjx0dhYWGdx9tvv/1q7K+m++r6hiwiYuzYsdGmTZuy7Q8++CCWLFlS5/Y1WbVqVfz9739P7Tv99NNz0ndzIBNbjRkzJrX94osv1mmc1atXx8yZM8u28/PzY9y4cXWeZ3MjD1u/qVxet27d6jxOu3btol27dql9r7zySp3bN0fNORONpTWeU6bkgfLkITsVH7+aHruWQiay88ILL6S2x44d20QzyQ15qNpbb70Vl19+edn2T3/6023m6sUyQXnysPUD+yeeeKJsu2vXrvUqHGxtZKL+WvOapTxsZb1yK3mwXllRa8xEfdcIslkrj2ieOc+UPFCRTLScsRqDPGTHeuWrqe3Wmocnn3wybrjhhrLt6667Lrbbbrus59YSyARsuxSaA9Ti6aefTm0PHDgwiouLqz2+/IJ0RMTIkSPrNV7F4yv297HNmzenvvlX37HatGlT6aebqhurvu66667UFWB69eoVhx9+eE76bg5kYqsTTjghtX311VfH5s2bax3n17/+depn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Ty676klEROfOnWtcjP5YxTdKbdu2rdfY7dq1q7XPXIxT1VjZLowlSVLpZ2Va+je3PyYT1evZs2fcdttt8Y9//KPWN92FhYVx5plnxre+9a0W/aGNPKR95jOfSW1PnTo1/va3v9Xa//Tp0+OOO+6otL8lLtK3hEw0ptZ4TvUhD5QnD9m5884747rrrkvt+8lPfhL9+vVrohllTyZyY+jQofGDH/wgTjrppBZdZC4PVbvtttviwQcfjIiIvLy8uP7665tF4VpjkInq9e/fP7761a/GX//615g5c2asXLkyNm/eHEuXLo0XX3wxfv7zn8eQIUNSbZYvXx6f+cxn4s0332yiWWdHHtIqFpq/8sorZVeMu/jii2P69Onxgx/8II499tg46qij4txzz40nn3wy7rzzziguLi5rt2LFiha7XiUTmWmta5byUD3rlVtty3mwXtk6M7Fu3bo49thjy76QGhExcODASr+CVpVcn1NLy4Q8UJFMZOenP/1p2brFx373u99ldNGn5kAecmOPPfaIH/zgB3HUUUc12BiNQR6q9rOf/azsqvZt2rRp8b+wWR8yUb0RI0bEt7/97bj33ntj9uzZsWrVqti8eXMsXrw4nnnmmZg0aVL06dMn1Wb+/Plx+OGHt+hfTWLbpNAcoArf+c534qGHHkrtu/7662PAgAG1tt2wYUNqu/wHWXVR1Yfn69evz/k4VY1V1Tj1MXny5Jg/f35qTq3l5+lkonqvvvpqTJw4MY4++ujUPy6qsmXLlrj22mtj1113jVNPPTU++uijes+xOZCHtPHjx8f++++f2vflL385nn/++Wr7nj9/fnzuc5+LjRs3Vrov2+eiptASMtGYWuM51Yc8UJ48ZO4///lPnHnmmal9hx9+eHzjG99oohnlhkzkxpw5c+KMM86IgQMHxm233dbU08mYPFS2ePHiOO+888q2v/SlL8WECROabkKNTCYq69y5c9x3333x7rvvxu9+97s49thjY6eddorOnTtHYWFhdO/ePcaNGxff+c534q233opJkyZFfv5/l71XrlwZJ598cuonrFsKeUir7oPEr3/96/GjH/0oCgur/gHXL3zhC3HjjTem9k2ePDmee+65nM+xoclEZlrrmqU8VM965Vbbch6sV7a+TCRJEqeddlrq10wKCwvj9ttvj44dO9baPtfn1NIyIQ9UJBOZu/feeyv92uI555wTRx99dE7HaUzykBsvv/xyHHfccTFs2LB45JFHGmychiYPlc2cOTN++MMflm1fcsklMWLEiKzm1ZLIRGWDBg2KyZMnx6xZs+KXv/xlHH300TF06NDo2LFjFBYWRs+ePWO//faLyy67LObNm1fpavDvvvtufO1rX8vqPKCxKTQHqOCaa66JX/3qV6l93/3ud+OEE06oU/uK38DbtGlTvcavahGzqm/1ZTtOVWNlcsXj8v74xz+mto888sjo3r17Vn02BzJRvTvvvDP22muvePLJJyNi69UGjznmmPjnP/8ZCxcujE2bNsWKFSvihRdeiEsvvTS6du0aEVvfvN96662x7777xpIlS+o9z6YkD1X7zW9+k7r/o48+igkTJsS5554bL774YqxevTrWr18fb7zxRvzoRz+K0aNHx+zZsyMiokuXLqm+OnToUO+5NqWWkonG1BrPqa7kgfLkIXOzZ8+Oo446KrVguNNOO8Wtt97aoq9eLRN1M2bMmEiSpOy2ZcuWWLZsWTz//PPxk5/8JHXF4iVLlsQpp5xS6QO+lkAeqvbNb34zli1bFhERvXv3jl/84hdNPKPGIxNV69q1axx11FGp4vHqFBQUxGWXXVbpcZw6dWrcc889DTXFBiEPlVU1frdu3eJnP/tZrW1PPvnkmDhxYmrfDTfckKupNQqZyFxrXLOUh+pZr9xKHqxXtrZMXHDBBZWuSn/11VfHfvvtV6f2uT6n5pDxupIHKpKJzP373/+OE088MUpLS8v27b///nHVVVfldJzGJA9189nPfja1XvnxFYunTJkSl1xySeqKxe+++258+tOfjv/93//NeLymIg+VlZaWxplnnlk2t1122SW+973vZTWnlkQmqjZo0KBK60zVadu2bfz+979PXVwlIuKee+6Jl156qc5jQpNLAChz++23J3l5eUlElN1OP/30pLS0tM59jB8/PtX+73//e73msGzZslT7iEjWr19f6bgHH3wwdcxuu+1Wr3GSJEm++c1vpvr43ve+V+8+PrZ69eqkffv2qf7uu+++jPtrLmSi+kxMnjw5KSgoKDu2Xbt2yf33319j/wsWLEjGjRuXGmPixIn1ejybkjzU/Bxx++23J4WFhZXmV9Nt9OjRyU9+8pPUvgkTJtR7rk2lJWWiLm6++eac/Fk0p3NqTPKQuYEDB6bGmjx5coON1VjkIXMLFixIBg8enBpvwIAByfz58xtszMYgE7mzcePG5Nvf/nalc/nrX//aaHPIljxU7d577031c+edd9baprW8hshE7k2YMCE1h8985jONPodMyUPVjj/++Epz+sY3vlHn9nfccUeq7aBBgzKaR1OQicy1xjVLeaie9Up5qMh6ZcvPRJIklf48IiKZNGlSvfro1atXqv0rr7xSr/ZTp05Nte/du3e92jcVechcxTHmzZuX8zGagkxkbvr06Um3bt1S4+y2227JypUrcz5WY5GH3Fm1alVy4oknpsYtKChInn/++QYfO1fkoWpXXXVVWdu8vLzk2WefrbVNa3kNkYnc2rx5czJs2LDU2Oeee26jjA254IrmAP/n/vvvj9NOOy31U8qf//zn4w9/+EO9rppY8coWa9eurdc8Kh5fWFhY5Tfysh2nqjbZXJXjr3/9a6q/3r17x6c//emM+2sOZKL6TJSUlMSXv/zlKCkpKdt33XXXxRFHHFFj//369Yv7778/evToUbZvypQp8de//rXec21s8lD7c8SJJ54YDz74YPTu3btO/R900EFV/nRcxSsGNVctLRONqTWeU23kgfLkIXPLly+PQw45JObNm1e2r2fPnvGvf/2rTj/D2FzJRG4VFxfHL3/5yzjnnHNS+y+44ILU+9PmSh6q9tFHH8VXv/rVsu1Pf/rT8YUvfKHJ5tOYZKJhXHDBBantJ554IrZs2dJEs6k7eaheVf8mnTBhQp3bVzz2nXfeKfsFheZMJrLT2tYs5aF61iu3koc065UtPxPXX399XHTRRal93/rWt+Kyyy6rVz+5PqeWcJV7eaAimcjcvHnz4pBDDonly5eX7Rs+fHg88sgj0blz55yO1VjkIbc6duwYt956a+q9Z0lJSaW1ieZKHqr2zjvvxPe///2y7XPOOSf23XffjObT0shE7hUWFsa3vvWt1L5HH320UcaGXFBoDhARkydPjuOOOy71gePBBx8cd955ZxQUFNSrr169eqW233///Xq1X7BgQWq7Z8+edRqnYrtMxqrYZ31U/Anak046KQoLCzPur6nJRNV9fuyBBx6IOXPmlG3vtNNOceqpp9ZpjN69e1f6WaDm/tNh8lB1n1U5+OCDY+7cufHzn/88xo0bV+XP2++7775x8803x6OPPhp9+vSp9MH+sGHD6j3XxtYSM9GYWuM51UQeKE8eMrd69eo47LDDYsaMGWX7OnfuHI888kjsuOOOTTiz7MhEw/npT38aHTt2LNueP39+PPHEE004o9rJQ/V+/etfxwcffBAREe3bt4/rrruuSefTWGSi4Rx44IGpD75Wr14dCxcubMIZ1U4ealZVkeCIESPq3L5fv36VPuBcvHhx1vNqSDKRvda0ZikPNbNeKQ/VsV7ZcjNxxx13xNe+9rXUvtNOOy2uuuqqeveV63PK5vO0xiAPVCQTmfvggw/ioIMOKluziIgYMGBAPPbYY3X+IlNzIw8NIz8/P6655prUWsRzzz0Xb7/9dqPNIRPyUL3LLrusrNC5X79+8dOf/jSj+bQ0MtFwPvWpT6W233777VQxPzRnCs2Bbd4LL7wQRx99dGzYsKFs37777ht///vfo7i4uN79VSyCmT9/fr3aVzx+p512qvK4IUOGpD4UWb9+fSxZsqRBxqrNvHnz4umnn07tO/300zPqqzmQidrHevzxx1PbRxxxRL2+uXrUUUeltp999tlme/VJeah9rIq22267+M53vhMvvvhiLF++PKZPnx5PPfVUvPbaa7FixYp49tln4/TTTy/LzBtvvJFqP27cuHrNs7G11Ew0ptZ4TtWRB8qTh8ytX78+jjzyyHjxxRfL9m233XbxwAMPxO67796EM8uOTDSszp07V1qYfe6555poNrWTh5qtXLmy7P/Xrl0bgwYNiry8vFpv7777bqqfAw44IHV/xaKx5kQmGlb79u2ja9euqX31/TdRY5KH2u28886V9nXq1KlefVQ8fsWKFVnNqSHJRPZa05qlPNTOeqU81MR6Zf00h0zce++9cdppp0VpaWnZvmOOOSZuvPHGev3d/lhzOKfGIg9UJBOZW7p0aRx00EExd+7csn29evWKxx57LHbYYYecjdOY5KFhDRkyJHbbbbfUPuuVddfc8lB+vfKDDz6Izp0712m9sqLBgwen7m/OX5KSiYZV8Zd7t2zZ0qzXpqA8hebANu3111+PT3/607FmzZqyfbvvvns8+OCD0b59+4z6rPjGpuKCZG1mzpxZY38fKyoqiqFDh2Y81saNG1P/KK5prNr86U9/Sn3LbuzYsTFq1KiM+mpqMlG3TMybNy+1PXjw4DqPU9Xx69evb5ZvoOUh++eIzp07xy677BL7779/jB49usqfmZ02bVpq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unfvnmr38MMP53Re2ZCHhlPxNaU5FwmWJxOZKykpSU466aTUOPn5+clf/vKXnI7TmOSh8Z1yyimpuQ0ePLipp1RGHhpPS3kNkYnGVfFq5hGR3H333U09LagzhebANmPVqlXJnnvumXrR7tKlS/LKK680yHgnnHBCaqw999yz2p9hKS0tTc4+++zU8UOGDEk2bdpU6zgzZsyo9K3YO+64o8bjK36w9oc//CGjc/zTn/6U6qdPnz7N6udEayMT/z2+vpnYuHFjssMOO6TaDBo0KHn33XdrbLdp06ZKizQRdf95pIYkD/89PpPniM2bNyezZ8+u9bgkSZJ169Ylp556amqMoUOHJuvXr69T+8bSWjNRk1x/mNcczilX5EGheXnykF0efvrTn1Z6LzBp0qSs5tfUZCLzTNx1113J9ddfX6/5lJaWJldffXVqcToiku985zsZzSHX5EGheUUykXkmHn300eSmm26q11rD448/nnTt2jU1ft++fZO1a9dmNIdck4fsnyN+8YtfpPobMGBAjR/arl27NpkwYUKlNv6t0XoyUVFLXrOUh8zzYL0ye60pD0livTIXGiMTCxYsSIYMGZJqt8MOO9T6dzdTe++9d2qso446qto5bty4MTnyyCNTxzenX8mRh4ZV8XWhuRYJlicT2TnnnHNS4+Tl5SU33XRTzsdpLPKQud/97nfJX/7yl6S0tLTObTZv3px85zvfqfTc8dvf/janc8uUPDSulvAaIhOZu/POO5O77767Xs8Rd9xxR9KmTZvU3MaMGVOvPqCp5SVJkgTANuCAAw6IKVOmpPZdccUVsc8++9S7r7Fjx0bXrl1rPGb27Nmx2267xbp168r27bbbbnHVVVfFxIkTy/a99dZbcdFFF8U999yTan/XXXfFcccdV6f5nH322XHDDTeUbefn58f3v//9OP/888vmuXnz5rj99tvj29/+dqxYsaLs2NGjR8fUqVOjsLCwTmOVd+CBB8bkyZPLti+44IK48sor691PU5GJ7DJxyy23xGmnnZba171795g0aVKcfPLJqcdj8+bN8fjjj8ekSZPiP//5T6rNEUccEffff3+dzqshyUN2eVizZk107tw5Dj/88DjhhBPioIMOij59+qSOWb58edx7773xwx/+MObOnVu2v127djF58uTYa6+96nQ+jaU1Z+Kxxx6rcv+jjz4av/jFL8q2R48eHb/85S+rPHbIkCExZMiQGsdpzHNqaPKQfR7mzp2b+rtf3sknnxwffvhh2faVV14Zu+22W5XHHnTQQTWO0xjkIfM8/OlPf4rTTz89te8Tn/hETJo0qU7zK69fv34xcuTIerdrCDKReSauuuqqOP/886NPnz5x3HHHxdFHHx177LFHdOvWrdKxy5Yti0ceeSR++9vfxnPPPZe6b/DgwfH6669Hhw4d6nReDUkesn/NqI9BgwbFu+++W7Y9efLk1Hk3BzKReSb++Mc/xhlnnBHbb7996jmic+fOqeNKSkripZdeit/97ndx2223RWlpadl9+fn58be//S0+97nP1emcGpo8ZP8csWHDhhgzZkzMmjWrbF+fPn3iZz/7WRx//PHRtm3biIgoLS2NKVOmxAUXXBCvvvpq2bF5eXnx4IMPxmGHHVan82poMpH7142WvGYpD9nlwXpl9bbFPFivrFlzyMS6deti/PjxMWPGjLJ9BQUFce2118bw4cPreUZb1xc+fh9QnWeeeSYmTJiQer84ceLE+OUvfxl77LFH2b6pU6fGBRdcEE8++WRqbs8880zsvffe9Z5bQ5CHmtUlD2+88UZ88MEHVd538MEHp7Zvu+226N27d6Xj2rVrF/vtt1+959cQZKJmNWXi8ssvj8suuyy179hjj42zzz673uPket0jU/JQs5rycN5558XVV18dgwcPjhNOOCEOP/zwGDNmTHTs2LHSsYsWLYr77rsvrr322pg+fXrqvr322iuee+65yM/Pr/f8ck0ealaX14z6yMvLS23PmzcvBg0alLP+c0EmalZTJi677LK4/PLLY9iwYXH88cfHkUceGaNHj4727dunjtu0aVM888wzcfXVV8d9992Xuq9t27YxefLkZvO+EuqkqSvdARpLVPjWYDa3ul4h7c4776x0lb2IrT83M3bs2GTAgAFV3v/Nb36zXue2du3aZNy4cZX6KS4uTnbcccdk9OjRlX4uNiKSHj16JLNmzcrg0UySd955p9Lcp02bllFfTUUmss9ExW/3f3zLz89Phg0blowfPz7Zddddk/bt21d53IgRI5KlS5fW69waijxkl4fVq1dXat+7d+9kzJgxybhx45IBAwZU+un6iEi222675KGHHqrX+TSW1pyJXJxTXa8+3Fjn1NDkIfs8TJo0KSdjNQfykHke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P8fChQurHLe4uDgOO+yw+H//7//F6NGj6zzft956K+688854+OGH46WXXootW7ZUe2yfPn3iq1/9anzzm9+Mrl271qn/KVOmxAEHHFC2PWnSpLjssstiy5Ytcd1118X1118fM2bMqNRuxYoV0aVLlzqfBwAAAAAAzYdCcwAAAAAAqGDz5s0xfvz4ePXVV8v2feMb34hrr722bHv69OkxduzYsiufFxQUxHPPPRfjx4+v1N+NN94Y559/fqxevbpO4+fn58ekSZNSxe7Vuf/+++Ooo46qU7/lbb/99vH3v/899txzz1qPrarQ/Nxzz42jjz46nnnmmWrbKTQHAAAAAGi58pt6AgAAAAAA0NwUFRXFzTffHIWFhWX7fvvb38bTTz8dERElJSVxxhlnlBWZR0R8+9vfrrLI/NJLL40vf/nLlYrMO3XqFLvsskuMHz8+Bg0alLqvtLS0rJi7Nhs2bKi0r127djFixIgYO3ZsjBs3LgYPHhz5+emPBBYsWBATJ06MmTNn1jpGRVu2bKlUZN61a9cYPXp0jB49Ojp37lzvPgEAAAAAaF4UmgMAAAAAQBXGjBkTF110Udl2kiRx5plnxvr16+PKK6+Ml156qey+HXfcMa644opKfdx8883xwx/+sGw7Ly8vTj311HjxxRdjxYoVMX369HjhhRdi3rx5sWDBgrjooouiqKio7Phrrrkm7rrrrlrnWlBQEEcccURcf/318fbbb8eaNWti1qxZ8dJLL8WLL74Yc+fOjZUrV8Ztt90WI0aMKGu3bt26OPHEE6O+P376hz/8oazI/KCDDopnn302li5dGq+99lq89tprsWLFivjXv/4V7dq1q1e/AAAAAAA0H3lJfVePAQAAAABgG7Fp06YYN25cTJs2rWzf8ccfH/fdd1/ZlcTz8/Pj6aefjn333TfVdu7cuTFq1KhYt25dRGy9yvjdd98dn/70p2sc86mnnorDDjss1q9fHxERvXr1infffTfatm1b5fHz5s2L/Pz8GDhwYJ3OacOGDXHMMcfEgw8+WLbvwQcfrHFeU6ZMiQMOOKDS/vPOOy9+/etf12lcAAAAAABaFlc0BwAAAACAahQXF8fNN98chYWFZfvuuuuusiLziIhzzz23UpF5RMTPf/7zsiLziIibbrqp1iLziIhPfvKTceWVV5ZtL168OG677bZqjx88eHCd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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import matplotlib.dates as mdates\n", + "\n", + "# Limit the data to September 2024\n", + "stories_filtered = df.filter(pl.col(\"time\") < pl.datetime(2024, 10, 1))\n", + "\n", + "stories_with_quarter = stories_filtered.with_columns(\n", + " pl.col(\"time\").dt.truncate(\"1q\").alias(\"year_quarter\")\n", + ")\n", + "\n", + "stories_per_quarter = (\n", + " stories_with_quarter.group_by(\"year_quarter\")\n", + " .agg(pl.col(\"id\").count().alias(\"num_stories\"))\n", + " .sort(\"year_quarter\")\n", + ")\n", + "\n", + "avg_score_per_quarter = (\n", + " stories_with_quarter.group_by(\"year_quarter\")\n", + " .agg(pl.col(\"score\").mean().alias(\"avg_score\"))\n", + " .sort(\"year_quarter\")\n", + ")\n", + "\n", + "fig, ax1 = plt.subplots(figsize=(10, 5), dpi=300) # Increased figure size and DPI\n", + "\n", + "# Plot number of stories\n", + "color = \"tab:blue\"\n", + "ax1.set_xlabel(\"Year\")\n", + "ax1.set_ylabel(\"Number of Stories\", color=color)\n", + "ax1.plot(\n", + " stories_per_quarter[\"year_quarter\"], stories_per_quarter[\"num_stories\"], color=color\n", + ")\n", + "ax1.tick_params(axis=\"y\", labelcolor=color)\n", + "\n", + "# Create a second y-axis for average score\n", + "ax2 = ax1.twinx()\n", + "color = \"tab:orange\"\n", + "ax2.set_ylabel(\"Average Score\", color=color)\n", + "ax2.plot(\n", + " avg_score_per_quarter[\"year_quarter\"],\n", + " avg_score_per_quarter[\"avg_score\"],\n", + " color=color,\n", + ")\n", + "ax2.tick_params(axis=\"y\", labelcolor=color)\n", + "\n", + "plt.title(\"Number of Stories and Average Score Over Time\")\n", + "\n", + "# Set x-axis to show only years\n", + "ax1.xaxis.set_major_locator(mdates.YearLocator())\n", + "ax1.xaxis.set_major_formatter(mdates.DateFormatter(\"%Y\"))\n", + "\n", + "# Rotate x-axis labels by 45 degrees\n", + "plt.xticks(rotation=45, ha=\"right\")\n", + "\n", + "plt.tight_layout()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "shape: (331_929, 20)
idbytimetitletexturlscoredescendantskidsdeleteddeadscraping_errorscraped_titlescraped_published_atscraped_bylinescraped_bodyscraped_atscraped_languagesplitdate
i64strdatetime[μs]strstrstri64i64list[i64]list[str]boolstrstrstrstrstrdatetime[μs]strstrdate
10820498"trengrj"2016-01-01 00:16:04"Debian creator Ian Murdock die…null"http://www.zdnet.com/article/d…1nullnullnulltrue"no_error""Debian Linux founder Ian Murdo…null"Written by""UPDATED: I'd known Ian Murdock…2024-11-08 20:50:45"en""train"2016-01-01
10820620"BuckRogers"2016-01-01 00:52:20"Where are we in the Python 3 t…null"http://www.snarky.ca/the-stage…40nullnullnull"no_error""Where are we in the Python 3 t…"2015-12-31T04:35:00.000Z""Brett Cannon""\n", + "\n", + "\n", + "\n", + " \n", + "\n", + " \n", + " …2024-11-08 12:09:11"en""train"2016-01-01
10820781"jonbaer"2016-01-01 01:54:49"Algorithms of the Mind – What …null"https://medium.com/deep-learni…30nullnullnull"no_error""Algorithms of the Mind - Deep …"2015-05-22T09:27:31.481Z""Christopher Nguyen""What Machine Learning Teaches …2024-11-08 14:18:52"en""train"2016-01-01
10820785"jonbaer"2016-01-01 01:55:57"Demystifying Deep Reinforcemen…null"http://www.nervanasys.com/demy…30nullnullnull"no_error""KINGGACOR | Situs Slot Gacor H…nullnull"\n", + " KINGGACOR | Situs Slot Gaco…2024-11-08 08:38:29"id""train"2016-01-01
10820925"Someone"2016-01-01 02:51:11"Users No Longer Need to Jailbr…null"http://www.darkreading.com/vul…20nullnullnull"no_error""Users No Longer Need to Jailbr…"2015-12-29T17:00:00.000Z""Ericka Chickowski, Contributin…"Security practitioners who've …2024-11-08 07:55:51"en""train"2016-01-01
42057787"robaato"2024-11-06 07:18:46"Early morning and evening acti…null"https://www.theguardian.com/so…20nullnullnull"no_error""Early morning and evening acti…"2024-11-06T05:00:04.000Z""Andrew Gregory""Being more active in the morni…2024-11-08 06:04:44"en""test"2024-11-06
42061756"DocFeind"2024-11-06 13:12:33"X has always had a Nazi proble…null"https://www.theatlantic.com/te…30nullnullnull"no_error""X Is a White-Supremacist Site""2024-11-05T19:41:17Z""Charlie Warzel""Elon Musk has made one of Twit…2024-11-07 22:12:22"en""test"2024-11-06
42063552"Olshansky"2024-11-06 15:13:49"Vibe Checks Are All You Need"null"https://olshansky.substack.com…30nullnullnull"no_error""Vibe Checks Are All You Need""2024-05-29T20:49:40+00:00""Daniel Olshansky""I’ve been using ChatGPT since …2024-11-08 14:57:45"en""test"2024-11-06
42068691"0xlogk"2024-11-06 20:18:46"Are You Playing to Play, or Pl…null"https://commoncog.com/playing-…30nullnullnull"no_error""Are You Playing to Play, or Pl…"2021-09-21T14:39:12.000Z""Cedric Chin""\n", + " \n", + " My friend Lesley…2024-11-08 10:31:35"en""test"2024-11-06
42071435"pentagrama"2024-11-06 23:50:11"Gimp 3.0 RC1 Released"null"https://www.gimp.org/news/2024…10nullnullnull"no_error""GIMP - GIMP 3.0 RC1 Released""2024-11-06T00:00:00+01:00""by G…"\n", + " We are ve…2024-11-08 06:29:21"en""test"2024-11-06
" + ], + "text/plain": [ + "shape: (331_929, 20)\n", + "┌──────────┬────────────┬────────────┬────────────┬───┬────────────┬───────────┬───────┬───────────┐\n", + "│ id ┆ by ┆ time ┆ title ┆ … ┆ scraped_at ┆ scraped_l ┆ split ┆ date │\n", + "│ --- ┆ --- ┆ --- ┆ --- ┆ ┆ --- ┆ anguage ┆ --- ┆ --- │\n", + "│ i64 ┆ str ┆ datetime[μ ┆ str ┆ ┆ datetime[μ ┆ --- ┆ str ┆ date │\n", + "│ ┆ ┆ s] ┆ ┆ ┆ s] ┆ str ┆ ┆ │\n", + "╞══════════╪════════════╪════════════╪════════════╪═══╪════════════╪═══════════╪═══════╪═══════════╡\n", + "│ 10820498 ┆ trengrj ┆ 2016-01-01 ┆ Debian ┆ … ┆ 2024-11-08 ┆ en ┆ train ┆ 2016-01-0 │\n", + "│ ┆ ┆ 00:16:04 ┆ creator ┆ ┆ 20:50:45 ┆ ┆ ┆ 1 │\n", + "│ ┆ ┆ ┆ Ian ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Murdock ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ die… ┆ ┆ ┆ ┆ ┆ │\n", + "│ 10820620 ┆ BuckRogers ┆ 2016-01-01 ┆ Where are ┆ … ┆ 2024-11-08 ┆ en ┆ train ┆ 2016-01-0 │\n", + "│ ┆ ┆ 00:52:20 ┆ we in the ┆ ┆ 12:09:11 ┆ ┆ ┆ 1 │\n", + "│ ┆ ┆ ┆ Python 3 ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ t… ┆ ┆ ┆ ┆ ┆ │\n", + "│ 10820781 ┆ jonbaer ┆ 2016-01-01 ┆ Algorithms ┆ … ┆ 2024-11-08 ┆ en ┆ train ┆ 2016-01-0 │\n", + "│ ┆ ┆ 01:54:49 ┆ of the ┆ ┆ 14:18:52 ┆ ┆ ┆ 1 │\n", + "│ ┆ ┆ ┆ Mind – ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ What … ┆ ┆ ┆ ┆ ┆ │\n", + "│ 10820785 ┆ jonbaer ┆ 2016-01-01 ┆ Demystifyi ┆ … ┆ 2024-11-08 ┆ id ┆ train ┆ 2016-01-0 │\n", + "│ ┆ ┆ 01:55:57 ┆ ng Deep ┆ ┆ 08:38:29 ┆ ┆ ┆ 1 │\n", + "│ ┆ ┆ ┆ Reinforcem ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ en… ┆ ┆ ┆ ┆ ┆ │\n", + "│ 10820925 ┆ Someone ┆ 2016-01-01 ┆ Users No ┆ … ┆ 2024-11-08 ┆ en ┆ train ┆ 2016-01-0 │\n", + "│ ┆ ┆ 02:51:11 ┆ Longer ┆ ┆ 07:55:51 ┆ ┆ ┆ 1 │\n", + "│ ┆ ┆ ┆ Need to ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Jailbr… ┆ ┆ ┆ ┆ ┆ │\n", + "│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ 42057787 ┆ robaato ┆ 2024-11-06 ┆ Early ┆ … ┆ 2024-11-08 ┆ en ┆ test ┆ 2024-11-0 │\n", + "│ ┆ ┆ 07:18:46 ┆ morning ┆ ┆ 06:04:44 ┆ ┆ ┆ 6 │\n", + "│ ┆ ┆ ┆ and ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ evening ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ acti… ┆ ┆ ┆ ┆ ┆ │\n", + "│ 42061756 ┆ DocFeind ┆ 2024-11-06 ┆ X has ┆ … ┆ 2024-11-07 ┆ en ┆ test ┆ 2024-11-0 │\n", + "│ ┆ ┆ 13:12:33 ┆ always had ┆ ┆ 22:12:22 ┆ ┆ ┆ 6 │\n", + "│ ┆ ┆ ┆ a Nazi ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ proble… ┆ ┆ ┆ ┆ ┆ │\n", + "│ 42063552 ┆ Olshansky ┆ 2024-11-06 ┆ Vibe ┆ … ┆ 2024-11-08 ┆ en ┆ test ┆ 2024-11-0 │\n", + "│ ┆ ┆ 15:13:49 ┆ Checks Are ┆ ┆ 14:57:45 ┆ ┆ ┆ 6 │\n", + "│ ┆ ┆ ┆ All You ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Need ┆ ┆ ┆ ┆ ┆ │\n", + "│ 42068691 ┆ 0xlogk ┆ 2024-11-06 ┆ Are You ┆ … ┆ 2024-11-08 ┆ en ┆ test ┆ 2024-11-0 │\n", + "│ ┆ ┆ 20:18:46 ┆ Playing to ┆ ┆ 10:31:35 ┆ ┆ ┆ 6 │\n", + "│ ┆ ┆ ┆ Play, or ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ Pl… ┆ ┆ ┆ ┆ ┆ │\n", + "│ 42071435 ┆ pentagrama ┆ 2024-11-06 ┆ Gimp 3.0 ┆ … ┆ 2024-11-08 ┆ en ┆ test ┆ 2024-11-0 │\n", + "│ ┆ ┆ 23:50:11 ┆ RC1 ┆ ┆ 06:29:21 ┆ ┆ ┆ 6 │\n", + "│ ┆ ┆ ┆ Released ┆ ┆ ┆ ┆ ┆ │\n", + "└──────────┴────────────┴────────────┴────────────┴───┴────────────┴───────────┴───────┴───────────┘" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = df.filter(pl.col(\"time\") > pl.datetime(2016, 1, 1))\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": {}, + "outputs": [], + "source": [ + "def serialize_story(story, include_datetime=True):\n", + " time_format = \"%A %I:%M %p, %Y-%m-%d\" if include_datetime else \"%Y-%m-%d\"\n", + "\n", + " return f\"\"\"URL: {story[\"url\"]}\n", + "Author: {story[\"scraped_byline\"]}\n", + "HN Submitter: {story[\"by\"]}\n", + "Contents:\n", + "{story[\"scraped_body\"].strip()}\n", + "\n", + "Published: {story[\"time\"].strftime(time_format)}\n", + "HN Title: {story[\"title\"]}\"\"\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [], + "source": [ + "relevant_cols = pl.struct(\n", + " [\n", + " \"url\",\n", + " \"scraped_byline\",\n", + " \"by\",\n", + " \"scraped_body\",\n", + " \"time\",\n", + " \"title\",\n", + " ]\n", + ")\n", + "\n", + "# Create two versions of the dataset with different serialization formats\n", + "df_with_datetime = df.with_columns(\n", + " relevant_cols.map_elements(\n", + " lambda x: serialize_story(x, include_datetime=True), return_dtype=pl.Utf8\n", + " ).alias(\"serialized\")\n", + ")\n", + "\n", + "df_with_datetime\n", + "\n", + "# df_with_date = test_df.with_columns(\n", + "# pl.struct([\"title\", \"by\", \"time\", \"scraped_body\"])\n", + "# .map_elements(\n", + "# lambda x: serialize_story(x, include_datetime=False), return_dtype=pl.Utf8\n", + "# )\n", + "# .alias(\"serialized\")\n", + "# )\n", + "\n", + "# # Save both versions\n", + "# df_with_datetime.write_parquet(\"./data/stories_with_datetime.parquet\")\n", + "# df_with_date.write_parquet(\"./data/stories_with_date.parquet\")\n", + "\n", + "# print(\"Datetime version example:\")\n", + "# print(df_with_datetime[\"serialized\"][0])\n", + "# print(\"\\nDate-only version example:\")\n", + "# print(df_with_date[\"serialized\"][0])\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/stories_train_model_v13.py b/stories_train_model_v13.py new file mode 100644 index 0000000..70bb03e --- /dev/null +++ b/stories_train_model_v13.py @@ -0,0 +1,144 @@ +import torch +from datasets import load_dataset, Dataset +from transformers import ( + AutoModelForSequenceClassification, + AutoTokenizer, + Trainer, + TrainingArguments, +) +from peft.tuners.lora import LoraConfig +from peft.mapping import get_peft_model +import wandb +from dotenv import load_dotenv +import polars as pl +from utils import stories_dataset +from liger_kernel.transformers import _apply_liger_kernel_to_instance +from training_helpers import ( + compute_metrics, + run_final_inference_and_report_metrics, + MandT, +) + +load_dotenv("/workspace/.env") + +# Configuration +base_model = "unsloth/Meta-Llama-3.1-8B" +run_name = __file__.split("/")[-1].replace(".py", "") +output_dir = f"./models/{run_name}" +num_epochs = 1 +batch_size = 32 +gradient_accumulation_steps = 1 +learning_rate = 2e-4 +max_length = 4096 + +# Initialize wandb +wandb.init(project="hn_stories_model_training", name=run_name) + + +def create_dataset(split, num_rows, tokenizer): + stories = stories_dataset() + stories = stories.filter(pl.col("split") == split).head(num_rows) + + stories = stories.with_columns( + [ + pl.col("serialized").alias("text"), + pl.col("log_score").alias("label"), + ] + ) + + stories = stories.with_columns( + [ + pl.col("text") + .map_elements( + lambda x: tokenizer(x)["input_ids"], return_dtype=pl.List(pl.Int64) + ) + .alias("input_ids"), + ] + ).select(["input_ids", "label"]) + return Dataset.from_polars(stories) + + +print("Loading tokenizer and model...") +tokenizer = AutoTokenizer.from_pretrained( + base_model, + truncation=True, + padding=True, + max_length=max_length, +) + +model = AutoModelForSequenceClassification.from_pretrained( + base_model, + num_labels=1, # Regression task + device_map="auto", + attn_implementation="flash_attention_2", + torch_dtype=torch.bfloat16, +) +_apply_liger_kernel_to_instance(model=model) + +model.gradient_checkpointing_enable( + gradient_checkpointing_kwargs={"use_reentrant": True} +) + + +model.config.pad_token_id = tokenizer.pad_token_id +tokenizer.padding_side = "right" + +print("Configuring LoRA...") +model = get_peft_model( + model, + LoraConfig( + task_type="SEQ_CLS", + r=8, + lora_alpha=16, + lora_dropout=0, + ), +) + +print("Loading dataset...") +train_stories = create_dataset("train", 1000000, tokenizer) +validation_stories = create_dataset("val", 1000, tokenizer) + + +# Configure training arguments +training_args = TrainingArguments( + output_dir=output_dir, + num_train_epochs=num_epochs, + per_device_train_batch_size=batch_size, + per_device_eval_batch_size=batch_size, + learning_rate=learning_rate, + weight_decay=0, + evaluation_strategy="steps", + eval_steps=0.05, + logging_steps=100, + save_strategy="steps", + save_steps=1000, + report_to="wandb", + no_cuda=False, + bf16=True, + warmup_steps=100, + gradient_accumulation_steps=gradient_accumulation_steps, +) + + +print("Initializing Trainer...") +trainer = Trainer( + model=model, + args=training_args, + train_dataset=train_stories, + eval_dataset=validation_stories, + tokenizer=tokenizer, + compute_metrics=compute_metrics, +) + +print("Starting model training...") +trainer.train() + +print("Saving final model...") +trainer.save_model(output_dir) +tokenizer.save_pretrained(output_dir) + +# Add the final inference and metrics reporting +print("Running final inference and reporting metrics...") +metrics = run_final_inference_and_report_metrics(MandT(model, tokenizer), output_dir) + +print("Stories model training complete") diff --git a/uv.lock b/uv.lock index bf95973..0ad8d59 100644 --- a/uv.lock +++ b/uv.lock @@ -115,34 +115,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17", size = 7617 }, ] -[[package]] -name = "annotated-types" -version = "0.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 }, -] - -[[package]] -name = "anthropic" -version = "0.36.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio" }, - { name = "distro" }, - { name = "httpx" }, - { name = "jiter" }, - { name = "pydantic" }, - { name = "sniffio" }, - { name = "tokenizers" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/84/e0/b9334e578fc18454601f7a962a2339948ff6c6637044480eb3d61939bbbe/anthropic-0.36.0.tar.gz", hash = "sha256:7b0b1457096605572a29559d9a8ce224b9389d379b410e7d1bf5e0c1379f9ee2", size = 927779 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/95/ac436a7ddfce2326d0bdf7d73a93b1b5589a2ac6ab6a519100972c5e9e2c/anthropic-0.36.0-py3-none-any.whl", hash = "sha256:9183b9eaa0f409f2047244d7ef02c9c3eb916959c0b2960f7605dcb6cabbf548", size = 939722 }, -] - [[package]] name = "anyio" version = "4.6.2.post1" @@ -241,15 +213,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2", size = 63001 }, ] -[[package]] -name = "audioread" -version = "3.0.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/db/d2/87016ca9f083acadffb2d8da59bfa3253e4da7eeb9f71fb8e7708dc97ecd/audioread-3.0.1.tar.gz", hash = "sha256:ac5460a5498c48bdf2e8e767402583a4dcd13f4414d286f42ce4379e8b35066d", size = 116513 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/57/8d/30aa32745af16af0a9a650115fbe81bde7c610ed5c21b381fca0196f3a7f/audioread-3.0.1-py3-none-any.whl", hash = "sha256:4cdce70b8adc0da0a3c9e0d85fb10b3ace30fbdf8d1670fd443929b61d117c33", size = 23492 }, -] - [[package]] name = "babel" version = "2.16.0" @@ -276,23 +239,23 @@ name = "best-hn" version = "0.1.0" source = { virtual = "." } dependencies = [ - { name = "bitsandbytes" }, { name = "datasets" }, { name = "dicttoxml" }, - { name = "flash-attn" }, { name = "hf-transfer" }, { name = "ipykernel" }, { name = "ipywidgets" }, { name = "jupyter" }, - { name = "liger-kernel" }, { name = "matplotlib" }, + { name = "numpy" }, { name = "peft" }, + { name = "plotly" }, { name = "polars" }, + { name = "pytest" }, + { name = "pytest-asyncio" }, { name = "python-dotenv" }, { name = "schedulefree" }, { name = "scikit-learn" }, { name = "seaborn" }, - { name = "sglang", extra = ["all"] }, { name = "torch" }, { name = "tqdm" }, { name = "transformers" }, @@ -302,23 +265,23 @@ dependencies = [ [package.metadata] requires-dist = [ - { name = "bitsandbytes", specifier = ">=0.44.1" }, { name = "datasets", specifier = ">=3.0.1" }, { name = "dicttoxml", specifier = ">=1.7.16" }, - { name = "flash-attn", specifier = "==2.6.3" }, { name = "hf-transfer", specifier = ">=0.1.8" }, { name = "ipykernel", specifier = ">=6.29.5" }, { name = "ipywidgets", specifier = ">=8.1.5" }, { name = "jupyter", specifier = ">=1.1.1" }, - { name = "liger-kernel", specifier = ">=0.3.1" }, { name = "matplotlib", specifier = ">=3.9.2" }, + { name = "numpy", specifier = ">=1.26.4" }, { name = "peft", specifier = ">=0.13.2" }, + { name = "plotly", specifier = ">=5.24.1" }, { name = "polars", specifier = ">=1.9.0" }, + { name = "pytest", specifier = ">=8.3.3" }, + { name = "pytest-asyncio", specifier = ">=0.24.0" }, { name = "python-dotenv", specifier = ">=1.0.1" }, { name = "schedulefree", specifier = ">=1.2.7" }, { name = "scikit-learn", specifier = ">=1.5.2" }, { name = "seaborn", specifier = ">=0.13.2" }, - { name = "sglang", extras = ["all"], editable = "deps/sglang/python" }, { name = "torch", specifier = "==2.4.0" }, { name = "tqdm", specifier = ">=4.66.5" }, { name = "transformers", git = "https://github.com/huggingface/transformers" }, @@ -326,19 +289,6 @@ requires-dist = [ { name = "wandb", specifier = ">=0.18.3" }, ] -[[package]] -name = "bitsandbytes" -version = "0.44.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy" }, - { name = "torch" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/e6/ccb84da7ffaf208a71c2c3c8e1120b34759df640db959660be9a98505eb4/bitsandbytes-0.44.1-py3-none-manylinux_2_24_x86_64.whl", hash = "sha256:b2f24c6cbf11fc8c5d69b3dcecee9f7011451ec59d6ac833e873c9f105259668", size = 122419627 }, - { url = "https://files.pythonhosted.org/packages/5f/f5/11bddebb5addc0a005b0c1cecc6e4c6e4055ad7b860bdcbf6374e12a51f5/bitsandbytes-0.44.1-py3-none-win_amd64.whl", hash = "sha256:8e68e12aa25d2cf9a1730ad72890a5d1a19daa23f459a6a4679331f353d58cb4", size = 121451331 }, -] - [[package]] name = "bleach" version = "6.1.0" @@ -472,15 +422,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", size = 97941 }, ] -[[package]] -name = "cloudpickle" -version = "3.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/97/c7/f746cadd08c4c08129215cf1b984b632f9e579fc781301e63da9e85c76c1/cloudpickle-3.1.0.tar.gz", hash = "sha256:81a929b6e3c7335c863c771d673d105f02efdb89dfaba0c90495d1c64796601b", size = 66155 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/48/41/e1d85ca3cab0b674e277c8c4f678cf66a91cd2cecf93df94353a606fe0db/cloudpickle-3.1.0-py3-none-any.whl", hash = "sha256:fe11acda67f61aaaec473e3afe030feb131d78a43461b718185363384f1ba12e", size = 22021 }, -] - [[package]] name = "colorama" version = "0.4.6" @@ -615,18 +556,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186", size = 9073 }, ] -[[package]] -name = "decord" -version = "0.6.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/11/79/936af42edf90a7bd4e41a6cac89c913d4b47fa48a26b042d5129a9242ee3/decord-0.6.0-py3-none-manylinux2010_x86_64.whl", hash = "sha256:51997f20be8958e23b7c4061ba45d0efcd86bffd5fe81c695d0befee0d442976", size = 13602299 }, - { url = "https://files.pythonhosted.org/packages/6c/be/e15b5b866da452e62635a7b27513f31cb581fa2ea9cc9b768b535d62a955/decord-0.6.0-py3-none-win_amd64.whl", hash = "sha256:02665d7c4f1193a330205a791bc128f7e108eb6ae5b67144437a02f700943bad", size = 24733380 }, -] - [[package]] name = "defusedxml" version = "0.7.1" @@ -654,24 +583,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", size = 116252 }, ] -[[package]] -name = "diskcache" -version = "5.6.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3f/21/1c1ffc1a039ddcc459db43cc108658f32c57d271d7289a2794e401d0fdb6/diskcache-5.6.3.tar.gz", hash = "sha256:2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc", size = 67916 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3f/27/4570e78fc0bf5ea0ca45eb1de3818a23787af9b390c0b0a0033a1b8236f9/diskcache-5.6.3-py3-none-any.whl", hash = "sha256:5e31b2d5fbad117cc363ebaf6b689474db18a1f6438bc82358b024abd4c2ca19", size = 45550 }, -] - -[[package]] -name = "distro" -version = "1.9.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277 }, -] - [[package]] name = "docker-pycreds" version = "0.4.0" @@ -693,15 +604,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d5/7c/e9fcff7623954d86bdc17782036cbf715ecab1bec4847c008557affe1ca8/docstring_parser-0.16-py3-none-any.whl", hash = "sha256:bf0a1387354d3691d102edef7ec124f219ef639982d096e26e3b60aeffa90637", size = 36533 }, ] -[[package]] -name = "einops" -version = "0.8.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/ca/9f5dcb8bead39959454c3912266bedc4c315839cee0e0ca9f4328f4588c1/einops-0.8.0.tar.gz", hash = "sha256:63486517fed345712a8385c100cb279108d9d47e6ae59099b07657e983deae85", size = 58861 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/44/5a/f0b9ad6c0a9017e62d4735daaeb11ba3b6c009d69a26141b258cd37b5588/einops-0.8.0-py3-none-any.whl", hash = "sha256:9572fb63046264a862693b0a87088af3bdc8c068fde03de63453cbbde245465f", size = 43223 }, -] - [[package]] name = "executing" version = "2.1.0" @@ -711,20 +613,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b5/fd/afcd0496feca3276f509df3dbd5dae726fcc756f1a08d9e25abe1733f962/executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf", size = 25805 }, ] -[[package]] -name = "fastapi" -version = "0.115.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pydantic" }, - { name = "starlette" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/22/fa/19e3c7c9b31ac291987c82e959f36f88840bea183fa3dc3bb654669f19c1/fastapi-0.115.2.tar.gz", hash = "sha256:3995739e0b09fa12f984bce8fa9ae197b35d433750d3d312422d846e283697ee", size = 299968 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/14/bbe7776356ef01f830f8085ca3ac2aea59c73727b6ffaa757abeb7d2900b/fastapi-0.115.2-py3-none-any.whl", hash = "sha256:61704c71286579cc5a598763905928f24ee98bfcc07aabe84cfefb98812bbc86", size = 94650 }, -] - [[package]] name = "fastjsonschema" version = "2.20.0" @@ -743,16 +631,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163 }, ] -[[package]] -name = "flash-attn" -version = "2.6.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "einops" }, - { name = "torch" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/cd/1e/21321670cd3c2f225026d9fd89272cae661529238850e79f48ccf2f9e4e3/flash_attn-2.6.3.tar.gz", hash = "sha256:5bfae9500ad8e7d2937ebccb4906f3bc464d1bf66eedd0e4adabd520811c7b52", size = 2631958 } - [[package]] name = "fonttools" version = "4.54.1" @@ -846,19 +724,6 @@ http = [ { name = "aiohttp" }, ] -[[package]] -name = "gguf" -version = "0.9.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy" }, - { name = "tqdm" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9f/1e/6bd024e0138d663cd333e8fde4c03d343e8be680d43b86537ef1497a7e32/gguf-0.9.1.tar.gz", hash = "sha256:f5e70987e15b19c545f6a9f7533b4033fb306330eb1f3c5c95fd28b14c3fd33b", size = 43280 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/07/d6/3da29842de7ecd98978779fc07fa1547f8549fdf701cc0d9f84ce1ce0ad8/gguf-0.9.1-py3-none-any.whl", hash = "sha256:3c2e921e59c022584de201726f8bf3cabe8801fe0e53d931774cd88d16702bbc", size = 49126 }, -] - [[package]] name = "gitdb" version = "4.0.11" @@ -931,35 +796,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/06/89/b161908e2f51be56568184aeb4a880fd287178d176fd1c860d2217f41106/httpcore-1.0.6-py3-none-any.whl", hash = "sha256:27b59625743b85577a8c0e10e55b50b5368a4f2cfe8cc7bcfa9cf00829c2682f", size = 78011 }, ] -[[package]] -name = "httptools" -version = "0.6.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9c/4f/8c7e42e8897f905e84505897f8f9cb4178235888aab571417897362a6764/httptools-0.6.2.tar.gz", hash = "sha256:ae694efefcb61317c79b2fa1caebc122060992408e389bb00889567e463a47f1", size = 244278 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/43/78/cc322f9d24d89982b87c8cd7579b787da7676a99c6d57248d5903960f346/httptools-0.6.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2e9d225b178a6cc700c23cf2f5daf85a10f93f1db7c34e9ee4ee0bbc29ad458a", size = 184430 }, - { url = "https://files.pythonhosted.org/packages/cd/15/879a614bcc33312991fe8f69b7c18734464e5ee1e510cac454206565e180/httptools-0.6.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d49b14fcc9b12a52da8667587efa124a18e1a3eb63bbbcabf9882f4008d171d6", size = 93366 }, - { url = "https://files.pythonhosted.org/packages/cb/af/435e9c24d06e06c2cb8e6742978db29a965fc58d6aa52cec73519facfc41/httptools-0.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d5c33d98b2311ddbe06e92b12b14de334dcfbe64ebcbb2c7a34b5c6036db512", size = 442500 }, - { url = "https://files.pythonhosted.org/packages/6e/e6/890714cd6d8315cf304c011b888e5ca75a885629b508ff83fa42597e93ea/httptools-0.6.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53cd2d776700bf0ed0e6fb203d716b041712ea4906479031cc5ac5421ecaa7d2", size = 436373 }, - { url = "https://files.pythonhosted.org/packages/c3/15/040f87bf26980cbb9dcf5911ff3f5111e6a4190e97629acc3174e2b75500/httptools-0.6.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7da016a0dab1fcced89dfff8537033c5dc200015e14023368f3f4a69e39b8716", size = 410526 }, - { url = "https://files.pythonhosted.org/packages/48/08/09c45b5a4f8df5faacbb24b7cc2fd752f8a82f13b4345c274729664a691c/httptools-0.6.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4d6e0ba155a1b3159551ac6b4551eb20028617e2e4bb71f2c61efed0756e6825", size = 411863 }, - { url = "https://files.pythonhosted.org/packages/76/e6/45e696bceb47fdac8088d1d9fd5e8b2fac89ea72cdc842d1c4a7755011d3/httptools-0.6.2-cp311-cp311-win_amd64.whl", hash = "sha256:ad44569b0f508e046ffe85b4a547d5b68d1548fd90767df69449cc28021ee709", size = 77277 }, - { url = "https://files.pythonhosted.org/packages/70/b4/067d771e8acc38b1b3969b3ba61d4d8ea283c8265f5458ab3e07151e465a/httptools-0.6.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c92d2b7c1a914ab2f66454961eeaf904f4fe7529b93ff537619d22c18b82d070", size = 186036 }, - { url = "https://files.pythonhosted.org/packages/96/2a/01701dba88439531e0740142de2763c0180f01340a6e5285f9fffe2bbd44/httptools-0.6.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78f920a75c1dbcb5a48a495f384d73ceb41e437a966c318eb7e56f1c1ad1df3e", size = 94131 }, - { url = "https://files.pythonhosted.org/packages/48/64/3b885cc0bb8d3c259134c84a9b4afdc3198be02c8314debaa26ee9729d57/httptools-0.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56bcd9ba0adf16edb4e3e45b8b9346f5b3b2372402e953d54c84b345d0f691e0", size = 488520 }, - { url = "https://files.pythonhosted.org/packages/50/37/da4cd7fad010d3f3ce31df79129935ed027e973515679cbf743a84e53928/httptools-0.6.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e350a887adb38ac65c93c2f395b60cf482baca61fd396ed8d6fd313dbcce6fac", size = 486242 }, - { url = "https://files.pythonhosted.org/packages/b5/d0/184bc1951e72f365120c792a047db97387158bb554b4145c0c49c66f5cac/httptools-0.6.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ddc328c2a2daf2cf4bdc7bbc8a458dc4c840637223d4b8e01bce2168cc79fd23", size = 462747 }, - { url = "https://files.pythonhosted.org/packages/26/60/1cfade9072dc534ed3d8e999ceb2b27416e6a867309b5833ea09a8664edf/httptools-0.6.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ddaf38943dbb32333a182c894b6092a68b56c5e36d0c54ba3761d28119b15447", size = 467186 }, - { url = "https://files.pythonhosted.org/packages/41/a2/cfcc8135c675678468d5855b0522b1d33c75929aa10fb6f688cd3d2b9b84/httptools-0.6.2-cp312-cp312-win_amd64.whl", hash = "sha256:052f7f50e4a38f069478143878371ed17937f268349bcd68f6f7a9de9fcfce21", size = 77231 }, - { url = "https://files.pythonhosted.org/packages/9e/43/c42ac106d05ced270be42ea18f025dd9edd64441c8e76fb7962428e4c3de/httptools-0.6.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:406f7dc5d9db68cd9ac638d14c74d077085f76b45f704d3ec38d43b842b3cb44", size = 182773 }, - { url = "https://files.pythonhosted.org/packages/ac/b0/0a760298af9fb0b93ac2a701e6ee053653b8d51ce79e8cbb1fdcd22e7156/httptools-0.6.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:77e22c33123ce11231ff2773d8905e20b45d77a69459def7481283b72a583955", size = 92432 }, - { url = "https://files.pythonhosted.org/packages/94/48/8f7e1c5c48cde62f05e75ae37b9e97cc1ab86b793b2b7a89380421b46773/httptools-0.6.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41965586b02715c3d83dd9153001f654e5b621de0c5255f5ef0635485212d0c0", size = 451491 }, - { url = "https://files.pythonhosted.org/packages/b1/2c/a8abdd3602baf0cb50c1868b47401ee4ab35954d6e8832a6e7d134dda122/httptools-0.6.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93b1839d54b80a06a51a31b90d024a1770e250d00de57e7ae069bafba932f398", size = 449032 }, - { url = "https://files.pythonhosted.org/packages/b2/c7/6f8dec1647e770b8bb21bcd17796c4f34aae406ae68b03e9c1c971763ac8/httptools-0.6.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8fdb4634040d1dbde7e0b373e19668cdb61c0ee8690d3b4064ac748d85365bca", size = 425814 }, - { url = "https://files.pythonhosted.org/packages/fa/82/d745afae65cb55096e3e335846694cf913f1281bb5a17c559dcb61f12282/httptools-0.6.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c30902f9b9da0d74668b6f71d7b57081a4879d9a5ea93d5922dbe15b15b3b24a", size = 429377 }, - { url = "https://files.pythonhosted.org/packages/3d/c7/daf5b58e25cb76f9fb9ab449526bcf643996bf1553b73cbf1a3dc4530f3d/httptools-0.6.2-cp313-cp313-win_amd64.whl", hash = "sha256:cf61238811a75335751b4b17f8b221a35f93f2d57489296742adf98412d2a568", size = 76348 }, -] - [[package]] name = "httpx" version = "0.27.2" @@ -1004,23 +840,14 @@ wheels = [ ] [[package]] -name = "importlib-metadata" -version = "8.5.0" +name = "iniconfig" +version = "2.0.0" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "zipp" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304 } +sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646 } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514 }, + { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, ] -[[package]] -name = "interegular" -version = "0.3.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/dc/9d/8b6dde58a028a3962ce17e84d5fe73758df61378e00ef8ac3d85da34b0ff/interegular-0.3.3.tar.gz", hash = "sha256:d9b697b21b34884711399ba0f0376914b81899ce670032486d0d048344a76600", size = 24705 } - [[package]] name = "ipykernel" version = "6.29.5" @@ -1118,50 +945,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d", size = 133271 }, ] -[[package]] -name = "jiter" -version = "0.6.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/26/ef/64458dfad180debd70d9dd1ca4f607e52bb6de748e5284d748556a0d5173/jiter-0.6.1.tar.gz", hash = "sha256:e19cd21221fc139fb032e4112986656cb2739e9fe6d84c13956ab30ccc7d4449", size = 161306 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/95/91/d1605f3cabcf47193ecab3712e5a4c55a19cf1a4d86ef67402325e28a44e/jiter-0.6.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b03c24e7da7e75b170c7b2b172d9c5e463aa4b5c95696a368d52c295b3f6847f", size = 290963 }, - { url = "https://files.pythonhosted.org/packages/91/35/85ef9eaef7dec14f28dd9b8a2116c07075bb2731a405b650a55fda4c74d7/jiter-0.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:47fee1be677b25d0ef79d687e238dc6ac91a8e553e1a68d0839f38c69e0ee491", size = 302639 }, - { url = "https://files.pythonhosted.org/packages/3b/c7/87a809bf95eb6fbcd8b30ea1d0f922c2187590de64a7f0944615008fde45/jiter-0.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25f0d2f6e01a8a0fb0eab6d0e469058dab2be46ff3139ed2d1543475b5a1d8e7", size = 337048 }, - { url = "https://files.pythonhosted.org/packages/bf/70/c31f21c109a01e6ebb0e032c8296d24761b5244b37d16bb3e9b0789a0eb0/jiter-0.6.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b809e39e342c346df454b29bfcc7bca3d957f5d7b60e33dae42b0e5ec13e027", size = 354239 }, - { url = "https://files.pythonhosted.org/packages/b9/86/6e4ef77c86175bbcc2cff6e8c6a8f98a554f88ce99b9c892c9330858d07c/jiter-0.6.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e9ac7c2f092f231f5620bef23ce2e530bd218fc046098747cc390b21b8738a7a", size = 370842 }, - { url = "https://files.pythonhosted.org/packages/ba/e3/ef93fc307278d98c981b09b4f965f49312d0639ba31c2db4fe073b78a833/jiter-0.6.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e51a2d80d5fe0ffb10ed2c82b6004458be4a3f2b9c7d09ed85baa2fbf033f54b", size = 392489 }, - { url = "https://files.pythonhosted.org/packages/63/6d/bff2bce7cc17bd7e0f517490cfa4444ad94d20720eb2ccd3152a6cd57a30/jiter-0.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3343d4706a2b7140e8bd49b6c8b0a82abf9194b3f0f5925a78fc69359f8fc33c", size = 325493 }, - { url = "https://files.pythonhosted.org/packages/49/4b/56e8a5e2be5439e503b77d2c9479197e0d8199827d7f79b06592747c5210/jiter-0.6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82521000d18c71e41c96960cb36e915a357bc83d63a8bed63154b89d95d05ad1", size = 365974 }, - { url = "https://files.pythonhosted.org/packages/d3/9b/967752fb36ddb4b6ea7a2a8cd0ef3f167a112a2d3a2131ee544969203659/jiter-0.6.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3c843e7c1633470708a3987e8ce617ee2979ee18542d6eb25ae92861af3f1d62", size = 514144 }, - { url = "https://files.pythonhosted.org/packages/58/55/9b7e0021e567731b076a8bf017a1df7d6f148bb175be2ac647a0c6433bbd/jiter-0.6.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a2e861658c3fe849efc39b06ebb98d042e4a4c51a8d7d1c3ddc3b1ea091d0784", size = 496072 }, - { url = "https://files.pythonhosted.org/packages/ca/37/9e0638d2a129a1b72344a90a03b2b518c048066db0858aaf0877cb9d4acd/jiter-0.6.1-cp311-none-win32.whl", hash = "sha256:7d72fc86474862c9c6d1f87b921b70c362f2b7e8b2e3c798bb7d58e419a6bc0f", size = 197571 }, - { url = "https://files.pythonhosted.org/packages/65/8a/78d337464e2b2e552d2988148e3e51da5445d910345c0d00f1982fd9aad4/jiter-0.6.1-cp311-none-win_amd64.whl", hash = "sha256:3e36a320634f33a07794bb15b8da995dccb94f944d298c8cfe2bd99b1b8a574a", size = 201994 }, - { url = "https://files.pythonhosted.org/packages/2e/d5/fcdfbcea637f8b9b833597797d6b77fd7e22649b4794fc571674477c8520/jiter-0.6.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1fad93654d5a7dcce0809aff66e883c98e2618b86656aeb2129db2cd6f26f867", size = 289279 }, - { url = "https://files.pythonhosted.org/packages/9a/47/8e4a7704a267b8d1d3287b4353fc07f1f4a3541b27988ea3e49ccbf3164a/jiter-0.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4e6e340e8cd92edab7f6a3a904dbbc8137e7f4b347c49a27da9814015cc0420c", size = 300931 }, - { url = "https://files.pythonhosted.org/packages/ea/4f/fbb1e11fcc3881d108359d3db8456715c9d30ddfce84dc5f9e0856e08e11/jiter-0.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:691352e5653af84ed71763c3c427cff05e4d658c508172e01e9c956dfe004aba", size = 336534 }, - { url = "https://files.pythonhosted.org/packages/29/8a/4c1e1229f89127187df166de760438b2a20e5a311391ba10d2b69db0da6f/jiter-0.6.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:defee3949313c1f5b55e18be45089970cdb936eb2a0063f5020c4185db1b63c9", size = 354266 }, - { url = "https://files.pythonhosted.org/packages/19/15/3f27f4b9d40bc7709a30fda99876cbe9e9f75a0ea2ef7d55f3dd4d04f927/jiter-0.6.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26d2bdd5da097e624081c6b5d416d3ee73e5b13f1703bcdadbb1881f0caa1933", size = 370492 }, - { url = "https://files.pythonhosted.org/packages/1f/9d/9ec03c07325bc3a3c5b5082840b8ecb7e7ad38f3071c149b7c6fb9e78706/jiter-0.6.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18aa9d1626b61c0734b973ed7088f8a3d690d0b7f5384a5270cd04f4d9f26c86", size = 390330 }, - { url = "https://files.pythonhosted.org/packages/bd/3b/612ea6daa52d64bc0cc46f2bd2e138952c58f1edbe86b17fd89e07c33d86/jiter-0.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a3567c8228afa5ddcce950631c6b17397ed178003dc9ee7e567c4c4dcae9fa0", size = 324245 }, - { url = "https://files.pythonhosted.org/packages/21/0f/f3a1ffd9f203d4014b4e5045c0ea2c67ee71a7eee8bf3408dbf11007cf07/jiter-0.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e5c0507131c922defe3f04c527d6838932fcdfd69facebafd7d3574fa3395314", size = 368232 }, - { url = "https://files.pythonhosted.org/packages/62/12/5d75729e0a57804852de0affc6f03b3df8518259e47ed4cd89aeeb671a71/jiter-0.6.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:540fcb224d7dc1bcf82f90f2ffb652df96f2851c031adca3c8741cb91877143b", size = 513820 }, - { url = "https://files.pythonhosted.org/packages/5f/e8/e47734280e19cd465832e610e1c69367ee72947de738785c4b6fc4031e25/jiter-0.6.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e7b75436d4fa2032b2530ad989e4cb0ca74c655975e3ff49f91a1a3d7f4e1df2", size = 496023 }, - { url = "https://files.pythonhosted.org/packages/52/01/5f65dd1387d39aa3fd4a98a5be1d8470e929a0cb0dd6cbfebaccd9a20ac5/jiter-0.6.1-cp312-none-win32.whl", hash = "sha256:883d2ced7c21bf06874fdeecab15014c1c6d82216765ca6deef08e335fa719e0", size = 197425 }, - { url = "https://files.pythonhosted.org/packages/43/b2/bd6665030f7d7cd5d9182c62a869c3d5ceadd7bff9f1b305de9192e7dbf8/jiter-0.6.1-cp312-none-win_amd64.whl", hash = "sha256:91e63273563401aadc6c52cca64a7921c50b29372441adc104127b910e98a5b6", size = 198966 }, - { url = "https://files.pythonhosted.org/packages/23/38/7b48e0149778ff4b893567c9fd997ecfcc013e290375aa7823e1f681b3d3/jiter-0.6.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:852508a54fe3228432e56019da8b69208ea622a3069458252f725d634e955b31", size = 288674 }, - { url = "https://files.pythonhosted.org/packages/85/3b/96d15b483d82a637279da53a1d299dd5da6e029b9905bcd1a4e1f89b8e4f/jiter-0.6.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f491cc69ff44e5a1e8bc6bf2b94c1f98d179e1aaf4a554493c171a5b2316b701", size = 301531 }, - { url = "https://files.pythonhosted.org/packages/cf/54/9681f112cbec4e197259e9db679bd4bc314f4bd24f74b9aa5e93073990b5/jiter-0.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc56c8f0b2a28ad4d8047f3ae62d25d0e9ae01b99940ec0283263a04724de1f3", size = 335954 }, - { url = "https://files.pythonhosted.org/packages/4a/4d/f9c0ba82b154c66278e28348086086264ccf50622ae468ec215e4bbc2873/jiter-0.6.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:51b58f7a0d9e084a43b28b23da2b09fc5e8df6aa2b6a27de43f991293cab85fd", size = 353996 }, - { url = "https://files.pythonhosted.org/packages/ee/be/7f26b258ef190f6d582e21c76c7dd1097753a2203bad3e1643f45392720a/jiter-0.6.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5f79ce15099154c90ef900d69c6b4c686b64dfe23b0114e0971f2fecd306ec6c", size = 369733 }, - { url = "https://files.pythonhosted.org/packages/5f/85/037ed5261fa622312471ef5520b2135c26b29256c83adc16c8cc55dc4108/jiter-0.6.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:03a025b52009f47e53ea619175d17e4ded7c035c6fbd44935cb3ada11e1fd592", size = 389920 }, - { url = "https://files.pythonhosted.org/packages/a8/f3/2e01294712faa476be9e6ceb49e424c3919e03415ded76d103378a06bb80/jiter-0.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c74a8d93718137c021d9295248a87c2f9fdc0dcafead12d2930bc459ad40f885", size = 324138 }, - { url = "https://files.pythonhosted.org/packages/00/45/50377814f21b6412c7785be27f2dace225af52e0af20be7af899a7e3f264/jiter-0.6.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40b03b75f903975f68199fc4ec73d546150919cb7e534f3b51e727c4d6ccca5a", size = 367610 }, - { url = "https://files.pythonhosted.org/packages/af/fc/51ba30875125381bfe21a1572c176de1a7dd64a386a7498355fc100decc4/jiter-0.6.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:825651a3f04cf92a661d22cad61fc913400e33aa89b3e3ad9a6aa9dc8a1f5a71", size = 512945 }, - { url = "https://files.pythonhosted.org/packages/69/60/af26168bd4916f9199ed433161e9f8a4eeda581a4e5982560d0f22dd146c/jiter-0.6.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:928bf25eb69ddb292ab8177fe69d3fbf76c7feab5fce1c09265a7dccf25d3991", size = 494963 }, - { url = "https://files.pythonhosted.org/packages/f3/2f/4f3cc5c9067a6fd1020d3c4365546535a69ed77da7fba2bec24368f3662c/jiter-0.6.1-cp313-none-win32.whl", hash = "sha256:352cd24121e80d3d053fab1cc9806258cad27c53cad99b7a3cac57cf934b12e4", size = 196869 }, - { url = "https://files.pythonhosted.org/packages/7a/fc/8709ee90837e94790d8b50db51c7b8a70e86e41b2c81e824c20b0ecfeba7/jiter-0.6.1-cp313-none-win_amd64.whl", hash = "sha256:be7503dd6f4bf02c2a9bacb5cc9335bc59132e7eee9d3e931b13d76fd80d7fda", size = 198919 }, -] - [[package]] name = "joblib" version = "1.4.2" @@ -1483,119 +1266,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530 }, ] -[[package]] -name = "lark" -version = "1.2.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/af/60/bc7622aefb2aee1c0b4ba23c1446d3e30225c8770b38d7aedbfb65ca9d5a/lark-1.2.2.tar.gz", hash = "sha256:ca807d0162cd16cef15a8feecb862d7319e7a09bdb13aef927968e45040fed80", size = 252132 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2d/00/d90b10b962b4277f5e64a78b6609968859ff86889f5b898c1a778c06ec00/lark-1.2.2-py3-none-any.whl", hash = "sha256:c2276486b02f0f1b90be155f2c8ba4a8e194d42775786db622faccd652d8e80c", size = 111036 }, -] - -[[package]] -name = "lazy-loader" -version = "0.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "packaging" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/6f/6b/c875b30a1ba490860c93da4cabf479e03f584eba06fe5963f6f6644653d8/lazy_loader-0.4.tar.gz", hash = "sha256:47c75182589b91a4e1a85a136c074285a5ad4d9f39c63e0d7fb76391c4574cd1", size = 15431 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/83/60/d497a310bde3f01cb805196ac61b7ad6dc5dcf8dce66634dc34364b20b4f/lazy_loader-0.4-py3-none-any.whl", hash = "sha256:342aa8e14d543a154047afb4ba8ef17f5563baad3fc610d7b15b213b0f119efc", size = 12097 }, -] - -[[package]] -name = "librosa" -version = "0.10.2.post1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "audioread" }, - { name = "decorator" }, - { name = "joblib" }, - { name = "lazy-loader" }, - { name = "msgpack" }, - { name = "numba" }, - { name = "numpy" }, - { name = "pooch" }, - { name = "scikit-learn" }, - { name = "scipy" }, - { name = "soundfile" }, - { name = "soxr" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/0e/2d/77783a52641a21ff7e2230aa588e4fb4a61422a64673096a36776b7e5bd9/librosa-0.10.2.post1.tar.gz", hash = "sha256:cd99f16717cbcd1e0983e37308d1db46a6f7dfc2e396e5a9e61e6821e44bd2e7", size = 325533 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8c/8a/2d231b35456506b7c98b3ab9bbf07917b205fed8615d2e59e976ab497fff/librosa-0.10.2.post1-py3-none-any.whl", hash = "sha256:dc882750e8b577a63039f25661b7e39ec4cfbacc99c1cffba666cd664fb0a7a0", size = 260089 }, -] - -[[package]] -name = "liger-kernel" -version = "0.3.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "torch" }, - { name = "triton" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e9/7e/5fc1042d99ac04f3f8c3776293aaf8bad21b68f8ad7f90dd2963e94b2f65/liger_kernel-0.3.1.tar.gz", hash = "sha256:ba597dac5c4e45d67f82955eb84dffa41f465205f51fdcb7c75f34c8c4a75f64", size = 45993 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/73/0b/6dc1f7e336b2bf92bc6334acd90175ee00c0b9c93b59803824dbc5d0c9dd/liger_kernel-0.3.1-py3-none-any.whl", hash = "sha256:e78903db10708a5422bfda02eb022175b8f6a84937ce840f6382ac27a343f24f", size = 58538 }, -] - -[[package]] -name = "litellm" -version = "1.49.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiohttp" }, - { name = "click" }, - { name = "importlib-metadata" }, - { name = "jinja2" }, - { name = "jsonschema" }, - { name = "openai" }, - { name = "pydantic" }, - { name = "python-dotenv" }, - { name = "requests" }, - { name = "tiktoken" }, - { name = "tokenizers" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/4a/b8/d3d1f3e49c26f10b80f6b6f711659274b9f06d3b201ef17e397f137f8560/litellm-1.49.3.tar.gz", hash = "sha256:e51ce30286894803dcf2949ddb4aab5c2e00809694a48ce6e997953566113c0b", size = 6073432 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/45/ea/29ab54cb782aabc2c6a847d26152675609272112c1f5b52bb810da646b65/litellm-1.49.3-py3-none-any.whl", hash = "sha256:300c3c9e1600441f8b6d3afe0fd79c6193f901b2091f3730883ffe3709eebfa2", size = 6285422 }, -] - -[[package]] -name = "llvmlite" -version = "0.43.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9f/3d/f513755f285db51ab363a53e898b85562e950f79a2e6767a364530c2f645/llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5", size = 157069 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/95/8c/de3276d773ab6ce3ad676df5fab5aac19696b2956319d65d7dd88fb10f19/llvmlite-0.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8d0618cb9bfe40ac38a9633f2493d4d4e9fcc2f438d39a4e854f39cc0f5f98", size = 31064409 }, - { url = "https://files.pythonhosted.org/packages/ee/e1/38deed89ced4cf378c61e232265cfe933ccde56ae83c901aa68b477d14b1/llvmlite-0.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57", size = 28793149 }, - { url = "https://files.pythonhosted.org/packages/2f/b2/4429433eb2dc8379e2cb582502dca074c23837f8fd009907f78a24de4c25/llvmlite-0.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1da416ab53e4f7f3bc8d4eeba36d801cc1894b9fbfbf2022b29b6bad34a7df2", size = 42857277 }, - { url = "https://files.pythonhosted.org/packages/6b/99/5d00a7d671b1ba1751fc9f19d3b36f3300774c6eebe2bcdb5f6191763eb4/llvmlite-0.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977525a1e5f4059316b183fb4fd34fa858c9eade31f165427a3977c95e3ee749", size = 43871781 }, - { url = "https://files.pythonhosted.org/packages/20/ab/ed5ed3688c6ba4f0b8d789da19fd8e30a9cf7fc5852effe311bc5aefe73e/llvmlite-0.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:d5bd550001d26450bd90777736c69d68c487d17bf371438f975229b2b8241a91", size = 28107433 }, - { url = "https://files.pythonhosted.org/packages/0b/67/9443509e5d2b6d8587bae3ede5598fa8bd586b1c7701696663ea8af15b5b/llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7", size = 31064409 }, - { url = "https://files.pythonhosted.org/packages/a2/9c/24139d3712d2d352e300c39c0e00d167472c08b3bd350c3c33d72c88ff8d/llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7", size = 28793145 }, - { url = "https://files.pythonhosted.org/packages/bf/f1/4c205a48488e574ee9f6505d50e84370a978c90f08dab41a42d8f2c576b6/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f", size = 42857276 }, - { url = "https://files.pythonhosted.org/packages/00/5f/323c4d56e8401c50185fd0e875fcf06b71bf825a863699be1eb10aa2a9cb/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844", size = 43871781 }, - { url = "https://files.pythonhosted.org/packages/c6/94/dea10e263655ce78d777e78d904903faae39d1fc440762be4a9dc46bed49/llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9", size = 28107442 }, -] - -[[package]] -name = "lm-format-enforcer" -version = "0.10.6" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "interegular" }, - { name = "packaging" }, - { name = "pydantic" }, - { name = "pyyaml" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/97/46/805e58f84d9c34447ccd34041233f7e0e0bfff63a53fb0a372edd64d51fa/lm_format_enforcer-0.10.6.tar.gz", hash = "sha256:ca2f061e9cf22fbe9f5ada2bc774c2bd369e8649b806fb5d9080eee37449f4a6", size = 39489 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4f/6e/d140b5eb41541afebea1c27013bc19b5a1cafd0cd330d9aa3458833ee44a/lm_format_enforcer-0.10.6-py3-none-any.whl", hash = "sha256:cad5a0cfbc9708332b57586a43d2945612fbcf40f9098f3ba95740d1a467a896", size = 43721 }, -] - [[package]] name = "markdown-it-py" version = "3.0.0" @@ -1728,20 +1398,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f0/74/c95adcdf032956d9ef6c89a9b8a5152bf73915f8c633f3e3d88d06bd699c/mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205", size = 47958 }, ] -[[package]] -name = "modelscope" -version = "1.19.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "requests" }, - { name = "tqdm" }, - { name = "urllib3" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f9/55/a214fc53c93d48f9557479077716d5cc2be120a35e926f34324a46eac1d4/modelscope-1.19.0.tar.gz", hash = "sha256:aaf5a4b42d4855ffe05aaa1dec2a5a1f1f590f7d6aa19283fd5648403c114d96", size = 4316780 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/37/d7/54dd492123983499cf8ab8e2edfbb74274c0b9381ddb9f4f7753d24ede8a/modelscope-1.19.0-py3-none-any.whl", hash = "sha256:6b633fa0c33c8e7acfcfe85035078d4c2cb6853e06ae04251a6e08a998cddae6", size = 5769246 }, -] - [[package]] name = "mpmath" version = "1.3.0" @@ -1751,69 +1407,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198 }, ] -[[package]] -name = "msgpack" -version = "1.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cb/d0/7555686ae7ff5731205df1012ede15dd9d927f6227ea151e901c7406af4f/msgpack-1.1.0.tar.gz", hash = "sha256:dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e", size = 167260 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/5e/a4c7154ba65d93be91f2f1e55f90e76c5f91ccadc7efc4341e6f04c8647f/msgpack-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3d364a55082fb2a7416f6c63ae383fbd903adb5a6cf78c5b96cc6316dc1cedc7", size = 150803 }, - { url = "https://files.pythonhosted.org/packages/60/c2/687684164698f1d51c41778c838d854965dd284a4b9d3a44beba9265c931/msgpack-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:79ec007767b9b56860e0372085f8504db5d06bd6a327a335449508bbee9648fa", size = 84343 }, - { url = "https://files.pythonhosted.org/packages/42/ae/d3adea9bb4a1342763556078b5765e666f8fdf242e00f3f6657380920972/msgpack-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6ad622bf7756d5a497d5b6836e7fc3752e2dd6f4c648e24b1803f6048596f701", size = 81408 }, - { url = "https://files.pythonhosted.org/packages/dc/17/6313325a6ff40ce9c3207293aee3ba50104aed6c2c1559d20d09e5c1ff54/msgpack-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e59bca908d9ca0de3dc8684f21ebf9a690fe47b6be93236eb40b99af28b6ea6", size = 396096 }, - { url = "https://files.pythonhosted.org/packages/a8/a1/ad7b84b91ab5a324e707f4c9761633e357820b011a01e34ce658c1dda7cc/msgpack-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e1da8f11a3dd397f0a32c76165cf0c4eb95b31013a94f6ecc0b280c05c91b59", size = 403671 }, - { url = "https://files.pythonhosted.org/packages/bb/0b/fd5b7c0b308bbf1831df0ca04ec76fe2f5bf6319833646b0a4bd5e9dc76d/msgpack-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:452aff037287acb1d70a804ffd022b21fa2bb7c46bee884dbc864cc9024128a0", size = 387414 }, - { url = "https://files.pythonhosted.org/packages/f0/03/ff8233b7c6e9929a1f5da3c7860eccd847e2523ca2de0d8ef4878d354cfa/msgpack-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8da4bf6d54ceed70e8861f833f83ce0814a2b72102e890cbdfe4b34764cdd66e", size = 383759 }, - { url = "https://files.pythonhosted.org/packages/1f/1b/eb82e1fed5a16dddd9bc75f0854b6e2fe86c0259c4353666d7fab37d39f4/msgpack-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:41c991beebf175faf352fb940bf2af9ad1fb77fd25f38d9142053914947cdbf6", size = 394405 }, - { url = "https://files.pythonhosted.org/packages/90/2e/962c6004e373d54ecf33d695fb1402f99b51832631e37c49273cc564ffc5/msgpack-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a52a1f3a5af7ba1c9ace055b659189f6c669cf3657095b50f9602af3a3ba0fe5", size = 396041 }, - { url = "https://files.pythonhosted.org/packages/f8/20/6e03342f629474414860c48aeffcc2f7f50ddaf351d95f20c3f1c67399a8/msgpack-1.1.0-cp311-cp311-win32.whl", hash = "sha256:58638690ebd0a06427c5fe1a227bb6b8b9fdc2bd07701bec13c2335c82131a88", size = 68538 }, - { url = "https://files.pythonhosted.org/packages/aa/c4/5a582fc9a87991a3e6f6800e9bb2f3c82972912235eb9539954f3e9997c7/msgpack-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fd2906780f25c8ed5d7b323379f6138524ba793428db5d0e9d226d3fa6aa1788", size = 74871 }, - { url = "https://files.pythonhosted.org/packages/e1/d6/716b7ca1dbde63290d2973d22bbef1b5032ca634c3ff4384a958ec3f093a/msgpack-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d46cf9e3705ea9485687aa4001a76e44748b609d260af21c4ceea7f2212a501d", size = 152421 }, - { url = "https://files.pythonhosted.org/packages/70/da/5312b067f6773429cec2f8f08b021c06af416bba340c912c2ec778539ed6/msgpack-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5dbad74103df937e1325cc4bfeaf57713be0b4f15e1c2da43ccdd836393e2ea2", size = 85277 }, - { url = "https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420", size = 82222 }, - { url = "https://files.pythonhosted.org/packages/33/af/dc95c4b2a49cff17ce47611ca9ba218198806cad7796c0b01d1e332c86bb/msgpack-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676e5be1b472909b2ee6356ff425ebedf5142427842aa06b4dfd5117d1ca8a2", size = 392971 }, - { url = "https://files.pythonhosted.org/packages/f1/54/65af8de681fa8255402c80eda2a501ba467921d5a7a028c9c22a2c2eedb5/msgpack-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17fb65dd0bec285907f68b15734a993ad3fc94332b5bb21b0435846228de1f39", size = 401403 }, - { url = "https://files.pythonhosted.org/packages/97/8c/e333690777bd33919ab7024269dc3c41c76ef5137b211d776fbb404bfead/msgpack-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a51abd48c6d8ac89e0cfd4fe177c61481aca2d5e7ba42044fd218cfd8ea9899f", size = 385356 }, - { url = "https://files.pythonhosted.org/packages/57/52/406795ba478dc1c890559dd4e89280fa86506608a28ccf3a72fbf45df9f5/msgpack-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2137773500afa5494a61b1208619e3871f75f27b03bcfca7b3a7023284140247", size = 383028 }, - { url = "https://files.pythonhosted.org/packages/e7/69/053b6549bf90a3acadcd8232eae03e2fefc87f066a5b9fbb37e2e608859f/msgpack-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:398b713459fea610861c8a7b62a6fec1882759f308ae0795b5413ff6a160cf3c", size = 391100 }, - { url = "https://files.pythonhosted.org/packages/23/f0/d4101d4da054f04274995ddc4086c2715d9b93111eb9ed49686c0f7ccc8a/msgpack-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:06f5fd2f6bb2a7914922d935d3b8bb4a7fff3a9a91cfce6d06c13bc42bec975b", size = 394254 }, - { url = "https://files.pythonhosted.org/packages/1c/12/cf07458f35d0d775ff3a2dc5559fa2e1fcd06c46f1ef510e594ebefdca01/msgpack-1.1.0-cp312-cp312-win32.whl", hash = "sha256:ad33e8400e4ec17ba782f7b9cf868977d867ed784a1f5f2ab46e7ba53b6e1e1b", size = 69085 }, - { url = "https://files.pythonhosted.org/packages/73/80/2708a4641f7d553a63bc934a3eb7214806b5b39d200133ca7f7afb0a53e8/msgpack-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:115a7af8ee9e8cddc10f87636767857e7e3717b7a2e97379dc2054712693e90f", size = 75347 }, - { url = "https://files.pythonhosted.org/packages/c8/b0/380f5f639543a4ac413e969109978feb1f3c66e931068f91ab6ab0f8be00/msgpack-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:071603e2f0771c45ad9bc65719291c568d4edf120b44eb36324dcb02a13bfddf", size = 151142 }, - { url = "https://files.pythonhosted.org/packages/c8/ee/be57e9702400a6cb2606883d55b05784fada898dfc7fd12608ab1fdb054e/msgpack-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0f92a83b84e7c0749e3f12821949d79485971f087604178026085f60ce109330", size = 84523 }, - { url = "https://files.pythonhosted.org/packages/7e/3a/2919f63acca3c119565449681ad08a2f84b2171ddfcff1dba6959db2cceb/msgpack-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4a1964df7b81285d00a84da4e70cb1383f2e665e0f1f2a7027e683956d04b734", size = 81556 }, - { url = "https://files.pythonhosted.org/packages/7c/43/a11113d9e5c1498c145a8925768ea2d5fce7cbab15c99cda655aa09947ed/msgpack-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59caf6a4ed0d164055ccff8fe31eddc0ebc07cf7326a2aaa0dbf7a4001cd823e", size = 392105 }, - { url = "https://files.pythonhosted.org/packages/2d/7b/2c1d74ca6c94f70a1add74a8393a0138172207dc5de6fc6269483519d048/msgpack-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0907e1a7119b337971a689153665764adc34e89175f9a34793307d9def08e6ca", size = 399979 }, - { url = "https://files.pythonhosted.org/packages/82/8c/cf64ae518c7b8efc763ca1f1348a96f0e37150061e777a8ea5430b413a74/msgpack-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65553c9b6da8166e819a6aa90ad15288599b340f91d18f60b2061f402b9a4915", size = 383816 }, - { url = "https://files.pythonhosted.org/packages/69/86/a847ef7a0f5ef3fa94ae20f52a4cacf596a4e4a010197fbcc27744eb9a83/msgpack-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7a946a8992941fea80ed4beae6bff74ffd7ee129a90b4dd5cf9c476a30e9708d", size = 380973 }, - { url = "https://files.pythonhosted.org/packages/aa/90/c74cf6e1126faa93185d3b830ee97246ecc4fe12cf9d2d31318ee4246994/msgpack-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4b51405e36e075193bc051315dbf29168d6141ae2500ba8cd80a522964e31434", size = 387435 }, - { url = "https://files.pythonhosted.org/packages/7a/40/631c238f1f338eb09f4acb0f34ab5862c4e9d7eda11c1b685471a4c5ea37/msgpack-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4c01941fd2ff87c2a934ee6055bda4ed353a7846b8d4f341c428109e9fcde8c", size = 399082 }, - { url = "https://files.pythonhosted.org/packages/e9/1b/fa8a952be252a1555ed39f97c06778e3aeb9123aa4cccc0fd2acd0b4e315/msgpack-1.1.0-cp313-cp313-win32.whl", hash = "sha256:7c9a35ce2c2573bada929e0b7b3576de647b0defbd25f5139dcdaba0ae35a4cc", size = 69037 }, - { url = "https://files.pythonhosted.org/packages/b6/bc/8bd826dd03e022153bfa1766dcdec4976d6c818865ed54223d71f07862b3/msgpack-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:bce7d9e614a04d0883af0b3d4d501171fbfca038f12c77fa838d9f198147a23f", size = 75140 }, -] - -[[package]] -name = "msgspec" -version = "0.18.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5e/fb/42b1865063fddb14dbcbb6e74e0a366ecf1ba371c4948664dde0b0e10f95/msgspec-0.18.6.tar.gz", hash = "sha256:a59fc3b4fcdb972d09138cb516dbde600c99d07c38fd9372a6ef500d2d031b4e", size = 216757 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/15/20/278def3822dec807be1e2a734ba9547500ff06667be9dda00ab5d277d605/msgspec-0.18.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e77e56ffe2701e83a96e35770c6adb655ffc074d530018d1b584a8e635b4f36f", size = 200058 }, - { url = "https://files.pythonhosted.org/packages/25/8c/75bfafb040934dd3eb46234a2bd4d8fcc7b646f77440866f954b60e0886b/msgspec-0.18.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d5351afb216b743df4b6b147691523697ff3a2fc5f3d54f771e91219f5c23aaa", size = 189108 }, - { url = "https://files.pythonhosted.org/packages/0d/e6/5dd960a7678cbaf90dc910611a0e700775ee341876f029c3c987122afe84/msgspec-0.18.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3232fabacef86fe8323cecbe99abbc5c02f7698e3f5f2e248e3480b66a3596b", size = 208138 }, - { url = "https://files.pythonhosted.org/packages/6a/73/1b2f991dc26899d2f999c938cbc82c858b3cb7e3ccaad317b32760dbe1da/msgspec-0.18.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3b524df6ea9998bbc99ea6ee4d0276a101bcc1aa8d14887bb823914d9f60d07", size = 209538 }, - { url = "https://files.pythonhosted.org/packages/29/d4/2fb2d40b3bde566fd14bf02bf503eea20a912a02cdf7ff100629906c9094/msgspec-0.18.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:37f67c1d81272131895bb20d388dd8d341390acd0e192a55ab02d4d6468b434c", size = 213571 }, - { url = "https://files.pythonhosted.org/packages/59/5a/c2aeeefd78946713047637f0c422c0b8b31182eb9bbed0068e906cc8aca0/msgspec-0.18.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d0feb7a03d971c1c0353de1a8fe30bb6579c2dc5ccf29b5f7c7ab01172010492", size = 215785 }, - { url = "https://files.pythonhosted.org/packages/51/c6/0a8ae23c91ba1e6d58ddb089bba4ce8dad5815411b4a2bb40a5f15d2ab73/msgspec-0.18.6-cp311-cp311-win_amd64.whl", hash = "sha256:41cf758d3f40428c235c0f27bc6f322d43063bc32da7b9643e3f805c21ed57b4", size = 185877 }, - { url = "https://files.pythonhosted.org/packages/1d/b5/c8fbf1db814eb29eda402952374b594b2559419ba7ec6d0997a9e5687530/msgspec-0.18.6-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d86f5071fe33e19500920333c11e2267a31942d18fed4d9de5bc2fbab267d28c", size = 202109 }, - { url = "https://files.pythonhosted.org/packages/d7/9a/235d2dbab078a0b8e6f338205dc59be0b027ce000554ee6a9c41b19339e5/msgspec-0.18.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce13981bfa06f5eb126a3a5a38b1976bddb49a36e4f46d8e6edecf33ccf11df1", size = 190281 }, - { url = "https://files.pythonhosted.org/packages/0e/f2/f864ed36a8a62c26b57c3e08d212bd8f3d12a3ca3ef64600be5452aa3c82/msgspec-0.18.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e97dec6932ad5e3ee1e3c14718638ba333befc45e0661caa57033cd4cc489466", size = 210305 }, - { url = "https://files.pythonhosted.org/packages/73/16/dfef780ced7d690dd5497846ed242ef3e27e319d59d1ddaae816a4f2c15e/msgspec-0.18.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad237100393f637b297926cae1868b0d500f764ccd2f0623a380e2bcfb2809ca", size = 212510 }, - { url = "https://files.pythonhosted.org/packages/c1/90/f5b3a788c4b3d92190e3345d1afa3dd107d5f16b8194e1f61b72582ee9bd/msgspec-0.18.6-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db1d8626748fa5d29bbd15da58b2d73af25b10aa98abf85aab8028119188ed57", size = 214844 }, - { url = "https://files.pythonhosted.org/packages/ce/0b/d4cc1b09f8dfcc6cc4cc9739c13a86e093fe70257b941ea9feb15df22996/msgspec-0.18.6-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:d70cb3d00d9f4de14d0b31d38dfe60c88ae16f3182988246a9861259c6722af6", size = 217113 }, - { url = "https://files.pythonhosted.org/packages/3f/76/30d8f152299f65c85c46a2cbeaf95ad1d18516b5ce730acdaef696d4cfe6/msgspec-0.18.6-cp312-cp312-win_amd64.whl", hash = "sha256:1003c20bfe9c6114cc16ea5db9c5466e49fae3d7f5e2e59cb70693190ad34da0", size = 187184 }, -] - [[package]] name = "multidict" version = "6.1.0" @@ -1877,8 +1470,11 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/b5/ae/04f39c5d0d0def03247c2893d6f2b83c136bf3320a2154d7b8858f2ba72d/multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1", size = 1772603 } wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/f7/7ec7fddc92e50714ea3745631f79bd9c96424cb2702632521028e57d3a36/multiprocess-0.70.16-py310-none-any.whl", hash = "sha256:c4a9944c67bd49f823687463660a2d6daae94c289adff97e0f9d696ba6371d02", size = 134824 }, { url = "https://files.pythonhosted.org/packages/50/15/b56e50e8debaf439f44befec5b2af11db85f6e0f344c3113ae0be0593a91/multiprocess-0.70.16-py311-none-any.whl", hash = "sha256:af4cabb0dac72abfb1e794fa7855c325fd2b55a10a44628a3c1ad3311c04127a", size = 143519 }, { url = "https://files.pythonhosted.org/packages/0a/7d/a988f258104dcd2ccf1ed40fdc97e26c4ac351eeaf81d76e266c52d84e2f/multiprocess-0.70.16-py312-none-any.whl", hash = "sha256:fc0544c531920dde3b00c29863377f87e1632601092ea2daca74e4beb40faa2e", size = 146741 }, + { url = "https://files.pythonhosted.org/packages/ea/89/38df130f2c799090c978b366cfdf5b96d08de5b29a4a293df7f7429fa50b/multiprocess-0.70.16-py38-none-any.whl", hash = "sha256:a71d82033454891091a226dfc319d0cfa8019a4e888ef9ca910372a446de4435", size = 132628 }, + { url = "https://files.pythonhosted.org/packages/da/d9/f7f9379981e39b8c2511c9e0326d212accacb82f12fbfdc1aa2ce2a7b2b6/multiprocess-0.70.16-py39-none-any.whl", hash = "sha256:a0bafd3ae1b732eac64be2e72038231c1ba97724b60b09400d68f229fcc2fbf3", size = 133351 }, ] [[package]] @@ -1983,28 +1579,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307 }, ] -[[package]] -name = "numba" -version = "0.60.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "llvmlite" }, - { name = "numpy" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/3c/93/2849300a9184775ba274aba6f82f303343669b0592b7bb0849ea713dabb0/numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16", size = 2702171 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/98/ad/df18d492a8f00d29a30db307904b9b296e37507034eedb523876f3a2e13e/numba-0.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a17b70fc9e380ee29c42717e8cc0bfaa5556c416d94f9aa96ba13acb41bdece8", size = 2647254 }, - { url = "https://files.pythonhosted.org/packages/9a/51/a4dc2c01ce7a850b8e56ff6d5381d047a5daea83d12bad08aa071d34b2ee/numba-0.60.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fb02b344a2a80efa6f677aa5c40cd5dd452e1b35f8d1c2af0dfd9ada9978e4b", size = 2649970 }, - { url = "https://files.pythonhosted.org/packages/f9/4c/8889ac94c0b33dca80bed11564b8c6d9ea14d7f094e674c58e5c5b05859b/numba-0.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f4fde652ea604ea3c86508a3fb31556a6157b2c76c8b51b1d45eb40c8598703", size = 3412492 }, - { url = "https://files.pythonhosted.org/packages/57/03/2b4245b05b71c0cee667e6a0b51606dfa7f4157c9093d71c6b208385a611/numba-0.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4142d7ac0210cc86432b818338a2bc368dc773a2f5cf1e32ff7c5b378bd63ee8", size = 3705018 }, - { url = "https://files.pythonhosted.org/packages/79/89/2d924ca60dbf949f18a6fec223a2445f5f428d9a5f97a6b29c2122319015/numba-0.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cac02c041e9b5bc8cf8f2034ff6f0dbafccd1ae9590dc146b3a02a45e53af4e2", size = 2686920 }, - { url = "https://files.pythonhosted.org/packages/eb/5c/b5ec752c475e78a6c3676b67c514220dbde2725896bbb0b6ec6ea54b2738/numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404", size = 2647866 }, - { url = "https://files.pythonhosted.org/packages/65/42/39559664b2e7c15689a638c2a38b3b74c6e69a04e2b3019b9f7742479188/numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c", size = 2650208 }, - { url = "https://files.pythonhosted.org/packages/67/88/c4459ccc05674ef02119abf2888ccd3e2fed12a323f52255f4982fc95876/numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e", size = 3466946 }, - { url = "https://files.pythonhosted.org/packages/8b/41/ac11cf33524def12aa5bd698226ae196a1185831c05ed29dc0c56eaa308b/numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d", size = 3761463 }, - { url = "https://files.pythonhosted.org/packages/ca/bd/0fe29fcd1b6a8de479a4ed25c6e56470e467e3611c079d55869ceef2b6d1/numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347", size = 2707588 }, -] - [[package]] name = "numpy" version = "1.26.4" @@ -2112,15 +1686,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/65/5b/cfaeebf25cd9fdec14338ccb16f6b2c4c7fa9163aefcf057d86b9cc248bb/nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:f3b50f42cf363f86ab21f720998517a659a48131e8d538dc02f8768237bd884c", size = 195958278 }, ] -[[package]] -name = "nvidia-ml-py" -version = "12.560.30" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/10/5f34de4a71db8b2b7ec4269f4a33287f24c23e2857ea3187c977b7bc3604/nvidia-ml-py-12.560.30.tar.gz", hash = "sha256:f0254dc7400647680a072ee02509bfd46102b60bdfeca321576d4d4817e7fe97", size = 39194 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/f3/a69ce0b1a1e12fbf6b2ad9f4c14c9999fdbdf15f2478d210f0fd501ddc98/nvidia_ml_py-12.560.30-py3-none-any.whl", hash = "sha256:fea371c94d63e38a611c17bbb85fe400e9c8ddb9e8684a9cd0e47786a4bc3c73", size = 40526 }, -] - [[package]] name = "nvidia-nccl-cu12" version = "2.20.5" @@ -2147,53 +1712,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/da/d3/8057f0587683ed2fcd4dbfbdfdfa807b9160b809976099d36b8f60d08f03/nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:dc21cf308ca5691e7c04d962e213f8a4aa9bbfa23d95412f452254c2caeb09e5", size = 99138 }, ] -[[package]] -name = "openai" -version = "1.51.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio" }, - { name = "distro" }, - { name = "httpx" }, - { name = "jiter" }, - { name = "pydantic" }, - { name = "sniffio" }, - { name = "tqdm" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/95/64/9a5279138b5ea6c2f0e5443d5d93b4510cb87fa6fe7be0c92b837087124e/openai-1.51.2.tar.gz", hash = "sha256:c6a51fac62a1ca9df85a522e462918f6bb6bc51a8897032217e453a0730123a6", size = 307755 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3d/49/72198d0941b3a0264b6d13033823025c01c497f1cbfd83db310392c49c0e/openai-1.51.2-py3-none-any.whl", hash = "sha256:5c5954711cba931423e471c37ff22ae0fd3892be9b083eee36459865fbbb83fa", size = 383687 }, -] - -[[package]] -name = "outlines" -version = "0.0.46" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cloudpickle" }, - { name = "datasets" }, - { name = "diskcache" }, - { name = "interegular" }, - { name = "jinja2" }, - { name = "jsonschema" }, - { name = "lark" }, - { name = "nest-asyncio" }, - { name = "numba" }, - { name = "numpy" }, - { name = "pyairports" }, - { name = "pycountry" }, - { name = "pydantic" }, - { name = "referencing" }, - { name = "requests" }, - { name = "tqdm" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/8d/90/4c63b1b99960905ee2dd0c1b6d8bf059bf000619ccdb2ad89b41bb30efeb/outlines-0.0.46.tar.gz", hash = "sha256:cd272418a268e0a25b7189180dfdcf9fe1b99f50ac1dfb9ffd83c896c5b3fa3c", size = 2062878 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/2c/1ce85b81b2f6835720db1fda9f2d4439a69458b119d2ad5fcf7cae573923/outlines-0.0.46-py3-none-any.whl", hash = "sha256:fea7b2ccd2dd82ddf11849a55ef14c4d7b72f12136a67d1b105b81639c8ca2b0", size = 101949 }, -] - [[package]] name = "overrides" version = "7.7.0" @@ -2354,6 +1872,28 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 }, ] +[[package]] +name = "plotly" +version = "5.24.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, + { name = "tenacity" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/79/4f/428f6d959818d7425a94c190a6b26fbc58035cbef40bf249be0b62a9aedd/plotly-5.24.1.tar.gz", hash = "sha256:dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae", size = 9479398 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/ae/580600f441f6fc05218bd6c9d5794f4aef072a7d9093b291f1c50a9db8bc/plotly-5.24.1-py3-none-any.whl", hash = "sha256:f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089", size = 19054220 }, +] + +[[package]] +name = "pluggy" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, +] + [[package]] name = "polars" version = "1.9.0" @@ -2367,20 +1907,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a6/cf/f9170a3ac20e0efb9d3c1cdacc677e35b711ffd5ec48a6d5f3da7b7d8663/polars-1.9.0-cp38-abi3-win_amd64.whl", hash = "sha256:95de07066cd797dd940fa2783708a7bef93c827a57be0f4dfad3575a6144212b", size = 32819142 }, ] -[[package]] -name = "pooch" -version = "1.8.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "packaging" }, - { name = "platformdirs" }, - { name = "requests" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c6/77/b3d3e00c696c16cf99af81ef7b1f5fe73bd2a307abca41bd7605429fe6e5/pooch-1.8.2.tar.gz", hash = "sha256:76561f0de68a01da4df6af38e9955c4c9d1a5c90da73f7e40276a5728ec83d10", size = 59353 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a8/87/77cc11c7a9ea9fd05503def69e3d18605852cd0d4b0d3b8f15bbeb3ef1d1/pooch-1.8.2-py3-none-any.whl", hash = "sha256:3529a57096f7198778a5ceefd5ac3ef0e4d06a6ddaf9fc2d609b806f25302c47", size = 64574 }, -] - [[package]] name = "prometheus-client" version = "0.21.0" @@ -2390,19 +1916,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/84/2d/46ed6436849c2c88228c3111865f44311cff784b4aabcdef4ea2545dbc3d/prometheus_client-0.21.0-py3-none-any.whl", hash = "sha256:4fa6b4dd0ac16d58bb587c04b1caae65b8c5043e85f778f42f5f632f6af2e166", size = 54686 }, ] -[[package]] -name = "prometheus-fastapi-instrumentator" -version = "7.0.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "prometheus-client" }, - { name = "starlette" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/0e/42/eeb55ea9b0eae7d6854bef6aef3ecd34674f85813bc3877efdaeb582ab7e/prometheus_fastapi_instrumentator-7.0.0.tar.gz", hash = "sha256:5ba67c9212719f244ad7942d75ded80693b26331ee5dfc1e7571e4794a9ccbed", size = 20077 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/59/66/2e93a8f56adb51ede41d0ef5f4f0277522acc4adc87937f5457b7b5692a8/prometheus_fastapi_instrumentator-7.0.0-py3-none-any.whl", hash = "sha256:96030c43c776ee938a3dae58485ec24caed7e05bfc60fe067161e0d5b5757052", size = 19005 }, -] - [[package]] name = "prompt-toolkit" version = "3.0.48" @@ -2492,8 +2005,6 @@ version = "6.0.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/18/c7/8c6872f7372eb6a6b2e4708b88419fb46b857f7a2e1892966b851cc79fc9/psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2", size = 508067 } wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/66/78c9c3020f573c58101dc43a44f6855d01bbbd747e24da2f0c4491200ea3/psutil-6.0.0-cp27-none-win32.whl", hash = "sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35", size = 249766 }, - { url = "https://files.pythonhosted.org/packages/e1/3f/2403aa9558bea4d3854b0e5e567bc3dd8e9fbc1fc4453c0aa9aafeb75467/psutil-6.0.0-cp27-none-win_amd64.whl", hash = "sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1", size = 253024 }, { url = "https://files.pythonhosted.org/packages/0b/37/f8da2fbd29690b3557cca414c1949f92162981920699cd62095a984983bf/psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0", size = 250961 }, { url = "https://files.pythonhosted.org/packages/35/56/72f86175e81c656a01c4401cd3b1c923f891b31fbcebe98985894176d7c9/psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0", size = 287478 }, { url = "https://files.pythonhosted.org/packages/19/74/f59e7e0d392bc1070e9a70e2f9190d652487ac115bb16e2eff6b22ad1d24/psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd", size = 290455 }, @@ -2521,24 +2032,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842 }, ] -[[package]] -name = "py-cpuinfo" -version = "9.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/37/a8/d832f7293ebb21690860d2e01d8115e5ff6f2ae8bbdc953f0eb0fa4bd2c7/py-cpuinfo-9.0.0.tar.gz", hash = "sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690", size = 104716 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl", hash = "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5", size = 22335 }, -] - -[[package]] -name = "pyairports" -version = "2.1.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/be/56/6e46904a6a408e5fbc9f6a345ed94bfb73bdb5251ce39bb60b6bf023c0ed/pyairports-2.1.1.tar.gz", hash = "sha256:3d60a727fce4da81b9c6393ea8ae0b33d67b37ece344dffc863f749e3ad62bcd", size = 364241 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6e/75/b424aebc9f2fc5db319d5df5fff62fa19254c8ef974c254588d48c480df2/pyairports-2.1.1-py3-none-any.whl", hash = "sha256:3dfa0cc3e47696692ade92feccdc6b046968f2a75f5e30f65735d6db7251cb26", size = 371714 }, -] - [[package]] name = "pyarrow" version = "17.0.0" @@ -2564,15 +2057,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ae/49/baafe2a964f663413be3bd1cf5c45ed98c5e42e804e2328e18f4570027c1/pyarrow-17.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:392bc9feabc647338e6c89267635e111d71edad5fcffba204425a7c8d13610d7", size = 25099235 }, ] -[[package]] -name = "pycountry" -version = "24.6.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/76/57/c389fa68c50590881a75b7883eeb3dc15e9e73a0fdc001cdd45c13290c92/pycountry-24.6.1.tar.gz", hash = "sha256:b61b3faccea67f87d10c1f2b0fc0be714409e8fcdcc1315613174f6466c10221", size = 6043910 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/ec/1fb891d8a2660716aadb2143235481d15ed1cbfe3ad669194690b0604492/pycountry-24.6.1-py3-none-any.whl", hash = "sha256:f1a4fb391cd7214f8eefd39556d740adcc233c778a27f8942c8dca351d6ce06f", size = 6335189 }, -] - [[package]] name = "pycparser" version = "2.22" @@ -2583,82 +2067,48 @@ wheels = [ ] [[package]] -name = "pydantic" -version = "2.9.2" +name = "pygments" +version = "2.18.0" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "annotated-types" }, - { name = "pydantic-core" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/a9/b7/d9e3f12af310e1120c21603644a1cd86f59060e040ec5c3a80b8f05fae30/pydantic-2.9.2.tar.gz", hash = "sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f", size = 769917 } +sdist = { url = "https://files.pythonhosted.org/packages/8e/62/8336eff65bcbc8e4cb5d05b55faf041285951b6e80f33e2bff2024788f31/pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199", size = 4891905 } wheels = [ - { url = "https://files.pythonhosted.org/packages/df/e4/ba44652d562cbf0bf320e0f3810206149c8a4e99cdbf66da82e97ab53a15/pydantic-2.9.2-py3-none-any.whl", hash = "sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12", size = 434928 }, + { url = "https://files.pythonhosted.org/packages/f7/3f/01c8b82017c199075f8f788d0d906b9ffbbc5a47dc9918a945e13d5a2bda/pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a", size = 1205513 }, ] [[package]] -name = "pydantic-core" -version = "2.23.4" +name = "pyparsing" +version = "3.2.0" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e2/aa/6b6a9b9f8537b872f552ddd46dd3da230367754b6f707b8e1e963f515ea3/pydantic_core-2.23.4.tar.gz", hash = "sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863", size = 402156 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5d/30/890a583cd3f2be27ecf32b479d5d615710bb926d92da03e3f7838ff3e58b/pydantic_core-2.23.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8", size = 1865160 }, - { url = "https://files.pythonhosted.org/packages/1d/9a/b634442e1253bc6889c87afe8bb59447f106ee042140bd57680b3b113ec7/pydantic_core-2.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d", size = 1776777 }, - { url = "https://files.pythonhosted.org/packages/75/9a/7816295124a6b08c24c96f9ce73085032d8bcbaf7e5a781cd41aa910c891/pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e", size = 1799244 }, - { url = "https://files.pythonhosted.org/packages/a9/8f/89c1405176903e567c5f99ec53387449e62f1121894aa9fc2c4fdc51a59b/pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607", size = 1805307 }, - { url = "https://files.pythonhosted.org/packages/d5/a5/1a194447d0da1ef492e3470680c66048fef56fc1f1a25cafbea4bc1d1c48/pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd", size = 2000663 }, - { url = "https://files.pythonhosted.org/packages/13/a5/1df8541651de4455e7d587cf556201b4f7997191e110bca3b589218745a5/pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea", size = 2655941 }, - { url = "https://files.pythonhosted.org/packages/44/31/a3899b5ce02c4316865e390107f145089876dff7e1dfc770a231d836aed8/pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e", size = 2052105 }, - { url = "https://files.pythonhosted.org/packages/1b/aa/98e190f8745d5ec831f6d5449344c48c0627ac5fed4e5340a44b74878f8e/pydantic_core-2.23.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b", size = 1919967 }, - { url = "https://files.pythonhosted.org/packages/ae/35/b6e00b6abb2acfee3e8f85558c02a0822e9a8b2f2d812ea8b9079b118ba0/pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0", size = 1964291 }, - { url = "https://files.pythonhosted.org/packages/13/46/7bee6d32b69191cd649bbbd2361af79c472d72cb29bb2024f0b6e350ba06/pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64", size = 2109666 }, - { url = "https://files.pythonhosted.org/packages/39/ef/7b34f1b122a81b68ed0a7d0e564da9ccdc9a2924c8d6c6b5b11fa3a56970/pydantic_core-2.23.4-cp311-none-win32.whl", hash = "sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f", size = 1732940 }, - { url = "https://files.pythonhosted.org/packages/2f/76/37b7e76c645843ff46c1d73e046207311ef298d3f7b2f7d8f6ac60113071/pydantic_core-2.23.4-cp311-none-win_amd64.whl", hash = "sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3", size = 1916804 }, - { url = "https://files.pythonhosted.org/packages/74/7b/8e315f80666194b354966ec84b7d567da77ad927ed6323db4006cf915f3f/pydantic_core-2.23.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231", size = 1856459 }, - { url = "https://files.pythonhosted.org/packages/14/de/866bdce10ed808323d437612aca1ec9971b981e1c52e5e42ad9b8e17a6f6/pydantic_core-2.23.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee", size = 1770007 }, - { url = "https://files.pythonhosted.org/packages/dc/69/8edd5c3cd48bb833a3f7ef9b81d7666ccddd3c9a635225214e044b6e8281/pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87", size = 1790245 }, - { url = "https://files.pythonhosted.org/packages/80/33/9c24334e3af796ce80d2274940aae38dd4e5676298b4398eff103a79e02d/pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8", size = 1801260 }, - { url = "https://files.pythonhosted.org/packages/a5/6f/e9567fd90104b79b101ca9d120219644d3314962caa7948dd8b965e9f83e/pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327", size = 1996872 }, - { url = "https://files.pythonhosted.org/packages/2d/ad/b5f0fe9e6cfee915dd144edbd10b6e9c9c9c9d7a56b69256d124b8ac682e/pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2", size = 2661617 }, - { url = "https://files.pythonhosted.org/packages/06/c8/7d4b708f8d05a5cbfda3243aad468052c6e99de7d0937c9146c24d9f12e9/pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36", size = 2071831 }, - { url = "https://files.pythonhosted.org/packages/89/4d/3079d00c47f22c9a9a8220db088b309ad6e600a73d7a69473e3a8e5e3ea3/pydantic_core-2.23.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126", size = 1917453 }, - { url = "https://files.pythonhosted.org/packages/e9/88/9df5b7ce880a4703fcc2d76c8c2d8eb9f861f79d0c56f4b8f5f2607ccec8/pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e", size = 1968793 }, - { url = "https://files.pythonhosted.org/packages/e3/b9/41f7efe80f6ce2ed3ee3c2dcfe10ab7adc1172f778cc9659509a79518c43/pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24", size = 2116872 }, - { url = "https://files.pythonhosted.org/packages/63/08/b59b7a92e03dd25554b0436554bf23e7c29abae7cce4b1c459cd92746811/pydantic_core-2.23.4-cp312-none-win32.whl", hash = "sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84", size = 1738535 }, - { url = "https://files.pythonhosted.org/packages/88/8d/479293e4d39ab409747926eec4329de5b7129beaedc3786eca070605d07f/pydantic_core-2.23.4-cp312-none-win_amd64.whl", hash = "sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9", size = 1917992 }, - { url = "https://files.pythonhosted.org/packages/ad/ef/16ee2df472bf0e419b6bc68c05bf0145c49247a1095e85cee1463c6a44a1/pydantic_core-2.23.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc", size = 1856143 }, - { url = "https://files.pythonhosted.org/packages/da/fa/bc3dbb83605669a34a93308e297ab22be82dfb9dcf88c6cf4b4f264e0a42/pydantic_core-2.23.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd", size = 1770063 }, - { url = "https://files.pythonhosted.org/packages/4e/48/e813f3bbd257a712303ebdf55c8dc46f9589ec74b384c9f652597df3288d/pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05", size = 1790013 }, - { url = "https://files.pythonhosted.org/packages/b4/e0/56eda3a37929a1d297fcab1966db8c339023bcca0b64c5a84896db3fcc5c/pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d", size = 1801077 }, - { url = "https://files.pythonhosted.org/packages/04/be/5e49376769bfbf82486da6c5c1683b891809365c20d7c7e52792ce4c71f3/pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510", size = 1996782 }, - { url = "https://files.pythonhosted.org/packages/bc/24/e3ee6c04f1d58cc15f37bcc62f32c7478ff55142b7b3e6d42ea374ea427c/pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6", size = 2661375 }, - { url = "https://files.pythonhosted.org/packages/c1/f8/11a9006de4e89d016b8de74ebb1db727dc100608bb1e6bbe9d56a3cbbcce/pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b", size = 2071635 }, - { url = "https://files.pythonhosted.org/packages/7c/45/bdce5779b59f468bdf262a5bc9eecbae87f271c51aef628d8c073b4b4b4c/pydantic_core-2.23.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327", size = 1916994 }, - { url = "https://files.pythonhosted.org/packages/d8/fa/c648308fe711ee1f88192cad6026ab4f925396d1293e8356de7e55be89b5/pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6", size = 1968877 }, - { url = "https://files.pythonhosted.org/packages/16/16/b805c74b35607d24d37103007f899abc4880923b04929547ae68d478b7f4/pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f", size = 2116814 }, - { url = "https://files.pythonhosted.org/packages/d1/58/5305e723d9fcdf1c5a655e6a4cc2a07128bf644ff4b1d98daf7a9dbf57da/pydantic_core-2.23.4-cp313-none-win32.whl", hash = "sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769", size = 1738360 }, - { url = "https://files.pythonhosted.org/packages/a5/ae/e14b0ff8b3f48e02394d8acd911376b7b66e164535687ef7dc24ea03072f/pydantic_core-2.23.4-cp313-none-win_amd64.whl", hash = "sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5", size = 1919411 }, +sdist = { url = "https://files.pythonhosted.org/packages/8c/d5/e5aeee5387091148a19e1145f63606619cb5f20b83fccb63efae6474e7b2/pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c", size = 920984 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84", size = 106921 }, ] [[package]] -name = "pygments" -version = "2.18.0" +name = "pytest" +version = "8.3.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8e/62/8336eff65bcbc8e4cb5d05b55faf041285951b6e80f33e2bff2024788f31/pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199", size = 4891905 } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8b/6c/62bbd536103af674e227c41a8f3dcd022d591f6eed5facb5a0f31ee33bbc/pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181", size = 1442487 } wheels = [ - { url = "https://files.pythonhosted.org/packages/f7/3f/01c8b82017c199075f8f788d0d906b9ffbbc5a47dc9918a945e13d5a2bda/pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a", size = 1205513 }, + { url = "https://files.pythonhosted.org/packages/6b/77/7440a06a8ead44c7757a64362dd22df5760f9b12dc5f11b6188cd2fc27a0/pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2", size = 342341 }, ] [[package]] -name = "pyparsing" -version = "3.2.0" +name = "pytest-asyncio" +version = "0.24.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8c/d5/e5aeee5387091148a19e1145f63606619cb5f20b83fccb63efae6474e7b2/pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c", size = 920984 } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/52/6d/c6cf50ce320cf8611df7a1254d86233b3df7cc07f9b5f5cbcb82e08aa534/pytest_asyncio-0.24.0.tar.gz", hash = "sha256:d081d828e576d85f875399194281e92bf8a68d60d72d1a2faf2feddb6c46b276", size = 49855 } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84", size = 106921 }, + { url = "https://files.pythonhosted.org/packages/96/31/6607dab48616902f76885dfcf62c08d929796fc3b2d2318faf9fd54dbed9/pytest_asyncio-0.24.0-py3-none-any.whl", hash = "sha256:a811296ed596b69bf0b6f3dc40f83bcaf341b155a269052d82efa2b25ac7037b", size = 18024 }, ] [[package]] @@ -2691,15 +2141,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/35/a6/145655273568ee78a581e734cf35beb9e33a370b29c5d3c8fee3744de29f/python_json_logger-2.0.7-py3-none-any.whl", hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd", size = 8067 }, ] -[[package]] -name = "python-multipart" -version = "0.0.12" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/16/6e/7ecfe1366b9270f7f475c76fcfa28812493a6a1abd489b2433851a444f4f/python_multipart-0.0.12.tar.gz", hash = "sha256:045e1f98d719c1ce085ed7f7e1ef9d8ccc8c02ba02b5566d5f7521410ced58cb", size = 35713 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f5/0b/c316262244abea7481f95f1e91d7575f3dfcf6455d56d1ffe9839c582eb1/python_multipart-0.0.12-py3-none-any.whl", hash = "sha256:43dcf96cf65888a9cd3423544dd0d75ac10f7aa0c3c28a175bbcd00c9ce1aebf", size = 23246 }, -] - [[package]] name = "pytz" version = "2024.2" @@ -2826,35 +2267,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7b/d6/32fd69744afb53995619bc5effa2a405ae0d343cd3e747d0fbc43fe894ee/pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0", size = 1392485 }, ] -[[package]] -name = "ray" -version = "2.37.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiosignal" }, - { name = "click" }, - { name = "filelock" }, - { name = "frozenlist" }, - { name = "jsonschema" }, - { name = "msgpack" }, - { name = "packaging" }, - { name = "protobuf" }, - { name = "pyyaml" }, - { name = "requests" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/ed/c7be83b6d9f350634fc47e0421276e43fb708007f7407bebedeefb3f1825/ray-2.37.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:fa642e9b34e88c6a7edb17b291201351d44f063e04ba9f1e83e42aaf492fc14a", size = 65879308 }, - { url = "https://files.pythonhosted.org/packages/b7/71/8e1fd39b89914f46e68ecd32bc712d75add5a53b64f5d53c32079d412549/ray-2.37.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c53ee350a009bab6b811254f8407387812de9a290269e32dbf7c3f0dce6c93c9", size = 63294423 }, - { url = "https://files.pythonhosted.org/packages/25/77/f24ab02a0ed22f34035f158acea4271f959b5bd8e6f8bc5b35b171f6a41d/ray-2.37.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:60298e199d9938d3be7418e0645aae312f1283e31123991053d36d0ff1e4ec43", size = 64803235 }, - { url = "https://files.pythonhosted.org/packages/f3/f3/b3894db4e7dceae820804d87779250f4e77f561674dbc9bd5f28a929fb16/ray-2.37.0-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:b420279ca14f02cc27fc592ff1f28da9aa08b962316bf65ddf370db877082e91", size = 65687514 }, - { url = "https://files.pythonhosted.org/packages/e5/50/636bb2f5ae091be21d5dad53cf26ff47c960a413a5fecffe7d519b99a2a6/ray-2.37.0-cp311-cp311-win_amd64.whl", hash = "sha256:7faff20ea7a06612d3cd860a61d2736aa9f82d0d2bcef0917717ced67c8b51c5", size = 24897130 }, - { url = "https://files.pythonhosted.org/packages/8a/b7/fd86cbffd3aa3357d501d396d5222948f3451444055c52d747ea94be7731/ray-2.37.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:860f3d45438c3daad30f034f107e3fed05a710c7251e10714f942be598715bd2", size = 65862266 }, - { url = "https://files.pythonhosted.org/packages/1d/59/a7b2eb1129ed4189ca1e053828caebf59a09555aaa8746a282f5e23fd3e9/ray-2.37.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0b8c23ced4186040dee37e982227e3b1296e2fcbd4c520e4399e5d99ed3c641d", size = 63278326 }, - { url = "https://files.pythonhosted.org/packages/07/a4/6c8edcbf9b291c9cb5a70214f027b73f11dc06938b1a543ea86ed84dd53b/ray-2.37.0-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:75cd9a1f6f332ac00d77154b24bd38f4b46a4e600cd02a2440e69b918273b475", size = 64824399 }, - { url = "https://files.pythonhosted.org/packages/aa/11/b573b388bcdbd460d55bf5f17043ec5519c4758888116f20693003bc7141/ray-2.37.0-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:0268c7bc2e8bb6ef9bb8969299deb5857bf672bfcb59da95db7495a8a502f8ba", size = 65732684 }, - { url = "https://files.pythonhosted.org/packages/08/91/967506d22c3ef98cc6bcbd58bef04a3bfd8d15fe89979ac24de3a32b0a5f/ray-2.37.0-cp312-cp312-win_amd64.whl", hash = "sha256:4132f79902160c650eaffe1ed1265e5b88d461ff5f3a777a16a750beeed7de1e", size = 24886640 }, -] - [[package]] name = "referencing" version = "0.35.1" @@ -3152,30 +2564,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072 }, ] -[[package]] -name = "sentencepiece" -version = "0.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c9/d2/b9c7ca067c26d8ff085d252c89b5f69609ca93fb85a00ede95f4857865d4/sentencepiece-0.2.0.tar.gz", hash = "sha256:a52c19171daaf2e697dc6cbe67684e0fa341b1248966f6aebb541de654d15843", size = 2632106 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/32/43/8f8885168a47a02eba1455bd3f4f169f50ad5b8cebd2402d0f5e20854d04/sentencepiece-0.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:17982700c4f6dbb55fa3594f3d7e5dd1c8659a274af3738e33c987d2a27c9d5c", size = 2409036 }, - { url = "https://files.pythonhosted.org/packages/0f/35/e63ba28062af0a3d688a9f128e407a1a2608544b2f480cb49bf7f4b1cbb9/sentencepiece-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7c867012c0e8bcd5bdad0f791609101cb5c66acb303ab3270218d6debc68a65e", size = 1238921 }, - { url = "https://files.pythonhosted.org/packages/de/42/ae30952c4a0bd773e90c9bf2579f5533037c886dfc8ec68133d5694f4dd2/sentencepiece-0.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7fd6071249c74f779c5b27183295b9202f8dedb68034e716784364443879eaa6", size = 1181477 }, - { url = "https://files.pythonhosted.org/packages/e3/ac/2f2ab1d60bb2d795d054eebe5e3f24b164bc21b5a9b75fba7968b3b91b5a/sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f90c55a65013cbb8f4d7aab0599bf925cde4adc67ae43a0d323677b5a1c6cb", size = 1259182 }, - { url = "https://files.pythonhosted.org/packages/45/fb/14633c6ecf262c468759ffcdb55c3a7ee38fe4eda6a70d75ee7c7d63c58b/sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b293734059ef656dcd65be62ff771507bea8fed0a711b6733976e1ed3add4553", size = 1355537 }, - { url = "https://files.pythonhosted.org/packages/fb/12/2f5c8d4764b00033cf1c935b702d3bb878d10be9f0b87f0253495832d85f/sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e58b47f933aca74c6a60a79dcb21d5b9e47416256c795c2d58d55cec27f9551d", size = 1301464 }, - { url = "https://files.pythonhosted.org/packages/4e/b1/67afc0bde24f6dcb3acdea0dd8dcdf4b8b0db240f6bacd39378bd32d09f8/sentencepiece-0.2.0-cp311-cp311-win32.whl", hash = "sha256:c581258cf346b327c62c4f1cebd32691826306f6a41d8c4bec43b010dee08e75", size = 936749 }, - { url = "https://files.pythonhosted.org/packages/a2/f6/587c62fd21fc988555b85351f50bbde43a51524caafd63bc69240ded14fd/sentencepiece-0.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:0993dbc665f4113017892f1b87c3904a44d0640eda510abcacdfb07f74286d36", size = 991520 }, - { url = "https://files.pythonhosted.org/packages/27/5a/141b227ed54293360a9ffbb7bf8252b4e5efc0400cdeac5809340e5d2b21/sentencepiece-0.2.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ea5f536e32ea8ec96086ee00d7a4a131ce583a1b18d130711707c10e69601cb2", size = 2409370 }, - { url = "https://files.pythonhosted.org/packages/2e/08/a4c135ad6fc2ce26798d14ab72790d66e813efc9589fd30a5316a88ca8d5/sentencepiece-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0cb51f53b6aae3c36bafe41e86167c71af8370a039f542c43b0cce5ef24a68c", size = 1239288 }, - { url = "https://files.pythonhosted.org/packages/49/0a/2fe387f825ac5aad5a0bfe221904882106cac58e1b693ba7818785a882b6/sentencepiece-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3212121805afc58d8b00ab4e7dd1f8f76c203ddb9dc94aa4079618a31cf5da0f", size = 1181597 }, - { url = "https://files.pythonhosted.org/packages/cc/38/e4698ee2293fe4835dc033c49796a39b3eebd8752098f6bd0aa53a14af1f/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a3149e3066c2a75e0d68a43eb632d7ae728c7925b517f4c05c40f6f7280ce08", size = 1259220 }, - { url = "https://files.pythonhosted.org/packages/12/24/fd7ef967c9dad2f6e6e5386d0cadaf65cda8b7be6e3861a9ab3121035139/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:632f3594d3e7ac8b367bca204cb3fd05a01d5b21455acd097ea4c0e30e2f63d7", size = 1355962 }, - { url = "https://files.pythonhosted.org/packages/4f/d2/18246f43ca730bb81918f87b7e886531eda32d835811ad9f4657c54eee35/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f295105c6bdbb05bd5e1b0cafbd78ff95036f5d3641e7949455a3f4e5e7c3109", size = 1301706 }, - { url = "https://files.pythonhosted.org/packages/8a/47/ca237b562f420044ab56ddb4c278672f7e8c866e183730a20e413b38a989/sentencepiece-0.2.0-cp312-cp312-win32.whl", hash = "sha256:fb89f811e5efd18bab141afc3fea3de141c3f69f3fe9e898f710ae7fe3aab251", size = 936941 }, - { url = "https://files.pythonhosted.org/packages/c6/97/d159c32642306ee2b70732077632895438867b3b6df282354bd550cf2a67/sentencepiece-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a673a72aab81fef5ebe755c6e0cc60087d1f3a4700835d40537183c1703a45f", size = 991994 }, -] - [[package]] name = "sentry-sdk" version = "2.16.0" @@ -3230,95 +2618,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ff/ae/f19306b5a221f6a436d8f2238d5b80925004093fa3edea59835b514d9057/setuptools-75.1.0-py3-none-any.whl", hash = "sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2", size = 1248506 }, ] -[[package]] -name = "sglang" -version = "0.3.3.post1" -source = { editable = "deps/sglang/python" } -dependencies = [ - { name = "numpy" }, - { name = "requests" }, - { name = "tqdm" }, -] - -[package.optional-dependencies] -all = [ - { name = "aiohttp" }, - { name = "anthropic" }, - { name = "decord" }, - { name = "fastapi" }, - { name = "hf-transfer" }, - { name = "huggingface-hub" }, - { name = "interegular" }, - { name = "litellm" }, - { name = "modelscope" }, - { name = "openai" }, - { name = "outlines" }, - { name = "packaging" }, - { name = "pillow" }, - { name = "psutil" }, - { name = "pydantic" }, - { name = "python-multipart" }, - { name = "tiktoken" }, - { name = "torch" }, - { name = "torchao" }, - { name = "uvicorn" }, - { name = "uvloop" }, - { name = "vllm" }, - { name = "zmq" }, -] - -[package.metadata] -requires-dist = [ - { name = "accelerate", marker = "extra == 'test'" }, - { name = "aiohttp", marker = "extra == 'runtime-common'" }, - { name = "anthropic", marker = "extra == 'anthropic'", specifier = ">=0.20.0" }, - { name = "decord", marker = "extra == 'runtime-common'" }, - { name = "fastapi", marker = "extra == 'runtime-common'" }, - { name = "hf-transfer", marker = "extra == 'runtime-common'" }, - { name = "huggingface-hub", marker = "extra == 'runtime-common'" }, - { name = "interegular", marker = "extra == 'runtime-common'" }, - { name = "jsonlines", marker = "extra == 'test'" }, - { name = "litellm", marker = "extra == 'litellm'", specifier = ">=1.0.0" }, - { name = "matplotlib", marker = "extra == 'test'" }, - { name = "modelscope", marker = "extra == 'runtime-common'" }, - { name = "numpy" }, - { name = "openai", marker = "extra == 'openai'", specifier = ">=1.0" }, - { name = "outlines", marker = "extra == 'runtime-common'", specifier = ">=0.0.44" }, - { name = "packaging", marker = "extra == 'runtime-common'" }, - { name = "pandas", marker = "extra == 'test'" }, - { name = "peft", marker = "extra == 'test'" }, - { name = "pillow", marker = "extra == 'runtime-common'" }, - { name = "psutil", marker = "extra == 'runtime-common'" }, - { name = "pydantic", marker = "extra == 'runtime-common'" }, - { name = "python-multipart", marker = "extra == 'runtime-common'" }, - { name = "requests" }, - { name = "sentence-transformers", marker = "extra == 'test'" }, - { name = "sglang", extras = ["all"], marker = "extra == 'dev'" }, - { name = "sglang", extras = ["all-xpu"], marker = "extra == 'dev-xpu'" }, - { name = "sglang", extras = ["anthropic"], marker = "extra == 'all'" }, - { name = "sglang", extras = ["anthropic"], marker = "extra == 'all-xpu'" }, - { name = "sglang", extras = ["litellm"], marker = "extra == 'all'" }, - { name = "sglang", extras = ["litellm"], marker = "extra == 'all-xpu'" }, - { name = "sglang", extras = ["openai"], marker = "extra == 'all'" }, - { name = "sglang", extras = ["openai"], marker = "extra == 'all-xpu'" }, - { name = "sglang", extras = ["runtime-common"], marker = "extra == 'srt'" }, - { name = "sglang", extras = ["runtime-common"], marker = "extra == 'srt-xpu'" }, - { name = "sglang", extras = ["srt"], marker = "extra == 'all'" }, - { name = "sglang", extras = ["srt-xpu"], marker = "extra == 'all-xpu'" }, - { name = "sglang", extras = ["test"], marker = "extra == 'dev'" }, - { name = "sglang", extras = ["test"], marker = "extra == 'dev-xpu'" }, - { name = "tiktoken", marker = "extra == 'openai'" }, - { name = "torch", marker = "extra == 'srt'" }, - { name = "torch", marker = "extra == 'torch'" }, - { name = "torchao", marker = "extra == 'runtime-common'" }, - { name = "tqdm" }, - { name = "uvicorn", marker = "extra == 'runtime-common'" }, - { name = "uvloop", marker = "extra == 'runtime-common'" }, - { name = "vllm", marker = "extra == 'srt'" }, - { name = "vllm", marker = "extra == 'vllm'", specifier = "==0.5.5" }, - { name = "zmq", marker = "extra == 'runtime-common'" }, -] - [[package]] name = "shtab" version = "1.7.1" @@ -3355,24 +2654,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, ] -[[package]] -name = "soundfile" -version = "0.12.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cffi" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/6f/96/5ff33900998bad58d5381fd1acfcdac11cbea4f08fc72ac1dc25ffb13f6a/soundfile-0.12.1.tar.gz", hash = "sha256:e8e1017b2cf1dda767aef19d2fd9ee5ebe07e050d430f77a0a7c66ba08b8cdae", size = 43184 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/04/bc/cd845c2dbb4d257c744cd58a5bcdd9f6d235ca317e7e22e49564ec88dcd9/soundfile-0.12.1-py2.py3-none-any.whl", hash = "sha256:828a79c2e75abab5359f780c81dccd4953c45a2c4cd4f05ba3e233ddf984b882", size = 24030 }, - { url = "https://files.pythonhosted.org/packages/c8/73/059c84343be6509b480013bf1eeb11b96c5f9eb48deff8f83638011f6b2c/soundfile-0.12.1-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:d922be1563ce17a69582a352a86f28ed8c9f6a8bc951df63476ffc310c064bfa", size = 1213305 }, - { url = "https://files.pythonhosted.org/packages/71/87/31d2b9ed58975cec081858c01afaa3c43718eb0f62b5698a876d94739ad0/soundfile-0.12.1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:bceaab5c4febb11ea0554566784bcf4bc2e3977b53946dda2b12804b4fe524a8", size = 1075977 }, - { url = "https://files.pythonhosted.org/packages/ad/bd/0602167a213d9184fc688b1086dc6d374b7ae8c33eccf169f9b50ce6568c/soundfile-0.12.1-py2.py3-none-manylinux_2_17_x86_64.whl", hash = "sha256:2dc3685bed7187c072a46ab4ffddd38cef7de9ae5eb05c03df2ad569cf4dacbc", size = 1257765 }, - { url = "https://files.pythonhosted.org/packages/c1/07/7591f4efd29e65071c3a61b53725036ea8f73366a4920a481ebddaf8d0ca/soundfile-0.12.1-py2.py3-none-manylinux_2_31_x86_64.whl", hash = "sha256:074247b771a181859d2bc1f98b5ebf6d5153d2c397b86ee9e29ba602a8dfe2a6", size = 1174746 }, - { url = "https://files.pythonhosted.org/packages/03/0f/49941ed8a2d94e5b36ea94346fb1d2b22e847fede902e05be4c96f26be7d/soundfile-0.12.1-py2.py3-none-win32.whl", hash = "sha256:59dfd88c79b48f441bbf6994142a19ab1de3b9bb7c12863402c2bc621e49091a", size = 888234 }, - { url = "https://files.pythonhosted.org/packages/50/ff/26a4ee48d0b66625a4e4028a055b9f25bc9d7c7b2d17d21a45137621a50d/soundfile-0.12.1-py2.py3-none-win_amd64.whl", hash = "sha256:0d86924c00b62552b650ddd28af426e3ff2d4dc2e9047dae5b3d8452e0a49a77", size = 1009109 }, -] - [[package]] name = "soupsieve" version = "2.6" @@ -3382,27 +2663,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 }, ] -[[package]] -name = "soxr" -version = "0.5.0.post1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/02/c0/4429bf9b3be10e749149e286aa5c53775399ec62891c6b970456c6dca325/soxr-0.5.0.post1.tar.gz", hash = "sha256:7092b9f3e8a416044e1fa138c8172520757179763b85dc53aa9504f4813cff73", size = 170853 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/29/28/dc62dae260a77603e8257e9b79078baa2ca4c0b4edc6f9f82c9113d6ef18/soxr-0.5.0.post1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:6fb77b626773a966e3d8f6cb24f6f74b5327fa5dc90f1ff492450e9cdc03a378", size = 203648 }, - { url = "https://files.pythonhosted.org/packages/0e/48/3e88329a695f6e0e38a3b171fff819d75d7cc055dae1ec5d5074f34d61e3/soxr-0.5.0.post1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:39e0f791ba178d69cd676485dbee37e75a34f20daa478d90341ecb7f6d9d690f", size = 159933 }, - { url = "https://files.pythonhosted.org/packages/9c/a5/6b439164be6871520f3d199554568a7656e96a867adbbe5bac179caf5776/soxr-0.5.0.post1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f0b558f445ba4b64dbcb37b5f803052eee7d93b1dbbbb97b3ec1787cb5a28eb", size = 221010 }, - { url = "https://files.pythonhosted.org/packages/9f/e5/400e3bf7f29971abad85cb877e290060e5ec61fccd2fa319e3d85709c1be/soxr-0.5.0.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca6903671808e0a6078b0d146bb7a2952b118dfba44008b2aa60f221938ba829", size = 252471 }, - { url = "https://files.pythonhosted.org/packages/86/94/6a7e91bea7e6ca193ee429869b8f18548cd79759e064021ecb5756024c7c/soxr-0.5.0.post1-cp311-cp311-win_amd64.whl", hash = "sha256:c4d8d5283ed6f5efead0df2c05ae82c169cfdfcf5a82999c2d629c78b33775e8", size = 166723 }, - { url = "https://files.pythonhosted.org/packages/5d/e3/d422d279e51e6932e7b64f1170a4f61a7ee768e0f84c9233a5b62cd2c832/soxr-0.5.0.post1-cp312-abi3-macosx_10_14_x86_64.whl", hash = "sha256:fef509466c9c25f65eae0ce1e4b9ac9705d22c6038c914160ddaf459589c6e31", size = 199993 }, - { url = "https://files.pythonhosted.org/packages/20/f1/88adaca3c52e03bcb66b63d295df2e2d35bf355d19598c6ce84b20be7fca/soxr-0.5.0.post1-cp312-abi3-macosx_11_0_arm64.whl", hash = "sha256:4704ba6b13a3f1e41d12acf192878384c1c31f71ce606829c64abdf64a8d7d32", size = 156373 }, - { url = "https://files.pythonhosted.org/packages/b8/38/bad15a9e615215c8219652ca554b601663ac3b7ac82a284aca53ec2ff48c/soxr-0.5.0.post1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd052a66471a7335b22a6208601a9d0df7b46b8d087dce4ff6e13eed6a33a2a1", size = 216564 }, - { url = "https://files.pythonhosted.org/packages/e1/1a/569ea0420a0c4801c2c8dd40d8d544989522f6014d51def689125f3f2935/soxr-0.5.0.post1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3f16810dd649ab1f433991d2a9661e9e6a116c2b4101039b53b3c3e90a094fc", size = 248455 }, - { url = "https://files.pythonhosted.org/packages/bc/10/440f1ba3d4955e0dc740bbe4ce8968c254a3d644d013eb75eea729becdb8/soxr-0.5.0.post1-cp312-abi3-win_amd64.whl", hash = "sha256:b1be9fee90afb38546bdbd7bde714d1d9a8c5a45137f97478a83b65e7f3146f6", size = 164937 }, -] - [[package]] name = "stack-data" version = "0.6.3" @@ -3417,18 +2677,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521 }, ] -[[package]] -name = "starlette" -version = "0.39.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/02/0a/62fbd5697f6174041f9b4e2e377b6f383f9189b77dbb7d73d24624caca1d/starlette-0.39.2.tar.gz", hash = "sha256:caaa3b87ef8518ef913dac4f073dea44e85f73343ad2bdc17941931835b2a26a", size = 2573080 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/60/f0/04547f776c8845be46df4bdd1f11159c088bd39e916f35d7da1b9f6eb3ef/starlette-0.39.2-py3-none-any.whl", hash = "sha256:134dd6deb655a9775991d352312d53f1879775e5cc8a481f966e83416a2c3f71", size = 73219 }, -] - [[package]] name = "sympy" version = "1.13.3" @@ -3441,6 +2689,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/99/ff/c87e0622b1dadea79d2fb0b25ade9ed98954c9033722eb707053d310d4f3/sympy-1.13.3-py3-none-any.whl", hash = "sha256:54612cf55a62755ee71824ce692986f23c88ffa77207b30c1368eda4a7060f73", size = 6189483 }, ] +[[package]] +name = "tenacity" +version = "9.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/94/91fccdb4b8110642462e653d5dcb27e7b674742ad68efd146367da7bdb10/tenacity-9.0.0.tar.gz", hash = "sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b", size = 47421 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/cb/b86984bed139586d01532a587464b5805f12e397594f19f931c4c2fbfa61/tenacity-9.0.0-py3-none-any.whl", hash = "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539", size = 28169 }, +] + [[package]] name = "terminado" version = "0.18.1" @@ -3464,36 +2721,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4b/2c/ffbf7a134b9ab11a67b0cf0726453cedd9c5043a4fe7a35d1cefa9a1bcfb/threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467", size = 18414 }, ] -[[package]] -name = "tiktoken" -version = "0.8.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "regex" }, - { name = "requests" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/37/02/576ff3a6639e755c4f70997b2d315f56d6d71e0d046f4fb64cb81a3fb099/tiktoken-0.8.0.tar.gz", hash = "sha256:9ccbb2740f24542534369c5635cfd9b2b3c2490754a78ac8831d99f89f94eeb2", size = 35107 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f6/1e/ca48e7bfeeccaf76f3a501bd84db1fa28b3c22c9d1a1f41af9fb7579c5f6/tiktoken-0.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d622d8011e6d6f239297efa42a2657043aaed06c4f68833550cac9e9bc723ef1", size = 1039700 }, - { url = "https://files.pythonhosted.org/packages/8c/f8/f0101d98d661b34534769c3818f5af631e59c36ac6d07268fbfc89e539ce/tiktoken-0.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2efaf6199717b4485031b4d6edb94075e4d79177a172f38dd934d911b588d54a", size = 982413 }, - { url = "https://files.pythonhosted.org/packages/ac/3c/2b95391d9bd520a73830469f80a96e3790e6c0a5ac2444f80f20b4b31051/tiktoken-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5637e425ce1fc49cf716d88df3092048359a4b3bbb7da762840426e937ada06d", size = 1144242 }, - { url = "https://files.pythonhosted.org/packages/01/c4/c4a4360de845217b6aa9709c15773484b50479f36bb50419c443204e5de9/tiktoken-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fb0e352d1dbe15aba082883058b3cce9e48d33101bdaac1eccf66424feb5b47", size = 1176588 }, - { url = "https://files.pythonhosted.org/packages/f8/a3/ef984e976822cd6c2227c854f74d2e60cf4cd6fbfca46251199914746f78/tiktoken-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:56edfefe896c8f10aba372ab5706b9e3558e78db39dd497c940b47bf228bc419", size = 1237261 }, - { url = "https://files.pythonhosted.org/packages/1e/86/eea2309dc258fb86c7d9b10db536434fc16420feaa3b6113df18b23db7c2/tiktoken-0.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:326624128590def898775b722ccc327e90b073714227175ea8febbc920ac0a99", size = 884537 }, - { url = "https://files.pythonhosted.org/packages/c1/22/34b2e136a6f4af186b6640cbfd6f93400783c9ef6cd550d9eab80628d9de/tiktoken-0.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:881839cfeae051b3628d9823b2e56b5cc93a9e2efb435f4cf15f17dc45f21586", size = 1039357 }, - { url = "https://files.pythonhosted.org/packages/04/d2/c793cf49c20f5855fd6ce05d080c0537d7418f22c58e71f392d5e8c8dbf7/tiktoken-0.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fe9399bdc3f29d428f16a2f86c3c8ec20be3eac5f53693ce4980371c3245729b", size = 982616 }, - { url = "https://files.pythonhosted.org/packages/b3/a1/79846e5ef911cd5d75c844de3fa496a10c91b4b5f550aad695c5df153d72/tiktoken-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a58deb7075d5b69237a3ff4bb51a726670419db6ea62bdcd8bd80c78497d7ab", size = 1144011 }, - { url = "https://files.pythonhosted.org/packages/26/32/e0e3a859136e95c85a572e4806dc58bf1ddf651108ae8b97d5f3ebe1a244/tiktoken-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2908c0d043a7d03ebd80347266b0e58440bdef5564f84f4d29fb235b5df3b04", size = 1175432 }, - { url = "https://files.pythonhosted.org/packages/c7/89/926b66e9025b97e9fbabeaa59048a736fe3c3e4530a204109571104f921c/tiktoken-0.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:294440d21a2a51e12d4238e68a5972095534fe9878be57d905c476017bff99fc", size = 1236576 }, - { url = "https://files.pythonhosted.org/packages/45/e2/39d4aa02a52bba73b2cd21ba4533c84425ff8786cc63c511d68c8897376e/tiktoken-0.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:d8f3192733ac4d77977432947d563d7e1b310b96497acd3c196c9bddb36ed9db", size = 883824 }, - { url = "https://files.pythonhosted.org/packages/e3/38/802e79ba0ee5fcbf240cd624143f57744e5d411d2e9d9ad2db70d8395986/tiktoken-0.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:02be1666096aff7da6cbd7cdaa8e7917bfed3467cd64b38b1f112e96d3b06a24", size = 1039648 }, - { url = "https://files.pythonhosted.org/packages/b1/da/24cdbfc302c98663fbea66f5866f7fa1048405c7564ab88483aea97c3b1a/tiktoken-0.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c94ff53c5c74b535b2cbf431d907fc13c678bbd009ee633a2aca269a04389f9a", size = 982763 }, - { url = "https://files.pythonhosted.org/packages/e4/f0/0ecf79a279dfa41fc97d00adccf976ecc2556d3c08ef3e25e45eb31f665b/tiktoken-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b231f5e8982c245ee3065cd84a4712d64692348bc609d84467c57b4b72dcbc5", size = 1144417 }, - { url = "https://files.pythonhosted.org/packages/ab/d3/155d2d4514f3471a25dc1d6d20549ef254e2aa9bb5b1060809b1d3b03d3a/tiktoken-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4177faa809bd55f699e88c96d9bb4635d22e3f59d635ba6fd9ffedf7150b9953", size = 1175108 }, - { url = "https://files.pythonhosted.org/packages/19/eb/5989e16821ee8300ef8ee13c16effc20dfc26c777d05fbb6825e3c037b81/tiktoken-0.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5376b6f8dc4753cd81ead935c5f518fa0fbe7e133d9e25f648d8c4dabdd4bad7", size = 1236520 }, - { url = "https://files.pythonhosted.org/packages/40/59/14b20465f1d1cb89cfbc96ec27e5617b2d41c79da12b5e04e96d689be2a7/tiktoken-0.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:18228d624807d66c87acd8f25fc135665617cab220671eb65b50f5d70fa51f69", size = 883849 }, -] - [[package]] name = "tinycss2" version = "1.3.0" @@ -3576,39 +2803,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c7/87/489ebb234e75760e06fa4789fa6d4e13c125beefa1483ce35c9e43dcd395/torch-2.4.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:91aaf00bfe1ffa44dc5b52809d9a95129fca10212eca3ac26420eb11727c6288", size = 62123112 }, ] -[[package]] -name = "torchao" -version = "0.5.0" -source = { registry = "https://pypi.org/simple" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b4/45/e7dfdabe99427db6417ba96e0e6bd0234ed2cf713fe1b1526292c11871b3/torchao-0.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3b8be5c3dcb641688397501d55cab4804688c3d27bdb9f8e0abcba1f2810678e", size = 774590 }, - { url = "https://files.pythonhosted.org/packages/13/cb/94636b2639d0a227d130863e87192da7e8caee5463cf7c678740f83c1d48/torchao-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2aede6d89481ccda6bfd81f1666707765244de97697cb42b57c1001d9f928492", size = 1640129 }, - { url = "https://files.pythonhosted.org/packages/91/d0/87470c59148ed296418a3533953803f7dec1084acb1ad43e1ac9a110a1cd/torchao-0.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d1dacb8b899d76ea97f166d421c16140016cebed2090f04b17eee7e15b69969a", size = 773408 }, - { url = "https://files.pythonhosted.org/packages/8c/f7/5e8fd7eaab81f0ceefd7caf58647d92684977abca7a38bce6e6891f86a6e/torchao-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a14c6d5c6e8a1b03eded529bec9306f271ce59de43fa2e4699fd83f464bb5cd", size = 1639957 }, -] - -[[package]] -name = "torchvision" -version = "0.19.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy" }, - { name = "pillow" }, - { name = "torch" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/38/e8257ad99ea2ec30bbb4e6d9d81f3fe796e39046bb060d80569cbf6d83e5/torchvision-0.19.0-1-cp311-cp311-win_amd64.whl", hash = "sha256:6b1bce2e4c003d890a18f14ff289528707d918e38539ff890ef02aa31dae1b56", size = 1288348 }, - { url = "https://files.pythonhosted.org/packages/a5/96/4496817e943141a8a76bbed5c45a0fe30d356b69030e4b482c915717e3b9/torchvision-0.19.0-1-cp312-cp312-win_amd64.whl", hash = "sha256:13aee7a46e049c8c1e7d35a0394b0587a7e62ff3d1a822cd2bbbacb675ac4a09", size = 1288349 }, - { url = "https://files.pythonhosted.org/packages/b4/93/611197d5a023a33a48df656287b3e26c6e7db0fa92a9bb2259c0cdb76581/torchvision-0.19.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dbf3aa71a3899244fc884303ed3c4604a160824fefac77e82317a5463efc1d9b", size = 1660227 }, - { url = "https://files.pythonhosted.org/packages/42/1d/efde76f826682ebe6ec97c2874f3c7e4833eb84497c521ce6cfac406ef34/torchvision-0.19.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:ec4162dc71d9db7f0b51d0f92491929c1419605ff436e1305e50de13504a1c30", size = 7026457 }, - { url = "https://files.pythonhosted.org/packages/6e/69/a6bfb1af58d6c608d77f1d53fe5102c5fb6f27e9de8a4d3f3e1ba9a7250a/torchvision-0.19.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:4e6aa4fa3f0bc3599fa071c149e651a3e6bdd67c9161794478f9f91471c406a2", size = 14072231 }, - { url = "https://files.pythonhosted.org/packages/e4/06/458d0d1495a1926729c575d7ebca956e959cfe59fa307e93d585d26aa41d/torchvision-0.19.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac5525d5cc09e425b5cf5752ecf66eefbbbd8c8cd945198ce35eb01a694e6069", size = 1288337 }, - { url = "https://files.pythonhosted.org/packages/88/6f/53f55c7e390e1fd27d24fdfa36bcb6f717855f311fbea90a15a1fbdef9d4/torchvision-0.19.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c09ef8ed184fa877f6251b620226e74f682b8f1d6b341456428d4955b8d9c670", size = 1660229 }, - { url = "https://files.pythonhosted.org/packages/0d/a6/7ecba32776b22db475f3061ab2b997b3a9bda6d969ef8e4bc61aac9b78b0/torchvision-0.19.0-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:02f1dd5cfc897957535b41b0258ec452d30de044e20c2de2c75869f7708e7656", size = 7026793 }, - { url = "https://files.pythonhosted.org/packages/2f/d6/e8bf6e422cd5f8491072bdc03a6fb8c758bd517f0f4e82b537edd7d7bbdc/torchvision-0.19.0-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:be0f27a28b8e9f2ae98a31af34a4bdd2a5bf154d92bd73a5797c8d2156fb3ab6", size = 14072008 }, - { url = "https://files.pythonhosted.org/packages/2f/3c/88471e60b3eb275f52acb2b1d43273c54323003642a75b7b4eeb3a7c4c2a/torchvision-0.19.0-cp312-cp312-win_amd64.whl", hash = "sha256:a6ba7756f75c80212e51d3576f85ea204589e0c16efdb9b835dd677bc8929a67", size = 1288336 }, -] - [[package]] name = "tornado" version = "6.4.1" @@ -3670,7 +2864,7 @@ name = "triton" version = "3.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "filelock" }, + { name = "filelock", marker = "python_full_version < '3.13' and platform_system != 'Windows'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/33/3e/a2f59384587eff6aeb7d37b6780de7fedd2214935e27520430ca9f5b7975/triton-3.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5ce8520437c602fb633f1324cc3871c47bee3b67acf9756c1a66309b60e3216c", size = 209438883 }, @@ -3755,113 +2949,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338 }, ] -[[package]] -name = "uvicorn" -version = "0.31.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click" }, - { name = "h11" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/76/87/a886eda9ed495a3a4506d5a125cd07c54524280718c4969bde88f075fe98/uvicorn-0.31.1.tar.gz", hash = "sha256:f5167919867b161b7bcaf32646c6a94cdbd4c3aa2eb5c17d36bb9aa5cfd8c493", size = 77368 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/55/37407280931038a3f21fa0245d60edeaa76f18419581aa3f4397761c78df/uvicorn-0.31.1-py3-none-any.whl", hash = "sha256:adc42d9cac80cf3e51af97c1851648066841e7cfb6993a4ca8de29ac1548ed41", size = 63666 }, -] - -[package.optional-dependencies] -standard = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "httptools" }, - { name = "python-dotenv" }, - { name = "pyyaml" }, - { name = "uvloop", marker = "platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'" }, - { name = "watchfiles" }, - { name = "websockets" }, -] - -[[package]] -name = "uvloop" -version = "0.21.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", size = 2492741 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/57/a7/4cf0334105c1160dd6819f3297f8700fda7fc30ab4f61fbf3e725acbc7cc/uvloop-0.21.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c0f3fa6200b3108919f8bdabb9a7f87f20e7097ea3c543754cabc7d717d95cf8", size = 1447410 }, - { url = "https://files.pythonhosted.org/packages/8c/7c/1517b0bbc2dbe784b563d6ab54f2ef88c890fdad77232c98ed490aa07132/uvloop-0.21.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0878c2640cf341b269b7e128b1a5fed890adc4455513ca710d77d5e93aa6d6a0", size = 805476 }, - { url = "https://files.pythonhosted.org/packages/ee/ea/0bfae1aceb82a503f358d8d2fa126ca9dbdb2ba9c7866974faec1cb5875c/uvloop-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9fb766bb57b7388745d8bcc53a359b116b8a04c83a2288069809d2b3466c37e", size = 3960855 }, - { url = "https://files.pythonhosted.org/packages/8a/ca/0864176a649838b838f36d44bf31c451597ab363b60dc9e09c9630619d41/uvloop-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a375441696e2eda1c43c44ccb66e04d61ceeffcd76e4929e527b7fa401b90fb", size = 3973185 }, - { url = "https://files.pythonhosted.org/packages/30/bf/08ad29979a936d63787ba47a540de2132169f140d54aa25bc8c3df3e67f4/uvloop-0.21.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:baa0e6291d91649c6ba4ed4b2f982f9fa165b5bbd50a9e203c416a2797bab3c6", size = 3820256 }, - { url = "https://files.pythonhosted.org/packages/da/e2/5cf6ef37e3daf2f06e651aae5ea108ad30df3cb269102678b61ebf1fdf42/uvloop-0.21.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4509360fcc4c3bd2c70d87573ad472de40c13387f5fda8cb58350a1d7475e58d", size = 3937323 }, - { url = "https://files.pythonhosted.org/packages/8c/4c/03f93178830dc7ce8b4cdee1d36770d2f5ebb6f3d37d354e061eefc73545/uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c", size = 1471284 }, - { url = "https://files.pythonhosted.org/packages/43/3e/92c03f4d05e50f09251bd8b2b2b584a2a7f8fe600008bcc4523337abe676/uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2", size = 821349 }, - { url = "https://files.pythonhosted.org/packages/a6/ef/a02ec5da49909dbbfb1fd205a9a1ac4e88ea92dcae885e7c961847cd51e2/uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d", size = 4580089 }, - { url = "https://files.pythonhosted.org/packages/06/a7/b4e6a19925c900be9f98bec0a75e6e8f79bb53bdeb891916609ab3958967/uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc", size = 4693770 }, - { url = "https://files.pythonhosted.org/packages/ce/0c/f07435a18a4b94ce6bd0677d8319cd3de61f3a9eeb1e5f8ab4e8b5edfcb3/uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb", size = 4451321 }, - { url = "https://files.pythonhosted.org/packages/8f/eb/f7032be105877bcf924709c97b1bf3b90255b4ec251f9340cef912559f28/uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f", size = 4659022 }, - { url = "https://files.pythonhosted.org/packages/3f/8d/2cbef610ca21539f0f36e2b34da49302029e7c9f09acef0b1c3b5839412b/uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281", size = 1468123 }, - { url = "https://files.pythonhosted.org/packages/93/0d/b0038d5a469f94ed8f2b2fce2434a18396d8fbfb5da85a0a9781ebbdec14/uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af", size = 819325 }, - { url = "https://files.pythonhosted.org/packages/50/94/0a687f39e78c4c1e02e3272c6b2ccdb4e0085fda3b8352fecd0410ccf915/uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6", size = 4582806 }, - { url = "https://files.pythonhosted.org/packages/d2/19/f5b78616566ea68edd42aacaf645adbf71fbd83fc52281fba555dc27e3f1/uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816", size = 4701068 }, - { url = "https://files.pythonhosted.org/packages/47/57/66f061ee118f413cd22a656de622925097170b9380b30091b78ea0c6ea75/uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc", size = 4454428 }, - { url = "https://files.pythonhosted.org/packages/63/9a/0962b05b308494e3202d3f794a6e85abe471fe3cafdbcf95c2e8c713aabd/uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553", size = 4660018 }, -] - -[[package]] -name = "vllm" -version = "0.5.5" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiohttp" }, - { name = "fastapi" }, - { name = "filelock" }, - { name = "gguf" }, - { name = "importlib-metadata" }, - { name = "librosa" }, - { name = "lm-format-enforcer" }, - { name = "msgspec" }, - { name = "numpy" }, - { name = "nvidia-ml-py" }, - { name = "openai" }, - { name = "outlines" }, - { name = "pillow" }, - { name = "prometheus-client" }, - { name = "prometheus-fastapi-instrumentator" }, - { name = "protobuf" }, - { name = "psutil" }, - { name = "py-cpuinfo" }, - { name = "pydantic" }, - { name = "pyzmq" }, - { name = "ray" }, - { name = "requests" }, - { name = "sentencepiece" }, - { name = "soundfile" }, - { name = "tiktoken" }, - { name = "tokenizers" }, - { name = "torch" }, - { name = "torchvision" }, - { name = "tqdm" }, - { name = "transformers" }, - { name = "typing-extensions" }, - { name = "uvicorn", extra = ["standard"] }, - { name = "vllm-flash-attn", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, - { name = "xformers", marker = "platform_machine == 'x86_64' and platform_system == 'Linux'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ec/f0/32ea866485d83d1fcde810059a0643ed4726628c17fdac8981606f58219e/vllm-0.5.5.tar.gz", hash = "sha256:14abe33243939e18cdc437abfc78543aac62e11a43f66d36ec855a3e40c797dd", size = 1115612 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/29/24/041e3626d7bbf16a9071eef51cda4c46fd5ae563d4afdeaa74abd9aefd48/vllm-0.5.5-cp38-abi3-manylinux1_x86_64.whl", hash = "sha256:64fb5b8a3300af3006a3b9ba4eacdf5f4bd2a85887a695e6587684447c49eb8e", size = 134603788 }, -] - -[[package]] -name = "vllm-flash-attn" -version = "2.6.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "torch", marker = "platform_system != 'Windows'" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/ae/07/a15428870bdda702d5df49743c5b48eddc6b83faa3171aee16d11a6c133f/vllm_flash_attn-2.6.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:2ce0a1ca09bc07dca4b59a56f0db98f5f6a93f8392377fbfd2979e639bc91e88", size = 75867440 }, - { url = "https://files.pythonhosted.org/packages/ec/2c/714bc3953908e0c6a5d7abc5bb3651fb7abc0db911fb4e6866c23754be67/vllm_flash_attn-2.6.1-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:e8c054964382125c6ab34274055417d8341516b9de53c92a8015fabb51d9962c", size = 75868797 }, -] - [[package]] name = "wandb" version = "0.18.3" @@ -3892,55 +2979,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d8/7b/e94b46d620d26b2e1f486f2746febdcb6579be20f361355b40263ddd8262/wandb-0.18.3-py3-none-win_amd64.whl", hash = "sha256:29cac2cfa3124241fed22cfedc9a52e1500275ee9bbb0b428ce4bf63c4723bf0", size = 12573303 }, ] -[[package]] -name = "watchfiles" -version = "0.24.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c8/27/2ba23c8cc85796e2d41976439b08d52f691655fdb9401362099502d1f0cf/watchfiles-0.24.0.tar.gz", hash = "sha256:afb72325b74fa7a428c009c1b8be4b4d7c2afedafb2982827ef2156646df2fe1", size = 37870 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/85/02/366ae902cd81ca5befcd1854b5c7477b378f68861597cef854bd6dc69fbe/watchfiles-0.24.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:bdcd5538e27f188dd3c804b4a8d5f52a7fc7f87e7fd6b374b8e36a4ca03db428", size = 375579 }, - { url = "https://files.pythonhosted.org/packages/bc/67/d8c9d256791fe312fea118a8a051411337c948101a24586e2df237507976/watchfiles-0.24.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2dadf8a8014fde6addfd3c379e6ed1a981c8f0a48292d662e27cabfe4239c83c", size = 367726 }, - { url = "https://files.pythonhosted.org/packages/b1/dc/a8427b21ef46386adf824a9fec4be9d16a475b850616cfd98cf09a97a2ef/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6509ed3f467b79d95fc62a98229f79b1a60d1b93f101e1c61d10c95a46a84f43", size = 437735 }, - { url = "https://files.pythonhosted.org/packages/3a/21/0b20bef581a9fbfef290a822c8be645432ceb05fb0741bf3c032e0d90d9a/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8360f7314a070c30e4c976b183d1d8d1585a4a50c5cb603f431cebcbb4f66327", size = 433644 }, - { url = "https://files.pythonhosted.org/packages/1c/e8/d5e5f71cc443c85a72e70b24269a30e529227986096abe091040d6358ea9/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:316449aefacf40147a9efaf3bd7c9bdd35aaba9ac5d708bd1eb5763c9a02bef5", size = 450928 }, - { url = "https://files.pythonhosted.org/packages/61/ee/bf17f5a370c2fcff49e1fec987a6a43fd798d8427ea754ce45b38f9e117a/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73bde715f940bea845a95247ea3e5eb17769ba1010efdc938ffcb967c634fa61", size = 469072 }, - { url = "https://files.pythonhosted.org/packages/a3/34/03b66d425986de3fc6077e74a74c78da298f8cb598887f664a4485e55543/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3770e260b18e7f4e576edca4c0a639f704088602e0bc921c5c2e721e3acb8d15", size = 475517 }, - { url = "https://files.pythonhosted.org/packages/70/eb/82f089c4f44b3171ad87a1b433abb4696f18eb67292909630d886e073abe/watchfiles-0.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa0fd7248cf533c259e59dc593a60973a73e881162b1a2f73360547132742823", size = 425480 }, - { url = "https://files.pythonhosted.org/packages/53/20/20509c8f5291e14e8a13104b1808cd7cf5c44acd5feaecb427a49d387774/watchfiles-0.24.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d7a2e3b7f5703ffbd500dabdefcbc9eafeff4b9444bbdd5d83d79eedf8428fab", size = 612322 }, - { url = "https://files.pythonhosted.org/packages/df/2b/5f65014a8cecc0a120f5587722068a975a692cadbe9fe4ea56b3d8e43f14/watchfiles-0.24.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d831ee0a50946d24a53821819b2327d5751b0c938b12c0653ea5be7dea9c82ec", size = 595094 }, - { url = "https://files.pythonhosted.org/packages/18/98/006d8043a82c0a09d282d669c88e587b3a05cabdd7f4900e402250a249ac/watchfiles-0.24.0-cp311-none-win32.whl", hash = "sha256:49d617df841a63b4445790a254013aea2120357ccacbed00253f9c2b5dc24e2d", size = 264191 }, - { url = "https://files.pythonhosted.org/packages/8a/8b/badd9247d6ec25f5f634a9b3d0d92e39c045824ec7e8afcedca8ee52c1e2/watchfiles-0.24.0-cp311-none-win_amd64.whl", hash = "sha256:d3dcb774e3568477275cc76554b5a565024b8ba3a0322f77c246bc7111c5bb9c", size = 277527 }, - { url = "https://files.pythonhosted.org/packages/af/19/35c957c84ee69d904299a38bae3614f7cede45f07f174f6d5a2f4dbd6033/watchfiles-0.24.0-cp311-none-win_arm64.whl", hash = "sha256:9301c689051a4857d5b10777da23fafb8e8e921bcf3abe6448a058d27fb67633", size = 266253 }, - { url = "https://files.pythonhosted.org/packages/35/82/92a7bb6dc82d183e304a5f84ae5437b59ee72d48cee805a9adda2488b237/watchfiles-0.24.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7211b463695d1e995ca3feb38b69227e46dbd03947172585ecb0588f19b0d87a", size = 374137 }, - { url = "https://files.pythonhosted.org/packages/87/91/49e9a497ddaf4da5e3802d51ed67ff33024597c28f652b8ab1e7c0f5718b/watchfiles-0.24.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4b8693502d1967b00f2fb82fc1e744df128ba22f530e15b763c8d82baee15370", size = 367733 }, - { url = "https://files.pythonhosted.org/packages/0d/d8/90eb950ab4998effea2df4cf3a705dc594f6bc501c5a353073aa990be965/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdab9555053399318b953a1fe1f586e945bc8d635ce9d05e617fd9fe3a4687d6", size = 437322 }, - { url = "https://files.pythonhosted.org/packages/6c/a2/300b22e7bc2a222dd91fce121cefa7b49aa0d26a627b2777e7bdfcf1110b/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:34e19e56d68b0dad5cff62273107cf5d9fbaf9d75c46277aa5d803b3ef8a9e9b", size = 433409 }, - { url = "https://files.pythonhosted.org/packages/99/44/27d7708a43538ed6c26708bcccdde757da8b7efb93f4871d4cc39cffa1cc/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:41face41f036fee09eba33a5b53a73e9a43d5cb2c53dad8e61fa6c9f91b5a51e", size = 452142 }, - { url = "https://files.pythonhosted.org/packages/b0/ec/c4e04f755be003129a2c5f3520d2c47026f00da5ecb9ef1e4f9449637571/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5148c2f1ea043db13ce9b0c28456e18ecc8f14f41325aa624314095b6aa2e9ea", size = 469414 }, - { url = "https://files.pythonhosted.org/packages/c5/4e/cdd7de3e7ac6432b0abf282ec4c1a1a2ec62dfe423cf269b86861667752d/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e4bd963a935aaf40b625c2499f3f4f6bbd0c3776f6d3bc7c853d04824ff1c9f", size = 472962 }, - { url = "https://files.pythonhosted.org/packages/27/69/e1da9d34da7fc59db358424f5d89a56aaafe09f6961b64e36457a80a7194/watchfiles-0.24.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c79d7719d027b7a42817c5d96461a99b6a49979c143839fc37aa5748c322f234", size = 425705 }, - { url = "https://files.pythonhosted.org/packages/e8/c1/24d0f7357be89be4a43e0a656259676ea3d7a074901f47022f32e2957798/watchfiles-0.24.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:32aa53a9a63b7f01ed32e316e354e81e9da0e6267435c7243bf8ae0f10b428ef", size = 612851 }, - { url = "https://files.pythonhosted.org/packages/c7/af/175ba9b268dec56f821639c9893b506c69fd999fe6a2e2c51de420eb2f01/watchfiles-0.24.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ce72dba6a20e39a0c628258b5c308779b8697f7676c254a845715e2a1039b968", size = 594868 }, - { url = "https://files.pythonhosted.org/packages/44/81/1f701323a9f70805bc81c74c990137123344a80ea23ab9504a99492907f8/watchfiles-0.24.0-cp312-none-win32.whl", hash = "sha256:d9018153cf57fc302a2a34cb7564870b859ed9a732d16b41a9b5cb2ebed2d444", size = 264109 }, - { url = "https://files.pythonhosted.org/packages/b4/0b/32cde5bc2ebd9f351be326837c61bdeb05ad652b793f25c91cac0b48a60b/watchfiles-0.24.0-cp312-none-win_amd64.whl", hash = "sha256:551ec3ee2a3ac9cbcf48a4ec76e42c2ef938a7e905a35b42a1267fa4b1645896", size = 277055 }, - { url = "https://files.pythonhosted.org/packages/4b/81/daade76ce33d21dbec7a15afd7479de8db786e5f7b7d249263b4ea174e08/watchfiles-0.24.0-cp312-none-win_arm64.whl", hash = "sha256:b52a65e4ea43c6d149c5f8ddb0bef8d4a1e779b77591a458a893eb416624a418", size = 266169 }, - { url = "https://files.pythonhosted.org/packages/30/dc/6e9f5447ae14f645532468a84323a942996d74d5e817837a5c8ce9d16c69/watchfiles-0.24.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:3d2e3ab79a1771c530233cadfd277fcc762656d50836c77abb2e5e72b88e3a48", size = 373764 }, - { url = "https://files.pythonhosted.org/packages/79/c0/c3a9929c372816c7fc87d8149bd722608ea58dc0986d3ef7564c79ad7112/watchfiles-0.24.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:327763da824817b38ad125dcd97595f942d720d32d879f6c4ddf843e3da3fe90", size = 367873 }, - { url = "https://files.pythonhosted.org/packages/2e/11/ff9a4445a7cfc1c98caf99042df38964af12eed47d496dd5d0d90417349f/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd82010f8ab451dabe36054a1622870166a67cf3fce894f68895db6f74bbdc94", size = 438381 }, - { url = "https://files.pythonhosted.org/packages/48/a3/763ba18c98211d7bb6c0f417b2d7946d346cdc359d585cc28a17b48e964b/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d64ba08db72e5dfd5c33be1e1e687d5e4fcce09219e8aee893a4862034081d4e", size = 432809 }, - { url = "https://files.pythonhosted.org/packages/30/4c/616c111b9d40eea2547489abaf4ffc84511e86888a166d3a4522c2ba44b5/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1cf1f6dd7825053f3d98f6d33f6464ebdd9ee95acd74ba2c34e183086900a827", size = 451801 }, - { url = "https://files.pythonhosted.org/packages/b6/be/d7da83307863a422abbfeb12903a76e43200c90ebe5d6afd6a59d158edea/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43e3e37c15a8b6fe00c1bce2473cfa8eb3484bbeecf3aefbf259227e487a03df", size = 468886 }, - { url = "https://files.pythonhosted.org/packages/1d/d3/3dfe131ee59d5e90b932cf56aba5c996309d94dafe3d02d204364c23461c/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88bcd4d0fe1d8ff43675360a72def210ebad3f3f72cabfeac08d825d2639b4ab", size = 472973 }, - { url = "https://files.pythonhosted.org/packages/42/6c/279288cc5653a289290d183b60a6d80e05f439d5bfdfaf2d113738d0f932/watchfiles-0.24.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:999928c6434372fde16c8f27143d3e97201160b48a614071261701615a2a156f", size = 425282 }, - { url = "https://files.pythonhosted.org/packages/d6/d7/58afe5e85217e845edf26d8780c2d2d2ae77675eeb8d1b8b8121d799ce52/watchfiles-0.24.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:30bbd525c3262fd9f4b1865cb8d88e21161366561cd7c9e1194819e0a33ea86b", size = 612540 }, - { url = "https://files.pythonhosted.org/packages/6d/d5/b96eeb9fe3fda137200dd2f31553670cbc731b1e13164fd69b49870b76ec/watchfiles-0.24.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:edf71b01dec9f766fb285b73930f95f730bb0943500ba0566ae234b5c1618c18", size = 593625 }, - { url = "https://files.pythonhosted.org/packages/c1/e5/c326fe52ee0054107267608d8cea275e80be4455b6079491dfd9da29f46f/watchfiles-0.24.0-cp313-none-win32.whl", hash = "sha256:f4c96283fca3ee09fb044f02156d9570d156698bc3734252175a38f0e8975f07", size = 263899 }, - { url = "https://files.pythonhosted.org/packages/a6/8b/8a7755c5e7221bb35fe4af2dc44db9174f90ebf0344fd5e9b1e8b42d381e/watchfiles-0.24.0-cp313-none-win_amd64.whl", hash = "sha256:a974231b4fdd1bb7f62064a0565a6b107d27d21d9acb50c484d2cdba515b9366", size = 276622 }, -] - [[package]] name = "wcwidth" version = "0.2.13" @@ -3977,48 +3015,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826 }, ] -[[package]] -name = "websockets" -version = "13.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e2/73/9223dbc7be3dcaf2a7bbf756c351ec8da04b1fa573edaf545b95f6b0c7fd/websockets-13.1.tar.gz", hash = "sha256:a3b3366087c1bc0a2795111edcadddb8b3b59509d5db5d7ea3fdd69f954a8878", size = 158549 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b2/f0/cf0b8a30d86b49e267ac84addbebbc7a48a6e7bb7c19db80f62411452311/websockets-13.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:61fc0dfcda609cda0fc9fe7977694c0c59cf9d749fbb17f4e9483929e3c48a19", size = 157813 }, - { url = "https://files.pythonhosted.org/packages/bf/e7/22285852502e33071a8cf0ac814f8988480ec6db4754e067b8b9d0e92498/websockets-13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ceec59f59d092c5007e815def4ebb80c2de330e9588e101cf8bd94c143ec78a5", size = 155469 }, - { url = "https://files.pythonhosted.org/packages/68/d4/c8c7c1e5b40ee03c5cc235955b0fb1ec90e7e37685a5f69229ad4708dcde/websockets-13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c1dca61c6db1166c48b95198c0b7d9c990b30c756fc2923cc66f68d17dc558fd", size = 155717 }, - { url = "https://files.pythonhosted.org/packages/c9/e4/c50999b9b848b1332b07c7fd8886179ac395cb766fda62725d1539e7bc6c/websockets-13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308e20f22c2c77f3f39caca508e765f8725020b84aa963474e18c59accbf4c02", size = 165379 }, - { url = "https://files.pythonhosted.org/packages/bc/49/4a4ad8c072f18fd79ab127650e47b160571aacfc30b110ee305ba25fffc9/websockets-13.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d516c325e6540e8a57b94abefc3459d7dab8ce52ac75c96cad5549e187e3a7", size = 164376 }, - { url = "https://files.pythonhosted.org/packages/af/9b/8c06d425a1d5a74fd764dd793edd02be18cf6fc3b1ccd1f29244ba132dc0/websockets-13.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c6e35319b46b99e168eb98472d6c7d8634ee37750d7693656dc766395df096", size = 164753 }, - { url = "https://files.pythonhosted.org/packages/d5/5b/0acb5815095ff800b579ffc38b13ab1b915b317915023748812d24e0c1ac/websockets-13.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5f9fee94ebafbc3117c30be1844ed01a3b177bb6e39088bc6b2fa1dc15572084", size = 165051 }, - { url = "https://files.pythonhosted.org/packages/30/93/c3891c20114eacb1af09dedfcc620c65c397f4fd80a7009cd12d9457f7f5/websockets-13.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7c1e90228c2f5cdde263253fa5db63e6653f1c00e7ec64108065a0b9713fa1b3", size = 164489 }, - { url = "https://files.pythonhosted.org/packages/28/09/af9e19885539759efa2e2cd29b8b3f9eecef7ecefea40d46612f12138b36/websockets-13.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6548f29b0e401eea2b967b2fdc1c7c7b5ebb3eeb470ed23a54cd45ef078a0db9", size = 164438 }, - { url = "https://files.pythonhosted.org/packages/b6/08/6f38b8e625b3d93de731f1d248cc1493327f16cb45b9645b3e791782cff0/websockets-13.1-cp311-cp311-win32.whl", hash = "sha256:c11d4d16e133f6df8916cc5b7e3e96ee4c44c936717d684a94f48f82edb7c92f", size = 158710 }, - { url = "https://files.pythonhosted.org/packages/fb/39/ec8832ecb9bb04a8d318149005ed8cee0ba4e0205835da99e0aa497a091f/websockets-13.1-cp311-cp311-win_amd64.whl", hash = "sha256:d04f13a1d75cb2b8382bdc16ae6fa58c97337253826dfe136195b7f89f661557", size = 159137 }, - { url = "https://files.pythonhosted.org/packages/df/46/c426282f543b3c0296cf964aa5a7bb17e984f58dde23460c3d39b3148fcf/websockets-13.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9d75baf00138f80b48f1eac72ad1535aac0b6461265a0bcad391fc5aba875cfc", size = 157821 }, - { url = "https://files.pythonhosted.org/packages/aa/85/22529867010baac258da7c45848f9415e6cf37fef00a43856627806ffd04/websockets-13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9b6f347deb3dcfbfde1c20baa21c2ac0751afaa73e64e5b693bb2b848efeaa49", size = 155480 }, - { url = "https://files.pythonhosted.org/packages/29/2c/bdb339bfbde0119a6e84af43ebf6275278698a2241c2719afc0d8b0bdbf2/websockets-13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de58647e3f9c42f13f90ac7e5f58900c80a39019848c5547bc691693098ae1bd", size = 155715 }, - { url = "https://files.pythonhosted.org/packages/9f/d0/8612029ea04c5c22bf7af2fd3d63876c4eaeef9b97e86c11972a43aa0e6c/websockets-13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1b54689e38d1279a51d11e3467dd2f3a50f5f2e879012ce8f2d6943f00e83f0", size = 165647 }, - { url = "https://files.pythonhosted.org/packages/56/04/1681ed516fa19ca9083f26d3f3a302257e0911ba75009533ed60fbb7b8d1/websockets-13.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf1781ef73c073e6b0f90af841aaf98501f975d306bbf6221683dd594ccc52b6", size = 164592 }, - { url = "https://files.pythonhosted.org/packages/38/6f/a96417a49c0ed132bb6087e8e39a37db851c70974f5c724a4b2a70066996/websockets-13.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d23b88b9388ed85c6faf0e74d8dec4f4d3baf3ecf20a65a47b836d56260d4b9", size = 165012 }, - { url = "https://files.pythonhosted.org/packages/40/8b/fccf294919a1b37d190e86042e1a907b8f66cff2b61e9befdbce03783e25/websockets-13.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3c78383585f47ccb0fcf186dcb8a43f5438bd7d8f47d69e0b56f71bf431a0a68", size = 165311 }, - { url = "https://files.pythonhosted.org/packages/c1/61/f8615cf7ce5fe538476ab6b4defff52beb7262ff8a73d5ef386322d9761d/websockets-13.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d6d300f8ec35c24025ceb9b9019ae9040c1ab2f01cddc2bcc0b518af31c75c14", size = 164692 }, - { url = "https://files.pythonhosted.org/packages/5c/f1/a29dd6046d3a722d26f182b783a7997d25298873a14028c4760347974ea3/websockets-13.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a9dcaf8b0cc72a392760bb8755922c03e17a5a54e08cca58e8b74f6902b433cf", size = 164686 }, - { url = "https://files.pythonhosted.org/packages/0f/99/ab1cdb282f7e595391226f03f9b498f52109d25a2ba03832e21614967dfa/websockets-13.1-cp312-cp312-win32.whl", hash = "sha256:2f85cf4f2a1ba8f602298a853cec8526c2ca42a9a4b947ec236eaedb8f2dc80c", size = 158712 }, - { url = "https://files.pythonhosted.org/packages/46/93/e19160db48b5581feac8468330aa11b7292880a94a37d7030478596cc14e/websockets-13.1-cp312-cp312-win_amd64.whl", hash = "sha256:38377f8b0cdeee97c552d20cf1865695fcd56aba155ad1b4ca8779a5b6ef4ac3", size = 159145 }, - { url = "https://files.pythonhosted.org/packages/51/20/2b99ca918e1cbd33c53db2cace5f0c0cd8296fc77558e1908799c712e1cd/websockets-13.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a9ab1e71d3d2e54a0aa646ab6d4eebfaa5f416fe78dfe4da2839525dc5d765c6", size = 157828 }, - { url = "https://files.pythonhosted.org/packages/b8/47/0932a71d3d9c0e9483174f60713c84cee58d62839a143f21a2bcdbd2d205/websockets-13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b9d7439d7fab4dce00570bb906875734df13d9faa4b48e261c440a5fec6d9708", size = 155487 }, - { url = "https://files.pythonhosted.org/packages/a9/60/f1711eb59ac7a6c5e98e5637fef5302f45b6f76a2c9d64fd83bbb341377a/websockets-13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:327b74e915cf13c5931334c61e1a41040e365d380f812513a255aa804b183418", size = 155721 }, - { url = "https://files.pythonhosted.org/packages/6a/e6/ba9a8db7f9d9b0e5f829cf626ff32677f39824968317223605a6b419d445/websockets-13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:325b1ccdbf5e5725fdcb1b0e9ad4d2545056479d0eee392c291c1bf76206435a", size = 165609 }, - { url = "https://files.pythonhosted.org/packages/c1/22/4ec80f1b9c27a0aebd84ccd857252eda8418ab9681eb571b37ca4c5e1305/websockets-13.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:346bee67a65f189e0e33f520f253d5147ab76ae42493804319b5716e46dddf0f", size = 164556 }, - { url = "https://files.pythonhosted.org/packages/27/ac/35f423cb6bb15600438db80755609d27eda36d4c0b3c9d745ea12766c45e/websockets-13.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91a0fa841646320ec0d3accdff5b757b06e2e5c86ba32af2e0815c96c7a603c5", size = 164993 }, - { url = "https://files.pythonhosted.org/packages/31/4e/98db4fd267f8be9e52e86b6ee4e9aa7c42b83452ea0ea0672f176224b977/websockets-13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:18503d2c5f3943e93819238bf20df71982d193f73dcecd26c94514f417f6b135", size = 165360 }, - { url = "https://files.pythonhosted.org/packages/3f/15/3f0de7cda70ffc94b7e7024544072bc5b26e2c1eb36545291abb755d8cdb/websockets-13.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a9cd1af7e18e5221d2878378fbc287a14cd527fdd5939ed56a18df8a31136bb2", size = 164745 }, - { url = "https://files.pythonhosted.org/packages/a1/6e/66b6b756aebbd680b934c8bdbb6dcb9ce45aad72cde5f8a7208dbb00dd36/websockets-13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:70c5be9f416aa72aab7a2a76c90ae0a4fe2755c1816c153c1a2bcc3333ce4ce6", size = 164732 }, - { url = "https://files.pythonhosted.org/packages/35/c6/12e3aab52c11aeb289e3dbbc05929e7a9d90d7a9173958477d3ef4f8ce2d/websockets-13.1-cp313-cp313-win32.whl", hash = "sha256:624459daabeb310d3815b276c1adef475b3e6804abaf2d9d2c061c319f7f187d", size = 158709 }, - { url = "https://files.pythonhosted.org/packages/41/d8/63d6194aae711d7263df4498200c690a9c39fb437ede10f3e157a6343e0d/websockets-13.1-cp313-cp313-win_amd64.whl", hash = "sha256:c518e84bb59c2baae725accd355c8dc517b4a3ed8db88b4bc93c78dae2974bf2", size = 159144 }, - { url = "https://files.pythonhosted.org/packages/56/27/96a5cd2626d11c8280656c6c71d8ab50fe006490ef9971ccd154e0c42cd2/websockets-13.1-py3-none-any.whl", hash = "sha256:a9a396a6ad26130cdae92ae10c36af09d9bfe6cafe69670fd3b6da9b07b4044f", size = 152134 }, -] - [[package]] name = "widgetsnbextension" version = "4.0.13" @@ -4028,20 +3024,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/21/02/88b65cc394961a60c43c70517066b6b679738caf78506a5da7b88ffcb643/widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71", size = 2335872 }, ] -[[package]] -name = "xformers" -version = "0.0.27.post2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy", marker = "platform_system != 'Windows'" }, - { name = "torch", marker = "platform_system != 'Windows'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ad/d3/4fba40d18d2344137c80d1949dc9772eaed446b17b8fc7c2a62891904600/xformers-0.0.27.post2.tar.gz", hash = "sha256:5c3bcefabf29532cac7eb7556fb684be209698955b004aac069742e49373bdb3", size = 4430926 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2e/f1/f4f860c193c1c6d3456b176479097fd9c9890384c1b1f6a15afd9c3f1645/xformers-0.0.27.post2-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:373a1c5d65dab89ea058d17a37c07e5da5ff3b9bebf61425e26a0a5293b0d4a9", size = 20801678 }, - { url = "https://files.pythonhosted.org/packages/07/12/d884ab8a29ae9dc2c403ab7fef0aaefc01795d98bfe4b6a8b5d43c6c57f2/xformers-0.0.27.post2-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:3500f5ff3614aa18762fddc945e4057e7225e23f35986c6666cc49d6cb1c8ee7", size = 20802805 }, -] - [[package]] name = "xxhash" version = "3.5.0" @@ -4156,21 +3138,3 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/20/9f/f39c37c17929d3975da84c737b96b606b68c495cc4ee86408f10523a1635/yarl-1.15.2-cp313-cp313-win_amd64.whl", hash = "sha256:5838f2b79dc8f96fdc44077c9e4e2e33d7089b10788464609df788eb97d03aad", size = 308252 }, { url = "https://files.pythonhosted.org/packages/46/cf/a28c494decc9c8776b0d7b729c68d26fdafefcedd8d2eab5d9cd767376b2/yarl-1.15.2-py3-none-any.whl", hash = "sha256:0d3105efab7c5c091609abacad33afff33bdff0035bece164c98bcf5a85ef90a", size = 38891 }, ] - -[[package]] -name = "zipp" -version = "3.20.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", size = 24199 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", size = 9200 }, -] - -[[package]] -name = "zmq" -version = "0.0.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pyzmq" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/6e/78/833b2808793c1619835edb1a4e17a023d5d625f4f97ff25ffff986d1f472/zmq-0.0.0.tar.gz", hash = "sha256:6b1a1de53338646e8c8405803cffb659e8eb7bb02fff4c9be62a7acfac8370c9", size = 966 }