From 4c90a895456840c3f281d37afca261cb4620a904 Mon Sep 17 00:00:00 2001 From: remsky Date: Tue, 4 Feb 2025 03:37:56 -0700 Subject: [PATCH] Initial commit of Kokoro V1.0-only integration --- VERSION | 2 +- api/src/core/config.py | 4 +- api/src/core/model_config.py | 70 +- api/src/core/paths.py | 2 +- api/src/inference/__init__.py | 8 +- api/src/inference/base.py | 27 +- api/src/inference/kokoro_v1.py | 106 +- api/src/inference/model_manager.py | 411 +- api/src/inference/onnx_cpu.py | 115 - api/src/inference/onnx_gpu.py | 119 - api/src/inference/pytorch_backend.py | 244 - api/src/inference/session_pool.py | 272 -- api/src/inference/voice_manager.py | 237 +- api/src/main.py | 18 +- api/src/routers/openai_compatible.py | 1 + api/src/services/tts_service.py | 4 +- api/src/voices/{ => v1_0}/af_irulan.pt | Bin api/src/voices/v1_0/bf_isabella.pt | Bin 523440 -> 0 bytes api/src/voices/{af.pt => v1_0/v0_af.pt} | Bin .../{af_bella.pt => v1_0/v0_af_bella.pt} | Bin api/src/voices/v1_0/v0_af_irulan.pt | Bin 0 -> 524484 bytes .../{af_nicole.pt => v1_0/v0_af_nicole.pt} | Bin .../{af_sarah.pt => v1_0/v0_af_sarah.pt} | Bin .../voices/{af_sky.pt => v1_0/v0_af_sky.pt} | Bin .../voices/{am_adam.pt => v1_0/v0_am_adam.pt} | Bin .../{am_gurney.pt => v1_0/v0_am_gurney.pt} | Bin .../{am_michael.pt => v1_0/v0_am_michael.pt} | Bin .../voices/{bf_emma.pt => v1_0/v0_bf_emma.pt} | Bin .../v0_bf_isabella.pt} | Bin .../{bm_george.pt => v1_0/v0_bm_george.pt} | Bin .../{bm_lewis.pt => v1_0/v0_bm_lewis.pt} | Bin docker/scripts/download_model.py | 157 +- start-cpu.sh | 2 +- uv.lock | 4260 +++++++++++++++++ web/src/services/AudioService.js | 2 - 35 files changed, 4560 insertions(+), 1501 deletions(-) delete mode 100644 api/src/inference/onnx_cpu.py delete mode 100644 api/src/inference/onnx_gpu.py delete mode 100644 api/src/inference/pytorch_backend.py delete mode 100644 api/src/inference/session_pool.py rename api/src/voices/{ => v1_0}/af_irulan.pt (100%) delete mode 100644 api/src/voices/v1_0/bf_isabella.pt rename api/src/voices/{af.pt => v1_0/v0_af.pt} (100%) rename api/src/voices/{af_bella.pt => v1_0/v0_af_bella.pt} (100%) create mode 100644 api/src/voices/v1_0/v0_af_irulan.pt rename api/src/voices/{af_nicole.pt => v1_0/v0_af_nicole.pt} (100%) rename api/src/voices/{af_sarah.pt => v1_0/v0_af_sarah.pt} (100%) rename api/src/voices/{af_sky.pt => v1_0/v0_af_sky.pt} (100%) rename api/src/voices/{am_adam.pt => v1_0/v0_am_adam.pt} (100%) rename api/src/voices/{am_gurney.pt => v1_0/v0_am_gurney.pt} (100%) rename api/src/voices/{am_michael.pt => v1_0/v0_am_michael.pt} (100%) rename api/src/voices/{bf_emma.pt => v1_0/v0_bf_emma.pt} (100%) rename api/src/voices/{bf_isabella.pt => v1_0/v0_bf_isabella.pt} (100%) rename api/src/voices/{bm_george.pt => v1_0/v0_bm_george.pt} (100%) rename api/src/voices/{bm_lewis.pt => v1_0/v0_bm_lewis.pt} (100%) create mode 100644 uv.lock diff --git a/VERSION b/VERSION index 446ba66..77571ac 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.4 \ No newline at end of file +v0.1.5-pre \ No newline at end of file diff --git a/api/src/core/config.py b/api/src/core/config.py index e9f67cc..b4cb030 100644 --- a/api/src/core/config.py +++ b/api/src/core/config.py @@ -12,14 +12,14 @@ class Settings(BaseSettings): # Application Settings output_dir: str = "output" output_dir_size_limit_mb: float = 500.0 # Maximum size of output directory in MB - default_voice: str = "af" + default_voice: str = "af_heart" use_gpu: bool = True # Whether to use GPU acceleration if available use_onnx: bool = False # Whether to use ONNX runtime allow_local_voice_saving: bool = False # Whether to allow saving combined voices locally # Container absolute paths model_dir: str = "/app/api/src/models" # Absolute path in container - voices_dir: str = "/app/api/src/voices" # Absolute path in container + voices_dir: str = "/app/api/src/voices/v1_0" # Absolute path in container # Audio Settings sample_rate: int = 24000 diff --git a/api/src/core/model_config.py b/api/src/core/model_config.py index 21f55b1..893c045 100644 --- a/api/src/core/model_config.py +++ b/api/src/core/model_config.py @@ -1,47 +1,14 @@ -"""Model configuration schemas.""" +"""Model configuration for Kokoro V1.""" from pydantic import BaseModel, Field class KokoroV1Config(BaseModel): + """Kokoro V1 configuration.""" languages: list[str] = ["en"] - -class ONNXCPUConfig(BaseModel): - """ONNX CPU runtime configuration.""" - - # Session pooling - max_instances: int = Field(4, description="Maximum concurrent model instances") - instance_timeout: int = Field(60, description="Session timeout in seconds") - - # Runtime settings - num_threads: int = Field(8, description="Number of threads for parallel operations") - inter_op_threads: int = Field(4, description="Number of threads for operator parallelism") - execution_mode: str = Field("parallel", description="ONNX execution mode") - optimization_level: str = Field("all", description="ONNX optimization level") - memory_pattern: bool = Field(True, description="Enable memory pattern optimization") - arena_extend_strategy: str = Field("kNextPowerOfTwo", description="Memory arena strategy") - class Config: frozen = True - -class ONNXGPUConfig(ONNXCPUConfig): - """ONNX GPU-specific configuration.""" - - # CUDA settings - device_id: int = Field(0, description="CUDA device ID") - gpu_mem_limit: float = Field(0.5, description="Fraction of GPU memory to use") - cudnn_conv_algo_search: str = Field("EXHAUSTIVE", description="CuDNN convolution algorithm search") - - # Stream management - cuda_streams: int = Field(2, description="Number of CUDA streams for inference") - stream_timeout: int = Field(60, description="Stream timeout in seconds") - do_copy_in_default_stream: bool = Field(True, description="Copy in default CUDA stream") - - class Config: - frozen = True - - class PyTorchCPUConfig(BaseModel): """PyTorch CPU backend configuration.""" @@ -70,48 +37,23 @@ class PyTorchGPUConfig(BaseModel): class ModelConfig(BaseModel): - """Model configuration.""" + """Kokoro V1 model configuration.""" # General settings - model_type: str = Field("pytorch", description="Model type ('pytorch' or 'onnx')") - device_type: str = Field("auto", description="Device type ('cpu', 'gpu', or 'auto')") - cache_models: bool = Field(True, description="Whether to cache loaded models") + device_type: str = Field("cpu", description="Device type ('cpu' or 'gpu')") cache_voices: bool = Field(True, description="Whether to cache voice tensors") voice_cache_size: int = Field(2, description="Maximum number of cached voices") - # Model filenames + # Model filename pytorch_kokoro_v1_file: str = Field("v1_0/kokoro-v1_0.pth", description="PyTorch Kokoro V1 model filename") - pytorch_model_file: str = Field("kokoro-v0_19-half.pth", description="PyTorch model filename") - onnx_model_file: str = Field("kokoro-v0_19.onnx", description="ONNX model filename") - # Backend-specific configs - onnx_cpu: ONNXCPUConfig = Field(default_factory=ONNXCPUConfig) - onnx_gpu: ONNXGPUConfig = Field(default_factory=ONNXGPUConfig) + # Backend configs pytorch_cpu: PyTorchCPUConfig = Field(default_factory=PyTorchCPUConfig) pytorch_gpu: PyTorchGPUConfig = Field(default_factory=PyTorchGPUConfig) class Config: frozen = True - def get_backend_config(self, backend_type: str): - """Get configuration for specific backend. - - Args: - backend_type: Backend type ('pytorch_cpu', 'pytorch_gpu', 'onnx_cpu', 'onnx_gpu', 'kokoro_v1') - - Returns: - Backend-specific configuration - - Raises: - ValueError: If backend type is invalid - """ - if backend_type not in { - 'pytorch_cpu', 'pytorch_gpu', 'onnx_cpu', 'onnx_gpu', 'kokoro_v1' - }: - raise ValueError(f"Invalid backend type: {backend_type}") - - return getattr(self, backend_type) - # Global instance model_config = ModelConfig() \ No newline at end of file diff --git a/api/src/core/paths.py b/api/src/core/paths.py index 0c6bfff..dddf225 100644 --- a/api/src/core/paths.py +++ b/api/src/core/paths.py @@ -127,7 +127,7 @@ async def get_voice_path(voice_name: str) -> str: voice_file = f"{voice_name}.pt" - # Search in voice directory + # Search in voice directory/o search_paths = [voice_dir] logger.debug(f"Searching for voice in path: {voice_dir}") diff --git a/api/src/inference/__init__.py b/api/src/inference/__init__.py index d469b69..3789438 100644 --- a/api/src/inference/__init__.py +++ b/api/src/inference/__init__.py @@ -2,15 +2,11 @@ from .base import BaseModelBackend from .model_manager import ModelManager, get_manager -from .onnx_cpu import ONNXCPUBackend -from .onnx_gpu import ONNXGPUBackend -from .pytorch_backend import PyTorchBackend +from .kokoro_v1 import KokoroV1 __all__ = [ 'BaseModelBackend', 'ModelManager', 'get_manager', - 'ONNXCPUBackend', - 'ONNXGPUBackend', - 'PyTorchBackend', + 'KokoroV1', ] \ No newline at end of file diff --git a/api/src/inference/base.py b/api/src/inference/base.py index 21d859b..be8874c 100644 --- a/api/src/inference/base.py +++ b/api/src/inference/base.py @@ -1,14 +1,14 @@ -"""Base interfaces for model inference.""" +"""Base interface for Kokoro inference.""" from abc import ABC, abstractmethod -from typing import List, Optional +from typing import AsyncGenerator, Optional, Union, Tuple import numpy as np import torch class ModelBackend(ABC): - """Abstract base class for model inference backends.""" + """Abstract base class for model inference backend.""" @abstractmethod async def load_model(self, path: str) -> None: @@ -23,21 +23,21 @@ class ModelBackend(ABC): pass @abstractmethod - def generate( + async def generate( self, - tokens: List[int], - voice: torch.Tensor, + text: str, + voice: Union[str, Tuple[str, Union[torch.Tensor, str]]], speed: float = 1.0 - ) -> np.ndarray: - """Generate audio from tokens. + ) -> AsyncGenerator[np.ndarray, None]: + """Generate audio from text. Args: - tokens: Input token IDs - voice: Voice embedding tensor + text: Input text to synthesize + voice: Either a voice path or tuple of (name, tensor/path) speed: Speed multiplier - Returns: - Generated audio samples + Yields: + Generated audio chunks Raises: RuntimeError: If generation fails @@ -94,4 +94,5 @@ class BaseModelBackend(ModelBackend): del self._model self._model = None if torch.cuda.is_available(): - torch.cuda.empty_cache() \ No newline at end of file + torch.cuda.empty_cache() + torch.cuda.synchronize() \ No newline at end of file diff --git a/api/src/inference/kokoro_v1.py b/api/src/inference/kokoro_v1.py index b294f80..3fbd14e 100644 --- a/api/src/inference/kokoro_v1.py +++ b/api/src/inference/kokoro_v1.py @@ -1,9 +1,7 @@ -"""PyTorch inference backend with environment-based configuration.""" +"""Clean Kokoro implementation with controlled resource management.""" -import gc import os -from typing import AsyncGenerator, Optional, List, Union, Tuple -from contextlib import nullcontext +from typing import AsyncGenerator, Optional, Union, Tuple import numpy as np import torch @@ -15,23 +13,19 @@ from ..core.config import settings from .base import BaseModelBackend from kokoro import KModel, KPipeline - class KokoroV1(BaseModelBackend): - """Kokoro package based inference backend with environment-based configuration.""" + """Kokoro backend with controlled resource management.""" def __init__(self): - """Initialize backend based on environment configuration.""" + """Initialize backend with environment-based configuration.""" super().__init__() - - # Configure device based on settings - self._device = ( - "cuda" if settings.use_gpu and torch.cuda.is_available() else "cpu" - ) + # Strictly respect settings.use_gpu + self._device = "cuda" if settings.use_gpu else "cpu" self._model: Optional[KModel] = None self._pipeline: Optional[KPipeline] = None async def load_model(self, path: str) -> None: - """Load Kokoro model. + """Load pre-baked model. Args: path: Path to model file @@ -42,8 +36,6 @@ class KokoroV1(BaseModelBackend): try: # Get verified model path model_path = await paths.get_model_path(path) - - # Get config.json path from the same directory config_path = os.path.join(os.path.dirname(model_path), 'config.json') if not os.path.exists(config_path): @@ -53,22 +45,36 @@ class KokoroV1(BaseModelBackend): logger.info(f"Config path: {config_path}") logger.info(f"Model path: {model_path}") - # Initialize model with config and weights - self._model = KModel(config=config_path, model=model_path).to(self._device).eval() - # Initialize pipeline with American English by default - self._pipeline = KPipeline(lang_code='a', model=self._model, device=self._device) + # Load model and let KModel handle device mapping + self._model = KModel( + config=config_path, + model=model_path + ).eval() + # Move to CUDA if needed + if self._device == "cuda": + self._model = self._model.cuda() + + # Initialize pipeline with our model and device + self._pipeline = KPipeline( + lang_code='a', + model=self._model, # Pass our model directly + device=self._device # Match our device setting + ) except Exception as e: raise RuntimeError(f"Failed to load Kokoro model: {e}") async def generate( - self, text: str, voice: Union[str, Tuple[str, Union[torch.Tensor, str]]], speed: float = 1.0 + self, + text: str, + voice: Union[str, Tuple[str, Union[torch.Tensor, str]]], + speed: float = 1.0 ) -> AsyncGenerator[np.ndarray, None]: """Generate audio using model. Args: text: Input text to synthesize - voice: Either a voice path string or a tuple of (voice_name, voice_tensor_or_path) + voice: Either a voice path string or a tuple of (voice_name, voice_tensor/path) speed: Speed multiplier Yields: @@ -87,53 +93,38 @@ class KokoroV1(BaseModelBackend): self._clear_memory() # Handle voice input - if isinstance(voice, str): - voice_path = voice # Voice path provided directly - logger.debug(f"Using voice path directly: {voice_path}") - # Get language code from first letter of voice name - try: - name = os.path.basename(voice_path) - logger.debug(f"Voice basename: {name}") - if name.endswith('.pt'): - name = name[:-3] - lang_code = name[0] - logger.debug(f"Extracted language code: {lang_code}") - except Exception as e: - # Default to American English if we can't get language code - logger.warning(f"Failed to extract language code: {e}, defaulting to 'a'") - lang_code = 'a' - else: - # Unpack voice name and tensor/path + voice_path: str + if isinstance(voice, tuple): voice_name, voice_data = voice - # If voice_data is a path, use it directly if isinstance(voice_data, str): voice_path = voice_data - logger.debug(f"Using provided voice path: {voice_path}") else: # Save tensor to temporary file import tempfile temp_dir = tempfile.gettempdir() voice_path = os.path.join(temp_dir, f"{voice_name}.pt") - logger.debug(f"Saving voice tensor to: {voice_path}") - torch.save(voice_data, voice_path) - # Get language code from voice name - lang_code = voice_name[0] - logger.debug(f"Using language code '{lang_code}' from voice name {voice_name}") + # Save tensor with CPU mapping for portability + torch.save(voice_data.cpu(), voice_path) + else: + voice_path = voice - # Update pipeline's language code if needed - if self._pipeline.lang_code != lang_code: - logger.debug(f"Creating pipeline with lang_code='{lang_code}'") - self._pipeline = KPipeline(lang_code=lang_code, model=self._model, device=self._device) + # Load voice tensor with proper device mapping + voice_tensor = await paths.load_voice_tensor(voice_path, device=self._device) + # Save back to a temporary file with proper device mapping + import tempfile + temp_dir = tempfile.gettempdir() + temp_path = os.path.join(temp_dir, f"temp_voice_{os.path.basename(voice_path)}") + await paths.save_voice_tensor(voice_tensor, temp_path) + voice_path = temp_path - # Generate audio using pipeline + # Generate using pipeline, force model to prevent downloads logger.debug(f"Generating audio for text: '{text[:100]}...'") - for i, result in enumerate(self._pipeline(text, voice=voice_path, speed=speed)): - logger.debug(f"Processing chunk {i+1}") + for result in self._pipeline(text, voice=voice_path, speed=speed, model=self._model): if result.audio is not None: - logger.debug(f"Got audio chunk {i+1} with shape: {result.audio.shape}") + logger.debug(f"Got audio chunk with shape: {result.audio.shape}") yield result.audio.numpy() else: - logger.warning(f"No audio in chunk {i+1}") + logger.warning("No audio in chunk") except Exception as e: logger.error(f"Generation failed: {e}") @@ -146,9 +137,6 @@ class KokoroV1(BaseModelBackend): async for chunk in self.generate(text, voice, speed): yield chunk raise - finally: - if self._device == "cuda" and model_config.pytorch_gpu.sync_cuda: - torch.cuda.synchronize() def _check_memory(self) -> bool: """Check if memory usage is above threshold.""" @@ -161,7 +149,7 @@ class KokoroV1(BaseModelBackend): """Clear device memory.""" if self._device == "cuda": torch.cuda.empty_cache() - gc.collect() + torch.cuda.synchronize() def unload(self) -> None: """Unload model and free resources.""" @@ -173,7 +161,7 @@ class KokoroV1(BaseModelBackend): self._pipeline = None if torch.cuda.is_available(): torch.cuda.empty_cache() - gc.collect() + torch.cuda.synchronize() @property def is_loaded(self) -> bool: diff --git a/api/src/inference/model_manager.py b/api/src/inference/model_manager.py index a0e87e3..80c03f8 100644 --- a/api/src/inference/model_manager.py +++ b/api/src/inference/model_manager.py @@ -1,377 +1,156 @@ -"""Model management and caching.""" +"""Kokoro V1 model management.""" -import asyncio -from typing import Dict, Optional, Tuple, Union, AsyncGenerator +from typing import Optional -import torch -import numpy as np from loguru import logger from ..core import paths -from ..core.config import settings from ..core.model_config import ModelConfig, model_config +from ..core.config import settings from .base import BaseModelBackend -from .onnx_cpu import ONNXCPUBackend -from .onnx_gpu import ONNXGPUBackend -from .pytorch_backend import PyTorchBackend from .kokoro_v1 import KokoroV1 -from .session_pool import CPUSessionPool, StreamingSessionPool -# Global singleton instance and lock for thread-safe initialization -_manager_instance = None -_manager_lock = asyncio.Lock() - class ModelManager: - """Manages model loading and inference across backends.""" - # Class-level state for shared resources - _loaded_models = {} - _backends = {} + """Manages Kokoro V1 model loading and inference.""" + + # Singleton instance + _instance = None + def __init__(self, config: Optional[ModelConfig] = None): - """Initialize model manager. - Note: - This should not be called directly. Use get_manager() instead. + """Initialize manager. + + Args: + config: Optional model configuration override """ self._config = config or model_config - - # Initialize session pools - self._session_pools = { - 'onnx_cpu': CPUSessionPool(), - 'onnx_gpu': StreamingSessionPool() - } - - # Initialize locks - self._backend_locks: Dict[str, asyncio.Lock] = {} + self._backend: Optional[KokoroV1] = None # Explicitly type as KokoroV1 + self._device: Optional[str] = None def _determine_device(self) -> str: """Determine device based on settings.""" - if settings.use_gpu and torch.cuda.is_available(): - return "cuda" - return "cpu" + return "cuda" if settings.use_gpu else "cpu" async def initialize(self) -> None: - """Initialize backends.""" - if self._backends: - logger.debug("Using existing backend instances") - return - - device = self._determine_device() - + """Initialize Kokoro V1 backend.""" try: - # First check if we should use Kokoro V1 - if model_config.pytorch_kokoro_v1_file: - self._backends['kokoro_v1'] = KokoroV1() - self._current_backend = 'kokoro_v1' - logger.info(f"Initialized new Kokoro V1 backend on {device}") - # Otherwise use legacy backends - elif device == "cuda": - if settings.use_onnx: - self._backends['onnx_gpu'] = ONNXGPUBackend() - self._current_backend = 'onnx_gpu' - logger.info("Initialized new ONNX GPU backend") - else: - self._backends['pytorch'] = PyTorchBackend() - self._current_backend = 'pytorch' - logger.info("Initialized new PyTorch backend on GPU") - else: - if settings.use_onnx: - self._backends['onnx_cpu'] = ONNXCPUBackend() - self._current_backend = 'onnx_cpu' - logger.info("Initialized new ONNX CPU backend") - else: - self._backends['pytorch'] = PyTorchBackend() - self._current_backend = 'pytorch' - logger.info("Initialized new PyTorch backend on CPU") - - # Initialize locks for each backend - for backend in self._backends: - self._backend_locks[backend] = asyncio.Lock() - + self._device = self._determine_device() + logger.info(f"Initializing Kokoro V1 on {self._device}") + self._backend = KokoroV1() + except Exception as e: - logger.error(f"Failed to initialize backend: {e}") - raise RuntimeError("Failed to initialize backend") - + raise RuntimeError(f"Failed to initialize Kokoro V1: {e}") + async def initialize_with_warmup(self, voice_manager) -> tuple[str, str, int]: - """Initialize model with warmup and pre-cache voices. + """Initialize and warm up model. + Args: - voice_manager: Voice manager instance for loading voices + voice_manager: Voice manager instance for warmup + Returns: - Tuple of (device type, model type, number of loaded voices) + Tuple of (device, backend type, voice count) + Raises: RuntimeError: If initialization fails """ + import time + start = time.perf_counter() + try: - # First check if we should use Kokoro V1 - if model_config.pytorch_kokoro_v1_file: - backend_type = 'kokoro_v1' - # Otherwise determine legacy backend type - elif settings.use_onnx: - backend_type = 'onnx_gpu' if settings.use_gpu and torch.cuda.is_available() else 'onnx_cpu' - else: - backend_type = 'pytorch' - - # Get backend - backend = self.get_backend(backend_type) + # Initialize backend + await self.initialize() - # Get and verify model path - if backend_type == 'kokoro_v1': - model_file = model_config.pytorch_kokoro_v1_file - else: - model_file = model_config.pytorch_model_file if not settings.use_onnx else model_config.onnx_model_file - model_path = await paths.get_model_path(model_file) + # Load model + model_path = self._config.pytorch_kokoro_v1_file + await self.load_model(model_path) - if not await paths.verify_model_path(model_path): - raise RuntimeError(f"Model file not found: {model_path}") - - # Pre-cache default voice and use for warmup - warmup_voice_tensor = await voice_manager.load_voice( - settings.default_voice, device=backend.device) - logger.info(f"Pre-cached voice {settings.default_voice} for warmup") + # Use paths module to get voice path + try: + voices = await paths.list_voices() + voice_path = await paths.get_voice_path( + settings.default_voice) + + # Warm up with short text + warmup_text = "Warmup text for initialization." + async for _ in self.generate(warmup_text, voice_path): + pass + except Exception as e: + raise RuntimeError(f"Failed to get default voice: {e}") + + ms = int((time.perf_counter() - start) * 1000) + logger.info(f"Warmup completed in {ms}ms") - # For Kokoro V1, wrap voice in tuple with name - if isinstance(backend, KokoroV1): - warmup_voice = (settings.default_voice, warmup_voice_tensor) - else: - warmup_voice = warmup_voice_tensor + return self._device, "kokoro_v1", len(voices) - # Initialize model with warmup voice - await self.load_model(model_path, warmup_voice, backend_type) - - # Only pre-cache default voice to avoid memory bloat - logger.info(f"Using {settings.default_voice} as warmup voice") - - # Get available voices count - voices = await voice_manager.list_voices() - voicepack_count = len(voices) - - # Get device info for return - device = "GPU" if settings.use_gpu else "CPU" - model = "Kokoro V1" if backend_type == 'kokoro_v1' else ("ONNX" if settings.use_onnx else "PyTorch") - - return device, model, voicepack_count - except Exception as e: - logger.error(f"Failed to initialize model with warmup: {e}") - raise RuntimeError(f"Failed to initialize model with warmup: {e}") + raise RuntimeError(f"Warmup failed: {e}") - def get_backend(self, backend_type: Optional[str] = None) -> BaseModelBackend: - """Get specified backend. - Args: - backend_type: Backend type ('pytorch_cpu', 'pytorch_gpu', 'onnx_cpu', 'onnx_gpu', 'kokoro_v1'), - uses default if None - Returns: - Model backend instance - Raises: - ValueError: If backend type is invalid - RuntimeError: If no backends are available - """ - if not self._backends: - raise RuntimeError("No backends available") - - if backend_type is None: - backend_type = self._current_backend + def get_backend(self) -> BaseModelBackend: + """Get initialized backend. - if backend_type not in self._backends: - raise ValueError( - f"Invalid backend type: {backend_type}. " - f"Available backends: {', '.join(self._backends.keys())}" - ) - - return self._backends[backend_type] - - def _determine_backend(self, model_path: str) -> str: - """Determine appropriate backend based on model file and settings. - Args: - model_path: Path to model file Returns: - Backend type to use - """ - # Check if it's a Kokoro V1 model - if model_path.endswith(model_config.pytorch_kokoro_v1_file): - return 'kokoro_v1' - # Otherwise use legacy backend determination - elif settings.use_onnx or model_path.lower().endswith('.onnx'): - return 'onnx_gpu' if settings.use_gpu and torch.cuda.is_available() else 'onnx_cpu' - return 'pytorch' - - async def load_model( - self, - model_path: str, - warmup_voice: Optional[Union[str, Tuple[str, torch.Tensor]]] = None, - backend_type: Optional[str] = None - ) -> None: - """Load model on specified backend. - Args: - model_path: Path to model file - warmup_voice: Optional voice tensor for warmup, skips warmup if None - backend_type: Backend to load on, uses default if None + Initialized backend instance + Raises: - RuntimeError: If model loading fails + RuntimeError: If backend not initialized """ + if not self._backend: + raise RuntimeError("Backend not initialized") + return self._backend + + async def load_model(self, path: str) -> None: + """Load model using initialized backend. + + Args: + path: Path to model file + + Raises: + RuntimeError: If loading fails + """ + if not self._backend: + raise RuntimeError("Backend not initialized") + try: - # Get absolute model path - abs_path = await paths.get_model_path(model_path) - - # Auto-determine backend if not specified - if backend_type is None: - backend_type = self._determine_backend(abs_path) - - # Get backend lock - lock = self._backend_locks[backend_type] - - async with lock: - backend = self.get_backend(backend_type) - - # For ONNX backends, use session pool - if backend_type.startswith('onnx'): - pool = self._session_pools[backend_type] - backend._session = await pool.get_session(abs_path) - self._loaded_models[backend_type] = abs_path - logger.info(f"Fetched model instance from {backend_type} pool") - - # For PyTorch and Kokoro backends, load normally - else: - # Check if model is already loaded - if (backend_type in self._loaded_models and - self._loaded_models[backend_type] == abs_path and - backend.is_loaded): - logger.info(f"Fetching existing model instance from {backend_type}") - return - - # Load model - await backend.load_model(abs_path) - self._loaded_models[backend_type] = abs_path - logger.info(f"Initialized new model instance on {backend_type}") - - # Run warmup if voice provided - if warmup_voice is not None: - await self._warmup_inference(backend, warmup_voice) - + await self._backend.load_model(path) except Exception as e: - # Clear cached path on failure - self._loaded_models.pop(backend_type, None) raise RuntimeError(f"Failed to load model: {e}") - async def _warmup_inference( - self, - backend: BaseModelBackend, - voice: Union[str, Tuple[str, torch.Tensor]] - ) -> None: - """Run warmup inference to initialize model. + async def generate(self, *args, **kwargs): + """Generate audio using initialized backend. - Args: - backend: Model backend to warm up - voice: Voice path or (name, tensor) tuple - """ - try: - # Use real text for warmup - text = "Testing text to speech synthesis." - - # Run inference - if isinstance(backend, KokoroV1): - async for _ in backend.generate(text, voice, speed=1.0): - pass # Just run through the chunks - else: - # Import here to avoid circular imports - from ..services.text_processing import process_text - tokens = process_text(text) - if not tokens: - raise ValueError("Text processing failed") - # For legacy backends, extract tensor if needed - voice_tensor = voice[1] if isinstance(voice, tuple) else voice - backend.generate(tokens, voice_tensor, speed=1.0) - logger.debug("Completed warmup inference") - - except Exception as e: - logger.warning(f"Warmup inference failed: {e}") - raise - - async def generate( - self, - input_text: str, - voice: Union[str, Tuple[str, torch.Tensor]], - speed: float = 1.0, - backend_type: Optional[str] = None - ) -> AsyncGenerator[np.ndarray, None]: - """Generate audio using specified backend. - - Args: - input_text: Input text to synthesize - voice: Voice path or (name, tensor) tuple - speed: Speed multiplier - backend_type: Backend to use, uses default if None - - Yields: - Generated audio chunks - Raises: RuntimeError: If generation fails """ - backend = self.get_backend(backend_type) - if not backend.is_loaded: - raise RuntimeError("Model not loaded") - + if not self._backend: + raise RuntimeError("Backend not initialized") + try: - # Generate audio using provided voice - # No lock needed here since inference is thread-safe - if isinstance(backend, KokoroV1): - async for chunk in backend.generate(input_text, voice, speed): - yield chunk - else: - # Import here to avoid circular imports - from ..services.text_processing import process_text - tokens = process_text(input_text) - if not tokens: - raise ValueError("Text processing failed") - # For legacy backends, extract tensor if needed - voice_tensor = voice[1] if isinstance(voice, tuple) else voice - yield backend.generate(tokens, voice_tensor, speed) + async for chunk in self._backend.generate(*args, **kwargs): + yield chunk except Exception as e: raise RuntimeError(f"Generation failed: {e}") def unload_all(self) -> None: - """Unload models from all backends and clear cache.""" - # Clean up session pools - for pool in self._session_pools.values(): - pool.cleanup() - - # Unload all backends - for backend in self._backends.values(): - backend.unload() - - self._loaded_models.clear() - logger.info("Unloaded all models and cleared cache") - - @property - def available_backends(self) -> list[str]: - """Get list of available backends.""" - return list(self._backends.keys()) + """Unload model and free resources.""" + if self._backend: + self._backend.unload() + self._backend = None @property def current_backend(self) -> str: - """Get current default backend.""" - return self._current_backend + """Get current backend type.""" + return "kokoro_v1" async def get_manager(config: Optional[ModelConfig] = None) -> ModelManager: - """Get global model manager instance. + """Get model manager instance. + Args: - config: Optional model configuration + config: Optional configuration override + Returns: ModelManager instance - Thread Safety: - This function should be thread-safe. Lemme know if it unravels on you """ - global _manager_instance - - # Fast path - return existing instance without lock - if _manager_instance is not None: - return _manager_instance - - # Slow path - create new instance with lock - async with _manager_lock: - # Double-check pattern - if _manager_instance is None: - _manager_instance = ModelManager(config) - await _manager_instance.initialize() - return _manager_instance + if ModelManager._instance is None: + ModelManager._instance = ModelManager(config) + return ModelManager._instance diff --git a/api/src/inference/onnx_cpu.py b/api/src/inference/onnx_cpu.py deleted file mode 100644 index 10ee946..0000000 --- a/api/src/inference/onnx_cpu.py +++ /dev/null @@ -1,115 +0,0 @@ -"""CPU-based ONNX inference backend.""" - -from typing import Optional - -import numpy as np -import torch -from loguru import logger -from onnxruntime import InferenceSession - -from ..core import paths -from ..core.model_config import model_config -from .base import BaseModelBackend -from .session_pool import create_session_options, create_provider_options - - -class ONNXCPUBackend(BaseModelBackend): - """ONNX-based CPU inference backend.""" - - def __init__(self): - """Initialize CPU backend.""" - super().__init__() - self._device = "cpu" - self._session: Optional[InferenceSession] = None - - @property - def is_loaded(self) -> bool: - """Check if model is loaded.""" - return self._session is not None - - async def load_model(self, path: str) -> None: - """Load ONNX model. - - Args: - path: Path to model file - - Raises: - RuntimeError: If model loading fails - """ - try: - # Get verified model path - model_path = await paths.get_model_path(path) - - logger.info(f"Loading ONNX model: {model_path}") - - # Configure session - options = create_session_options(is_gpu=False) - provider_options = create_provider_options(is_gpu=False) - - # Create session - self._session = InferenceSession( - model_path, - sess_options=options, - providers=["CPUExecutionProvider"], - provider_options=[provider_options] - ) - - except Exception as e: - raise RuntimeError(f"Failed to load ONNX model: {e}") - - def generate( - self, - tokens: list[int], - voice: torch.Tensor, - speed: float = 1.0 - ) -> np.ndarray: - """Generate audio using ONNX model. - - Args: - tokens: Input token IDs - voice: Voice embedding tensor - speed: Speed multiplier - - Returns: - Generated audio samples - - Raises: - RuntimeError: If generation fails - """ - if not self.is_loaded: - raise RuntimeError("Model not loaded") - - try: - # Prepare inputs with start/end tokens - tokens_input = np.array([[0, *tokens, 0]], dtype=np.int64) # Add start/end tokens - style_input = voice[len(tokens) + 2].numpy() # Adjust index for start/end tokens - speed_input = np.full(1, speed, dtype=np.float32) - - # Build base inputs - inputs = { - "style": style_input, - "speed": speed_input - } - - # Try both possible token input names #TODO: - for token_name in ["tokens", "input_ids"]: - try: - inputs[token_name] = tokens_input - result = self._session.run(None, inputs) - return result[0] - except Exception: - del inputs[token_name] - continue - - raise RuntimeError("Model does not accept either 'tokens' or 'input_ids' as input name") - - except Exception as e: - raise RuntimeError(f"Generation failed: {e}") - - def unload(self) -> None: - """Unload model and free resources.""" - if self._session is not None: - del self._session - self._session = None - if torch.cuda.is_available(): - torch.cuda.empty_cache() \ No newline at end of file diff --git a/api/src/inference/onnx_gpu.py b/api/src/inference/onnx_gpu.py deleted file mode 100644 index 266bad5..0000000 --- a/api/src/inference/onnx_gpu.py +++ /dev/null @@ -1,119 +0,0 @@ -"""GPU-based ONNX inference backend.""" - -from typing import Optional - -import numpy as np -import torch -from loguru import logger -from onnxruntime import InferenceSession - -from ..core import paths -from ..core.model_config import model_config -from .base import BaseModelBackend -from .session_pool import create_session_options, create_provider_options - - -class ONNXGPUBackend(BaseModelBackend): - """ONNX-based GPU inference backend.""" - - def __init__(self): - """Initialize GPU backend.""" - super().__init__() - if not torch.cuda.is_available(): - raise RuntimeError("CUDA not available") - self._device = "cuda" - self._session: Optional[InferenceSession] = None - - # Configure GPU - torch.cuda.set_device(model_config.onnx_gpu.device_id) - - @property - def is_loaded(self) -> bool: - """Check if model is loaded.""" - return self._session is not None - - async def load_model(self, path: str) -> None: - """Load ONNX model. - - Args: - path: Path to model file - - Raises: - RuntimeError: If model loading fails - """ - try: - # Get verified model path - model_path = await paths.get_model_path(path) - - logger.info(f"Loading ONNX model on GPU: {model_path}") - - # Configure session - options = create_session_options(is_gpu=True) - provider_options = create_provider_options(is_gpu=True) - - # Create session with CUDA provider - self._session = InferenceSession( - model_path, - sess_options=options, - providers=["CUDAExecutionProvider"], - provider_options=[provider_options] - ) - - except Exception as e: - raise RuntimeError(f"Failed to load ONNX model: {e}") - - def generate( - self, - tokens: list[int], - voice: torch.Tensor, - speed: float = 1.0 - ) -> np.ndarray: - """Generate audio using ONNX model. - - Args: - tokens: Input token IDs - voice: Voice embedding tensor - speed: Speed multiplier - - Returns: - Generated audio samples - - Raises: - RuntimeError: If generation fails - """ - if not self.is_loaded: - raise RuntimeError("Model not loaded") - - try: - # Prepare inputs - tokens_input = np.array([[0, *tokens, 0]], dtype=np.int64) # Add start/end tokens - # Use modulo to ensure index stays within voice tensor bounds - style_idx = (len(tokens) + 2) % voice.size(0) # Add 2 for start/end tokens - style_input = voice[style_idx].cpu().numpy() # Move to CPU for ONNX - speed_input = np.full(1, speed, dtype=np.float32) - - # Run inference - result = self._session.run( - None, - { - "tokens": tokens_input, - "style": style_input, - "speed": speed_input - } - ) - - return result[0] - - except Exception as e: - if "out of memory" in str(e).lower(): - # Clear CUDA cache and retry - torch.cuda.empty_cache() - return self.generate(tokens, voice, speed) - raise RuntimeError(f"Generation failed: {e}") - - def unload(self) -> None: - """Unload model and free resources.""" - if self._session is not None: - del self._session - self._session = None - torch.cuda.empty_cache() \ No newline at end of file diff --git a/api/src/inference/pytorch_backend.py b/api/src/inference/pytorch_backend.py deleted file mode 100644 index 4ad5095..0000000 --- a/api/src/inference/pytorch_backend.py +++ /dev/null @@ -1,244 +0,0 @@ -"""PyTorch inference backend with environment-based configuration.""" - -import gc -from typing import Optional -from contextlib import nullcontext -from typing import Optional - -import numpy as np -import torch -from loguru import logger - -from ..builds.models import build_model -from ..core import paths -from ..core.model_config import model_config -from ..core.config import settings -from .base import BaseModelBackend - - -class CUDAStreamManager: - """CUDA stream manager for GPU operations.""" - - def __init__(self, num_streams: int): - """Initialize stream manager. - - Args: - num_streams: Number of CUDA streams - """ - self.streams = [torch.cuda.Stream() for _ in range(num_streams)] - self._current = 0 - - def get_next_stream(self) -> torch.cuda.Stream: - """Get next available stream. - - Returns: - CUDA stream - """ - stream = self.streams[self._current] - self._current = (self._current + 1) % len(self.streams) - return stream - - -@torch.no_grad() -def forward( - model: torch.nn.Module, - tokens: list[int], - ref_s: torch.Tensor, - speed: float, - stream: Optional[torch.cuda.Stream] = None, -) -> np.ndarray: - """Forward pass through model. - - Args: - model: PyTorch model - tokens: Input tokens - ref_s: Reference signal - speed: Speed multiplier - stream: Optional CUDA stream (GPU only) - - Returns: - Generated audio - """ - device = ref_s.device - - # Use provided stream or default for GPU - context = ( - torch.cuda.stream(stream) if stream and device.type == "cuda" else nullcontext() - ) - - with context: - # Initial tensor setup - tokens = torch.LongTensor([[0, *tokens, 0]]).to(device) - input_lengths = torch.LongTensor([tokens.shape[-1]]).to(device) - text_mask = length_to_mask(input_lengths).to(device) - - # Split reference signals - style_dim = 128 - s_ref = ref_s[:, :style_dim].clone().to(device) - s_content = ref_s[:, style_dim:].clone().to(device) - - # BERT and encoder pass - bert_dur = model.bert(tokens, attention_mask=(~text_mask).int()) - d_en = model.bert_encoder(bert_dur).transpose(-1, -2) - - # Predictor forward pass - d = model.predictor.text_encoder(d_en, s_content, input_lengths, text_mask) - x, _ = model.predictor.lstm(d) - - # Duration prediction - duration = model.predictor.duration_proj(x) - duration = torch.sigmoid(duration).sum(axis=-1) / speed - pred_dur = torch.round(duration).clamp(min=1).long() - del duration, x - - # Alignment matrix construction - pred_aln_trg = torch.zeros( - input_lengths.item(), pred_dur.sum().item(), device=device - ) - c_frame = 0 - for i in range(pred_aln_trg.size(0)): - pred_aln_trg[i, c_frame : c_frame + pred_dur[0, i].item()] = 1 - c_frame += pred_dur[0, i].item() - pred_aln_trg = pred_aln_trg.unsqueeze(0) - - # Matrix multiplications - en = d.transpose(-1, -2) @ pred_aln_trg - del d - - F0_pred, N_pred = model.predictor.F0Ntrain(en, s_content) - del en - - # Final text encoding and decoding - t_en = model.text_encoder(tokens, input_lengths, text_mask) - asr = t_en @ pred_aln_trg - del t_en - - # Generate output - output = model.decoder(asr, F0_pred, N_pred, s_ref) - - # Ensure operation completion if using custom stream - if stream and device.type == "cuda": - stream.synchronize() - - return output.squeeze().cpu().numpy() - - -def length_to_mask(lengths: torch.Tensor) -> torch.Tensor: - """Create attention mask from lengths.""" - max_len = lengths.max() - mask = torch.arange(max_len, device=lengths.device)[None, :].expand( - lengths.shape[0], -1 - ) - if lengths.dtype != mask.dtype: - mask = mask.to(dtype=lengths.dtype) - return mask + 1 > lengths[:, None] - - -class PyTorchBackend(BaseModelBackend): - """PyTorch inference backend with environment-based configuration.""" - - def __init__(self): - """Initialize backend based on environment configuration.""" - super().__init__() - - # Configure device based on settings - self._device = ( - "cuda" if settings.use_gpu and torch.cuda.is_available() else "cpu" - ) - self._model: Optional[torch.nn.Module] = None - - # Apply device-specific configurations - if self._device == "cuda": - config = model_config.pytorch_gpu - if config.sync_cuda: - torch.cuda.synchronize() - torch.cuda.set_device(config.device_id) - self._stream_manager = CUDAStreamManager(config.cuda_streams) - else: - config = model_config.pytorch_cpu - if config.num_threads > 0: - torch.set_num_threads(config.num_threads) - if config.pin_memory: - torch.set_default_tensor_type(torch.FloatTensor) - - async def load_model(self, path: str) -> None: - """Load PyTorch model. - - Args: - path: Path to model file - - Raises: - RuntimeError: If model loading fails - """ - try: - # Get verified model path - model_path = await paths.get_model_path(path) - - logger.info(f"Loading PyTorch model on {self._device}: {model_path}") - self._model = await build_model(model_path, self._device) - - except Exception as e: - raise RuntimeError(f"Failed to load PyTorch model: {e}") - - def generate( - self, tokens: list[int], voice: torch.Tensor, speed: float = 1.0 - ) -> np.ndarray: - """Generate audio using model. - - Args: - tokens: Input token IDs - voice: Voice embedding tensor - speed: Speed multiplier - - Returns: - Generated audio samples - - Raises: - RuntimeError: If generation fails - """ - if not self.is_loaded: - raise RuntimeError("Model not loaded") - - try: - # Memory management for GPU - if self._device == "cuda": - if self._check_memory(): - self._clear_memory() - stream = self._stream_manager.get_next_stream() - else: - stream = None - - # Get reference style from voice pack - ref_s = voice[len(tokens)].clone().to(self._device) - if ref_s.dim() == 1: - ref_s = ref_s.unsqueeze(0) - - # Generate audio - return forward(self._model, tokens, ref_s, speed, stream) - - except Exception as e: - logger.error(f"Generation failed: {e}") - if ( - self._device == "cuda" - and model_config.pytorch_gpu.retry_on_oom - and "out of memory" in str(e).lower() - ): - self._clear_memory() - return self.generate(tokens, voice, speed) - raise - finally: - if self._device == "cuda" and model_config.pytorch_gpu.sync_cuda: - torch.cuda.synchronize() - - def _check_memory(self) -> bool: - """Check if memory usage is above threshold.""" - if self._device == "cuda": - memory_gb = torch.cuda.memory_allocated() / 1e9 - return memory_gb > model_config.pytorch_gpu.memory_threshold - return False - - def _clear_memory(self) -> None: - """Clear device memory.""" - if self._device == "cuda": - torch.cuda.empty_cache() - gc.collect() diff --git a/api/src/inference/session_pool.py b/api/src/inference/session_pool.py deleted file mode 100644 index 2dafa61..0000000 --- a/api/src/inference/session_pool.py +++ /dev/null @@ -1,272 +0,0 @@ -"""Session pooling for model inference.""" - -import asyncio -import time -from dataclasses import dataclass -from typing import Dict, Optional, Set - -import torch -from loguru import logger -from onnxruntime import ( - ExecutionMode, - GraphOptimizationLevel, - InferenceSession, - SessionOptions -) - -from ..core import paths -from ..core.model_config import model_config - - -@dataclass -class SessionInfo: - """Session information.""" - session: InferenceSession - last_used: float - stream_id: Optional[int] = None - - -def create_session_options(is_gpu: bool = False) -> SessionOptions: - """Create ONNX session options. - - Args: - is_gpu: Whether to use GPU configuration - - Returns: - Configured session options - """ - options = SessionOptions() - config = model_config.onnx_gpu if is_gpu else model_config.onnx_cpu - - # Set optimization level - if config.optimization_level == "all": - options.graph_optimization_level = GraphOptimizationLevel.ORT_ENABLE_ALL - elif config.optimization_level == "basic": - options.graph_optimization_level = GraphOptimizationLevel.ORT_ENABLE_BASIC - else: - options.graph_optimization_level = GraphOptimizationLevel.ORT_DISABLE_ALL - - # Configure threading - options.intra_op_num_threads = config.num_threads - options.inter_op_num_threads = config.inter_op_threads - - # Set execution mode - options.execution_mode = ( - ExecutionMode.ORT_PARALLEL - if config.execution_mode == "parallel" - else ExecutionMode.ORT_SEQUENTIAL - ) - - # Configure memory optimization - options.enable_mem_pattern = config.memory_pattern - - return options - - -def create_provider_options(is_gpu: bool = False) -> Dict: - """Create provider options. - - Args: - is_gpu: Whether to use GPU configuration - - Returns: - Provider configuration - """ - if is_gpu: - config = model_config.onnx_gpu - return { - "device_id": config.device_id, - "arena_extend_strategy": config.arena_extend_strategy, - "gpu_mem_limit": int(config.gpu_mem_limit * torch.cuda.get_device_properties(0).total_memory), - "cudnn_conv_algo_search": config.cudnn_conv_algo_search, - "do_copy_in_default_stream": config.do_copy_in_default_stream - } - else: - return { - "arena_extend_strategy": model_config.onnx_cpu.arena_extend_strategy, - "cpu_memory_arena_cfg": "cpu:0" - } - - -class BaseSessionPool: - """Base session pool implementation.""" - - def __init__(self, max_size: int, timeout: int): - """Initialize session pool. - - Args: - max_size: Maximum number of concurrent sessions - timeout: Session timeout in seconds - """ - self._max_size = max_size - self._timeout = timeout - self._sessions: Dict[str, SessionInfo] = {} - self._lock = asyncio.Lock() - - async def get_session(self, model_path: str) -> InferenceSession: - """Get session from pool. - - Args: - model_path: Path to model file - - Returns: - ONNX inference session - - Raises: - RuntimeError: If no sessions available - """ - async with self._lock: - # Clean expired sessions - self._cleanup_expired() - - # TODO: Change session tracking to use unique IDs instead of model paths - # This would allow multiple instances of the same model - - # Check if session exists and is valid - if model_path in self._sessions: - session_info = self._sessions[model_path] - session_info.last_used = time.time() - return session_info.session - - # TODO: Modify session limit check to count instances per model path - # Rather than total sessions across all models - if len(self._sessions) >= self._max_size: - raise RuntimeError( - f"Maximum number of sessions reached ({self._max_size}). " - "Try again later or reduce concurrent requests." - ) - - # Create new session - session = await self._create_session(model_path) - self._sessions[model_path] = SessionInfo( - session=session, - last_used=time.time() - ) - return session - - def _cleanup_expired(self) -> None: - """Remove expired sessions.""" - current_time = time.time() - expired = [ - path for path, info in self._sessions.items() - if current_time - info.last_used > self._timeout - ] - for path in expired: - logger.info(f"Removing expired session: {path}") - del self._sessions[path] - - async def _create_session(self, model_path: str) -> InferenceSession: - """Create new session. - - Args: - model_path: Path to model file - - Returns: - ONNX inference session - """ - raise NotImplementedError - - def cleanup(self) -> None: - """Clean up all sessions.""" - self._sessions.clear() - - -class StreamingSessionPool(BaseSessionPool): - """GPU session pool with CUDA streams.""" - - def __init__(self): - """Initialize GPU session pool.""" - config = model_config.onnx_gpu - super().__init__(config.cuda_streams, config.stream_timeout) - self._available_streams: Set[int] = set(range(config.cuda_streams)) - - async def get_session(self, model_path: str) -> InferenceSession: - """Get session with CUDA stream. - - Args: - model_path: Path to model file - - Returns: - ONNX inference session - - Raises: - RuntimeError: If no streams available - """ - async with self._lock: - # Clean expired sessions - self._cleanup_expired() - - # Try to find existing session - if model_path in self._sessions: - session_info = self._sessions[model_path] - session_info.last_used = time.time() - return session_info.session - - # Get available stream - if not self._available_streams: - raise RuntimeError("No CUDA streams available") - stream_id = self._available_streams.pop() - - try: - # Create new session - session = await self._create_session(model_path) - self._sessions[model_path] = SessionInfo( - session=session, - last_used=time.time(), - stream_id=stream_id - ) - return session - - except Exception: - # Return stream to pool on failure - self._available_streams.add(stream_id) - raise - - def _cleanup_expired(self) -> None: - """Remove expired sessions and return streams.""" - current_time = time.time() - expired = [ - path for path, info in self._sessions.items() - if current_time - info.last_used > self._timeout - ] - for path in expired: - info = self._sessions[path] - if info.stream_id is not None: - self._available_streams.add(info.stream_id) - logger.info(f"Removing expired session: {path}") - del self._sessions[path] - - async def _create_session(self, model_path: str) -> InferenceSession: - """Create new session with CUDA provider.""" - abs_path = await paths.get_model_path(model_path) - options = create_session_options(is_gpu=True) - provider_options = create_provider_options(is_gpu=True) - - return InferenceSession( - abs_path, - sess_options=options, - providers=["CUDAExecutionProvider"], - provider_options=[provider_options] - ) - - -class CPUSessionPool(BaseSessionPool): - """CPU session pool.""" - - def __init__(self): - """Initialize CPU session pool.""" - config = model_config.onnx_cpu - super().__init__(config.max_instances, config.instance_timeout) - - async def _create_session(self, model_path: str) -> InferenceSession: - """Create new session with CPU provider.""" - abs_path = await paths.get_model_path(model_path) - options = create_session_options(is_gpu=False) - provider_options = create_provider_options(is_gpu=False) - - return InferenceSession( - abs_path, - sess_options=options, - providers=["CPUExecutionProvider"], - provider_options=[provider_options] - ) \ No newline at end of file diff --git a/api/src/inference/voice_manager.py b/api/src/inference/voice_manager.py index 6ac6545..f4797d9 100644 --- a/api/src/inference/voice_manager.py +++ b/api/src/inference/voice_manager.py @@ -1,6 +1,5 @@ -"""Voice pack management and caching.""" +"""Voice management with controlled resource handling.""" -import os from typing import Dict, List, Optional import torch @@ -8,248 +7,110 @@ from loguru import logger from ..core import paths from ..core.config import settings -from ..core.model_config import model_config -from ..structures.model_schemas import VoiceConfig class VoiceManager: - """Manages voice loading and operations.""" + """Manages voice loading and caching with controlled resource usage.""" - def __init__(self, config: Optional[VoiceConfig] = None): - """Initialize voice manager. - - Args: - config: Optional voice configuration - """ - self._config = config or VoiceConfig() - self._voice_cache: Dict[str, torch.Tensor] = {} + # Singleton instance + _instance = None - def get_voice_path(self, voice_name: str) -> Optional[str]: + def __init__(self): + """Initialize voice manager.""" + # Strictly respect settings.use_gpu + self._device = "cuda" if settings.use_gpu else "cpu" + self._voices: Dict[str, torch.Tensor] = {} + + async def get_voice_path(self, voice_name: str) -> str: """Get path to voice file. Args: voice_name: Name of voice Returns: - Path to voice file if exists, None otherwise + Path to voice file + + Raises: + RuntimeError: If voice not found """ - api_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) - voices_dir = os.path.join(api_dir, settings.voices_dir) + return await paths.get_voice_path(voice_name) - logger.debug(f"Looking for voice: {voice_name}") - logger.debug(f"Base voices directory: {voices_dir}") - - # Check v1_0 subdirectory first if using Kokoro V1 - if model_config.pytorch_kokoro_v1_file: - v1_path = os.path.join(voices_dir, 'v1_0', f"{voice_name}.pt") - logger.debug(f"Checking v1_0 path: {v1_path}") - if os.path.exists(v1_path): - logger.debug(f"Found voice in v1_0: {v1_path}") - return v1_path - - # Fall back to main voices directory - voice_path = os.path.join(voices_dir, f"{voice_name}.pt") - logger.debug(f"Checking main path: {voice_path}") - if os.path.exists(voice_path): - logger.debug(f"Found voice in main dir: {voice_path}") - return voice_path - - logger.debug(f"Voice not found: {voice_name}") - return None - - async def load_voice(self, voice_name: str, device: str = "cpu") -> torch.Tensor: + async def load_voice(self, voice_name: str, device: Optional[str] = None) -> torch.Tensor: """Load voice tensor. Args: voice_name: Name of voice to load - device: Device to load voice on + device: Optional override for target device Returns: Voice tensor Raises: - RuntimeError: If voice loading fails + RuntimeError: If voice not found """ - # Check if it's a combined voice request - if "+" in voice_name: - voices = [v.strip() for v in voice_name.split("+") if v.strip()] - if len(voices) < 2: - raise RuntimeError(f"Invalid combined voice name: {voice_name}") - - # Load and combine voices - voice_tensors = [] - for voice in voices: - try: - voice_tensor = await self.load_voice(voice, device) - voice_tensors.append(voice_tensor) - except Exception as e: - raise RuntimeError(f"Failed to load base voice {voice}: {e}") - - return torch.mean(torch.stack(voice_tensors), dim=0) - - # Handle single voice - voice_path = self.get_voice_path(voice_name) - if not voice_path: - raise RuntimeError(f"Voice not found: {voice_name}") - - # Check cache - cache_key = f"{voice_path}_{device}" - if self._config.use_cache and cache_key in self._voice_cache: - logger.debug(f"Using cached voice: {voice_name} from {voice_path}") - return self._voice_cache[cache_key] - - # Load voice tensor try: - logger.debug(f"Loading voice tensor from: {voice_path}") - voice = await paths.load_voice_tensor(voice_path, device=device) + voice_path = await self.get_voice_path(voice_name) + target_device = device or self._device + voice = await paths.load_voice_tensor(voice_path, target_device) + self._voices[voice_name] = voice + return voice except Exception as e: raise RuntimeError(f"Failed to load voice {voice_name}: {e}") - # Cache if enabled - if self._config.use_cache: - self._manage_cache() - self._voice_cache[cache_key] = voice - logger.debug(f"Cached voice: {voice_name} on {device} from {voice_path}") - - return voice - - def _manage_cache(self) -> None: - """Manage voice cache size using simple LRU.""" - if len(self._voice_cache) >= self._config.cache_size: - # Remove least recently used voice - oldest = next(iter(self._voice_cache)) - del self._voice_cache[oldest] - torch.cuda.empty_cache() # Clean up GPU memory if needed - logger.debug(f"Removed LRU voice from cache: {oldest}") - - async def combine_voices(self, voices: List[str], device: str = "cpu") -> str: - """Combine multiple voices into a new voice. + async def combine_voices(self, voices: List[str], device: Optional[str] = None) -> str: + """Combine multiple voices. Args: voices: List of voice names to combine - device: Device to load voices on + device: Optional override for target device Returns: Name of combined voice Raises: - ValueError: If fewer than 2 voices provided - RuntimeError: If voice combination fails + RuntimeError: If any voice not found """ if len(voices) < 2: - raise ValueError("At least 2 voices are required for combination") - - # Create combined name using + as separator + raise ValueError("Need at least 2 voices to combine") + + target_device = device or self._device + voice_tensors = [] + for name in voices: + voice = await self.load_voice(name, target_device) + voice_tensors.append(voice) + + combined = torch.mean(torch.stack(voice_tensors), dim=0) combined_name = "+".join(voices) - - # If saving is enabled, try to save the combination - if settings.allow_local_voice_saving: - try: - # Load and combine voices - combined_tensor = await self.load_voice(combined_name, device) - - # Save to disk - api_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) - voices_dir = os.path.join(api_dir, settings.voices_dir) - - # Save in v1_0 directory if using Kokoro V1 - if model_config.pytorch_kokoro_v1_file: - voices_dir = os.path.join(voices_dir, 'v1_0') - - os.makedirs(voices_dir, exist_ok=True) - - combined_path = os.path.join(voices_dir, f"{combined_name}.pt") - try: - torch.save(combined_tensor, combined_path) - # Cache with path-based key - self._voice_cache[f"{combined_path}_{device}"] = combined_tensor - except Exception as e: - raise RuntimeError(f"Failed to save combined voice: {e}") - - except Exception as e: - logger.warning(f"Failed to save combined voice: {e}") - # Continue without saving - will be combined on-the-fly when needed - + self._voices[combined_name] = combined + return combined_name async def list_voices(self) -> List[str]: - """List available voices. + """List available voice names. Returns: List of voice names """ - voices = set() # Use set to avoid duplicates - try: - # Get voices from disk - api_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) - voices_dir = os.path.join(api_dir, settings.voices_dir) - os.makedirs(voices_dir, exist_ok=True) - - # Check v1_0 subdirectory if using Kokoro V1 - if model_config.pytorch_kokoro_v1_file: - v1_dir = os.path.join(voices_dir, 'v1_0') - logger.debug(f"Checking v1_0 directory: {v1_dir}") - if os.path.exists(v1_dir): - for entry in os.listdir(v1_dir): - if entry.endswith(".pt"): - voices.add(entry[:-3]) - logger.debug(f"Found v1_0 voice: {entry[:-3]}") - else: - # Check main voices directory - for entry in os.listdir(voices_dir): - if entry.endswith(".pt"): - voices.add(entry[:-3]) - logger.debug(f"Found main voice: {entry[:-3]}") - - except Exception as e: - logger.error(f"Error listing voices: {e}") - return sorted(list(voices)) + return await paths.list_voices() - def validate_voice(self, voice_path: str) -> bool: - """Validate voice file. - - Args: - voice_path: Path to voice file - - Returns: - True if valid, False otherwise - """ - try: - if not os.path.exists(voice_path): - return False - voice = torch.load(voice_path, map_location="cpu", weights_only=False) - return isinstance(voice, torch.Tensor) - except Exception: - return False - - @property def cache_info(self) -> Dict[str, int]: """Get cache statistics. Returns: - Dictionary with cache info + Dict with cache statistics """ return { - 'size': len(self._voice_cache), - 'max_size': self._config.cache_size + "loaded_voices": len(self._voices), + "device": self._device } -# Global singleton instance and lock -_manager_instance = None - - -async def get_manager(config: Optional[VoiceConfig] = None) -> VoiceManager: - """Get global voice manager instance. +async def get_manager() -> VoiceManager: + """Get voice manager instance. - Args: - config: Optional voice configuration - Returns: VoiceManager instance """ - global _manager_instance - - if _manager_instance is None: - _manager_instance = VoiceManager(config) - return _manager_instance \ No newline at end of file + if VoiceManager._instance is None: + VoiceManager._instance = VoiceManager() + return VoiceManager._instance \ No newline at end of file diff --git a/api/src/main.py b/api/src/main.py index 9c74fcf..1a720e8 100644 --- a/api/src/main.py +++ b/api/src/main.py @@ -55,23 +55,23 @@ async def lifespan(app: FastAPI): logger.info("Loading TTS model and voice packs...") try: - # Initialize managers globally + # Initialize managers model_manager = await get_manager() voice_manager = await get_voice_manager() # Initialize model with warmup and get status - device, model, voicepack_count = await model_manager.initialize_with_warmup(voice_manager) + device, model, voicepack_count = await model_manager\ + .initialize_with_warmup(voice_manager) + except FileNotFoundError: logger.error(""" -Model files not found! You need to either: +Model files not found! You need to download the Kokoro V1 model: -1. Download models using the scripts: - GPU: python docker/scripts/download_model.py --type pth - CPU: python docker/scripts/download_model.py --type onnx +1. Download model using the script: + python docker/scripts/download_model.py --version v1_0 --output api/src/models/v1_0 -2. Set environment variables in docker-compose: - GPU: DOWNLOAD_PTH=true - CPU: DOWNLOAD_ONNX=true +2. Or set environment variable in docker-compose: + DOWNLOAD_MODEL=true """) raise except Exception as e: diff --git a/api/src/routers/openai_compatible.py b/api/src/routers/openai_compatible.py index d800cf7..cd4234e 100644 --- a/api/src/routers/openai_compatible.py +++ b/api/src/routers/openai_compatible.py @@ -68,6 +68,7 @@ def get_model_name(model: str) -> str: extension = ".onnx" if settings.use_onnx else ".pth" return base_name + extension + async def process_voices( voice_input: Union[str, List[str]], tts_service: TTSService ) -> str: diff --git a/api/src/services/tts_service.py b/api/src/services/tts_service.py index bcaf830..078314f 100644 --- a/api/src/services/tts_service.py +++ b/api/src/services/tts_service.py @@ -161,7 +161,7 @@ class TTSService: # Load and combine voices voice_tensors = [] for v in voices: - path = self._voice_manager.get_voice_path(v) + path = await self._voice_manager.get_voice_path(v) if not path: raise RuntimeError(f"Voice not found: {v}") logger.debug(f"Loading voice tensor from: {path}") @@ -181,7 +181,7 @@ class TTSService: return voice, combined_path else: # Single voice - path = self._voice_manager.get_voice_path(voice) + path = await self._voice_manager.get_voice_path(voice) if not path: raise RuntimeError(f"Voice not found: {voice}") logger.debug(f"Using single voice path: {path}") diff --git a/api/src/voices/af_irulan.pt b/api/src/voices/v1_0/af_irulan.pt similarity index 100% rename from api/src/voices/af_irulan.pt rename to api/src/voices/v1_0/af_irulan.pt diff --git a/api/src/voices/v1_0/bf_isabella.pt b/api/src/voices/v1_0/bf_isabella.pt deleted file mode 100644 index c9e2d731d517f24b13827389bb2381834c4acc75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 523440 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®*rrrEQ*C3l;ds|GU*e( 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�>{K@VZz=9P+9kkM&)(oQ;Hk-!vNTtG*ZuK{2{-jDjChFkkbGM|W49XqC zEf8e!OeP!A3u032P~lPuuV3<;ekvc4?v6>8dc+T*;=iK)C%Q5AiK2oHXX*UY?GWP= z2=m>={;yLr)Rff1q*V)q&ro<6e%i79^L@B#%_UjWHUoTl;VfIM^`R{DeD3_v2>n9Z}y^p zYeTUAxRFxhGCv-BE(^DW{^Sv$O3t%AVfXheaj(vko)~R~w<=n2)OR-Lr}uz|I||9H zzdq)?NnppL!?C6uSa(M_TY0|(+dkJNqaO`4_@%4ldMz5K{VR~!&5gyGzbas`vNm?i z$%M6ff@K?R!Ma~8;P&xnpqBE0zc(M_j{#Mr5tt8q?wE4&H8KB(`tpdYF8pxBLz%3L z$p4D8#(sA;(Isc09~*LB`f^g4FhbP-icV74UoBP}V^6+wJTU2ACUrjI%ai86mHy|~ zAl24Rlw@+9_)5`0Hr%Ag*CYHS-;sl)?TgfLbA5!!s=I^*>SD(ym&xkZyF{kacj`w= zX>Ob^TCF)v!Hv22^usBfUoG}D&Ro#2L`i(&c4i)B zT!fz=s-?1(YZ^l1QkMcMKS?|V?IUqp)iwu!9BaJ=lC z0~dGeVe)`97*bHk^+S51&d@N{KdZv&^O|7fxI{V{q>QG%<>2zz3@1Gh^M7Y~{1i7I zb$7jjgX4{GMN1}XR2f24TQaYj=m2{E3IDHMSCPYUggrd3Lf@A&@YfS(R9_xX`;M34 zfXSA)cZCAhnTpK1-C7vEqX9DdKcgwTyYj=H8#p~Xl#fqzqxnAG89$vM{=N$Gf&f;Z(oWg)V(_=nO>bQ&*tT0%V?gsnN=gl; zkNUf0|NL9TovmKB|5z^=`ae57e7}UFqkq$5!z0q{L&=gC4WXjm{qf~=H~u1vqIrkT z(wpDgVUKShnEDp*EcGVv(s=^M92S!AlL{D8YR6U8`*6w9%d#~m4X|nHS)T7bk^HRk z`A83AjHvek-+>?LOX>Lo>T9Ghc8Um(&XZ6L4+rIrQR zF#JVtn!hy!HKZG+xhwczF*F)L>( ziCu6Z4eu@ZeC8W?)aPMXH4#N`8O~A9+rTgSiZnh^aQr&lrEgX%arE`$vdPY|n0uuH zy6@A*`e_+ZIVTS4?pd&Yqy?;hQxB{4A8=x;;2%Gzq-N`5kd$b~58fH#thqwN6Y9ba zTK8p%@*@AE-Ws#wH<6EiXLL6@C*4<2CZG9Me825i>Do0~JaxiInmow^W0bNe>Yy)& zK6@h-Jbo%o{@^O@oZN}eKO4w{uj+BI;biHIii{PbaFX5YBxoFgu!Sxy< zdpqVEB}`jJZx{LEC%r-%+MJ6E_ME~jPj%e$%Zx1^{-Q-w3dpQX7sH!2O4cIR!{<>9 z?~AL13nQ%AeC8H*6WZ9*YnIURF*)QjAsUi|KD)Uaa;2-N|Bd%#H>2gqk5V8<%ZVM9 z#FL#>29I-C>*#XL53oPV3Z6|h!pMe9d~9q4Hm{Re7aU-O;(st)yDQHfb%f2mu0qZG8Mx}Av#7Or z;iE3YRnsl8EmQ&3ME&ClE!?oN0eW7lr-bCL+}v*if4UILpIcn%NRU1%tJ!dZcLL@g zvju~O3UG@{#jNO7aGWbRpe~-AUoS_^<}O?{x{ge8O({Xqm~Wp}CCNbtzXaWoc6Nww z;@3QCU*gJJ8b|P*to`)o_5vO`${CI{s9;=d0PmP7_J0dvaP=WYOi`O8vL{!gU+zS5 z_z_HAebZ#l?k%wNWu0u8o(ha~w?pIl5}v>Ix5)oJB55k5NWZ@gq4kFSF@KJm;HF1W z{nfKnp|b-n1_=F6NCEG&dI3*jo

OMbshgLn>?Sc*Wg)*!aIIvLAO0FxBQPM-P}p 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

2A%=~ByD6>`B`*B7#M&d?Ycf`&`o(BPQQ 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±J;CI1zdL7L+1wC^0hy8xHjgUT=$F;nOa7{ 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 z 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 Zj(;6@z3uMWt?N|Ex{0r@&;RSQ{{j3D<&yva diff --git a/api/src/voices/af.pt b/api/src/voices/v1_0/v0_af.pt similarity index 100% rename from api/src/voices/af.pt rename to api/src/voices/v1_0/v0_af.pt diff --git a/api/src/voices/af_bella.pt b/api/src/voices/v1_0/v0_af_bella.pt similarity index 100% rename from api/src/voices/af_bella.pt rename to api/src/voices/v1_0/v0_af_bella.pt diff --git a/api/src/voices/v1_0/v0_af_irulan.pt b/api/src/voices/v1_0/v0_af_irulan.pt new file mode 100644 index 0000000000000000000000000000000000000000..c9e1b7108bfbefd6d69258c48a3ce1a816767529 GIT binary patch literal 524484 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 literal 0 HcmV?d00001 diff --git a/api/src/voices/af_nicole.pt b/api/src/voices/v1_0/v0_af_nicole.pt similarity index 100% rename from api/src/voices/af_nicole.pt rename to api/src/voices/v1_0/v0_af_nicole.pt diff --git a/api/src/voices/af_sarah.pt b/api/src/voices/v1_0/v0_af_sarah.pt similarity index 100% rename from api/src/voices/af_sarah.pt rename to api/src/voices/v1_0/v0_af_sarah.pt diff --git a/api/src/voices/af_sky.pt b/api/src/voices/v1_0/v0_af_sky.pt similarity index 100% rename from api/src/voices/af_sky.pt rename to api/src/voices/v1_0/v0_af_sky.pt diff --git a/api/src/voices/am_adam.pt b/api/src/voices/v1_0/v0_am_adam.pt similarity index 100% rename from api/src/voices/am_adam.pt rename to api/src/voices/v1_0/v0_am_adam.pt diff --git a/api/src/voices/am_gurney.pt b/api/src/voices/v1_0/v0_am_gurney.pt similarity index 100% rename from api/src/voices/am_gurney.pt rename to api/src/voices/v1_0/v0_am_gurney.pt diff --git a/api/src/voices/am_michael.pt b/api/src/voices/v1_0/v0_am_michael.pt similarity index 100% rename from api/src/voices/am_michael.pt rename to api/src/voices/v1_0/v0_am_michael.pt diff --git a/api/src/voices/bf_emma.pt b/api/src/voices/v1_0/v0_bf_emma.pt similarity index 100% rename from api/src/voices/bf_emma.pt rename to api/src/voices/v1_0/v0_bf_emma.pt diff --git a/api/src/voices/bf_isabella.pt b/api/src/voices/v1_0/v0_bf_isabella.pt similarity index 100% rename from api/src/voices/bf_isabella.pt rename to api/src/voices/v1_0/v0_bf_isabella.pt diff --git a/api/src/voices/bm_george.pt b/api/src/voices/v1_0/v0_bm_george.pt similarity index 100% rename from api/src/voices/bm_george.pt rename to api/src/voices/v1_0/v0_bm_george.pt diff --git a/api/src/voices/bm_lewis.pt b/api/src/voices/v1_0/v0_bm_lewis.pt similarity index 100% rename from api/src/voices/bm_lewis.pt rename to api/src/voices/v1_0/v0_bm_lewis.pt diff --git a/docker/scripts/download_model.py b/docker/scripts/download_model.py index c27f802..735ae88 100644 --- a/docker/scripts/download_model.py +++ b/docker/scripts/download_model.py @@ -1,103 +1,86 @@ #!/usr/bin/env python3 -import os -import sys +"""Download and prepare Kokoro model for Docker build.""" + import argparse -import requests +import json +import os +import shutil from pathlib import Path -from typing import List -def download_file(url: str, output_dir: Path, model_type: str, overwrite:str) -> bool: - """Download a file from URL to the specified directory. +import torch +from huggingface_hub import hf_hub_download +from loguru import logger + + +def download_model(version: str, output_dir: str) -> None: + """Download model files from HuggingFace. - Returns: - bool: True if download succeeded, False otherwise + Args: + version: Model version to download + output_dir: Directory to save model files """ - filename = os.path.basename(url) - if not filename.endswith(f'.{model_type}'): - print(f"Warning: {filename} is not a .{model_type} file", file=sys.stderr) - return False - - output_path = output_dir / filename - - if os.path.exists(output_path): - print(f"{filename} exists. Canceling download") - return True - - print(f"Downloading {filename}...") try: - response = requests.get(url, stream=True) - response.raise_for_status() + logger.info(f"Downloading Kokoro model version {version}") - with open(output_path, 'wb') as f: - for chunk in response.iter_content(chunk_size=8192): - f.write(chunk) - print(f"Successfully downloaded {filename}") - return True - except Exception as e: - print(f"Error downloading {filename}: {e}", file=sys.stderr) - return False - -def find_project_root() -> Path: - """Find project root by looking for api directory.""" - max_steps = 5 - current = Path(__file__).resolve() - for _ in range(max_steps): - if (current / 'api').is_dir(): - return current - current = current.parent - raise RuntimeError("Could not find project root (no api directory found)") - -def main() -> int: - """Download models to the project. - - Returns: - int: Exit code (0 for success, 1 for failure) - """ - parser = argparse.ArgumentParser(description='Download model files') - parser.add_argument('--type', choices=['pth', 'onnx'], required=True, - help='Model type to download (pth or onnx)') - parser.add_argument('--overwrite', action='store_true', help='Overwite existing files') - parser.add_argument('urls', nargs='*', help='Optional model URLs to download') - args = parser.parse_args() - - try: - # Find project root and ensure models directory exists - project_root = find_project_root() - models_dir = project_root / 'api' / 'src' / 'models' - print(f"Downloading models to {models_dir}") - models_dir.mkdir(exist_ok=True) + # Create output directory + os.makedirs(output_dir, exist_ok=True) - # Default models if no arguments provided - default_models = { - 'pth': [ - "https://github.com/remsky/Kokoro-FastAPI/releases/download/v0.1.0/kokoro-v0_19.pth", - "https://github.com/remsky/Kokoro-FastAPI/releases/download/v0.1.0/kokoro-v0_19-half.pth" - ], - 'onnx': [ - "https://github.com/remsky/Kokoro-FastAPI/releases/download/v0.1.0/kokoro-v0_19.onnx", - "https://github.com/remsky/Kokoro-FastAPI/releases/download/v0.1.0/kokoro-v0_19_fp16.onnx" - ] - } + # Download model files + model_file = hf_hub_download( + repo_id="hexgrad/Kokoro-82M", + filename=f"kokoro-{version}.pth" + ) + config_file = hf_hub_download( + repo_id="hexgrad/Kokoro-82M", + filename="config.json" + ) - # Use provided models or default - models_to_download = args.urls if args.urls else default_models[args.type] + # Copy to output directory + shutil.copy2(model_file, os.path.join(output_dir, "model.pt")) + shutil.copy2(config_file, os.path.join(output_dir, "config.json")) - # Download all models - success = True - for model_url in models_to_download: - if not download_file(model_url, models_dir, args.type,args.overwrite): - success = False + # Verify files + model_path = os.path.join(output_dir, "model.pt") + config_path = os.path.join(output_dir, "config.json") - if success: - print(f"{args.type.upper()} model download complete!") - return 0 - else: - print("Some downloads failed", file=sys.stderr) - return 1 + if not os.path.exists(model_path): + raise RuntimeError(f"Model file not found: {model_path}") + if not os.path.exists(config_path): + raise RuntimeError(f"Config file not found: {config_path}") + # Load and verify model + logger.info("Verifying model files...") + with open(config_path) as f: + config = json.load(f) + logger.info(f"Loaded config: {config}") + + model = torch.load(model_path, map_location="cpu") + logger.info(f"Loaded model with keys: {model.keys()}") + + logger.info(f"✓ Model files prepared in {output_dir}") + except Exception as e: - print(f"Error: {e}", file=sys.stderr) - return 1 + logger.error(f"Failed to download model: {e}") + raise + + +def main(): + """Main entry point.""" + parser = argparse.ArgumentParser(description="Download Kokoro model for Docker build") + parser.add_argument( + "--version", + default="v1_0", + help="Model version to download" + ) + parser.add_argument( + "--output", + required=True, + help="Output directory for model files" + ) + + args = parser.parse_args() + download_model(args.version, args.output) + if __name__ == "__main__": - sys.exit(main()) \ No newline at end of file + main() \ No newline at end of file diff --git a/start-cpu.sh b/start-cpu.sh index cde957f..7be376d 100755 --- a/start-cpu.sh +++ b/start-cpu.sh @@ -5,7 +5,7 @@ PROJECT_ROOT=$(pwd) # Set environment variables export USE_GPU=false -export USE_ONNX=true +export USE_ONNX=false export PYTHONPATH=$PROJECT_ROOT:$PROJECT_ROOT/api export MODEL_DIR=$PROJECT_ROOT/api/src/models export VOICES_DIR=$PROJECT_ROOT/api/src/voices diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..1a44130 --- /dev/null +++ b/uv.lock @@ -0,0 +1,4260 @@ +version = 1 +requires-python = ">=3.10" +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform == 'darwin')", + "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform == 'darwin')", + "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform == 'darwin')", + "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'darwin')", +] +conflicts = [[ + { package = "kokoro-fastapi", extra = "cpu" }, + { package = "kokoro-fastapi", extra = "gpu" }, +]] + +[[package]] +name = "aiofiles" +version = "23.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/41/cfed10bc64d774f497a86e5ede9248e1d062db675504b41c320954d99641/aiofiles-23.2.1.tar.gz", hash = "sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a", size = 32072 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/19/5af6804c4cc0fed83f47bff6e413a98a36618e7d40185cd36e69737f3b0e/aiofiles-23.2.1-py3-none-any.whl", hash = "sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107", size = 15727 }, +] + +[[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 = "anyio" +version = "4.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.11' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041 }, +] + +[[package]] +name = "attrs" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e", size = 810562 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a", size = 63152 }, +] + +[[package]] +name = "audioop-lts" +version = "0.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dd/3b/69ff8a885e4c1c42014c2765275c4bd91fe7bc9847e9d8543dbcbb09f820/audioop_lts-0.2.1.tar.gz", hash = "sha256:e81268da0baa880431b68b1308ab7257eb33f356e57a5f9b1f915dfb13dd1387", size = 30204 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/91/a219253cc6e92db2ebeaf5cf8197f71d995df6f6b16091d1f3ce62cb169d/audioop_lts-0.2.1-cp313-abi3-macosx_10_13_universal2.whl", hash = "sha256:fd1345ae99e17e6910f47ce7d52673c6a1a70820d78b67de1b7abb3af29c426a", size = 46252 }, + { url = "https://files.pythonhosted.org/packages/ec/f6/3cb21e0accd9e112d27cee3b1477cd04dafe88675c54ad8b0d56226c1e0b/audioop_lts-0.2.1-cp313-abi3-macosx_10_13_x86_64.whl", hash = "sha256:e175350da05d2087e12cea8e72a70a1a8b14a17e92ed2022952a4419689ede5e", size = 27183 }, + { url = "https://files.pythonhosted.org/packages/ea/7e/f94c8a6a8b2571694375b4cf94d3e5e0f529e8e6ba280fad4d8c70621f27/audioop_lts-0.2.1-cp313-abi3-macosx_11_0_arm64.whl", hash = "sha256:4a8dd6a81770f6ecf019c4b6d659e000dc26571b273953cef7cd1d5ce2ff3ae6", size = 26726 }, + { url = "https://files.pythonhosted.org/packages/ef/f8/a0e8e7a033b03fae2b16bc5aa48100b461c4f3a8a38af56d5ad579924a3a/audioop_lts-0.2.1-cp313-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1cd3c0b6f2ca25c7d2b1c3adeecbe23e65689839ba73331ebc7d893fcda7ffe", size = 80718 }, + { url = "https://files.pythonhosted.org/packages/8f/ea/a98ebd4ed631c93b8b8f2368862cd8084d75c77a697248c24437c36a6f7e/audioop_lts-0.2.1-cp313-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff3f97b3372c97782e9c6d3d7fdbe83bce8f70de719605bd7ee1839cd1ab360a", size = 88326 }, + { url = "https://files.pythonhosted.org/packages/33/79/e97a9f9daac0982aa92db1199339bd393594d9a4196ad95ae088635a105f/audioop_lts-0.2.1-cp313-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a351af79edefc2a1bd2234bfd8b339935f389209943043913a919df4b0f13300", size = 80539 }, + { url = "https://files.pythonhosted.org/packages/b2/d3/1051d80e6f2d6f4773f90c07e73743a1e19fcd31af58ff4e8ef0375d3a80/audioop_lts-0.2.1-cp313-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2aeb6f96f7f6da80354330470b9134d81b4cf544cdd1c549f2f45fe964d28059", size = 78577 }, + { url = "https://files.pythonhosted.org/packages/7a/1d/54f4c58bae8dc8c64a75071c7e98e105ddaca35449376fcb0180f6e3c9df/audioop_lts-0.2.1-cp313-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c589f06407e8340e81962575fcffbba1e92671879a221186c3d4662de9fe804e", size = 82074 }, + { url = "https://files.pythonhosted.org/packages/36/89/2e78daa7cebbea57e72c0e1927413be4db675548a537cfba6a19040d52fa/audioop_lts-0.2.1-cp313-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fbae5d6925d7c26e712f0beda5ed69ebb40e14212c185d129b8dfbfcc335eb48", size = 84210 }, + { url = "https://files.pythonhosted.org/packages/a5/57/3ff8a74df2ec2fa6d2ae06ac86e4a27d6412dbb7d0e0d41024222744c7e0/audioop_lts-0.2.1-cp313-abi3-musllinux_1_2_i686.whl", hash = "sha256:d2d5434717f33117f29b5691fbdf142d36573d751716249a288fbb96ba26a281", size = 85664 }, + { url = "https://files.pythonhosted.org/packages/16/01/21cc4e5878f6edbc8e54be4c108d7cb9cb6202313cfe98e4ece6064580dd/audioop_lts-0.2.1-cp313-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:f626a01c0a186b08f7ff61431c01c055961ee28769591efa8800beadd27a2959", size = 93255 }, + { url = "https://files.pythonhosted.org/packages/3e/28/7f7418c362a899ac3b0bf13b1fde2d4ffccfdeb6a859abd26f2d142a1d58/audioop_lts-0.2.1-cp313-abi3-musllinux_1_2_s390x.whl", hash = "sha256:05da64e73837f88ee5c6217d732d2584cf638003ac72df124740460531e95e47", size = 87760 }, + { url = "https://files.pythonhosted.org/packages/6d/d8/577a8be87dc7dd2ba568895045cee7d32e81d85a7e44a29000fe02c4d9d4/audioop_lts-0.2.1-cp313-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:56b7a0a4dba8e353436f31a932f3045d108a67b5943b30f85a5563f4d8488d77", size = 84992 }, + { url = "https://files.pythonhosted.org/packages/ef/9a/4699b0c4fcf89936d2bfb5425f55f1a8b86dff4237cfcc104946c9cd9858/audioop_lts-0.2.1-cp313-abi3-win32.whl", hash = "sha256:6e899eb8874dc2413b11926b5fb3857ec0ab55222840e38016a6ba2ea9b7d5e3", size = 26059 }, + { url = "https://files.pythonhosted.org/packages/3a/1c/1f88e9c5dd4785a547ce5fd1eb83fff832c00cc0e15c04c1119b02582d06/audioop_lts-0.2.1-cp313-abi3-win_amd64.whl", hash = "sha256:64562c5c771fb0a8b6262829b9b4f37a7b886c01b4d3ecdbae1d629717db08b4", size = 30412 }, + { url = "https://files.pythonhosted.org/packages/c4/e9/c123fd29d89a6402ad261516f848437472ccc602abb59bba522af45e281b/audioop_lts-0.2.1-cp313-abi3-win_arm64.whl", hash = "sha256:c45317debeb64002e980077642afbd977773a25fa3dfd7ed0c84dccfc1fafcb0", size = 23578 }, + { url = "https://files.pythonhosted.org/packages/7a/99/bb664a99561fd4266687e5cb8965e6ec31ba4ff7002c3fce3dc5ef2709db/audioop_lts-0.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:3827e3fce6fee4d69d96a3d00cd2ab07f3c0d844cb1e44e26f719b34a5b15455", size = 46827 }, + { url = "https://files.pythonhosted.org/packages/c4/e3/f664171e867e0768ab982715e744430cf323f1282eb2e11ebfb6ee4c4551/audioop_lts-0.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:161249db9343b3c9780ca92c0be0d1ccbfecdbccac6844f3d0d44b9c4a00a17f", size = 27479 }, + { url = "https://files.pythonhosted.org/packages/a6/0d/2a79231ff54eb20e83b47e7610462ad6a2bea4e113fae5aa91c6547e7764/audioop_lts-0.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5b7b4ff9de7a44e0ad2618afdc2ac920b91f4a6d3509520ee65339d4acde5abf", size = 27056 }, + { url = "https://files.pythonhosted.org/packages/86/46/342471398283bb0634f5a6df947806a423ba74b2e29e250c7ec0e3720e4f/audioop_lts-0.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72e37f416adb43b0ced93419de0122b42753ee74e87070777b53c5d2241e7fab", size = 87802 }, + { url = "https://files.pythonhosted.org/packages/56/44/7a85b08d4ed55517634ff19ddfbd0af05bf8bfd39a204e4445cd0e6f0cc9/audioop_lts-0.2.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:534ce808e6bab6adb65548723c8cbe189a3379245db89b9d555c4210b4aaa9b6", size = 95016 }, + { url = "https://files.pythonhosted.org/packages/a8/2a/45edbca97ea9ee9e6bbbdb8d25613a36e16a4d1e14ae01557392f15cc8d3/audioop_lts-0.2.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2de9b6fb8b1cf9f03990b299a9112bfdf8b86b6987003ca9e8a6c4f56d39543", size = 87394 }, + { url = "https://files.pythonhosted.org/packages/14/ae/832bcbbef2c510629593bf46739374174606e25ac7d106b08d396b74c964/audioop_lts-0.2.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f24865991b5ed4b038add5edbf424639d1358144f4e2a3e7a84bc6ba23e35074", size = 84874 }, + { url = "https://files.pythonhosted.org/packages/26/1c/8023c3490798ed2f90dfe58ec3b26d7520a243ae9c0fc751ed3c9d8dbb69/audioop_lts-0.2.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bdb3b7912ccd57ea53197943f1bbc67262dcf29802c4a6df79ec1c715d45a78", size = 88698 }, + { url = "https://files.pythonhosted.org/packages/2c/db/5379d953d4918278b1f04a5a64b2c112bd7aae8f81021009da0dcb77173c/audioop_lts-0.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:120678b208cca1158f0a12d667af592e067f7a50df9adc4dc8f6ad8d065a93fb", size = 90401 }, + { url = "https://files.pythonhosted.org/packages/99/6e/3c45d316705ab1aec2e69543a5b5e458d0d112a93d08994347fafef03d50/audioop_lts-0.2.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:54cd4520fc830b23c7d223693ed3e1b4d464997dd3abc7c15dce9a1f9bd76ab2", size = 91864 }, + { url = "https://files.pythonhosted.org/packages/08/58/6a371d8fed4f34debdb532c0b00942a84ebf3e7ad368e5edc26931d0e251/audioop_lts-0.2.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:d6bd20c7a10abcb0fb3d8aaa7508c0bf3d40dfad7515c572014da4b979d3310a", size = 98796 }, + { url = "https://files.pythonhosted.org/packages/ee/77/d637aa35497e0034ff846fd3330d1db26bc6fd9dd79c406e1341188b06a2/audioop_lts-0.2.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:f0ed1ad9bd862539ea875fb339ecb18fcc4148f8d9908f4502df28f94d23491a", size = 94116 }, + { url = "https://files.pythonhosted.org/packages/1a/60/7afc2abf46bbcf525a6ebc0305d85ab08dc2d1e2da72c48dbb35eee5b62c/audioop_lts-0.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e1af3ff32b8c38a7d900382646e91f2fc515fd19dea37e9392275a5cbfdbff63", size = 91520 }, + { url = "https://files.pythonhosted.org/packages/65/6d/42d40da100be1afb661fd77c2b1c0dfab08af1540df57533621aea3db52a/audioop_lts-0.2.1-cp313-cp313t-win32.whl", hash = "sha256:f51bb55122a89f7a0817d7ac2319744b4640b5b446c4c3efcea5764ea99ae509", size = 26482 }, + { url = "https://files.pythonhosted.org/packages/01/09/f08494dca79f65212f5b273aecc5a2f96691bf3307cac29acfcf84300c01/audioop_lts-0.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f0f2f336aa2aee2bce0b0dcc32bbba9178995454c7b979cf6ce086a8801e14c7", size = 30780 }, + { url = "https://files.pythonhosted.org/packages/5d/35/be73b6015511aa0173ec595fc579133b797ad532996f2998fd6b8d1bbe6b/audioop_lts-0.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:78bfb3703388c780edf900be66e07de5a3d4105ca8e8720c5c4d67927e0b15d0", size = 23918 }, +] + +[[package]] +name = "babel" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 }, +] + +[[package]] +name = "blis" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e5/69/d4829c5b5cd244e6140a0754a0f73cc725c6e138f609b4c5d1982e699906/blis-1.2.0.tar.gz", hash = "sha256:f25f99d7f3cad72c86a7499212ee833fb5062d80ad1763a935e0e498bc147c69", size = 2375955 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/ff/c55d9d42a622b95fca27f82d4674cd19ad86941dc893f0898ebcccdab105/blis-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:76998702acbb782e9bb298a5c446aaa1ed4652dbade853baa6a7a26f7b98105b", size = 6973751 }, + { url = "https://files.pythonhosted.org/packages/fd/bc/5993eb63fc8a2784fb3a82320bd65df958d7250047f77f467508da896296/blis-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1c290c1ba6cb5b633abe59b2fb9ae2ea5dcd7508202f65658fe816bb7e129485", size = 1280762 }, + { url = "https://files.pythonhosted.org/packages/ff/65/3dae66f7aec4fe92726f33180cb8780d6a9bc49de25b3ee413275ff1aaf3/blis-1.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd81489e4b1a4a6bc51f5578795bc9150a2e8b9babead1074ca51398aff51852", size = 3186927 }, + { url = "https://files.pythonhosted.org/packages/4c/96/a420114cb430a790a038ca5a67171b5b124b2b1b0463be2e93bfa8c3378d/blis-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4896cc4c10c9856c9faaf89401dcb87894da06a18b4b986064acd737a6ed3e60", size = 11526130 }, + { url = "https://files.pythonhosted.org/packages/a1/a3/a626f0e90683667a83cb735fe9638e4ffd0004a188287868a79771fb257f/blis-1.2.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:60a29dcb1bba49cae70088d480b95042d4fbbe6b380f2f7c9e70b2781dc126dd", size = 4225925 }, + { url = "https://files.pythonhosted.org/packages/c9/70/655b6017396074b1c05010d9127c18eb5f404b22e2b819f1e6da50f202fe/blis-1.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fc1de26073302a3713e487ea85d1ecd0bce204f6b102da498c3cd08528a1d69e", size = 14694282 }, + { url = "https://files.pythonhosted.org/packages/af/e0/4ac06562b5dce221fbe20a1f0acd47f67454c377d00b1de0dd44de67116d/blis-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:cc2aa5ce96f33162779e88add93b5051437f9c2701d24ee0d2dd89da9a9c23b1", size = 6247380 }, + { url = "https://files.pythonhosted.org/packages/3c/3f/62bc963d7cad6d5d4038ca0fed236559abd67c1afca33a2d5644412470f7/blis-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:debafb46ad8b5e2d18932770639aa1d22b61580a07ec718e9efcf50c76e180d6", size = 6976662 }, + { url = "https://files.pythonhosted.org/packages/70/4e/4d030d66d3de8dbe12217b4bb0fc67264df9befea07f6c164d33a23b0b09/blis-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:eb27e94b9dbd9c23595b95155607a57ad814bebd3cc1bf8551bee4af60e1b5d7", size = 1281766 }, + { url = "https://files.pythonhosted.org/packages/c8/32/9994aa6a2cc00f97a71cb6079364c3108da35e19203affcd9c541309728a/blis-1.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f8ed98669144fb8ee30052f7259d0cb78b7b3755d9589d98cbb7986d22473ab7", size = 3304018 }, + { url = "https://files.pythonhosted.org/packages/73/e7/95ae571ccfe5c43fb65fce5921e8a6213c4443a2e18a9ca5b6bad2fc8aab/blis-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08f62b6f114370d8449b4836ebd157980a5718a5c39266af9cdff67a9602a421", size = 11659934 }, + { url = "https://files.pythonhosted.org/packages/21/09/e99e3575eb3609db01948a4bbc3abce03e47be53c18338aa7a657bc92f1b/blis-1.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:cc5c25fb12fd134812ea47e3fcbbd64d46d0717d307c5c2fb32a45ac8daf3226", size = 4360532 }, + { url = "https://files.pythonhosted.org/packages/fc/94/2575e8e7716f25265ea17a7272c4dc5b0d32b4d2c52aafbf5425cfbf998c/blis-1.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:78a6498c748a42494a2cf58be489616a42ba0b925bc92ab23c3721dc779a4739", size = 14827891 }, + { url = "https://files.pythonhosted.org/packages/c4/d9/b647ef53c33c82c1fa2ed217c5793de551a38fb1e5b2430f59c3ecba4c86/blis-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5ad68bc972f210a0227d9742bf6325600bb95c8188f97850634f6d97c3a08107", size = 6230482 }, + { url = "https://files.pythonhosted.org/packages/fb/98/79df1711d96b38a3cf72b2abad412191fe2ada986b6203a1237dcd7aac9a/blis-1.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:99df869b8998303cf78e9f408f0350b0c5cd12d733caa8df99682f046b83ea35", size = 6989668 }, + { url = "https://files.pythonhosted.org/packages/1e/bb/3f84de3303873783f6c2dee121d0a36fae641332db73b046cc93cb7b717e/blis-1.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4001df564c43c8f2260b13c4f06327dee23831b178f65884c22b879062ebca14", size = 1282523 }, + { url = "https://files.pythonhosted.org/packages/91/4d/d0a599555fd97d3229d3c3fd8c7e5b531ca5863421370e99b46d70bce883/blis-1.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6af5dec35acfc044e29b89bb9202e74edc747344f5a46fc27e8a8998f8229610", size = 3260765 }, + { url = "https://files.pythonhosted.org/packages/4d/59/b7571c5fa57b2198b5240f8cd790daf5749491cc17706e3a4b1528a75185/blis-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:986f125ad0215e975a0895505728644dff2669a739f6c2faf89436e3fcae21ac", size = 11616436 }, + { url = "https://files.pythonhosted.org/packages/fe/50/9c1311aa73d9812e3c78ebeec7c4fb0b15fdecfcc9a4866f1e3c06d0f331/blis-1.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ea1f4ce1541cddbc9b0574a5969df2a518c5a6d4aa8787782dab5d82233a1458", size = 4309834 }, + { url = "https://files.pythonhosted.org/packages/d1/12/02f3afacf790a93e4d9f367cc5cdd95ed0348e5d2927bc4d9c7d1d70d1ae/blis-1.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6358168c4218a36e49c244c714f50248a1ef981874ae7bc785d68e76d55c57b5", size = 14789989 }, + { url = "https://files.pythonhosted.org/packages/c0/3a/ce0a98664d6283276fa986685e308c1dc1feb634241b2d3828ceaaa5a128/blis-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:067f4f99fb3dc0cf50bbbf0ee4b850f13e64fbb84fdaab0864fd97af0bee0ced", size = 6258036 }, +] + +[[package]] +name = "catalogue" +version = "2.0.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/38/b4/244d58127e1cdf04cf2dc7d9566f0d24ef01d5ce21811bab088ecc62b5ea/catalogue-2.0.10.tar.gz", hash = "sha256:4f56daa940913d3f09d589c191c74e5a6d51762b3a9e37dd53b7437afd6cda15", size = 19561 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/96/d32b941a501ab566a16358d68b6eb4e4acc373fab3c3c4d7d9e649f7b4bb/catalogue-2.0.10-py3-none-any.whl", hash = "sha256:58c2de0020aa90f4a2da7dfad161bf7b3b054c86a5f09fcedc0b2b740c109a9f", size = 17325 }, +] + +[[package]] +name = "certifi" +version = "2025.1.31" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 }, +] + +[[package]] +name = "cffi" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191 }, + { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592 }, + { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024 }, + { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188 }, + { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571 }, + { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687 }, + { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211 }, + { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325 }, + { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784 }, + { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564 }, + { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804 }, + { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299 }, + { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264 }, + { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651 }, + { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259 }, + { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200 }, + { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235 }, + { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721 }, + { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242 }, + { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999 }, + { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242 }, + { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604 }, + { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727 }, + { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400 }, + { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178 }, + { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840 }, + { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803 }, + { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850 }, + { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729 }, + { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256 }, + { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424 }, + { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568 }, + { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736 }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 }, + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/58/5580c1716040bc89206c77d8f74418caf82ce519aae06450393ca73475d1/charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", size = 198013 }, + { url = "https://files.pythonhosted.org/packages/d0/11/00341177ae71c6f5159a08168bcb98c6e6d196d372c94511f9f6c9afe0c6/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", size = 141285 }, + { url = "https://files.pythonhosted.org/packages/01/09/11d684ea5819e5a8f5100fb0b38cf8d02b514746607934134d31233e02c8/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", size = 151449 }, + { url = "https://files.pythonhosted.org/packages/08/06/9f5a12939db324d905dc1f70591ae7d7898d030d7662f0d426e2286f68c9/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", size = 143892 }, + { url = "https://files.pythonhosted.org/packages/93/62/5e89cdfe04584cb7f4d36003ffa2936681b03ecc0754f8e969c2becb7e24/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", size = 146123 }, + { url = "https://files.pythonhosted.org/packages/a9/ac/ab729a15c516da2ab70a05f8722ecfccc3f04ed7a18e45c75bbbaa347d61/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", size = 147943 }, + { url = "https://files.pythonhosted.org/packages/03/d2/3f392f23f042615689456e9a274640c1d2e5dd1d52de36ab8f7955f8f050/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", size = 142063 }, + { url = "https://files.pythonhosted.org/packages/f2/e3/e20aae5e1039a2cd9b08d9205f52142329f887f8cf70da3650326670bddf/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", size = 150578 }, + { url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629 }, + { url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778 }, + { url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453 }, + { url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479 }, + { url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790 }, + { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 }, + { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 }, + { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 }, + { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 }, + { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 }, + { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 }, + { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 }, + { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 }, + { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 }, + { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 }, + { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 }, + { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 }, + { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 }, + { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 }, + { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 }, + { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 }, + { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 }, + { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 }, + { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 }, + { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 }, + { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 }, + { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 }, + { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 }, + { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 }, + { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 }, + { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 }, + { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 }, + { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 }, + { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 }, + { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 }, + { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 }, + { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 }, + { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 }, + { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 }, + { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 }, + { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 }, + { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 }, + { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 }, + { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 }, + { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 }, +] + +[[package]] +name = "click" +version = "8.1.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, +] + +[[package]] +name = "clldutils" +version = "3.21.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "colorlog" }, + { name = "lxml" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "pylatexenc" }, + { name = "python-dateutil" }, + { name = "tabulate" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/29/a9/20fe03d6990599fe00879f0e8adb03666a790ab9b86ebccac368ae11d2c2/clldutils-3.21.0.tar.gz", hash = "sha256:a73ab7d664b90efb87a0a057718ac4389782a59b7eb046ef312d5a60d054bf95", size = 1710419 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/52/32/f8f97b5fb1d3c14ab8b0895082f4eccc280e6787d2b9a5c9d91a34f203f4/clldutils-3.21.0-py2.py3-none-any.whl", hash = "sha256:204851d8897ab590f059e272bcce222f5e15f75e7099e2e50cdc69b388a02792", size = 1723784 }, +] + +[[package]] +name = "cloudpathlib" +version = "0.20.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/0b/a47d78ed2816db100543b504fdbfc2070f422aac858e6bcf775713e37b8a/cloudpathlib-0.20.0.tar.gz", hash = "sha256:f6ef7ca409a510f7ba4639ba50ab3fc5b6dee82d6dff0d7f5715fd0c9ab35891", size = 45149 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/6e/b64600156934dab14cc8b403095a9ea8bd722aad2e775673c68346b76220/cloudpathlib-0.20.0-py3-none-any.whl", hash = "sha256:7af3bcefbf73392ae7f31c08b3660ec31607f8c01b7f6262d4d73469a845f641", size = 52547 }, +] + +[[package]] +name = "cn2an" +version = "0.5.23" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "proces" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/0b/35c9379122a2b551b22aa47d67b2a268eba2e77bc7509f52ed3f0ce6363e/cn2an-0.5.23.tar.gz", hash = "sha256:eda06a63e5eff4a64488d9f22e5f2a4ceca6eaa63416e4f771e67edecb1a5bdb", size = 21444 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/5c/03f0cb3d31c132e09f5523c76e963436fcd13c0318428021bd210f7bb216/cn2an-0.5.23-py3-none-any.whl", hash = "sha256:b19ab3c53676765c038ccdab51f69b7efa4f0b888139c34088935769241f1cbf", size = 224934 }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, +] + +[[package]] +name = "coloredlogs" +version = "15.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "humanfriendly" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cc/c7/eed8f27100517e8c0e6b923d5f0845d0cb99763da6fdee00478f91db7325/coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0", size = 278520 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/06/3d6badcf13db419e25b07041d9c7b4a2c331d3f4e7134445ec5df57714cd/coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934", size = 46018 }, +] + +[[package]] +name = "colorlog" +version = "6.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d3/7a/359f4d5df2353f26172b3cc39ea32daa39af8de522205f512f458923e677/colorlog-6.9.0.tar.gz", hash = "sha256:bfba54a1b93b94f54e1f4fe48395725a3d92fd2a4af702f6bd70946bdc0c6ac2", size = 16624 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e3/51/9b208e85196941db2f0654ad0357ca6388ab3ed67efdbfc799f35d1f83aa/colorlog-6.9.0-py3-none-any.whl", hash = "sha256:5906e71acd67cb07a71e779c47c4bcb45fb8c2993eebe9e5adcd6a6f1b283eff", size = 11424 }, +] + +[[package]] +name = "confection" +version = "0.1.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "srsly" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/51/d3/57c6631159a1b48d273b40865c315cf51f89df7a9d1101094ef12e3a37c2/confection-0.1.5.tar.gz", hash = "sha256:8e72dd3ca6bd4f48913cd220f10b8275978e740411654b6e8ca6d7008c590f0e", size = 38924 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/00/3106b1854b45bd0474ced037dfe6b73b90fe68a68968cef47c23de3d43d2/confection-0.1.5-py3-none-any.whl", hash = "sha256:e29d3c3f8eac06b3f77eb9dfb4bf2fc6bcc9622a98ca00a698e3d019c6430b14", size = 35451 }, +] + +[[package]] +name = "contourpy" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699", size = 13465753 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/a3/80937fe3efe0edacf67c9a20b955139a1a622730042c1ea991956f2704ad/contourpy-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a045f341a77b77e1c5de31e74e966537bba9f3c4099b35bf4c2e3939dd54cdab", size = 268466 }, + { url = "https://files.pythonhosted.org/packages/82/1d/e3eaebb4aa2d7311528c048350ca8e99cdacfafd99da87bc0a5f8d81f2c2/contourpy-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:500360b77259914f7805af7462e41f9cb7ca92ad38e9f94d6c8641b089338124", size = 253314 }, + { url = "https://files.pythonhosted.org/packages/de/f3/d796b22d1a2b587acc8100ba8c07fb7b5e17fde265a7bb05ab967f4c935a/contourpy-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2f926efda994cdf3c8d3fdb40b9962f86edbc4457e739277b961eced3d0b4c1", size = 312003 }, + { url = "https://files.pythonhosted.org/packages/bf/f5/0e67902bc4394daee8daa39c81d4f00b50e063ee1a46cb3938cc65585d36/contourpy-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adce39d67c0edf383647a3a007de0a45fd1b08dedaa5318404f1a73059c2512b", size = 351896 }, + { url = "https://files.pythonhosted.org/packages/1f/d6/e766395723f6256d45d6e67c13bb638dd1fa9dc10ef912dc7dd3dcfc19de/contourpy-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abbb49fb7dac584e5abc6636b7b2a7227111c4f771005853e7d25176daaf8453", size = 320814 }, + { url = "https://files.pythonhosted.org/packages/a9/57/86c500d63b3e26e5b73a28b8291a67c5608d4aa87ebd17bd15bb33c178bc/contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0cffcbede75c059f535725c1680dfb17b6ba8753f0c74b14e6a9c68c29d7ea3", size = 324969 }, + { url = "https://files.pythonhosted.org/packages/b8/62/bb146d1289d6b3450bccc4642e7f4413b92ebffd9bf2e91b0404323704a7/contourpy-1.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab29962927945d89d9b293eabd0d59aea28d887d4f3be6c22deaefbb938a7277", size = 1265162 }, + { url = "https://files.pythonhosted.org/packages/18/04/9f7d132ce49a212c8e767042cc80ae390f728060d2eea47058f55b9eff1c/contourpy-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974d8145f8ca354498005b5b981165b74a195abfae9a8129df3e56771961d595", size = 1324328 }, + { url = "https://files.pythonhosted.org/packages/46/23/196813901be3f97c83ababdab1382e13e0edc0bb4e7b49a7bff15fcf754e/contourpy-1.3.1-cp310-cp310-win32.whl", hash = "sha256:ac4578ac281983f63b400f7fe6c101bedc10651650eef012be1ccffcbacf3697", size = 173861 }, + { url = "https://files.pythonhosted.org/packages/e0/82/c372be3fc000a3b2005061ca623a0d1ecd2eaafb10d9e883a2fc8566e951/contourpy-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:174e758c66bbc1c8576992cec9599ce8b6672b741b5d336b5c74e35ac382b18e", size = 218566 }, + { url = "https://files.pythonhosted.org/packages/12/bb/11250d2906ee2e8b466b5f93e6b19d525f3e0254ac8b445b56e618527718/contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b", size = 269555 }, + { url = "https://files.pythonhosted.org/packages/67/71/1e6e95aee21a500415f5d2dbf037bf4567529b6a4e986594d7026ec5ae90/contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc", size = 254549 }, + { url = "https://files.pythonhosted.org/packages/31/2c/b88986e8d79ac45efe9d8801ae341525f38e087449b6c2f2e6050468a42c/contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86", size = 313000 }, + { url = "https://files.pythonhosted.org/packages/c4/18/65280989b151fcf33a8352f992eff71e61b968bef7432fbfde3a364f0730/contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6", size = 352925 }, + { url = "https://files.pythonhosted.org/packages/f5/c7/5fd0146c93220dbfe1a2e0f98969293b86ca9bc041d6c90c0e065f4619ad/contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85", size = 323693 }, + { url = "https://files.pythonhosted.org/packages/85/fc/7fa5d17daf77306840a4e84668a48ddff09e6bc09ba4e37e85ffc8e4faa3/contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c", size = 326184 }, + { url = "https://files.pythonhosted.org/packages/ef/e7/104065c8270c7397c9571620d3ab880558957216f2b5ebb7e040f85eeb22/contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291", size = 1268031 }, + { url = "https://files.pythonhosted.org/packages/e2/4a/c788d0bdbf32c8113c2354493ed291f924d4793c4a2e85b69e737a21a658/contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f", size = 1325995 }, + { url = "https://files.pythonhosted.org/packages/a6/e6/a2f351a90d955f8b0564caf1ebe4b1451a3f01f83e5e3a414055a5b8bccb/contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375", size = 174396 }, + { url = "https://files.pythonhosted.org/packages/a8/7e/cd93cab453720a5d6cb75588cc17dcdc08fc3484b9de98b885924ff61900/contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9", size = 219787 }, + { url = "https://files.pythonhosted.org/packages/37/6b/175f60227d3e7f5f1549fcb374592be311293132207e451c3d7c654c25fb/contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509", size = 271494 }, + { url = "https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc", size = 255444 }, + { url = "https://files.pythonhosted.org/packages/7f/b3/7859efce66eaca5c14ba7619791b084ed02d868d76b928ff56890d2d059d/contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454", size = 307628 }, + { url = "https://files.pythonhosted.org/packages/48/b2/011415f5e3f0a50b1e285a0bf78eb5d92a4df000553570f0851b6e309076/contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80", size = 347271 }, + { url = "https://files.pythonhosted.org/packages/84/7d/ef19b1db0f45b151ac78c65127235239a8cf21a59d1ce8507ce03e89a30b/contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec", size = 318906 }, + { url = "https://files.pythonhosted.org/packages/ba/99/6794142b90b853a9155316c8f470d2e4821fe6f086b03e372aca848227dd/contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9", size = 323622 }, + { url = "https://files.pythonhosted.org/packages/3c/0f/37d2c84a900cd8eb54e105f4fa9aebd275e14e266736778bb5dccbf3bbbb/contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b", size = 1266699 }, + { url = "https://files.pythonhosted.org/packages/3a/8a/deb5e11dc7d9cc8f0f9c8b29d4f062203f3af230ba83c30a6b161a6effc9/contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d", size = 1326395 }, + { url = "https://files.pythonhosted.org/packages/1a/35/7e267ae7c13aaf12322ccc493531f1e7f2eb8fba2927b9d7a05ff615df7a/contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e", size = 175354 }, + { url = "https://files.pythonhosted.org/packages/a1/35/c2de8823211d07e8a79ab018ef03960716c5dff6f4d5bff5af87fd682992/contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d", size = 220971 }, + { url = "https://files.pythonhosted.org/packages/9a/e7/de62050dce687c5e96f946a93546910bc67e483fe05324439e329ff36105/contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2", size = 271548 }, + { url = "https://files.pythonhosted.org/packages/78/4d/c2a09ae014ae984c6bdd29c11e74d3121b25eaa117eca0bb76340efd7e1c/contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5", size = 255576 }, + { url = "https://files.pythonhosted.org/packages/ab/8a/915380ee96a5638bda80cd061ccb8e666bfdccea38d5741cb69e6dbd61fc/contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81", size = 306635 }, + { url = "https://files.pythonhosted.org/packages/29/5c/c83ce09375428298acd4e6582aeb68b1e0d1447f877fa993d9bf6cd3b0a0/contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2", size = 345925 }, + { url = "https://files.pythonhosted.org/packages/29/63/5b52f4a15e80c66c8078a641a3bfacd6e07106835682454647aca1afc852/contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7", size = 318000 }, + { url = "https://files.pythonhosted.org/packages/9a/e2/30ca086c692691129849198659bf0556d72a757fe2769eb9620a27169296/contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c", size = 322689 }, + { url = "https://files.pythonhosted.org/packages/6b/77/f37812ef700f1f185d348394debf33f22d531e714cf6a35d13d68a7003c7/contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3", size = 1268413 }, + { url = "https://files.pythonhosted.org/packages/3f/6d/ce84e79cdd128542ebeb268f84abb4b093af78e7f8ec504676673d2675bc/contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1", size = 1326530 }, + { url = "https://files.pythonhosted.org/packages/72/22/8282f4eae20c73c89bee7a82a19c4e27af9b57bb602ecaa00713d5bdb54d/contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82", size = 175315 }, + { url = "https://files.pythonhosted.org/packages/e3/d5/28bca491f65312b438fbf076589dcde7f6f966b196d900777f5811b9c4e2/contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd", size = 220987 }, + { url = "https://files.pythonhosted.org/packages/2f/24/a4b285d6adaaf9746e4700932f579f1a7b6f9681109f694cfa233ae75c4e/contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30", size = 285001 }, + { url = "https://files.pythonhosted.org/packages/48/1d/fb49a401b5ca4f06ccf467cd6c4f1fd65767e63c21322b29b04ec40b40b9/contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751", size = 268553 }, + { url = "https://files.pythonhosted.org/packages/79/1e/4aef9470d13fd029087388fae750dccb49a50c012a6c8d1d634295caa644/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342", size = 310386 }, + { url = "https://files.pythonhosted.org/packages/b0/34/910dc706ed70153b60392b5305c708c9810d425bde12499c9184a1100888/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c", size = 349806 }, + { url = "https://files.pythonhosted.org/packages/31/3c/faee6a40d66d7f2a87f7102236bf4780c57990dd7f98e5ff29881b1b1344/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f", size = 321108 }, + { url = "https://files.pythonhosted.org/packages/17/69/390dc9b20dd4bb20585651d7316cc3054b7d4a7b4f8b710b2b698e08968d/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda", size = 327291 }, + { url = "https://files.pythonhosted.org/packages/ef/74/7030b67c4e941fe1e5424a3d988080e83568030ce0355f7c9fc556455b01/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242", size = 1263752 }, + { url = "https://files.pythonhosted.org/packages/f0/ed/92d86f183a8615f13f6b9cbfc5d4298a509d6ce433432e21da838b4b63f4/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1", size = 1318403 }, + { url = "https://files.pythonhosted.org/packages/b3/0e/c8e4950c77dcfc897c71d61e56690a0a9df39543d2164040301b5df8e67b/contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1", size = 185117 }, + { url = "https://files.pythonhosted.org/packages/c1/31/1ae946f11dfbd229222e6d6ad8e7bd1891d3d48bde5fbf7a0beb9491f8e3/contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546", size = 236668 }, + { url = "https://files.pythonhosted.org/packages/3e/4f/e56862e64b52b55b5ddcff4090085521fc228ceb09a88390a2b103dccd1b/contourpy-1.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b457d6430833cee8e4b8e9b6f07aa1c161e5e0d52e118dc102c8f9bd7dd060d6", size = 265605 }, + { url = "https://files.pythonhosted.org/packages/b0/2e/52bfeeaa4541889f23d8eadc6386b442ee2470bd3cff9baa67deb2dd5c57/contourpy-1.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb76c1a154b83991a3cbbf0dfeb26ec2833ad56f95540b442c73950af2013750", size = 315040 }, + { url = "https://files.pythonhosted.org/packages/52/94/86bfae441707205634d80392e873295652fc313dfd93c233c52c4dc07874/contourpy-1.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:44a29502ca9c7b5ba389e620d44f2fbe792b1fb5734e8b931ad307071ec58c53", size = 218221 }, +] + +[[package]] +name = "coverage" +version = "7.6.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/84/ba/ac14d281f80aab516275012e8875991bb06203957aa1e19950139238d658/coverage-7.6.10.tar.gz", hash = "sha256:7fb105327c8f8f0682e29843e2ff96af9dcbe5bab8eeb4b398c6a33a16d80a23", size = 803868 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/12/2a2a923edf4ddabdffed7ad6da50d96a5c126dae7b80a33df7310e329a1e/coverage-7.6.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5c912978f7fbf47ef99cec50c4401340436d200d41d714c7a4766f377c5b7b78", size = 207982 }, + { url = "https://files.pythonhosted.org/packages/ca/49/6985dbca9c7be3f3cb62a2e6e492a0c88b65bf40579e16c71ae9c33c6b23/coverage-7.6.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a01ec4af7dfeb96ff0078ad9a48810bb0cc8abcb0115180c6013a6b26237626c", size = 208414 }, + { url = "https://files.pythonhosted.org/packages/35/93/287e8f1d1ed2646f4e0b2605d14616c9a8a2697d0d1b453815eb5c6cebdb/coverage-7.6.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3b204c11e2b2d883946fe1d97f89403aa1811df28ce0447439178cc7463448a", size = 236860 }, + { url = "https://files.pythonhosted.org/packages/de/e1/cfdb5627a03567a10031acc629b75d45a4ca1616e54f7133ca1fa366050a/coverage-7.6.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32ee6d8491fcfc82652a37109f69dee9a830e9379166cb73c16d8dc5c2915165", size = 234758 }, + { url = "https://files.pythonhosted.org/packages/6d/85/fc0de2bcda3f97c2ee9fe8568f7d48f7279e91068958e5b2cc19e0e5f600/coverage-7.6.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675cefc4c06e3b4c876b85bfb7c59c5e2218167bbd4da5075cbe3b5790a28988", size = 235920 }, + { url = "https://files.pythonhosted.org/packages/79/73/ef4ea0105531506a6f4cf4ba571a214b14a884630b567ed65b3d9c1975e1/coverage-7.6.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f4f620668dbc6f5e909a0946a877310fb3d57aea8198bde792aae369ee1c23b5", size = 234986 }, + { url = "https://files.pythonhosted.org/packages/c6/4d/75afcfe4432e2ad0405c6f27adeb109ff8976c5e636af8604f94f29fa3fc/coverage-7.6.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:4eea95ef275de7abaef630c9b2c002ffbc01918b726a39f5a4353916ec72d2f3", size = 233446 }, + { url = "https://files.pythonhosted.org/packages/86/5b/efee56a89c16171288cafff022e8af44f8f94075c2d8da563c3935212871/coverage-7.6.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e2f0280519e42b0a17550072861e0bc8a80a0870de260f9796157d3fca2733c5", size = 234566 }, + { url = "https://files.pythonhosted.org/packages/f2/db/67770cceb4a64d3198bf2aa49946f411b85ec6b0a9b489e61c8467a4253b/coverage-7.6.10-cp310-cp310-win32.whl", hash = "sha256:bc67deb76bc3717f22e765ab3e07ee9c7a5e26b9019ca19a3b063d9f4b874244", size = 210675 }, + { url = "https://files.pythonhosted.org/packages/8d/27/e8bfc43f5345ec2c27bc8a1fa77cdc5ce9dcf954445e11f14bb70b889d14/coverage-7.6.10-cp310-cp310-win_amd64.whl", hash = "sha256:0f460286cb94036455e703c66988851d970fdfd8acc2a1122ab7f4f904e4029e", size = 211518 }, + { url = "https://files.pythonhosted.org/packages/85/d2/5e175fcf6766cf7501a8541d81778fd2f52f4870100e791f5327fd23270b/coverage-7.6.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ea3c8f04b3e4af80e17bab607c386a830ffc2fb88a5484e1df756478cf70d1d3", size = 208088 }, + { url = "https://files.pythonhosted.org/packages/4b/6f/06db4dc8fca33c13b673986e20e466fd936235a6ec1f0045c3853ac1b593/coverage-7.6.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:507a20fc863cae1d5720797761b42d2d87a04b3e5aeb682ef3b7332e90598f43", size = 208536 }, + { url = "https://files.pythonhosted.org/packages/0d/62/c6a0cf80318c1c1af376d52df444da3608eafc913b82c84a4600d8349472/coverage-7.6.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d37a84878285b903c0fe21ac8794c6dab58150e9359f1aaebbeddd6412d53132", size = 240474 }, + { url = "https://files.pythonhosted.org/packages/a3/59/750adafc2e57786d2e8739a46b680d4fb0fbc2d57fbcb161290a9f1ecf23/coverage-7.6.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a534738b47b0de1995f85f582d983d94031dffb48ab86c95bdf88dc62212142f", size = 237880 }, + { url = "https://files.pythonhosted.org/packages/2c/f8/ef009b3b98e9f7033c19deb40d629354aab1d8b2d7f9cfec284dbedf5096/coverage-7.6.10-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d7a2bf79378d8fb8afaa994f91bfd8215134f8631d27eba3e0e2c13546ce994", size = 239750 }, + { url = "https://files.pythonhosted.org/packages/a6/e2/6622f3b70f5f5b59f705e680dae6db64421af05a5d1e389afd24dae62e5b/coverage-7.6.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6713ba4b4ebc330f3def51df1d5d38fad60b66720948112f114968feb52d3f99", size = 238642 }, + { url = "https://files.pythonhosted.org/packages/2d/10/57ac3f191a3c95c67844099514ff44e6e19b2915cd1c22269fb27f9b17b6/coverage-7.6.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ab32947f481f7e8c763fa2c92fd9f44eeb143e7610c4ca9ecd6a36adab4081bd", size = 237266 }, + { url = "https://files.pythonhosted.org/packages/ee/2d/7016f4ad9d553cabcb7333ed78ff9d27248ec4eba8dd21fa488254dff894/coverage-7.6.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7bbd8c8f1b115b892e34ba66a097b915d3871db7ce0e6b9901f462ff3a975377", size = 238045 }, + { url = "https://files.pythonhosted.org/packages/a7/fe/45af5c82389a71e0cae4546413266d2195c3744849669b0bab4b5f2c75da/coverage-7.6.10-cp311-cp311-win32.whl", hash = "sha256:299e91b274c5c9cdb64cbdf1b3e4a8fe538a7a86acdd08fae52301b28ba297f8", size = 210647 }, + { url = "https://files.pythonhosted.org/packages/db/11/3f8e803a43b79bc534c6a506674da9d614e990e37118b4506faf70d46ed6/coverage-7.6.10-cp311-cp311-win_amd64.whl", hash = "sha256:489a01f94aa581dbd961f306e37d75d4ba16104bbfa2b0edb21d29b73be83609", size = 211508 }, + { url = "https://files.pythonhosted.org/packages/86/77/19d09ea06f92fdf0487499283b1b7af06bc422ea94534c8fe3a4cd023641/coverage-7.6.10-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:27c6e64726b307782fa5cbe531e7647aee385a29b2107cd87ba7c0105a5d3853", size = 208281 }, + { url = "https://files.pythonhosted.org/packages/b6/67/5479b9f2f99fcfb49c0d5cf61912a5255ef80b6e80a3cddba39c38146cf4/coverage-7.6.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c56e097019e72c373bae32d946ecf9858fda841e48d82df7e81c63ac25554078", size = 208514 }, + { url = "https://files.pythonhosted.org/packages/15/d1/febf59030ce1c83b7331c3546d7317e5120c5966471727aa7ac157729c4b/coverage-7.6.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7827a5bc7bdb197b9e066cdf650b2887597ad124dd99777332776f7b7c7d0d0", size = 241537 }, + { url = "https://files.pythonhosted.org/packages/4b/7e/5ac4c90192130e7cf8b63153fe620c8bfd9068f89a6d9b5f26f1550f7a26/coverage-7.6.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:204a8238afe787323a8b47d8be4df89772d5c1e4651b9ffa808552bdf20e1d50", size = 238572 }, + { url = "https://files.pythonhosted.org/packages/dc/03/0334a79b26ecf59958f2fe9dd1f5ab3e2f88db876f5071933de39af09647/coverage-7.6.10-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67926f51821b8e9deb6426ff3164870976fe414d033ad90ea75e7ed0c2e5022", size = 240639 }, + { url = "https://files.pythonhosted.org/packages/d7/45/8a707f23c202208d7b286d78ad6233f50dcf929319b664b6cc18a03c1aae/coverage-7.6.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e78b270eadb5702938c3dbe9367f878249b5ef9a2fcc5360ac7bff694310d17b", size = 240072 }, + { url = "https://files.pythonhosted.org/packages/66/02/603ce0ac2d02bc7b393279ef618940b4a0535b0868ee791140bda9ecfa40/coverage-7.6.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:714f942b9c15c3a7a5fe6876ce30af831c2ad4ce902410b7466b662358c852c0", size = 238386 }, + { url = "https://files.pythonhosted.org/packages/04/62/4e6887e9be060f5d18f1dd58c2838b2d9646faf353232dec4e2d4b1c8644/coverage-7.6.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:abb02e2f5a3187b2ac4cd46b8ced85a0858230b577ccb2c62c81482ca7d18852", size = 240054 }, + { url = "https://files.pythonhosted.org/packages/5c/74/83ae4151c170d8bd071924f212add22a0e62a7fe2b149edf016aeecad17c/coverage-7.6.10-cp312-cp312-win32.whl", hash = "sha256:55b201b97286cf61f5e76063f9e2a1d8d2972fc2fcfd2c1272530172fd28c359", size = 210904 }, + { url = "https://files.pythonhosted.org/packages/c3/54/de0893186a221478f5880283119fc40483bc460b27c4c71d1b8bba3474b9/coverage-7.6.10-cp312-cp312-win_amd64.whl", hash = "sha256:e4ae5ac5e0d1e4edfc9b4b57b4cbecd5bc266a6915c500f358817a8496739247", size = 211692 }, + { url = "https://files.pythonhosted.org/packages/25/6d/31883d78865529257bf847df5789e2ae80e99de8a460c3453dbfbe0db069/coverage-7.6.10-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:05fca8ba6a87aabdd2d30d0b6c838b50510b56cdcfc604d40760dae7153b73d9", size = 208308 }, + { url = "https://files.pythonhosted.org/packages/70/22/3f2b129cc08de00c83b0ad6252e034320946abfc3e4235c009e57cfeee05/coverage-7.6.10-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9e80eba8801c386f72e0712a0453431259c45c3249f0009aff537a517b52942b", size = 208565 }, + { url = "https://files.pythonhosted.org/packages/97/0a/d89bc2d1cc61d3a8dfe9e9d75217b2be85f6c73ebf1b9e3c2f4e797f4531/coverage-7.6.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a372c89c939d57abe09e08c0578c1d212e7a678135d53aa16eec4430adc5e690", size = 241083 }, + { url = "https://files.pythonhosted.org/packages/4c/81/6d64b88a00c7a7aaed3a657b8eaa0931f37a6395fcef61e53ff742b49c97/coverage-7.6.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ec22b5e7fe7a0fa8509181c4aac1db48f3dd4d3a566131b313d1efc102892c18", size = 238235 }, + { url = "https://files.pythonhosted.org/packages/9a/0b/7797d4193f5adb4b837207ed87fecf5fc38f7cc612b369a8e8e12d9fa114/coverage-7.6.10-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26bcf5c4df41cad1b19c84af71c22cbc9ea9a547fc973f1f2cc9a290002c8b3c", size = 240220 }, + { url = "https://files.pythonhosted.org/packages/65/4d/6f83ca1bddcf8e51bf8ff71572f39a1c73c34cf50e752a952c34f24d0a60/coverage-7.6.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e4630c26b6084c9b3cb53b15bd488f30ceb50b73c35c5ad7871b869cb7365fd", size = 239847 }, + { url = "https://files.pythonhosted.org/packages/30/9d/2470df6aa146aff4c65fee0f87f58d2164a67533c771c9cc12ffcdb865d5/coverage-7.6.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2396e8116db77789f819d2bc8a7e200232b7a282c66e0ae2d2cd84581a89757e", size = 237922 }, + { url = "https://files.pythonhosted.org/packages/08/dd/723fef5d901e6a89f2507094db66c091449c8ba03272861eaefa773ad95c/coverage-7.6.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:79109c70cc0882e4d2d002fe69a24aa504dec0cc17169b3c7f41a1d341a73694", size = 239783 }, + { url = "https://files.pythonhosted.org/packages/3d/f7/64d3298b2baf261cb35466000628706ce20a82d42faf9b771af447cd2b76/coverage-7.6.10-cp313-cp313-win32.whl", hash = "sha256:9e1747bab246d6ff2c4f28b4d186b205adced9f7bd9dc362051cc37c4a0c7bd6", size = 210965 }, + { url = "https://files.pythonhosted.org/packages/d5/58/ec43499a7fc681212fe7742fe90b2bc361cdb72e3181ace1604247a5b24d/coverage-7.6.10-cp313-cp313-win_amd64.whl", hash = "sha256:254f1a3b1eef5f7ed23ef265eaa89c65c8c5b6b257327c149db1ca9d4a35f25e", size = 211719 }, + { url = "https://files.pythonhosted.org/packages/ab/c9/f2857a135bcff4330c1e90e7d03446b036b2363d4ad37eb5e3a47bbac8a6/coverage-7.6.10-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2ccf240eb719789cedbb9fd1338055de2761088202a9a0b73032857e53f612fe", size = 209050 }, + { url = "https://files.pythonhosted.org/packages/aa/b3/f840e5bd777d8433caa9e4a1eb20503495709f697341ac1a8ee6a3c906ad/coverage-7.6.10-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0c807ca74d5a5e64427c8805de15b9ca140bba13572d6d74e262f46f50b13273", size = 209321 }, + { url = "https://files.pythonhosted.org/packages/85/7d/125a5362180fcc1c03d91850fc020f3831d5cda09319522bcfa6b2b70be7/coverage-7.6.10-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bcfa46d7709b5a7ffe089075799b902020b62e7ee56ebaed2f4bdac04c508d8", size = 252039 }, + { url = "https://files.pythonhosted.org/packages/a9/9c/4358bf3c74baf1f9bddd2baf3756b54c07f2cfd2535f0a47f1e7757e54b3/coverage-7.6.10-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e0de1e902669dccbf80b0415fb6b43d27edca2fbd48c74da378923b05316098", size = 247758 }, + { url = "https://files.pythonhosted.org/packages/cf/c7/de3eb6fc5263b26fab5cda3de7a0f80e317597a4bad4781859f72885f300/coverage-7.6.10-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f7b444c42bbc533aaae6b5a2166fd1a797cdb5eb58ee51a92bee1eb94a1e1cb", size = 250119 }, + { url = "https://files.pythonhosted.org/packages/3e/e6/43de91f8ba2ec9140c6a4af1102141712949903dc732cf739167cfa7a3bc/coverage-7.6.10-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b330368cb99ef72fcd2dc3ed260adf67b31499584dc8a20225e85bfe6f6cfed0", size = 249597 }, + { url = "https://files.pythonhosted.org/packages/08/40/61158b5499aa2adf9e37bc6d0117e8f6788625b283d51e7e0c53cf340530/coverage-7.6.10-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:9a7cfb50515f87f7ed30bc882f68812fd98bc2852957df69f3003d22a2aa0abf", size = 247473 }, + { url = "https://files.pythonhosted.org/packages/50/69/b3f2416725621e9f112e74e8470793d5b5995f146f596f133678a633b77e/coverage-7.6.10-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f93531882a5f68c28090f901b1d135de61b56331bba82028489bc51bdd818d2", size = 248737 }, + { url = "https://files.pythonhosted.org/packages/3c/6e/fe899fb937657db6df31cc3e61c6968cb56d36d7326361847440a430152e/coverage-7.6.10-cp313-cp313t-win32.whl", hash = "sha256:89d76815a26197c858f53c7f6a656686ec392b25991f9e409bcef020cd532312", size = 211611 }, + { url = "https://files.pythonhosted.org/packages/1c/55/52f5e66142a9d7bc93a15192eba7a78513d2abf6b3558d77b4ca32f5f424/coverage-7.6.10-cp313-cp313t-win_amd64.whl", hash = "sha256:54a5f0f43950a36312155dae55c505a76cd7f2b12d26abeebbe7a0b36dbc868d", size = 212781 }, + { url = "https://files.pythonhosted.org/packages/a1/70/de81bfec9ed38a64fc44a77c7665e20ca507fc3265597c28b0d989e4082e/coverage-7.6.10-pp39.pp310-none-any.whl", hash = "sha256:fd34e7b3405f0cc7ab03d54a334c17a9e802897580d964bd8c2001f4b9fd488f", size = 200223 }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version <= '3.11' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] + +[[package]] +name = "csvw" +version = "3.5.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "babel" }, + { name = "colorama" }, + { name = "isodate" }, + { name = "jsonschema" }, + { name = "language-tags" }, + { name = "python-dateutil" }, + { name = "rdflib" }, + { name = "requests" }, + { name = "rfc3986" }, + { name = "uritemplate" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/f0/1f76b07f2ddedc0e3b3b6e746c820de7028c6ac44416876a3ddc8243beb0/csvw-3.5.1.tar.gz", hash = "sha256:e13dfcbf56a51f66bd4c6b442b8b32b3fee4b615dcd9436149832b41572938f3", size = 73493 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/84/069db1325f5a6dd034524c0099da3978de8fdb6242ce63223ead188da940/csvw-3.5.1-py2.py3-none-any.whl", hash = "sha256:8dd3864aae51bfd943713a62ec2c6688d3f406a9627b5f16de2479b1281febe5", size = 59881 }, +] + +[[package]] +name = "curated-tokenizers" +version = "0.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "regex" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/fa/b2d55f0d53c7c7f5dc0b6dbb48cc4344ee84fb572f23de28040bf2cde89d/curated-tokenizers-0.0.9.tar.gz", hash = "sha256:c93d47e54ab3528a6db2796eeb4bdce5d44e8226c671e42c2f23522ab1d0ce25", size = 2237055 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/64/07c176505994cdd3ea3d7b1e56ccaa0f14f506be72dc5bad9a627995f048/curated_tokenizers-0.0.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:19d3a2570dbbd08bbdae4c79d187fb150ea3b663c2f060bd1e4a050a1358cfd1", size = 732854 }, + { url = "https://files.pythonhosted.org/packages/ae/9b/3862be9b9bc97bedfd159fc30ff81f531132de59e324b9b41c264702cbf7/curated_tokenizers-0.0.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:799b8a9a1603b7d12683017409bf338bff925aa9806fbad0925ac550501afdf8", size = 702897 }, + { url = "https://files.pythonhosted.org/packages/54/f9/54b7f83a6fbb3d34e45aa1a095c743b174186b28d375714b87b48accaf89/curated_tokenizers-0.0.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cfc4541c3e5738d74dbf859eb87c26112178b7a91be1d99a4bdced8182f4a73", size = 706575 }, + { url = "https://files.pythonhosted.org/packages/bc/b3/c1ef2c0587a926a2a4f2fec4ea8338e34068845decbfc64e5f554b5d01a0/curated_tokenizers-0.0.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a61acd1c66aea2198702b2a1418a6f3bf1241e3e302c1295a5878e892010642", size = 731650 }, + { url = "https://files.pythonhosted.org/packages/e1/4e/108a03b27d7e3646a9f74c73efbf8d94feda16e22d49b35d198814f3e13a/curated_tokenizers-0.0.9-cp310-cp310-win_amd64.whl", hash = "sha256:00a9eff167481494f967ad0efc5c53164d460d4f40d816f6c132f69c8584a735", size = 730887 }, + { url = "https://files.pythonhosted.org/packages/1f/f2/e4fa27a078ca6d7db87f82124695ce8822104285d4f8b3ec9900ab18c2df/curated_tokenizers-0.0.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:899128d78177ca0ac668addc33b430020f737dd08bc6bf3753ff4d9ba0e41e75", size = 733560 }, + { url = "https://files.pythonhosted.org/packages/38/e3/88c6681df8319fef9670c99e8dafbc3e89403f199cf6d009a407856e9ebc/curated_tokenizers-0.0.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2d1fef3e861df50bd6337364a87f447fbd0a6f01c095cec121b7404d15512138", size = 703331 }, + { url = "https://files.pythonhosted.org/packages/a9/c7/52452cf5f200f95711c15b474d6230fed40330621c0e423c4ce7e02af1fd/curated_tokenizers-0.0.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76ff13e8c19f7cdb03441ca5ec9ce85f133da7fd5b9cc574d8d18af41ba8a50a", size = 709477 }, + { url = "https://files.pythonhosted.org/packages/31/69/70f6295dd03fed67afa8520b066026764d719fe123ddd108137ee4c9a732/curated_tokenizers-0.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4079b1cb2220cb76deb271fa55f4867be3764f15e8fdb1bfc0a2041081570224", size = 735551 }, + { url = "https://files.pythonhosted.org/packages/75/ef/ea0e193b1775688263ac9261128b616cbc11cb052feb068b4974626d2715/curated_tokenizers-0.0.9-cp311-cp311-win_amd64.whl", hash = "sha256:c661d09ffe7a4a9175f28d76034e01c87df9df6fedb998151abbf201f28f1aa0", size = 730824 }, + { url = "https://files.pythonhosted.org/packages/10/3e/c10474a21ed0166f94cebb46fe96cf07fdf7f399d84e6157ec4dfbd97b53/curated_tokenizers-0.0.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e66aedfeae0c91f3f3e2980b17933b3d08f3fba6c8ba7057b9b05d596e8a0b27", size = 734544 }, + { url = "https://files.pythonhosted.org/packages/34/fb/d6e57b1155bee398f43de58ecdcdda44957e9635183312ac0820a19fc94d/curated_tokenizers-0.0.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2abbb571666a9c9b3a15f9df022e25ed1137e9fa8346788aaa747c00f940a3c6", size = 703466 }, + { url = "https://files.pythonhosted.org/packages/1b/7c/2d24633275f2854c144652ee6ef97ae85d444855b6da5aa1203678541fa5/curated_tokenizers-0.0.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64b9991a9720a0ce8cc72d29791fd73f2cc2bef0241b002fd2a756ec8a629143", size = 706194 }, + { url = "https://files.pythonhosted.org/packages/21/24/12ae8f92d0e319ed07dd9c3ee5d24e71dd6ff3dd8d4dbe2126a6e5cbf7a1/curated_tokenizers-0.0.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35fb208a01f2b3f22172596915d229859549a2d76e484be976dd728b1ca3bdec", size = 734029 }, + { url = "https://files.pythonhosted.org/packages/0f/fc/776b7464029ea126bf55df2a5edd437178ad8e5c0126f953891dfa603f9c/curated_tokenizers-0.0.9-cp312-cp312-win_amd64.whl", hash = "sha256:209d756694c7fb000a0b642016eb6e71c740cfce293adcbf3384aa2a1e701eb2", size = 731507 }, +] + +[[package]] +name = "curated-transformers" +version = "0.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "torch", version = "2.5.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "extra == 'extra-14-kokoro-fastapi-cpu'" }, + { name = "torch", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "(extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/70/06/6c12c149a7f737dacc76b4c3949dbc7ff87d622567b86996896ae4d104aa/curated-transformers-0.1.1.tar.gz", hash = "sha256:4671f03314df30efda2ec2b59bc7692ea34fcea44cb65382342c16684e8a2119", size = 16313 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/67/3b72b3fdfcadab61bc8f59c17e63770e526ffabd583ed32f174a7c01af85/curated_transformers-0.1.1-py2.py3-none-any.whl", hash = "sha256:d716063d73d803c6925d2dab56fde9b9ab8e89e663c2c0587804944ba488ff01", size = 25972 }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 }, +] + +[[package]] +name = "cymem" +version = "2.0.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/4a/1acd761fb6ac4c560e823ce40536a62f886f2d59b2763b5c3fc7e9d92101/cymem-2.0.11.tar.gz", hash = "sha256:efe49a349d4a518be6b6c6b255d4a80f740a341544bde1a807707c058b88d0bd", size = 10346 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/55/f453f2b2f560e057f20eb2acdaafbf6488d72a6e8a36a4aef30f6053a51c/cymem-2.0.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1b4dd8f8c2475c7c9948eefa89c790d83134600858d8d43b90276efd8df3882e", size = 41886 }, + { url = "https://files.pythonhosted.org/packages/a6/9d/03299eff35bd4fd80db33e4fd516661b82bb7b898cb677829acf22391ede/cymem-2.0.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d46ba0d2e0f749195297d16f2286b55af7d7c084db2b853fdfccece2c000c5dc", size = 41696 }, + { url = "https://files.pythonhosted.org/packages/d3/0c/90aa41f258a67ea210886c5c73f88dc9f120b7a20e6b5d92c5ce73a68276/cymem-2.0.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:739c4336b9d04ce9761851e9260ef77508d4a86ee3060e41302bfb6fa82c37de", size = 203719 }, + { url = "https://files.pythonhosted.org/packages/52/d1/dc4a72aa2049c34a53a220290b1a59fadae61929dff3a6e1a830a22971fe/cymem-2.0.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a69c470c2fb118161f49761f9137384f46723c77078b659bba33858e19e46b49", size = 204763 }, + { url = "https://files.pythonhosted.org/packages/69/51/86ed323585530558bcdda1324c570abe032db2c1d5afd1c5e8e3e8fde63a/cymem-2.0.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:40159f6c92627438de970fd761916e745d70dfd84a7dcc28c1627eb49cee00d8", size = 193964 }, + { url = "https://files.pythonhosted.org/packages/ed/0c/aee4ad2996a4e24342228ccf44d7835c7784042f0ee0c47ad33be1443f18/cymem-2.0.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f503f98e6aa333fffbe657a6854f13a9c3de68860795ae21171284213b9c5c09", size = 195002 }, + { url = "https://files.pythonhosted.org/packages/eb/d5/eda823d639258d2ed1db83403c991a9a57d5a4ddea3bf08e59060809a9aa/cymem-2.0.11-cp310-cp310-win_amd64.whl", hash = "sha256:7f05ed5920cc92d6b958ec5da55bd820d326fe9332b90660e6fa67e3b476ceb1", size = 39079 }, + { url = "https://files.pythonhosted.org/packages/03/e3/d98e3976f4ffa99cddebc1ce379d4d62e3eb1da22285267f902c99cc3395/cymem-2.0.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3ee54039aad3ef65de82d66c40516bf54586287b46d32c91ea0530c34e8a2745", size = 42005 }, + { url = "https://files.pythonhosted.org/packages/41/b4/7546faf2ab63e59befc95972316d62276cec153f7d4d60e7b0d5e08f0602/cymem-2.0.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c05ef75b5db217be820604e43a47ccbbafea98ab6659d07cea92fa3c864ea58", size = 41747 }, + { url = "https://files.pythonhosted.org/packages/7d/4e/042f372e5b3eb7f5f3dd7677161771d301de2b6fa3f7c74e1cebcd502552/cymem-2.0.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8d5381e5793ce531bac0dbc00829c8381f18605bb67e4b61d34f8850463da40", size = 217647 }, + { url = "https://files.pythonhosted.org/packages/48/cb/2207679e4b92701f78cf141e1ab4f81f55247dbe154eb426b842a0a993de/cymem-2.0.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2b9d3f42d7249ac81802135cad51d707def058001a32f73fc7fbf3de7045ac7", size = 218857 }, + { url = "https://files.pythonhosted.org/packages/31/7a/76ae3b7a39ab2531029d281e43fcfcaad728c2341b150a81a3a1f5587cf3/cymem-2.0.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:39b78f2195d20b75c2d465732f6b8e8721c5d4eb012777c2cb89bdb45a043185", size = 206148 }, + { url = "https://files.pythonhosted.org/packages/25/f9/d0fc0191ac79f15638ddb59237aa76f234691374d7d7950e10f384bd8a25/cymem-2.0.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2203bd6525a80d8fd0c94654a263af21c0387ae1d5062cceaebb652bf9bad7bc", size = 207112 }, + { url = "https://files.pythonhosted.org/packages/56/c8/75f75889401b20f4c3a7c5965dda09df42913e904ddc2ffe7ef3bdf25061/cymem-2.0.11-cp311-cp311-win_amd64.whl", hash = "sha256:aa54af7314de400634448da1f935b61323da80a49484074688d344fb2036681b", size = 39360 }, + { url = "https://files.pythonhosted.org/packages/71/67/0d74f7e9d79f934368a78fb1d1466b94bebdbff14f8ae94dd3e4ea8738bb/cymem-2.0.11-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a0fbe19ce653cd688842d81e5819dc63f911a26e192ef30b0b89f0ab2b192ff2", size = 42621 }, + { url = "https://files.pythonhosted.org/packages/4a/d6/f7a19c63b48efc3f00a3ee8d69070ac90202e1e378f6cf81b8671f0cf762/cymem-2.0.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de72101dc0e6326f6a2f73e05a438d1f3c6110d41044236d0fbe62925091267d", size = 42249 }, + { url = "https://files.pythonhosted.org/packages/d7/60/cdc434239813eef547fb99b6d0bafe31178501702df9b77c4108c9a216f6/cymem-2.0.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee4395917f6588b8ac1699499128842768b391fe8896e8626950b4da5f9a406", size = 224758 }, + { url = "https://files.pythonhosted.org/packages/1d/68/8fa6efae17cd3b2ba9a2f83b824867c5b65b06f7aec3f8a0d0cabdeffb9b/cymem-2.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b02f2b17d760dc3fe5812737b1ce4f684641cdd751d67761d333a3b5ea97b83", size = 227995 }, + { url = "https://files.pythonhosted.org/packages/e4/f3/ceda70bf6447880140602285b7c6fa171cb7c78b623d35345cc32505cd06/cymem-2.0.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:04ee6b4041ddec24512d6e969ed6445e57917f01e73b9dabbe17b7e6b27fef05", size = 215325 }, + { url = "https://files.pythonhosted.org/packages/d3/47/6915eaa521e1ce7a0ba480eecb6870cb4f681bcd64ced88c2f0ed7a744b4/cymem-2.0.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e1048dae7e627ee25f22c87bb670b13e06bc0aecc114b89b959a798d487d1bf4", size = 216447 }, + { url = "https://files.pythonhosted.org/packages/7b/be/8e02bdd31e557f642741a06c8e886782ef78f0b00daffd681922dc9bbc88/cymem-2.0.11-cp312-cp312-win_amd64.whl", hash = "sha256:0c269c7a867d74adeb9db65fa1d226342aacf44d64b7931282f0b0eb22eb6275", size = 39283 }, + { url = "https://files.pythonhosted.org/packages/bd/90/b064e2677e27a35cf3605146abc3285d4f599cc1b6c18fc445ae876dd1e3/cymem-2.0.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4a311c82f743275c84f708df89ac5bf60ddefe4713d532000c887931e22941f", size = 42389 }, + { url = "https://files.pythonhosted.org/packages/fd/60/7aa0561a6c1f0d42643b02c4fdeb2a16181b0ff4e85d73d2d80c6689e92a/cymem-2.0.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:02ed92bead896cca36abad00502b14fa651bdf5d8319461126a2d5ac8c9674c5", size = 41948 }, + { url = "https://files.pythonhosted.org/packages/5f/4e/88a29cc5575374982e527b4ebcab3781bdc826ce693c6418a0f836544246/cymem-2.0.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44ddd3588379f8f376116384af99e3fb5f90091d90f520c341942618bf22f05e", size = 219382 }, + { url = "https://files.pythonhosted.org/packages/9b/3a/8f96e167e93b7f7ec105ed7b25c77bbf215d15bcbf4a24082cdc12234cd6/cymem-2.0.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87ec985623624bbd298762d8163fc194a096cb13282731a017e09ff8a60bb8b1", size = 222974 }, + { url = "https://files.pythonhosted.org/packages/6a/fc/ce016bb0c66a4776345fac7508fddec3b739b9dd4363094ac89cce048832/cymem-2.0.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3385a47285435848e0ed66cfd29b35f3ed8703218e2b17bd7a0c053822f26bf", size = 213426 }, + { url = "https://files.pythonhosted.org/packages/5c/c8/accf7cc768f751447a5050b14a195af46798bc22767ac25f49b02861b1eb/cymem-2.0.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5461e65340d6572eb64deadce79242a446a1d39cb7bf70fe7b7e007eb0d799b0", size = 219195 }, + { url = "https://files.pythonhosted.org/packages/74/65/c162fbac63e867a055240b6600b92ef96c0eb7a1895312ac53c4be93d056/cymem-2.0.11-cp313-cp313-win_amd64.whl", hash = "sha256:25da111adf425c29af0cfd9fecfec1c71c8d82e2244a85166830a0817a66ada7", size = 39090 }, +] + +[[package]] +name = "dill" +version = "0.3.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/43/86fe3f9e130c4137b0f1b50784dd70a5087b911fe07fa81e53e0c4c47fea/dill-0.3.9.tar.gz", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c", size = 187000 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/d1/e73b6ad76f0b1fb7f23c35c6d95dbc506a9c8804f43dda8cb5b0fa6331fd/dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a", size = 119418 }, +] + +[[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 = "dlinfo" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/85/8e/8f2f94cd40af1b51e8e371a83b385d622170d42f98776441a6118f4dd682/dlinfo-2.0.0.tar.gz", hash = "sha256:88a2bc04f51d01bc604cdc9eb1c3cc0bde89057532ca6a3e71a41f6235433e17", size = 12727 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/90/022c79d6e5e6f843268c10b84d4a021ee3afba0621d3c176d3ff2024bfc8/dlinfo-2.0.0-py3-none-any.whl", hash = "sha256:b32cc18e3ea67c0ca9ca409e5b41eed863bd1363dbc9dd3de90fedf11b61e7bc", size = 3654 }, +] + +[[package]] +name = "docopt" +version = "0.6.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491", size = 25901 } + +[[package]] +name = "en-core-web-sm" +version = "3.8.0" +source = { url = "https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.8.0/en_core_web_sm-3.8.0-py3-none-any.whl" } +wheels = [ + { url = "https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.8.0/en_core_web_sm-3.8.0-py3-none-any.whl", hash = "sha256:1932429db727d4bff3deed6b34cfc05df17794f4a52eeb26cf8928f7c1a0fb85" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 }, +] + +[[package]] +name = "fastapi" +version = "0.115.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "starlette" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/93/72/d83b98cd106541e8f5e5bfab8ef2974ab45a62e8a6c5b5e6940f26d2ed4b/fastapi-0.115.6.tar.gz", hash = "sha256:9ec46f7addc14ea472958a96aae5b5de65f39721a46aaf5705c480d9a8b76654", size = 301336 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/52/b3/7e4df40e585df024fac2f80d1a2d579c854ac37109675db2b0cc22c0bb9e/fastapi-0.115.6-py3-none-any.whl", hash = "sha256:e9240b29e36fa8f4bb7290316988e90c381e5092e0cbe84e7818cc3713bcf305", size = 94843 }, +] + +[[package]] +name = "ffmpy" +version = "0.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4d/66/5697a7421c418ccbfae87b7e6503b480070f7cb16c25c77201afc6246348/ffmpy-0.5.0.tar.gz", hash = "sha256:277e131f246d18e9dcfee9bb514c50749031c43582ce5ef82c57b51e3d3955c3", size = 5523 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/53/5d/65f40bd333463b3230b3a72d93873caaf49b0cbb5228598fafb75fcc5357/ffmpy-0.5.0-py3-none-any.whl", hash = "sha256:df3799cf5816daa56d4959a023630ee53c6768b66009dae6d131519ba4b80233", size = 6008 }, +] + +[[package]] +name = "filelock" +version = "3.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164 }, +] + +[[package]] +name = "flatbuffers" +version = "25.1.24" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/64/20/c380c311843318b577650286b2c7eaaac3a011fb982df0050bdbd7e453c5/flatbuffers-25.1.24.tar.gz", hash = "sha256:e0f7b7d806c0abdf166275492663130af40c11f89445045fbef0aa3c9a8643ad", size = 22155 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/e2/b066e6e02d67bf5261a6d7539648c6da3365cc9eff3eb6d82009595d84d9/flatbuffers-25.1.24-py2.py3-none-any.whl", hash = "sha256:1abfebaf4083117225d0723087ea909896a34e3fec933beedb490d595ba24145", size = 30955 }, +] + +[[package]] +name = "fonttools" +version = "4.55.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/24/de7e40adc99be2aa5adc6321bbdf3cf58dbe751b87343da658dd3fc7d946/fonttools-4.55.8.tar.gz", hash = "sha256:54d481d456dcd59af25d4a9c56b2c4c3f20e9620b261b84144e5950f33e8df17", size = 3458915 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/b8/82b3444cb081798eabb8397452ddf73680e623d7fdf9c575594a2240b8a2/fonttools-4.55.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d11600f5343092697d7434f3bf77a393c7ae74be206fe30e577b9a195fd53165", size = 2752288 }, + { url = "https://files.pythonhosted.org/packages/86/8f/9c5f2172e9f6dcf52bb6477bcd5a023d056114787c8184b683c34996f5a1/fonttools-4.55.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c96f2506ce1a0beeaa9595f9a8b7446477eb133f40c0e41fc078744c28149f80", size = 2280718 }, + { url = "https://files.pythonhosted.org/packages/c6/a6/b7cd7b54412bb7a27e282ee54459cae24524ad0eab6f81ead2a91d435287/fonttools-4.55.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b5f05ef72e846e9f49ccdd74b9da4309901a4248434c63c1ee9321adcb51d65", size = 4562177 }, + { url = "https://files.pythonhosted.org/packages/0e/16/eff3be24cecb9336639148c40507f949c193642d8369352af480597633fb/fonttools-4.55.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba45b637da80a262b55b7657aec68da2ac54b8ae7891cd977a5dbe5fd26db429", size = 4604843 }, + { url = "https://files.pythonhosted.org/packages/b5/95/737574364439cbcc5e6d4f3e000f15432141680ca8cb5c216b619a3d1cab/fonttools-4.55.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:edcffaeadba9a334c1c3866e275d7dd495465e7dbd296f688901bdbd71758113", size = 4559127 }, + { url = "https://files.pythonhosted.org/packages/5f/07/ea90834742f9b3e51a05f0f15f7c817eb7aab3d6ebf4f06c4626825ccb89/fonttools-4.55.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b9f9fce3c9b2196e162182ec5db8af8eb3acd0d76c2eafe9fdba5f370044e556", size = 4728575 }, + { url = "https://files.pythonhosted.org/packages/93/74/0c816d83cd2945a25aed592b0cb3c9ba32e8b259781bf41dc112204129d9/fonttools-4.55.8-cp310-cp310-win32.whl", hash = "sha256:f089e8da0990cfe2d67e81d9cf581ff372b48dc5acf2782701844211cd1f0eb3", size = 2155662 }, + { url = "https://files.pythonhosted.org/packages/78/bc/f5a24229edd8cdd7494f2099e1c62fca288dad4c8637ee62df04459db27e/fonttools-4.55.8-cp310-cp310-win_amd64.whl", hash = "sha256:01ea3901b0802fc5f9e854f5aeb5bc27770dd9dd24c28df8f74ba90f8b3f5915", size = 2200126 }, + { url = "https://files.pythonhosted.org/packages/0a/e3/834e0919b34b40a6a2895f533323231bba3b8f5ae22c19ab725b84cf84c0/fonttools-4.55.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:95f5a1d4432b3cea6571f5ce4f4e9b25bf36efbd61c32f4f90130a690925d6ee", size = 2753424 }, + { url = "https://files.pythonhosted.org/packages/b6/f9/9cf7fc04da85d37cfa1c287f0a25c274d6940dad259dbaa9fd796b87bd3c/fonttools-4.55.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d20f152de7625a0008ba1513f126daaaa0de3b4b9030aa72dd5c27294992260", size = 2281635 }, + { url = "https://files.pythonhosted.org/packages/35/1f/25330293a5bb6bd50825725270c587c2b25c2694020a82d2c424d2fd5469/fonttools-4.55.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5a3ff5bb95fd5a3962b2754f8435e6d930c84fc9e9921c51e802dddf40acd56", size = 4869363 }, + { url = "https://files.pythonhosted.org/packages/f2/e0/e58b10ef50830145ba94dbeb64b70773af61cfccea663d485c7fae2aab65/fonttools-4.55.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b99d4fd2b6d0a00c7336c8363fccc7a11eccef4b17393af75ca6e77cf93ff413", size = 4898604 }, + { url = "https://files.pythonhosted.org/packages/e0/66/b59025011dbae1ea10dcb60f713a10e54d17cde5c8dc48db75af79dc2088/fonttools-4.55.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d637e4d33e46619c79d1a6c725f74d71b574cd15fb5bbb9b6f3eba8f28363573", size = 4877804 }, + { url = "https://files.pythonhosted.org/packages/67/76/abbbae972af55d54f83fcaeb90e26aaac937c8711b5a32d7c63768c37891/fonttools-4.55.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0f38bfb6b7a39c4162c3eb0820a0bdf8e3bdd125cd54e10ba242397d15e32439", size = 5045913 }, + { url = "https://files.pythonhosted.org/packages/8b/f2/5eb68b5202731b008ccfd4ad6d82af9a8abdec411609e76fdd6c43881f2c/fonttools-4.55.8-cp311-cp311-win32.whl", hash = "sha256:acfec948de41cd5e640d5c15d0200e8b8e7c5c6bb82afe1ca095cbc4af1188ee", size = 2154525 }, + { url = "https://files.pythonhosted.org/packages/42/d6/96dc2462006ffa16c8d475244e372abdc47d03a7bd38be0f29e7ae552af4/fonttools-4.55.8-cp311-cp311-win_amd64.whl", hash = "sha256:604c805b41241b4880e2dc86cf2d4754c06777371c8299799ac88d836cb18c3b", size = 2201043 }, + { url = "https://files.pythonhosted.org/packages/e9/ce/8358af1c353d890d4c6cbcc3d64242631f91a93f8384b76bc49db800f1de/fonttools-4.55.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:63403ee0f2fa4e1de28e539f8c24f2bdca1d8ecb503fa9ea2d231d9f1e729809", size = 2747851 }, + { url = "https://files.pythonhosted.org/packages/1b/3d/7a906f58f80c1ed37bbdf7b3f9b6792906156cb9143b067bf54c38405134/fonttools-4.55.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:302e1003a760b222f711d5ba6d1ad7fd5f7f713eb872cd6a3eb44390bc9770af", size = 2279102 }, + { url = "https://files.pythonhosted.org/packages/0a/0a/91a923a9de012e0f751ef8e13e1a5ea10f3a1b8416ae9afd5db1ad351b20/fonttools-4.55.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e72a7816ff8a759be9ca36ca46934f8ccf4383711ef597d9240306fe1878cb8d", size = 4784092 }, + { url = "https://files.pythonhosted.org/packages/e8/07/4b8a5c8a746cc8c8103c6462d057d8806bd925347ac3905055686dd40e94/fonttools-4.55.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03c2b50b54e6e8b3564b232e57e8f58be217cf441cf0155745d9e44a76f9c30f", size = 4855206 }, + { url = "https://files.pythonhosted.org/packages/37/df/09bf09ff8eae1e74bf16f9df514fd60af9f3d994e3edb0339f7d0bbc59e2/fonttools-4.55.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a7230f7590f9570d26ee903b6a4540274494e200fae978df0d9325b7b9144529", size = 4762599 }, + { url = "https://files.pythonhosted.org/packages/84/58/a80d97818a3bede7e4b58318302e89e749b9639c890ecbc972a6e533201f/fonttools-4.55.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:466a78984f0572305c3c48377f4e3f7f4e909f1209f45ef8e7041d5c8a744a56", size = 4990188 }, + { url = "https://files.pythonhosted.org/packages/a8/e3/1f1b1a70527ab9a1b9bfe1829a783a042c108ab3357af626e8e69a21f0e2/fonttools-4.55.8-cp312-cp312-win32.whl", hash = "sha256:243cbfc0b7cb1c307af40e321f8343a48d0a080bc1f9466cf2b5468f776ef108", size = 2142995 }, + { url = "https://files.pythonhosted.org/packages/61/cf/08c4954c944799458690eb0e498209fb6a2e79e20a869189f56d18e909b6/fonttools-4.55.8-cp312-cp312-win_amd64.whl", hash = "sha256:a19059aa892676822c1f05cb5a67296ecdfeb267fe7c47d4758f3e8e942c2b2a", size = 2189833 }, + { url = "https://files.pythonhosted.org/packages/87/fe/02a377477c5c95cb118ce8b7501d868e79fce310681a536bd1099bde6874/fonttools-4.55.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:332883b6280b9d90d2ba7e9e81be77cf2ace696161e60cdcf40cfcd2b3ed06fa", size = 2735213 }, + { url = "https://files.pythonhosted.org/packages/58/e4/a839f867e636419d7e5ca426a470df575bf7b20cc780862d6f64caee405c/fonttools-4.55.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6b8d7c149d47b47de7ec81763396c8266e5ebe2e0b14aa9c3ccf29e52260ab2f", size = 2272614 }, + { url = "https://files.pythonhosted.org/packages/31/c0/085d1fb2cff1589e038a67579660e16cdc0ea0ffe839a849879af43f6b1a/fonttools-4.55.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4dfae7c94987149bdaa0388e6c937566aa398fa0eec973b17952350a069cff4e", size = 4762524 }, + { url = "https://files.pythonhosted.org/packages/b3/75/00670fa832e2986f9c6bfbd029f0a1e90a14333f0a6c02632284e9c1baa0/fonttools-4.55.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0fe12f06169af2fdc642d26a8df53e40adc3beedbd6ffedb19f1c5397b63afd", size = 4834537 }, + { url = "https://files.pythonhosted.org/packages/f4/a5/0fd300cdd1f9ab09857ba016a7acb9eff2fb3695109eb44d93ee28389a41/fonttools-4.55.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f971aa5f50c22dc4b63a891503624ae2c77330429b34ead32f23c2260c5618cd", size = 4742903 }, + { url = "https://files.pythonhosted.org/packages/59/e8/bb8da5e52802333e9ef23112583f9c24279f6cf720b005434f21f0e063fb/fonttools-4.55.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:708cb17b2590b7f6c6854999df0039ff1140dda9e6f56d67c3599ba6f968fab5", size = 4963841 }, + { url = "https://files.pythonhosted.org/packages/74/2b/e8268cfddb35d1ad964fcfe12d105ae4a7112b89fa098681dce110a97f9f/fonttools-4.55.8-cp313-cp313-win32.whl", hash = "sha256:cfe9cf30f391a0f2875247a3e5e44d8dcb61596e5cf89b360cdffec8a80e9961", size = 2141024 }, + { url = "https://files.pythonhosted.org/packages/b8/f9/3c69478a63250ad015a9ff1a75cd72d00aed0c26c188bd838ad5b67f7c83/fonttools-4.55.8-cp313-cp313-win_amd64.whl", hash = "sha256:1e10efc8ee10d6f1fe2931d41bccc90cd4b872f2ee4ff21f2231a2c293b2dbf8", size = 2186823 }, + { url = "https://files.pythonhosted.org/packages/cc/e6/efdcd5d6858b951c29d56de31a19355579d826712bf390d964a21b076ddb/fonttools-4.55.8-py3-none-any.whl", hash = "sha256:07636dae94f7fe88561f9da7a46b13d8e3f529f87fdb221b11d85f91eabceeb7", size = 1089900 }, +] + +[[package]] +name = "fsspec" +version = "2025.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/79/68612ed99700e6413de42895aa725463e821a6b3be75c87fcce1b4af4c70/fsspec-2025.2.0.tar.gz", hash = "sha256:1c24b16eaa0a1798afa0337aa0db9b256718ab2a89c425371f5628d22c3b6afd", size = 292283 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/94/758680531a00d06e471ef649e4ec2ed6bf185356a7f9fbfbb7368a40bd49/fsspec-2025.2.0-py3-none-any.whl", hash = "sha256:9de2ad9ce1f85e1931858535bc882543171d197001a0a5eb2ddc04f1781ab95b", size = 184484 }, +] + +[[package]] +name = "fugashi" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/33/69/bb037690c3cc218a139ae89afaf0b099814e7aff570b28577aa0ef1a06f0/fugashi-1.4.0.tar.gz", hash = "sha256:443880fa975defc3194f524fbd6cdbcd32776fa66d573d07ccec9edb76cd5271", size = 339049 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/09/2b/efa795594845f8e83023c458939cb3a375f60e6df69b9fda9ee310b2d6a3/fugashi-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0a2221232176244ff983b03d29a80b3be0768ef708405fb5f7629cf250386698", size = 561640 }, + { url = "https://files.pythonhosted.org/packages/0e/f5/74043811e993b7e49d32020acab38f20862136680c05b6dd20d51075c995/fugashi-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:70940296be946ea9dc3a0d6608f9f5cfb19d18693573634083e50aed5ae09edd", size = 506703 }, + { url = "https://files.pythonhosted.org/packages/11/0c/3645ce322717916620678b3eb9f2d631b90bc64e3d3980be72102f8d03d6/fugashi-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d7aaa73e5c1614e9a4d50d8f3975727fcc01f318ff45fc000f2c4e4d96f2927a", size = 502265 }, + { url = "https://files.pythonhosted.org/packages/55/c3/d7656d48bd866bac61f71d7bf5374054c6a54bcf453249a95fed9db44cc1/fugashi-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26679c754cdcb1683911b3de5c6c13d99eb47d962f98da0872fb0eb80cb278d1", size = 653527 }, + { url = "https://files.pythonhosted.org/packages/e3/a5/74bba09a8873ab2fd9403987ccaf55c48c720242633ee53c93c7feb17a26/fugashi-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd19fa1b3d4965ef162801cd554b82b10dbe0344f094fb3375ff064c11c24478", size = 671706 }, + { url = "https://files.pythonhosted.org/packages/18/eb/3aa7e7b23c9d475549f39dd1ce1d429abcbdfbfd2872ff16660644f46737/fugashi-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:c2eaafda887d1e7c41e1c332888e075459bf3ef74fdb474286671ac2033acaa5", size = 512056 }, + { url = "https://files.pythonhosted.org/packages/45/33/21d4b33d86be5baf780ba4e53b40ef5c25084416b2b1450df5664098deb4/fugashi-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ec966fdf2647b87fea1ef31850ea3ec9960f0c409c8398c583d9b46673be9f7e", size = 562037 }, + { url = "https://files.pythonhosted.org/packages/a5/40/5921b25558bfd62bbb41116c57890bab87f29decb7b6b4f1b6a2a3be44f1/fugashi-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:96a1da8e74a36ce651a6452a94d339ef749b1882bc568679d0c9a03154569313", size = 506994 }, + { url = "https://files.pythonhosted.org/packages/bc/cf/2ffa40ddc3cac649e1862e9b877d625ac1052a1233a61c43a938afed7ef4/fugashi-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:86b8284d3ad49f970fd704327124a9b71a8500723222c35106c93c459acf7b26", size = 502356 }, + { url = "https://files.pythonhosted.org/packages/66/ab/1c4c9fcf58469380ef9981723dbb274dae89f21233e44f44f9ab074ce943/fugashi-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6a5ea534278c4dcaad44d7752585f8375029a28dd3a9d853deda34ddd2ae32d", size = 681071 }, + { url = "https://files.pythonhosted.org/packages/30/de/550c37d262102f7def9b3b42519ab921b8bbcc4a5a994c44b1960b970736/fugashi-1.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b89b8e6db0fbe374c91322c1ec115061f154dd261aeb992a8b6d8e28056138a4", size = 698015 }, + { url = "https://files.pythonhosted.org/packages/01/b5/4bc918de7727f9a3e75406053aca7a1afcffe81cdc83d789ad9414bea7ee/fugashi-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:aeae8fc06d1c32c2ee1da79e30b8f25afd592853985e4776a3e4b78337e4b757", size = 512244 }, + { url = "https://files.pythonhosted.org/packages/9b/41/326bc6f789fcfc8ec648c07afee9f8094c549823e5bd6c7a155bc7a3cb3e/fugashi-1.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:eb88cb765c5d7c9bd5f01e179a98262970c3a4d3f14ee39daab641a6d89870c2", size = 562175 }, + { url = "https://files.pythonhosted.org/packages/c3/21/0833eed9766cca63dada5e12cef4ed960675e44148b477c21ef3d2acc466/fugashi-1.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:08e965ee31782d8324e0aecb7b03c36db79a999f573f8fdc53960643c2637050", size = 507108 }, + { url = "https://files.pythonhosted.org/packages/f4/72/a9c040fb56583b1733f55e5386fbab3df738727aa482590f01c4369576a9/fugashi-1.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:44dd186fd5fbe295d2f5613f528ec8e765c93c31138adc65be0f391e0560da2b", size = 503068 }, + { url = "https://files.pythonhosted.org/packages/12/aa/01269cf238f79890308331993b6822b1925ccc48c816aac4e91c8d95b6a5/fugashi-1.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04ef5a3537bf2a3c5255b82f816e30f86ffc4711777357a0104a043753b84e82", size = 675487 }, + { url = "https://files.pythonhosted.org/packages/c8/82/48d6388a3d379cf6fc91ee597eec2e7789dd14d0c74aac24288056b2678e/fugashi-1.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5e383c5fac4addb0203e022944df1a0c49859a64921af83ea9591da98211501", size = 697548 }, + { url = "https://files.pythonhosted.org/packages/8d/f9/69b6ea8bd1958822c8a04fa3a9d2d1d591e745f169621d3c57864f3b1a46/fugashi-1.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:cb63079142cb9c9ca98c79ba487d58e169dde8750318c38d5fab8e00ac461e2f", size = 512269 }, + { url = "https://files.pythonhosted.org/packages/51/a4/0aef3c27441b080bb526db74d007d05f42376de101d8d9995df86d3a44ff/fugashi-1.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8b5e43ef6532c90ad3afac816fe5c63f8613c66119b28aeafdfa442abc4e5735", size = 560512 }, + { url = "https://files.pythonhosted.org/packages/15/4b/9d021385839b3e3b17a477d34dba81fe28bf15632f49ab977d8aeb8b117f/fugashi-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:322d357c446c1b2eba42f8170fc3c1094d78f08a13dbf060a08e58c7cdebcf42", size = 506320 }, + { url = "https://files.pythonhosted.org/packages/a5/99/30af27297ba8a386de9091968155fbbee54f3efde58c4ceb61b28c439262/fugashi-1.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8fe382c159c2afb6dc3c653b169b9efe1699a7701ab23e5e019539058e5d06db", size = 502341 }, + { url = "https://files.pythonhosted.org/packages/d6/43/64685e4d47599bf15c285fa1f9c3a1d0f86c1a3c8427e051ad17d8f9f22f/fugashi-1.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cca9a9ecacb5269598764a56ab73b883001b93ab726032962d4d2d416b76c7b", size = 672015 }, + { url = "https://files.pythonhosted.org/packages/6b/49/9ebf43cb093bf68ad97de098ced3e9cc42c0c5da4ff11de4115c040cc891/fugashi-1.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:016d003de8db2b7b67a6ffaf74915cee8f717c3aa7a66b78acf30c5b13e0e9bc", size = 693685 }, + { url = "https://files.pythonhosted.org/packages/f3/37/8f56f6eb7d4a487d1b737f4fcc41e25c1f61c9a6ae9adb49581f151d8ef8/fugashi-1.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:99328a498150cfc39e4ac574a1431a24f967033420f4f92b4ade24aab0271ea2", size = 512024 }, + { url = "https://files.pythonhosted.org/packages/ef/2e/bf504baac3f24a0caf0b0ef2aea42adeb12723c14f71edc024b128838c49/fugashi-1.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4348142a8edfbbaefc6d4d11ee28de375bcb8e347a86908356ec4245d17fe259", size = 494973 }, + { url = "https://files.pythonhosted.org/packages/e3/da/5b56f789d47ab8ba35e871c4f4c188364c72ed5b0c3df022e63d4f4b2407/fugashi-1.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:334793ca17a81c3fcea0ca2edf10bd5fcd9bc59cf8c99572003d76172d9e352d", size = 492219 }, +] + +[[package]] +name = "g2pk2" +version = "0.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jamo" }, + { name = "nltk" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/53/52/6b77a9c3e4ea32dfb53238422dabf4fa977681d2bf4087bff53c084ab7c5/g2pk2-0.0.3-py3-none-any.whl", hash = "sha256:e708316125248c10432cbead85cf52dd9ed252c423cce531f9df617386978cf2", size = 25716 }, +] + +[[package]] +name = "gradio" +version = "5.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiofiles" }, + { name = "anyio" }, + { name = "audioop-lts", marker = "python_full_version >= '3.13' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "fastapi" }, + { name = "ffmpy" }, + { name = "gradio-client" }, + { name = "httpx" }, + { name = "huggingface-hub" }, + { name = "jinja2" }, + { name = "markupsafe" }, + { name = "numpy" }, + { name = "orjson" }, + { name = "packaging" }, + { name = "pandas" }, + { name = "pillow" }, + { name = "pydantic" }, + { name = "pydub" }, + { name = "python-multipart" }, + { name = "pyyaml" }, + { name = "ruff", marker = "sys_platform != 'emscripten' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "safehttpx" }, + { name = "semantic-version" }, + { name = "starlette", marker = "sys_platform != 'emscripten' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "tomlkit" }, + { name = "typer", marker = "sys_platform != 'emscripten' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "typing-extensions" }, + { name = "urllib3", marker = "sys_platform == 'emscripten' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "uvicorn", marker = "sys_platform != 'emscripten' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/a4/ecf91859dd655ec55b172d72c73aab8ed1de533238225cd18ffc2a8b0c08/gradio-5.14.0-py3-none-any.whl", hash = "sha256:7f8a7fd61f37c0c0a5eb9494439f35123ccefa9106eebe0fb4e2d0e4c9a87a55", size = 57700097 }, +] + +[[package]] +name = "gradio-client" +version = "1.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fsspec" }, + { name = "httpx" }, + { name = "huggingface-hub" }, + { name = "packaging" }, + { name = "typing-extensions" }, + { name = "websockets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c5/78/e5a4a2b0f4d1ba01ec4169e181a3134fc65b6360d40817070892c3557000/gradio_client-1.7.0.tar.gz", hash = "sha256:87f6ade197951f38bac0431b2a436a8ebb2f33b2ceba2ef8e1e5bef8d8b238e4", size = 320039 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/c1/def2bd93b8beab342c443bf5ac47f85e48b78eca010bbff51d6978472a3f/gradio_client-1.7.0-py3-none-any.whl", hash = "sha256:b403570c67f121ebbbc19ac1f0afa2ab1bab085ce60d96eb190832fe871aa946", size = 321900 }, +] + +[[package]] +name = "greenlet" +version = "3.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2f/ff/df5fede753cc10f6a5be0931204ea30c35fa2f2ea7a35b25bdaf4fe40e46/greenlet-3.1.1.tar.gz", hash = "sha256:4ce3ac6cdb6adf7946475d7ef31777c26d94bccc377e070a7986bd2d5c515467", size = 186022 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/90/5234a78dc0ef6496a6eb97b67a42a8e96742a56f7dc808cb954a85390448/greenlet-3.1.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:0bbae94a29c9e5c7e4a2b7f0aae5c17e8e90acbfd3bf6270eeba60c39fce3563", size = 271235 }, + { url = "https://files.pythonhosted.org/packages/7c/16/cd631fa0ab7d06ef06387135b7549fdcc77d8d859ed770a0d28e47b20972/greenlet-3.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fde093fb93f35ca72a556cf72c92ea3ebfda3d79fc35bb19fbe685853869a83", size = 637168 }, + { url = "https://files.pythonhosted.org/packages/2f/b1/aed39043a6fec33c284a2c9abd63ce191f4f1a07319340ffc04d2ed3256f/greenlet-3.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36b89d13c49216cadb828db8dfa6ce86bbbc476a82d3a6c397f0efae0525bdd0", size = 648826 }, + { url = "https://files.pythonhosted.org/packages/76/25/40e0112f7f3ebe54e8e8ed91b2b9f970805143efef16d043dfc15e70f44b/greenlet-3.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94b6150a85e1b33b40b1464a3f9988dcc5251d6ed06842abff82e42632fac120", size = 644443 }, + { url = "https://files.pythonhosted.org/packages/fb/2f/3850b867a9af519794784a7eeed1dd5bc68ffbcc5b28cef703711025fd0a/greenlet-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93147c513fac16385d1036b7e5b102c7fbbdb163d556b791f0f11eada7ba65dc", size = 643295 }, + { url = "https://files.pythonhosted.org/packages/cf/69/79e4d63b9387b48939096e25115b8af7cd8a90397a304f92436bcb21f5b2/greenlet-3.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da7a9bff22ce038e19bf62c4dd1ec8391062878710ded0a845bcf47cc0200617", size = 599544 }, + { url = "https://files.pythonhosted.org/packages/46/1d/44dbcb0e6c323bd6f71b8c2f4233766a5faf4b8948873225d34a0b7efa71/greenlet-3.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b2795058c23988728eec1f36a4e5e4ebad22f8320c85f3587b539b9ac84128d7", size = 1125456 }, + { url = "https://files.pythonhosted.org/packages/e0/1d/a305dce121838d0278cee39d5bb268c657f10a5363ae4b726848f833f1bb/greenlet-3.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ed10eac5830befbdd0c32f83e8aa6288361597550ba669b04c48f0f9a2c843c6", size = 1149111 }, + { url = "https://files.pythonhosted.org/packages/96/28/d62835fb33fb5652f2e98d34c44ad1a0feacc8b1d3f1aecab035f51f267d/greenlet-3.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:77c386de38a60d1dfb8e55b8c1101d68c79dfdd25c7095d51fec2dd800892b80", size = 298392 }, + { url = "https://files.pythonhosted.org/packages/28/62/1c2665558618553c42922ed47a4e6d6527e2fa3516a8256c2f431c5d0441/greenlet-3.1.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:e4d333e558953648ca09d64f13e6d8f0523fa705f51cae3f03b5983489958c70", size = 272479 }, + { url = "https://files.pythonhosted.org/packages/76/9d/421e2d5f07285b6e4e3a676b016ca781f63cfe4a0cd8eaecf3fd6f7a71ae/greenlet-3.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fc016b73c94e98e29af67ab7b9a879c307c6731a2c9da0db5a7d9b7edd1159", size = 640404 }, + { url = "https://files.pythonhosted.org/packages/e5/de/6e05f5c59262a584e502dd3d261bbdd2c97ab5416cc9c0b91ea38932a901/greenlet-3.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5e975ca70269d66d17dd995dafc06f1b06e8cb1ec1e9ed54c1d1e4a7c4cf26e", size = 652813 }, + { url = "https://files.pythonhosted.org/packages/49/93/d5f93c84241acdea15a8fd329362c2c71c79e1a507c3f142a5d67ea435ae/greenlet-3.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b2813dc3de8c1ee3f924e4d4227999285fd335d1bcc0d2be6dc3f1f6a318ec1", size = 648517 }, + { url = "https://files.pythonhosted.org/packages/15/85/72f77fc02d00470c86a5c982b8daafdf65d38aefbbe441cebff3bf7037fc/greenlet-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e347b3bfcf985a05e8c0b7d462ba6f15b1ee1c909e2dcad795e49e91b152c383", size = 647831 }, + { url = "https://files.pythonhosted.org/packages/f7/4b/1c9695aa24f808e156c8f4813f685d975ca73c000c2a5056c514c64980f6/greenlet-3.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e8f8c9cb53cdac7ba9793c276acd90168f416b9ce36799b9b885790f8ad6c0a", size = 602413 }, + { url = "https://files.pythonhosted.org/packages/76/70/ad6e5b31ef330f03b12559d19fda2606a522d3849cde46b24f223d6d1619/greenlet-3.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62ee94988d6b4722ce0028644418d93a52429e977d742ca2ccbe1c4f4a792511", size = 1129619 }, + { url = "https://files.pythonhosted.org/packages/f4/fb/201e1b932e584066e0f0658b538e73c459b34d44b4bd4034f682423bc801/greenlet-3.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1776fd7f989fc6b8d8c8cb8da1f6b82c5814957264d1f6cf818d475ec2bf6395", size = 1155198 }, + { url = "https://files.pythonhosted.org/packages/12/da/b9ed5e310bb8b89661b80cbcd4db5a067903bbcd7fc854923f5ebb4144f0/greenlet-3.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:48ca08c771c268a768087b408658e216133aecd835c0ded47ce955381105ba39", size = 298930 }, + { url = "https://files.pythonhosted.org/packages/7d/ec/bad1ac26764d26aa1353216fcbfa4670050f66d445448aafa227f8b16e80/greenlet-3.1.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:4afe7ea89de619adc868e087b4d2359282058479d7cfb94970adf4b55284574d", size = 274260 }, + { url = "https://files.pythonhosted.org/packages/66/d4/c8c04958870f482459ab5956c2942c4ec35cac7fe245527f1039837c17a9/greenlet-3.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79", size = 649064 }, + { url = "https://files.pythonhosted.org/packages/51/41/467b12a8c7c1303d20abcca145db2be4e6cd50a951fa30af48b6ec607581/greenlet-3.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3a701fe5a9695b238503ce5bbe8218e03c3bcccf7e204e455e7462d770268aa", size = 663420 }, + { url = "https://files.pythonhosted.org/packages/27/8f/2a93cd9b1e7107d5c7b3b7816eeadcac2ebcaf6d6513df9abaf0334777f6/greenlet-3.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2846930c65b47d70b9d178e89c7e1a69c95c1f68ea5aa0a58646b7a96df12441", size = 658035 }, + { url = "https://files.pythonhosted.org/packages/57/5c/7c6f50cb12be092e1dccb2599be5a942c3416dbcfb76efcf54b3f8be4d8d/greenlet-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99cfaa2110534e2cf3ba31a7abcac9d328d1d9f1b95beede58294a60348fba36", size = 660105 }, + { url = "https://files.pythonhosted.org/packages/f1/66/033e58a50fd9ec9df00a8671c74f1f3a320564c6415a4ed82a1c651654ba/greenlet-3.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1443279c19fca463fc33e65ef2a935a5b09bb90f978beab37729e1c3c6c25fe9", size = 613077 }, + { url = "https://files.pythonhosted.org/packages/19/c5/36384a06f748044d06bdd8776e231fadf92fc896bd12cb1c9f5a1bda9578/greenlet-3.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b7cede291382a78f7bb5f04a529cb18e068dd29e0fb27376074b6d0317bf4dd0", size = 1135975 }, + { url = "https://files.pythonhosted.org/packages/38/f9/c0a0eb61bdf808d23266ecf1d63309f0e1471f284300ce6dac0ae1231881/greenlet-3.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:23f20bb60ae298d7d8656c6ec6db134bca379ecefadb0b19ce6f19d1f232a942", size = 1163955 }, + { url = "https://files.pythonhosted.org/packages/43/21/a5d9df1d21514883333fc86584c07c2b49ba7c602e670b174bd73cfc9c7f/greenlet-3.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:7124e16b4c55d417577c2077be379514321916d5790fa287c9ed6f23bd2ffd01", size = 299655 }, + { url = "https://files.pythonhosted.org/packages/f3/57/0db4940cd7bb461365ca8d6fd53e68254c9dbbcc2b452e69d0d41f10a85e/greenlet-3.1.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:05175c27cb459dcfc05d026c4232f9de8913ed006d42713cb8a5137bd49375f1", size = 272990 }, + { url = "https://files.pythonhosted.org/packages/1c/ec/423d113c9f74e5e402e175b157203e9102feeb7088cee844d735b28ef963/greenlet-3.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:935e943ec47c4afab8965954bf49bfa639c05d4ccf9ef6e924188f762145c0ff", size = 649175 }, + { url = "https://files.pythonhosted.org/packages/a9/46/ddbd2db9ff209186b7b7c621d1432e2f21714adc988703dbdd0e65155c77/greenlet-3.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:667a9706c970cb552ede35aee17339a18e8f2a87a51fba2ed39ceeeb1004798a", size = 663425 }, + { url = "https://files.pythonhosted.org/packages/bc/f9/9c82d6b2b04aa37e38e74f0c429aece5eeb02bab6e3b98e7db89b23d94c6/greenlet-3.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b8a678974d1f3aa55f6cc34dc480169d58f2e6d8958895d68845fa4ab566509e", size = 657736 }, + { url = "https://files.pythonhosted.org/packages/d9/42/b87bc2a81e3a62c3de2b0d550bf91a86939442b7ff85abb94eec3fc0e6aa/greenlet-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efc0f674aa41b92da8c49e0346318c6075d734994c3c4e4430b1c3f853e498e4", size = 660347 }, + { url = "https://files.pythonhosted.org/packages/37/fa/71599c3fd06336cdc3eac52e6871cfebab4d9d70674a9a9e7a482c318e99/greenlet-3.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0153404a4bb921f0ff1abeb5ce8a5131da56b953eda6e14b88dc6bbc04d2049e", size = 615583 }, + { url = "https://files.pythonhosted.org/packages/4e/96/e9ef85de031703ee7a4483489b40cf307f93c1824a02e903106f2ea315fe/greenlet-3.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:275f72decf9932639c1c6dd1013a1bc266438eb32710016a1c742df5da6e60a1", size = 1133039 }, + { url = "https://files.pythonhosted.org/packages/87/76/b2b6362accd69f2d1889db61a18c94bc743e961e3cab344c2effaa4b4a25/greenlet-3.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c4aab7f6381f38a4b42f269057aee279ab0fc7bf2e929e3d4abfae97b682a12c", size = 1160716 }, + { url = "https://files.pythonhosted.org/packages/1f/1b/54336d876186920e185066d8c3024ad55f21d7cc3683c856127ddb7b13ce/greenlet-3.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:b42703b1cf69f2aa1df7d1030b9d77d3e584a70755674d60e710f0af570f3761", size = 299490 }, + { url = "https://files.pythonhosted.org/packages/5f/17/bea55bf36990e1638a2af5ba10c1640273ef20f627962cf97107f1e5d637/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1695e76146579f8c06c1509c7ce4dfe0706f49c6831a817ac04eebb2fd02011", size = 643731 }, + { url = "https://files.pythonhosted.org/packages/78/d2/aa3d2157f9ab742a08e0fd8f77d4699f37c22adfbfeb0c610a186b5f75e0/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7876452af029456b3f3549b696bb36a06db7c90747740c5302f74a9e9fa14b13", size = 649304 }, + { url = "https://files.pythonhosted.org/packages/f1/8e/d0aeffe69e53ccff5a28fa86f07ad1d2d2d6537a9506229431a2a02e2f15/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ead44c85f8ab905852d3de8d86f6f8baf77109f9da589cb4fa142bd3b57b475", size = 646537 }, + { url = "https://files.pythonhosted.org/packages/05/79/e15408220bbb989469c8871062c97c6c9136770657ba779711b90870d867/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8320f64b777d00dd7ccdade271eaf0cad6636343293a25074cc5566160e4de7b", size = 642506 }, + { url = "https://files.pythonhosted.org/packages/18/87/470e01a940307796f1d25f8167b551a968540fbe0551c0ebb853cb527dd6/greenlet-3.1.1-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6510bf84a6b643dabba74d3049ead221257603a253d0a9873f55f6a59a65f822", size = 602753 }, + { url = "https://files.pythonhosted.org/packages/e2/72/576815ba674eddc3c25028238f74d7b8068902b3968cbe456771b166455e/greenlet-3.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:04b013dc07c96f83134b1e99888e7a79979f1a247e2a9f59697fa14b5862ed01", size = 1122731 }, + { url = "https://files.pythonhosted.org/packages/ac/38/08cc303ddddc4b3d7c628c3039a61a3aae36c241ed01393d00c2fd663473/greenlet-3.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:411f015496fec93c1c8cd4e5238da364e1da7a124bcb293f085bf2860c32c6f6", size = 1142112 }, +] + +[[package]] +name = "h11" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 }, +] + +[[package]] +name = "httpcore" +version = "1.0.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 }, +] + +[[package]] +name = "httpx" +version = "0.26.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, + { name = "sniffio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bd/26/2dc654950920f499bd062a211071925533f821ccdca04fa0c2fd914d5d06/httpx-0.26.0.tar.gz", hash = "sha256:451b55c30d5185ea6b23c2c793abf9bb237d2a7dfb901ced6ff69ad37ec1dfaf", size = 125671 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/9b/4937d841aee9c2c8102d9a4eeb800c7dad25386caabb4a1bf5010df81a57/httpx-0.26.0-py3-none-any.whl", hash = "sha256:8915f5a3627c4d47b73e8202457cb28f1266982d1159bd5779d86a80c0eab1cd", size = 75862 }, +] + +[[package]] +name = "huggingface-hub" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock" }, + { name = "fsspec" }, + { name = "packaging" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "tqdm" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e7/ce/a734204aaae6c35a22f9956ebcd8d8708ae5b842e15d6f42bd6f49e634a4/huggingface_hub-0.28.1.tar.gz", hash = "sha256:893471090c98e3b6efbdfdacafe4052b20b84d59866fb6f54c33d9af18c303ae", size = 387074 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/da/6c2bea5327b640920267d3bf2c9fc114cfbd0a5de234d81cda80cc9e33c8/huggingface_hub-0.28.1-py3-none-any.whl", hash = "sha256:aa6b9a3ffdae939b72c464dbb0d7f99f56e649b55c3d52406f49e0a5a620c0a7", size = 464068 }, +] + +[[package]] +name = "humanfriendly" +version = "10.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyreadline3", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cc/3f/2c29224acb2e2df4d2046e4c73ee2662023c58ff5b113c4c1adac0886c43/humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc", size = 360702 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f0/0f/310fb31e39e2d734ccaa2c0fb981ee41f7bd5056ce9bc29b2248bd569169/humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477", size = 86794 }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, +] + +[[package]] +name = "iniconfig" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +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/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, +] + +[[package]] +name = "isodate" +version = "0.7.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/4d/e940025e2ce31a8ce1202635910747e5a87cc3a6a6bb2d00973375014749/isodate-0.7.2.tar.gz", hash = "sha256:4cd1aa0f43ca76f4a6c6c0292a85f40b35ec2e43e315b59f06e6d32171a953e6", size = 29705 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/aa/0aca39a37d3c7eb941ba736ede56d689e7be91cab5d9ca846bde3999eba6/isodate-0.7.2-py3-none-any.whl", hash = "sha256:28009937d8031054830160fce6d409ed342816b543597cece116d966c6d99e15", size = 22320 }, +] + +[[package]] +name = "jaconv" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d2/e1/670cefc7f00b0e1890e114a37a98ea425f7e06131342aeb9636856ac663c/jaconv-0.4.0.tar.gz", hash = "sha256:32da74b247f276e09a52d6b35c153df2387965cb85a6f034cc8af21d446f8161", size = 17402 } + +[[package]] +name = "jamo" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b1/a2/bda770579809726e929ca6356743f9f50f64a2cbaee578fa9d4824afb00e/jamo-0.4.1.tar.gz", hash = "sha256:ea65cf9d35338d0e0af48d75ff426d8a369b0ebde6f07051c3ac37256f56d025", size = 7386 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ac/cc/49812faae67f9a24be6ddaf58a2cf7e8c3cbfcf5b762d9414f7103d2ea2c/jamo-0.4.1-py3-none-any.whl", hash = "sha256:d4b94fd23324c606ed2fbc4037c603e2c3a7ae9390c05d3473aea1ccb6b1c3fb", size = 9543 }, +] + +[[package]] +name = "jieba" +version = "0.42.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c6/cb/18eeb235f833b726522d7ebed54f2278ce28ba9438e3135ab0278d9792a2/jieba-0.42.1.tar.gz", hash = "sha256:055ca12f62674fafed09427f176506079bc135638a14e23e25be909131928db2", size = 19214172 } + +[[package]] +name = "jinja2" +version = "3.1.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", size = 244674 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596 }, +] + +[[package]] +name = "jiter" +version = "0.8.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/70/90bc7bd3932e651486861df5c8ffea4ca7c77d28e8532ddefe2abc561a53/jiter-0.8.2.tar.gz", hash = "sha256:cd73d3e740666d0e639f678adb176fad25c1bcbdae88d8d7b857e1783bb4212d", size = 163007 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f2/f3/8c11e0e87bd5934c414f9b1cfae3cbfd4a938d4669d57cb427e1c4d11a7f/jiter-0.8.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:ca8577f6a413abe29b079bc30f907894d7eb07a865c4df69475e868d73e71c7b", size = 303381 }, + { url = "https://files.pythonhosted.org/packages/ea/28/4cd3f0bcbf40e946bc6a62a82c951afc386a25673d3d8d5ee461f1559bbe/jiter-0.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b25bd626bde7fb51534190c7e3cb97cee89ee76b76d7585580e22f34f5e3f393", size = 311718 }, + { url = "https://files.pythonhosted.org/packages/0d/17/57acab00507e60bd954eaec0837d9d7b119b4117ff49b8a62f2b646f32ed/jiter-0.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5c826a221851a8dc028eb6d7d6429ba03184fa3c7e83ae01cd6d3bd1d4bd17d", size = 335465 }, + { url = "https://files.pythonhosted.org/packages/74/b9/1a3ddd2bc95ae17c815b021521020f40c60b32137730126bada962ef32b4/jiter-0.8.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d35c864c2dff13dfd79fb070fc4fc6235d7b9b359efe340e1261deb21b9fcb66", size = 355570 }, + { url = "https://files.pythonhosted.org/packages/78/69/6d29e2296a934199a7d0dde673ecccf98c9c8db44caf0248b3f2b65483cb/jiter-0.8.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f557c55bc2b7676e74d39d19bcb8775ca295c7a028246175d6a8b431e70835e5", size = 381383 }, + { url = "https://files.pythonhosted.org/packages/22/d7/fbc4c3fb1bf65f9be22a32759b539f88e897aeb13fe84ab0266e4423487a/jiter-0.8.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:580ccf358539153db147e40751a0b41688a5ceb275e6f3e93d91c9467f42b2e3", size = 390454 }, + { url = "https://files.pythonhosted.org/packages/4d/a0/3993cda2e267fe679b45d0bcc2cef0b4504b0aa810659cdae9737d6bace9/jiter-0.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af102d3372e917cffce49b521e4c32c497515119dc7bd8a75665e90a718bbf08", size = 345039 }, + { url = "https://files.pythonhosted.org/packages/b9/ef/69c18562b4c09ce88fab5df1dcaf643f6b1a8b970b65216e7221169b81c4/jiter-0.8.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cadcc978f82397d515bb2683fc0d50103acff2a180552654bb92d6045dec2c49", size = 376200 }, + { url = "https://files.pythonhosted.org/packages/4d/17/0b5a8de46a6ab4d836f70934036278b49b8530c292b29dde3483326d4555/jiter-0.8.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ba5bdf56969cad2019d4e8ffd3f879b5fdc792624129741d3d83fc832fef8c7d", size = 511158 }, + { url = "https://files.pythonhosted.org/packages/6c/b2/c401a0a2554b36c9e6d6e4876b43790d75139cf3936f0222e675cbc23451/jiter-0.8.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3b94a33a241bee9e34b8481cdcaa3d5c2116f575e0226e421bed3f7a6ea71cff", size = 503956 }, + { url = "https://files.pythonhosted.org/packages/d4/02/a0291ed7d72c0ac130f172354ee3cf0b2556b69584de391463a8ee534f40/jiter-0.8.2-cp310-cp310-win32.whl", hash = "sha256:6e5337bf454abddd91bd048ce0dca5134056fc99ca0205258766db35d0a2ea43", size = 202846 }, + { url = "https://files.pythonhosted.org/packages/ad/20/8c988831ae4bf437e29f1671e198fc99ba8fe49f2895f23789acad1d1811/jiter-0.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:4a9220497ca0cb1fe94e3f334f65b9b5102a0b8147646118f020d8ce1de70105", size = 204414 }, + { url = "https://files.pythonhosted.org/packages/cb/b0/c1a7caa7f9dc5f1f6cfa08722867790fe2d3645d6e7170ca280e6e52d163/jiter-0.8.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:2dd61c5afc88a4fda7d8b2cf03ae5947c6ac7516d32b7a15bf4b49569a5c076b", size = 303666 }, + { url = "https://files.pythonhosted.org/packages/f5/97/0468bc9eeae43079aaa5feb9267964e496bf13133d469cfdc135498f8dd0/jiter-0.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a6c710d657c8d1d2adbbb5c0b0c6bfcec28fd35bd6b5f016395f9ac43e878a15", size = 311934 }, + { url = "https://files.pythonhosted.org/packages/e5/69/64058e18263d9a5f1e10f90c436853616d5f047d997c37c7b2df11b085ec/jiter-0.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9584de0cd306072635fe4b89742bf26feae858a0683b399ad0c2509011b9dc0", size = 335506 }, + { url = "https://files.pythonhosted.org/packages/9d/14/b747f9a77b8c0542141d77ca1e2a7523e854754af2c339ac89a8b66527d6/jiter-0.8.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5a90a923338531b7970abb063cfc087eebae6ef8ec8139762007188f6bc69a9f", size = 355849 }, + { url = "https://files.pythonhosted.org/packages/53/e2/98a08161db7cc9d0e39bc385415890928ff09709034982f48eccfca40733/jiter-0.8.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d21974d246ed0181558087cd9f76e84e8321091ebfb3a93d4c341479a736f099", size = 381700 }, + { url = "https://files.pythonhosted.org/packages/7a/38/1674672954d35bce3b1c9af99d5849f9256ac8f5b672e020ac7821581206/jiter-0.8.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32475a42b2ea7b344069dc1e81445cfc00b9d0e3ca837f0523072432332e9f74", size = 389710 }, + { url = "https://files.pythonhosted.org/packages/f8/9b/92f9da9a9e107d019bcf883cd9125fa1690079f323f5a9d5c6986eeec3c0/jiter-0.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b9931fd36ee513c26b5bf08c940b0ac875de175341cbdd4fa3be109f0492586", size = 345553 }, + { url = "https://files.pythonhosted.org/packages/44/a6/6d030003394e9659cd0d7136bbeabd82e869849ceccddc34d40abbbbb269/jiter-0.8.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ce0820f4a3a59ddced7fce696d86a096d5cc48d32a4183483a17671a61edfddc", size = 376388 }, + { url = "https://files.pythonhosted.org/packages/ad/8d/87b09e648e4aca5f9af89e3ab3cfb93db2d1e633b2f2931ede8dabd9b19a/jiter-0.8.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8ffc86ae5e3e6a93765d49d1ab47b6075a9c978a2b3b80f0f32628f39caa0c88", size = 511226 }, + { url = "https://files.pythonhosted.org/packages/77/95/8008ebe4cdc82eac1c97864a8042ca7e383ed67e0ec17bfd03797045c727/jiter-0.8.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5127dc1abd809431172bc3fbe8168d6b90556a30bb10acd5ded41c3cfd6f43b6", size = 504134 }, + { url = "https://files.pythonhosted.org/packages/26/0d/3056a74de13e8b2562e4d526de6dac2f65d91ace63a8234deb9284a1d24d/jiter-0.8.2-cp311-cp311-win32.whl", hash = "sha256:66227a2c7b575720c1871c8800d3a0122bb8ee94edb43a5685aa9aceb2782d44", size = 203103 }, + { url = "https://files.pythonhosted.org/packages/4e/1e/7f96b798f356e531ffc0f53dd2f37185fac60fae4d6c612bbbd4639b90aa/jiter-0.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:cde031d8413842a1e7501e9129b8e676e62a657f8ec8166e18a70d94d4682855", size = 206717 }, + { url = "https://files.pythonhosted.org/packages/a1/17/c8747af8ea4e045f57d6cfd6fc180752cab9bc3de0e8a0c9ca4e8af333b1/jiter-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e6ec2be506e7d6f9527dae9ff4b7f54e68ea44a0ef6b098256ddf895218a2f8f", size = 302027 }, + { url = "https://files.pythonhosted.org/packages/3c/c1/6da849640cd35a41e91085723b76acc818d4b7d92b0b6e5111736ce1dd10/jiter-0.8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76e324da7b5da060287c54f2fabd3db5f76468006c811831f051942bf68c9d44", size = 310326 }, + { url = "https://files.pythonhosted.org/packages/06/99/a2bf660d8ccffee9ad7ed46b4f860d2108a148d0ea36043fd16f4dc37e94/jiter-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:180a8aea058f7535d1c84183c0362c710f4750bef66630c05f40c93c2b152a0f", size = 334242 }, + { url = "https://files.pythonhosted.org/packages/a7/5f/cea1c17864828731f11427b9d1ab7f24764dbd9aaf4648a7f851164d2718/jiter-0.8.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:025337859077b41548bdcbabe38698bcd93cfe10b06ff66617a48ff92c9aec60", size = 356654 }, + { url = "https://files.pythonhosted.org/packages/e9/13/62774b7e5e7f5d5043efe1d0f94ead66e6d0f894ae010adb56b3f788de71/jiter-0.8.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecff0dc14f409599bbcafa7e470c00b80f17abc14d1405d38ab02e4b42e55b57", size = 379967 }, + { url = "https://files.pythonhosted.org/packages/ec/fb/096b34c553bb0bd3f2289d5013dcad6074948b8d55212aa13a10d44c5326/jiter-0.8.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffd9fee7d0775ebaba131f7ca2e2d83839a62ad65e8e02fe2bd8fc975cedeb9e", size = 389252 }, + { url = "https://files.pythonhosted.org/packages/17/61/beea645c0bf398ced8b199e377b61eb999d8e46e053bb285c91c3d3eaab0/jiter-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14601dcac4889e0a1c75ccf6a0e4baf70dbc75041e51bcf8d0e9274519df6887", size = 345490 }, + { url = "https://files.pythonhosted.org/packages/d5/df/834aa17ad5dcc3cf0118821da0a0cf1589ea7db9832589278553640366bc/jiter-0.8.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92249669925bc1c54fcd2ec73f70f2c1d6a817928480ee1c65af5f6b81cdf12d", size = 376991 }, + { url = "https://files.pythonhosted.org/packages/67/80/87d140399d382fb4ea5b3d56e7ecaa4efdca17cd7411ff904c1517855314/jiter-0.8.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e725edd0929fa79f8349ab4ec7f81c714df51dc4e991539a578e5018fa4a7152", size = 510822 }, + { url = "https://files.pythonhosted.org/packages/5c/37/3394bb47bac1ad2cb0465601f86828a0518d07828a650722e55268cdb7e6/jiter-0.8.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bf55846c7b7a680eebaf9c3c48d630e1bf51bdf76c68a5f654b8524335b0ad29", size = 503730 }, + { url = "https://files.pythonhosted.org/packages/f9/e2/253fc1fa59103bb4e3aa0665d6ceb1818df1cd7bf3eb492c4dad229b1cd4/jiter-0.8.2-cp312-cp312-win32.whl", hash = "sha256:7efe4853ecd3d6110301665a5178b9856be7e2a9485f49d91aa4d737ad2ae49e", size = 203375 }, + { url = "https://files.pythonhosted.org/packages/41/69/6d4bbe66b3b3b4507e47aa1dd5d075919ad242b4b1115b3f80eecd443687/jiter-0.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:83c0efd80b29695058d0fd2fa8a556490dbce9804eac3e281f373bbc99045f6c", size = 204740 }, + { url = "https://files.pythonhosted.org/packages/6c/b0/bfa1f6f2c956b948802ef5a021281978bf53b7a6ca54bb126fd88a5d014e/jiter-0.8.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ca1f08b8e43dc3bd0594c992fb1fd2f7ce87f7bf0d44358198d6da8034afdf84", size = 301190 }, + { url = "https://files.pythonhosted.org/packages/a4/8f/396ddb4e292b5ea57e45ade5dc48229556b9044bad29a3b4b2dddeaedd52/jiter-0.8.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5672a86d55416ccd214c778efccf3266b84f87b89063b582167d803246354be4", size = 309334 }, + { url = "https://files.pythonhosted.org/packages/7f/68/805978f2f446fa6362ba0cc2e4489b945695940656edd844e110a61c98f8/jiter-0.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58dc9bc9767a1101f4e5e22db1b652161a225874d66f0e5cb8e2c7d1c438b587", size = 333918 }, + { url = "https://files.pythonhosted.org/packages/b3/99/0f71f7be667c33403fa9706e5b50583ae5106d96fab997fa7e2f38ee8347/jiter-0.8.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:37b2998606d6dadbb5ccda959a33d6a5e853252d921fec1792fc902351bb4e2c", size = 356057 }, + { url = "https://files.pythonhosted.org/packages/8d/50/a82796e421a22b699ee4d2ce527e5bcb29471a2351cbdc931819d941a167/jiter-0.8.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ab9a87f3784eb0e098f84a32670cfe4a79cb6512fd8f42ae3d0709f06405d18", size = 379790 }, + { url = "https://files.pythonhosted.org/packages/3c/31/10fb012b00f6d83342ca9e2c9618869ab449f1aa78c8f1b2193a6b49647c/jiter-0.8.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:79aec8172b9e3c6d05fd4b219d5de1ac616bd8da934107325a6c0d0e866a21b6", size = 388285 }, + { url = "https://files.pythonhosted.org/packages/c8/81/f15ebf7de57be488aa22944bf4274962aca8092e4f7817f92ffa50d3ee46/jiter-0.8.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:711e408732d4e9a0208008e5892c2966b485c783cd2d9a681f3eb147cf36c7ef", size = 344764 }, + { url = "https://files.pythonhosted.org/packages/b3/e8/0cae550d72b48829ba653eb348cdc25f3f06f8a62363723702ec18e7be9c/jiter-0.8.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:653cf462db4e8c41995e33d865965e79641ef45369d8a11f54cd30888b7e6ff1", size = 376620 }, + { url = "https://files.pythonhosted.org/packages/b8/50/e5478ff9d82534a944c03b63bc217c5f37019d4a34d288db0f079b13c10b/jiter-0.8.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:9c63eaef32b7bebac8ebebf4dabebdbc6769a09c127294db6babee38e9f405b9", size = 510402 }, + { url = "https://files.pythonhosted.org/packages/8e/1e/3de48bbebbc8f7025bd454cedc8c62378c0e32dd483dece5f4a814a5cb55/jiter-0.8.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:eb21aaa9a200d0a80dacc7a81038d2e476ffe473ffdd9c91eb745d623561de05", size = 503018 }, + { url = "https://files.pythonhosted.org/packages/d5/cd/d5a5501d72a11fe3e5fd65c78c884e5164eefe80077680533919be22d3a3/jiter-0.8.2-cp313-cp313-win32.whl", hash = "sha256:789361ed945d8d42850f919342a8665d2dc79e7e44ca1c97cc786966a21f627a", size = 203190 }, + { url = "https://files.pythonhosted.org/packages/51/bf/e5ca301245ba951447e3ad677a02a64a8845b185de2603dabd83e1e4b9c6/jiter-0.8.2-cp313-cp313-win_amd64.whl", hash = "sha256:ab7f43235d71e03b941c1630f4b6e3055d46b6cb8728a17663eaac9d8e83a865", size = 203551 }, + { url = "https://files.pythonhosted.org/packages/2f/3c/71a491952c37b87d127790dd7a0b1ebea0514c6b6ad30085b16bbe00aee6/jiter-0.8.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b426f72cd77da3fec300ed3bc990895e2dd6b49e3bfe6c438592a3ba660e41ca", size = 308347 }, + { url = "https://files.pythonhosted.org/packages/a0/4c/c02408042e6a7605ec063daed138e07b982fdb98467deaaf1c90950cf2c6/jiter-0.8.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2dd880785088ff2ad21ffee205e58a8c1ddabc63612444ae41e5e4b321b39c0", size = 342875 }, + { url = "https://files.pythonhosted.org/packages/91/61/c80ef80ed8a0a21158e289ef70dac01e351d929a1c30cb0f49be60772547/jiter-0.8.2-cp313-cp313t-win_amd64.whl", hash = "sha256:3ac9f578c46f22405ff7f8b1f5848fb753cc4b8377fbec8470a7dc3997ca7566", size = 202374 }, +] + +[[package]] +name = "joblib" +version = "1.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/64/33/60135848598c076ce4b231e1b1895170f45fbcaeaa2c9d5e38b04db70c35/joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e", size = 2116621 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6", size = 301817 }, +] + +[[package]] +name = "jsonschema" +version = "4.23.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462 }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2024.10.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272", size = 15561 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf", size = 18459 }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/5f/4d8e9e852d98ecd26cdf8eaf7ed8bc33174033bba5e07001b289f07308fd/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db", size = 124623 }, + { url = "https://files.pythonhosted.org/packages/1d/70/7f5af2a18a76fe92ea14675f8bd88ce53ee79e37900fa5f1a1d8e0b42998/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b", size = 66720 }, + { url = "https://files.pythonhosted.org/packages/c6/13/e15f804a142353aefd089fadc8f1d985561a15358c97aca27b0979cb0785/kiwisolver-1.4.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce2cf1e5688edcb727fdf7cd1bbd0b6416758996826a8be1d958f91880d0809d", size = 65413 }, + { url = "https://files.pythonhosted.org/packages/ce/6d/67d36c4d2054e83fb875c6b59d0809d5c530de8148846b1370475eeeece9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c8bf637892dc6e6aad2bc6d4d69d08764166e5e3f69d469e55427b6ac001b19d", size = 1650826 }, + { url = "https://files.pythonhosted.org/packages/de/c6/7b9bb8044e150d4d1558423a1568e4f227193662a02231064e3824f37e0a/kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:034d2c891f76bd3edbdb3ea11140d8510dca675443da7304205a2eaa45d8334c", size = 1628231 }, + { url = "https://files.pythonhosted.org/packages/b6/38/ad10d437563063eaaedbe2c3540a71101fc7fb07a7e71f855e93ea4de605/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47b28d1dfe0793d5e96bce90835e17edf9a499b53969b03c6c47ea5985844c3", size = 1408938 }, + { url = "https://files.pythonhosted.org/packages/52/ce/c0106b3bd7f9e665c5f5bc1e07cc95b5dabd4e08e3dad42dbe2faad467e7/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb158fe28ca0c29f2260cca8c43005329ad58452c36f0edf298204de32a9a3ed", size = 1422799 }, + { url = "https://files.pythonhosted.org/packages/d0/87/efb704b1d75dc9758087ba374c0f23d3254505edaedd09cf9d247f7878b9/kiwisolver-1.4.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5536185fce131780ebd809f8e623bf4030ce1b161353166c49a3c74c287897f", size = 1354362 }, + { url = "https://files.pythonhosted.org/packages/eb/b3/fd760dc214ec9a8f208b99e42e8f0130ff4b384eca8b29dd0efc62052176/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:369b75d40abedc1da2c1f4de13f3482cb99e3237b38726710f4a793432b1c5ff", size = 2222695 }, + { url = "https://files.pythonhosted.org/packages/a2/09/a27fb36cca3fc01700687cc45dae7a6a5f8eeb5f657b9f710f788748e10d/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:641f2ddf9358c80faa22e22eb4c9f54bd3f0e442e038728f500e3b978d00aa7d", size = 2370802 }, + { url = "https://files.pythonhosted.org/packages/3d/c3/ba0a0346db35fe4dc1f2f2cf8b99362fbb922d7562e5f911f7ce7a7b60fa/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d561d2d8883e0819445cfe58d7ddd673e4015c3c57261d7bdcd3710d0d14005c", size = 2334646 }, + { url = "https://files.pythonhosted.org/packages/41/52/942cf69e562f5ed253ac67d5c92a693745f0bed3c81f49fc0cbebe4d6b00/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1732e065704b47c9afca7ffa272f845300a4eb959276bf6970dc07265e73b605", size = 2467260 }, + { url = "https://files.pythonhosted.org/packages/32/26/2d9668f30d8a494b0411d4d7d4ea1345ba12deb6a75274d58dd6ea01e951/kiwisolver-1.4.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcb1ebc3547619c3b58a39e2448af089ea2ef44b37988caf432447374941574e", size = 2288633 }, + { url = "https://files.pythonhosted.org/packages/98/99/0dd05071654aa44fe5d5e350729961e7bb535372935a45ac89a8924316e6/kiwisolver-1.4.8-cp310-cp310-win_amd64.whl", hash = "sha256:89c107041f7b27844179ea9c85d6da275aa55ecf28413e87624d033cf1f6b751", size = 71885 }, + { url = "https://files.pythonhosted.org/packages/6c/fc/822e532262a97442989335394d441cd1d0448c2e46d26d3e04efca84df22/kiwisolver-1.4.8-cp310-cp310-win_arm64.whl", hash = "sha256:b5773efa2be9eb9fcf5415ea3ab70fc785d598729fd6057bea38d539ead28271", size = 65175 }, + { url = "https://files.pythonhosted.org/packages/da/ed/c913ee28936c371418cb167b128066ffb20bbf37771eecc2c97edf8a6e4c/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a4d3601908c560bdf880f07d94f31d734afd1bb71e96585cace0e38ef44c6d84", size = 124635 }, + { url = "https://files.pythonhosted.org/packages/4c/45/4a7f896f7467aaf5f56ef093d1f329346f3b594e77c6a3c327b2d415f521/kiwisolver-1.4.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:856b269c4d28a5c0d5e6c1955ec36ebfd1651ac00e1ce0afa3e28da95293b561", size = 66717 }, + { url = "https://files.pythonhosted.org/packages/5f/b4/c12b3ac0852a3a68f94598d4c8d569f55361beef6159dce4e7b624160da2/kiwisolver-1.4.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c2b9a96e0f326205af81a15718a9073328df1173a2619a68553decb7097fd5d7", size = 65413 }, + { url = "https://files.pythonhosted.org/packages/a9/98/1df4089b1ed23d83d410adfdc5947245c753bddfbe06541c4aae330e9e70/kiwisolver-1.4.8-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5020c83e8553f770cb3b5fc13faac40f17e0b205bd237aebd21d53d733adb03", size = 1343994 }, + { url = "https://files.pythonhosted.org/packages/8d/bf/b4b169b050c8421a7c53ea1ea74e4ef9c335ee9013216c558a047f162d20/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dace81d28c787956bfbfbbfd72fdcef014f37d9b48830829e488fdb32b49d954", size = 1434804 }, + { url = "https://files.pythonhosted.org/packages/66/5a/e13bd341fbcf73325ea60fdc8af752addf75c5079867af2e04cc41f34434/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11e1022b524bd48ae56c9b4f9296bce77e15a2e42a502cceba602f804b32bb79", size = 1450690 }, + { url = "https://files.pythonhosted.org/packages/9b/4f/5955dcb376ba4a830384cc6fab7d7547bd6759fe75a09564910e9e3bb8ea/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b9b4d2892fefc886f30301cdd80debd8bb01ecdf165a449eb6e78f79f0fabd6", size = 1376839 }, + { url = "https://files.pythonhosted.org/packages/3a/97/5edbed69a9d0caa2e4aa616ae7df8127e10f6586940aa683a496c2c280b9/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a96c0e790ee875d65e340ab383700e2b4891677b7fcd30a699146f9384a2bb0", size = 1435109 }, + { url = "https://files.pythonhosted.org/packages/13/fc/e756382cb64e556af6c1809a1bbb22c141bbc2445049f2da06b420fe52bf/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:23454ff084b07ac54ca8be535f4174170c1094a4cff78fbae4f73a4bcc0d4dab", size = 2245269 }, + { url = "https://files.pythonhosted.org/packages/76/15/e59e45829d7f41c776d138245cabae6515cb4eb44b418f6d4109c478b481/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:87b287251ad6488e95b4f0b4a79a6d04d3ea35fde6340eb38fbd1ca9cd35bbbc", size = 2393468 }, + { url = "https://files.pythonhosted.org/packages/e9/39/483558c2a913ab8384d6e4b66a932406f87c95a6080112433da5ed668559/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b21dbe165081142b1232a240fc6383fd32cdd877ca6cc89eab93e5f5883e1c25", size = 2355394 }, + { url = "https://files.pythonhosted.org/packages/01/aa/efad1fbca6570a161d29224f14b082960c7e08268a133fe5dc0f6906820e/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:768cade2c2df13db52475bd28d3a3fac8c9eff04b0e9e2fda0f3760f20b3f7fc", size = 2490901 }, + { url = "https://files.pythonhosted.org/packages/c9/4f/15988966ba46bcd5ab9d0c8296914436720dd67fca689ae1a75b4ec1c72f/kiwisolver-1.4.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d47cfb2650f0e103d4bf68b0b5804c68da97272c84bb12850d877a95c056bd67", size = 2312306 }, + { url = "https://files.pythonhosted.org/packages/2d/27/bdf1c769c83f74d98cbc34483a972f221440703054894a37d174fba8aa68/kiwisolver-1.4.8-cp311-cp311-win_amd64.whl", hash = "sha256:ed33ca2002a779a2e20eeb06aea7721b6e47f2d4b8a8ece979d8ba9e2a167e34", size = 71966 }, + { url = "https://files.pythonhosted.org/packages/4a/c9/9642ea855604aeb2968a8e145fc662edf61db7632ad2e4fb92424be6b6c0/kiwisolver-1.4.8-cp311-cp311-win_arm64.whl", hash = "sha256:16523b40aab60426ffdebe33ac374457cf62863e330a90a0383639ce14bf44b2", size = 65311 }, + { url = "https://files.pythonhosted.org/packages/fc/aa/cea685c4ab647f349c3bc92d2daf7ae34c8e8cf405a6dcd3a497f58a2ac3/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6af5e8815fd02997cb6ad9bbed0ee1e60014438ee1a5c2444c96f87b8843502", size = 124152 }, + { url = "https://files.pythonhosted.org/packages/c5/0b/8db6d2e2452d60d5ebc4ce4b204feeb16176a851fd42462f66ade6808084/kiwisolver-1.4.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bade438f86e21d91e0cf5dd7c0ed00cda0f77c8c1616bd83f9fc157fa6760d31", size = 66555 }, + { url = "https://files.pythonhosted.org/packages/60/26/d6a0db6785dd35d3ba5bf2b2df0aedc5af089962c6eb2cbf67a15b81369e/kiwisolver-1.4.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b83dc6769ddbc57613280118fb4ce3cd08899cc3369f7d0e0fab518a7cf37fdb", size = 65067 }, + { url = "https://files.pythonhosted.org/packages/c9/ed/1d97f7e3561e09757a196231edccc1bcf59d55ddccefa2afc9c615abd8e0/kiwisolver-1.4.8-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111793b232842991be367ed828076b03d96202c19221b5ebab421ce8bcad016f", size = 1378443 }, + { url = "https://files.pythonhosted.org/packages/29/61/39d30b99954e6b46f760e6289c12fede2ab96a254c443639052d1b573fbc/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:257af1622860e51b1a9d0ce387bf5c2c4f36a90594cb9514f55b074bcc787cfc", size = 1472728 }, + { url = "https://files.pythonhosted.org/packages/0c/3e/804163b932f7603ef256e4a715e5843a9600802bb23a68b4e08c8c0ff61d/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b5637c3f316cab1ec1c9a12b8c5f4750a4c4b71af9157645bf32830e39c03a", size = 1478388 }, + { url = "https://files.pythonhosted.org/packages/8a/9e/60eaa75169a154700be74f875a4d9961b11ba048bef315fbe89cb6999056/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:782bb86f245ec18009890e7cb8d13a5ef54dcf2ebe18ed65f795e635a96a1c6a", size = 1413849 }, + { url = "https://files.pythonhosted.org/packages/bc/b3/9458adb9472e61a998c8c4d95cfdfec91c73c53a375b30b1428310f923e4/kiwisolver-1.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc978a80a0db3a66d25767b03688f1147a69e6237175c0f4ffffaaedf744055a", size = 1475533 }, + { url = "https://files.pythonhosted.org/packages/e4/7a/0a42d9571e35798de80aef4bb43a9b672aa7f8e58643d7bd1950398ffb0a/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36dbbfd34838500a31f52c9786990d00150860e46cd5041386f217101350f0d3", size = 2268898 }, + { url = "https://files.pythonhosted.org/packages/d9/07/1255dc8d80271400126ed8db35a1795b1a2c098ac3a72645075d06fe5c5d/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eaa973f1e05131de5ff3569bbba7f5fd07ea0595d3870ed4a526d486fe57fa1b", size = 2425605 }, + { url = "https://files.pythonhosted.org/packages/84/df/5a3b4cf13780ef6f6942df67b138b03b7e79e9f1f08f57c49957d5867f6e/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a66f60f8d0c87ab7f59b6fb80e642ebb29fec354a4dfad687ca4092ae69d04f4", size = 2375801 }, + { url = "https://files.pythonhosted.org/packages/8f/10/2348d068e8b0f635c8c86892788dac7a6b5c0cb12356620ab575775aad89/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858416b7fb777a53f0c59ca08190ce24e9abbd3cffa18886a5781b8e3e26f65d", size = 2520077 }, + { url = "https://files.pythonhosted.org/packages/32/d8/014b89fee5d4dce157d814303b0fce4d31385a2af4c41fed194b173b81ac/kiwisolver-1.4.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:085940635c62697391baafaaeabdf3dd7a6c3643577dde337f4d66eba021b2b8", size = 2338410 }, + { url = "https://files.pythonhosted.org/packages/bd/72/dfff0cc97f2a0776e1c9eb5bef1ddfd45f46246c6533b0191887a427bca5/kiwisolver-1.4.8-cp312-cp312-win_amd64.whl", hash = "sha256:01c3d31902c7db5fb6182832713d3b4122ad9317c2c5877d0539227d96bb2e50", size = 71853 }, + { url = "https://files.pythonhosted.org/packages/dc/85/220d13d914485c0948a00f0b9eb419efaf6da81b7d72e88ce2391f7aed8d/kiwisolver-1.4.8-cp312-cp312-win_arm64.whl", hash = "sha256:a3c44cb68861de93f0c4a8175fbaa691f0aa22550c331fefef02b618a9dcb476", size = 65424 }, + { url = "https://files.pythonhosted.org/packages/79/b3/e62464a652f4f8cd9006e13d07abad844a47df1e6537f73ddfbf1bc997ec/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1c8ceb754339793c24aee1c9fb2485b5b1f5bb1c2c214ff13368431e51fc9a09", size = 124156 }, + { url = "https://files.pythonhosted.org/packages/8d/2d/f13d06998b546a2ad4f48607a146e045bbe48030774de29f90bdc573df15/kiwisolver-1.4.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a62808ac74b5e55a04a408cda6156f986cefbcf0ada13572696b507cc92fa1", size = 66555 }, + { url = "https://files.pythonhosted.org/packages/59/e3/b8bd14b0a54998a9fd1e8da591c60998dc003618cb19a3f94cb233ec1511/kiwisolver-1.4.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68269e60ee4929893aad82666821aaacbd455284124817af45c11e50a4b42e3c", size = 65071 }, + { url = "https://files.pythonhosted.org/packages/f0/1c/6c86f6d85ffe4d0ce04228d976f00674f1df5dc893bf2dd4f1928748f187/kiwisolver-1.4.8-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34d142fba9c464bc3bbfeff15c96eab0e7310343d6aefb62a79d51421fcc5f1b", size = 1378053 }, + { url = "https://files.pythonhosted.org/packages/4e/b9/1c6e9f6dcb103ac5cf87cb695845f5fa71379021500153566d8a8a9fc291/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc373e0eef45b59197de815b1b28ef89ae3955e7722cc9710fb91cd77b7f47", size = 1472278 }, + { url = "https://files.pythonhosted.org/packages/ee/81/aca1eb176de671f8bda479b11acdc42c132b61a2ac861c883907dde6debb/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77e6f57a20b9bd4e1e2cedda4d0b986ebd0216236f0106e55c28aea3d3d69b16", size = 1478139 }, + { url = "https://files.pythonhosted.org/packages/49/f4/e081522473671c97b2687d380e9e4c26f748a86363ce5af48b4a28e48d06/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08e77738ed7538f036cd1170cbed942ef749137b1311fa2bbe2a7fda2f6bf3cc", size = 1413517 }, + { url = "https://files.pythonhosted.org/packages/8f/e9/6a7d025d8da8c4931522922cd706105aa32b3291d1add8c5427cdcd66e63/kiwisolver-1.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5ce1e481a74b44dd5e92ff03ea0cb371ae7a0268318e202be06c8f04f4f1246", size = 1474952 }, + { url = "https://files.pythonhosted.org/packages/82/13/13fa685ae167bee5d94b415991c4fc7bb0a1b6ebea6e753a87044b209678/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fc2ace710ba7c1dfd1a3b42530b62b9ceed115f19a1656adefce7b1782a37794", size = 2269132 }, + { url = "https://files.pythonhosted.org/packages/ef/92/bb7c9395489b99a6cb41d502d3686bac692586db2045adc19e45ee64ed23/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3452046c37c7692bd52b0e752b87954ef86ee2224e624ef7ce6cb21e8c41cc1b", size = 2425997 }, + { url = "https://files.pythonhosted.org/packages/ed/12/87f0e9271e2b63d35d0d8524954145837dd1a6c15b62a2d8c1ebe0f182b4/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e9a60b50fe8b2ec6f448fe8d81b07e40141bfced7f896309df271a0b92f80f3", size = 2376060 }, + { url = "https://files.pythonhosted.org/packages/02/6e/c8af39288edbce8bf0fa35dee427b082758a4b71e9c91ef18fa667782138/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:918139571133f366e8362fa4a297aeba86c7816b7ecf0bc79168080e2bd79957", size = 2520471 }, + { url = "https://files.pythonhosted.org/packages/13/78/df381bc7b26e535c91469f77f16adcd073beb3e2dd25042efd064af82323/kiwisolver-1.4.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e063ef9f89885a1d68dd8b2e18f5ead48653176d10a0e324e3b0030e3a69adeb", size = 2338793 }, + { url = "https://files.pythonhosted.org/packages/d0/dc/c1abe38c37c071d0fc71c9a474fd0b9ede05d42f5a458d584619cfd2371a/kiwisolver-1.4.8-cp313-cp313-win_amd64.whl", hash = "sha256:a17b7c4f5b2c51bb68ed379defd608a03954a1845dfed7cc0117f1cc8a9b7fd2", size = 71855 }, + { url = "https://files.pythonhosted.org/packages/a0/b6/21529d595b126ac298fdd90b705d87d4c5693de60023e0efcb4f387ed99e/kiwisolver-1.4.8-cp313-cp313-win_arm64.whl", hash = "sha256:3cd3bc628b25f74aedc6d374d5babf0166a92ff1317f46267f12d2ed54bc1d30", size = 65430 }, + { url = "https://files.pythonhosted.org/packages/34/bd/b89380b7298e3af9b39f49334e3e2a4af0e04819789f04b43d560516c0c8/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:370fd2df41660ed4e26b8c9d6bbcad668fbe2560462cba151a721d49e5b6628c", size = 126294 }, + { url = "https://files.pythonhosted.org/packages/83/41/5857dc72e5e4148eaac5aa76e0703e594e4465f8ab7ec0fc60e3a9bb8fea/kiwisolver-1.4.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:84a2f830d42707de1d191b9490ac186bf7997a9495d4e9072210a1296345f7dc", size = 67736 }, + { url = "https://files.pythonhosted.org/packages/e1/d1/be059b8db56ac270489fb0b3297fd1e53d195ba76e9bbb30e5401fa6b759/kiwisolver-1.4.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7a3ad337add5148cf51ce0b55642dc551c0b9d6248458a757f98796ca7348712", size = 66194 }, + { url = "https://files.pythonhosted.org/packages/e1/83/4b73975f149819eb7dcf9299ed467eba068ecb16439a98990dcb12e63fdd/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7506488470f41169b86d8c9aeff587293f530a23a23a49d6bc64dab66bedc71e", size = 1465942 }, + { url = "https://files.pythonhosted.org/packages/c7/2c/30a5cdde5102958e602c07466bce058b9d7cb48734aa7a4327261ac8e002/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f0121b07b356a22fb0414cec4666bbe36fd6d0d759db3d37228f496ed67c880", size = 1595341 }, + { url = "https://files.pythonhosted.org/packages/ff/9b/1e71db1c000385aa069704f5990574b8244cce854ecd83119c19e83c9586/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6d6bd87df62c27d4185de7c511c6248040afae67028a8a22012b010bc7ad062", size = 1598455 }, + { url = "https://files.pythonhosted.org/packages/85/92/c8fec52ddf06231b31cbb779af77e99b8253cd96bd135250b9498144c78b/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:291331973c64bb9cce50bbe871fb2e675c4331dab4f31abe89f175ad7679a4d7", size = 1522138 }, + { url = "https://files.pythonhosted.org/packages/0b/51/9eb7e2cd07a15d8bdd976f6190c0164f92ce1904e5c0c79198c4972926b7/kiwisolver-1.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893f5525bb92d3d735878ec00f781b2de998333659507d29ea4466208df37bed", size = 1582857 }, + { url = "https://files.pythonhosted.org/packages/0f/95/c5a00387a5405e68ba32cc64af65ce881a39b98d73cc394b24143bebc5b8/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b47a465040146981dc9db8647981b8cb96366fbc8d452b031e4f8fdffec3f26d", size = 2293129 }, + { url = "https://files.pythonhosted.org/packages/44/83/eeb7af7d706b8347548313fa3a3a15931f404533cc54fe01f39e830dd231/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:99cea8b9dd34ff80c521aef46a1dddb0dcc0283cf18bde6d756f1e6f31772165", size = 2421538 }, + { url = "https://files.pythonhosted.org/packages/05/f9/27e94c1b3eb29e6933b6986ffc5fa1177d2cd1f0c8efc5f02c91c9ac61de/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:151dffc4865e5fe6dafce5480fab84f950d14566c480c08a53c663a0020504b6", size = 2390661 }, + { url = "https://files.pythonhosted.org/packages/d9/d4/3c9735faa36ac591a4afcc2980d2691000506050b7a7e80bcfe44048daa7/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:577facaa411c10421314598b50413aa1ebcf5126f704f1e5d72d7e4e9f020d90", size = 2546710 }, + { url = "https://files.pythonhosted.org/packages/4c/fa/be89a49c640930180657482a74970cdcf6f7072c8d2471e1babe17a222dc/kiwisolver-1.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:be4816dc51c8a471749d664161b434912eee82f2ea66bd7628bd14583a833e85", size = 2349213 }, + { url = "https://files.pythonhosted.org/packages/1f/f9/ae81c47a43e33b93b0a9819cac6723257f5da2a5a60daf46aa5c7226ea85/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e7a019419b7b510f0f7c9dceff8c5eae2392037eae483a7f9162625233802b0a", size = 60403 }, + { url = "https://files.pythonhosted.org/packages/58/ca/f92b5cb6f4ce0c1ebfcfe3e2e42b96917e16f7090e45b21102941924f18f/kiwisolver-1.4.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:286b18e86682fd2217a48fc6be6b0f20c1d0ed10958d8dc53453ad58d7be0bf8", size = 58657 }, + { url = "https://files.pythonhosted.org/packages/80/28/ae0240f732f0484d3a4dc885d055653c47144bdf59b670aae0ec3c65a7c8/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4191ee8dfd0be1c3666ccbac178c5a05d5f8d689bbe3fc92f3c4abec817f8fe0", size = 84948 }, + { url = "https://files.pythonhosted.org/packages/5d/eb/78d50346c51db22c7203c1611f9b513075f35c4e0e4877c5dde378d66043/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd2785b9391f2873ad46088ed7599a6a71e762e1ea33e87514b1a441ed1da1c", size = 81186 }, + { url = "https://files.pythonhosted.org/packages/43/f8/7259f18c77adca88d5f64f9a522792e178b2691f3748817a8750c2d216ef/kiwisolver-1.4.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c07b29089b7ba090b6f1a669f1411f27221c3662b3a1b7010e67b59bb5a6f10b", size = 80279 }, + { url = "https://files.pythonhosted.org/packages/3a/1d/50ad811d1c5dae091e4cf046beba925bcae0a610e79ae4c538f996f63ed5/kiwisolver-1.4.8-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:65ea09a5a3faadd59c2ce96dc7bf0f364986a315949dc6374f04396b0d60e09b", size = 71762 }, +] + +[[package]] +name = "kokoro" +version = "0.3.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "huggingface-hub" }, + { name = "loguru" }, + { name = "misaki", extra = ["en"] }, + { name = "numpy" }, + { name = "scipy" }, + { name = "torch", version = "2.5.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "extra == 'extra-14-kokoro-fastapi-cpu'" }, + { name = "torch", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "(extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, + { name = "transformers" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/89/e9/f82f2d8e1fdbd4a17bd11055f6bb7808f9c043ab4fb87062955f07465660/kokoro-0.3.5.tar.gz", hash = "sha256:9eb456a8c005f7bfae4756b9718f0a39dd8a1216092e52d17a568e106c02f278", size = 23669 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/19/b0e566a8d1c20a4f8f83cd287bcd1372267cf0adb17230165a91878bdf5b/kokoro-0.3.5-py3-none-any.whl", hash = "sha256:995c2284c13b49657df4280cda171ce03442b223ac97d3ca63f9a914b246a4ca", size = 24568 }, +] + +[[package]] +name = "kokoro-fastapi" +version = "0.1.4" +source = { editable = "." } +dependencies = [ + { name = "aiofiles" }, + { name = "click" }, + { name = "en-core-web-sm" }, + { name = "fastapi" }, + { name = "kokoro" }, + { name = "loguru" }, + { name = "matplotlib" }, + { name = "misaki", extra = ["en", "ja", "ko", "vi", "zh"] }, + { name = "munch" }, + { name = "mutagen" }, + { name = "numpy" }, + { name = "openai" }, + { name = "phonemizer" }, + { name = "psutil" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, + { name = "pydub" }, + { name = "python-dotenv" }, + { name = "regex" }, + { name = "requests" }, + { name = "scipy" }, + { name = "semchunk" }, + { name = "soundfile" }, + { name = "spacy" }, + { name = "sqlalchemy" }, + { name = "tiktoken" }, + { name = "tqdm" }, + { name = "transformers" }, + { name = "uvicorn" }, +] + +[package.optional-dependencies] +cpu = [ + { name = "onnxruntime" }, + { name = "torch", version = "2.5.1", source = { registry = "https://download.pytorch.org/whl/cpu" } }, +] +gpu = [ + { name = "onnxruntime-gpu" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" } }, +] +test = [ + { name = "gradio" }, + { name = "httpx" }, + { name = "openai" }, + { name = "pytest" }, + { name = "pytest-asyncio" }, + { name = "pytest-cov" }, +] + +[package.metadata] +requires-dist = [ + { name = "aiofiles", specifier = "==23.2.1" }, + { name = "click", specifier = ">=8.0.0" }, + { name = "en-core-web-sm", url = "https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.8.0/en_core_web_sm-3.8.0-py3-none-any.whl" }, + { name = "fastapi", specifier = "==0.115.6" }, + { name = "gradio", marker = "extra == 'test'", specifier = ">=5" }, + { name = "httpx", marker = "extra == 'test'", specifier = "==0.26.0" }, + { name = "kokoro", specifier = "==0.3.5" }, + { name = "loguru", specifier = "==0.7.3" }, + { name = "matplotlib", specifier = ">=3.10.0" }, + { name = "misaki", extras = ["en", "ja", "ko", "zh", "vi"], specifier = "==0.6.7" }, + { name = "munch", specifier = "==4.0.0" }, + { name = "mutagen", specifier = ">=1.47.0" }, + { name = "numpy", specifier = ">=1.26.0" }, + { name = "onnxruntime", marker = "extra == 'cpu'", specifier = "==1.20.1" }, + { name = "onnxruntime-gpu", marker = "extra == 'gpu'", specifier = "==1.20.1" }, + { name = "openai", specifier = ">=1.59.6" }, + { name = "openai", marker = "extra == 'test'", specifier = ">=1.59.6" }, + { name = "phonemizer", specifier = "==3.3.0" }, + { name = "psutil", specifier = ">=6.1.1" }, + { name = "pydantic", specifier = "==2.10.4" }, + { name = "pydantic-settings", specifier = "==2.7.0" }, + { name = "pydub", specifier = ">=0.25.1" }, + { name = "pytest", marker = "extra == 'test'", specifier = "==8.0.0" }, + { name = "pytest-asyncio", marker = "extra == 'test'", specifier = "==0.23.5" }, + { name = "pytest-cov", marker = "extra == 'test'", specifier = "==4.1.0" }, + { name = "python-dotenv", specifier = "==1.0.1" }, + { name = "regex", specifier = "==2024.11.6" }, + { name = "requests", specifier = "==2.32.3" }, + { name = "scipy", specifier = "==1.14.1" }, + { name = "semchunk", specifier = ">=3.0.1" }, + { name = "soundfile", specifier = "==0.13.0" }, + { name = "spacy", specifier = ">=3.7.6" }, + { name = "sqlalchemy", specifier = "==2.0.27" }, + { name = "tiktoken", specifier = "==0.8.0" }, + { name = "torch", marker = "extra == 'cpu'", specifier = "==2.5.1", index = "https://download.pytorch.org/whl/cpu", conflict = { package = "kokoro-fastapi", extra = "cpu" } }, + { name = "torch", marker = "extra == 'gpu'", specifier = "==2.5.1+cu121", index = "https://download.pytorch.org/whl/cu121", conflict = { package = "kokoro-fastapi", extra = "gpu" } }, + { name = "tqdm", specifier = "==4.67.1" }, + { name = "transformers", specifier = "==4.47.1" }, + { name = "uvicorn", specifier = "==0.34.0" }, +] + +[[package]] +name = "langcodes" +version = "3.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "language-data" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3a/7a/5a97e327063409a5caa21541e6d08ae4a0f2da328447e9f2c7b39e179226/langcodes-3.5.0.tar.gz", hash = "sha256:1eef8168d07e51e131a2497ffecad4b663f6208e7c3ae3b8dc15c51734a6f801", size = 191030 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c3/6b/068c2ea7a712bf805c62445bd9e9c06d7340358ef2824150eceac027444b/langcodes-3.5.0-py3-none-any.whl", hash = "sha256:853c69d1a35e0e13da2f427bb68fb2fa4a8f4fb899e0c62ad8df8d073dcfed33", size = 182974 }, +] + +[[package]] +name = "language-data" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "marisa-trie" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dd/ce/3f144716a9f2cbf42aa86ebc8b085a184be25c80aa453eea17c294d239c1/language_data-1.3.0.tar.gz", hash = "sha256:7600ef8aa39555145d06c89f0c324bf7dab834ea0b0a439d8243762e3ebad7ec", size = 5129310 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/e9/5a5ffd9b286db82be70d677d0a91e4d58f7912bb8dd026ddeeb4abe70679/language_data-1.3.0-py3-none-any.whl", hash = "sha256:e2ee943551b5ae5f89cd0e801d1fc3835bb0ef5b7e9c3a4e8e17b2b214548fbf", size = 5385760 }, +] + +[[package]] +name = "language-tags" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/7e/b6a0efe4fee11e9742c1baaedf7c574084238a70b03c1d8eb2761383848f/language_tags-1.2.0.tar.gz", hash = "sha256:e934acba3e3dc85f867703eca421847a9ab7b7679b11b5d5cfd096febbf8bde6", size = 207901 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/42/327554649ed2dd5ce59d3f5da176c7be20f9352c7c6c51597293660b7b08/language_tags-1.2.0-py3-none-any.whl", hash = "sha256:d815604622242fdfbbfd747b40c31213617fd03734a267f2e39ee4bd73c88722", size = 213449 }, +] + +[[package]] +name = "loguru" +version = "0.7.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "win32-setctime", marker = "sys_platform == 'win32' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c", size = 61595 }, +] + +[[package]] +name = "lxml" +version = "5.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/6b/20c3a4b24751377aaa6307eb230b66701024012c29dd374999cc92983269/lxml-5.3.0.tar.gz", hash = "sha256:4e109ca30d1edec1ac60cdbe341905dc3b8f55b16855e03a54aaf59e51ec8c6f", size = 3679318 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a1/ce/2789e39eddf2b13fac29878bfa465f0910eb6b0096e29090e5176bc8cf43/lxml-5.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:dd36439be765e2dde7660212b5275641edbc813e7b24668831a5c8ac91180656", size = 8124570 }, + { url = "https://files.pythonhosted.org/packages/24/a8/f4010166a25d41715527129af2675981a50d3bbf7df09c5d9ab8ca24fbf9/lxml-5.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ae5fe5c4b525aa82b8076c1a59d642c17b6e8739ecf852522c6321852178119d", size = 4413042 }, + { url = "https://files.pythonhosted.org/packages/41/a4/7e45756cecdd7577ddf67a68b69c1db0f5ddbf0c9f65021ee769165ffc5a/lxml-5.3.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:501d0d7e26b4d261fca8132854d845e4988097611ba2531408ec91cf3fd9d20a", size = 5139213 }, + { url = "https://files.pythonhosted.org/packages/02/e2/ecf845b12323c92748077e1818b64e8b4dba509a4cb12920b3762ebe7552/lxml-5.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb66442c2546446944437df74379e9cf9e9db353e61301d1a0e26482f43f0dd8", size = 4838814 }, + { url = "https://files.pythonhosted.org/packages/12/91/619f9fb72cf75e9ceb8700706f7276f23995f6ad757e6d400fbe35ca4990/lxml-5.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e41506fec7a7f9405b14aa2d5c8abbb4dbbd09d88f9496958b6d00cb4d45330", size = 5425084 }, + { url = "https://files.pythonhosted.org/packages/25/3b/162a85a8f0fd2a3032ec3f936636911c6e9523a8e263fffcfd581ce98b54/lxml-5.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f7d4a670107d75dfe5ad080bed6c341d18c4442f9378c9f58e5851e86eb79965", size = 4875993 }, + { url = "https://files.pythonhosted.org/packages/43/af/dd3f58cc7d946da6ae42909629a2b1d5dd2d1b583334d4af9396697d6863/lxml-5.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41ce1f1e2c7755abfc7e759dc34d7d05fd221723ff822947132dc934d122fe22", size = 5012462 }, + { url = "https://files.pythonhosted.org/packages/69/c1/5ea46b2d4c98f5bf5c83fffab8a0ad293c9bc74df9ecfbafef10f77f7201/lxml-5.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:44264ecae91b30e5633013fb66f6ddd05c006d3e0e884f75ce0b4755b3e3847b", size = 4815288 }, + { url = "https://files.pythonhosted.org/packages/1d/51/a0acca077ad35da458f4d3f729ef98effd2b90f003440d35fc36323f8ae6/lxml-5.3.0-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:3c174dc350d3ec52deb77f2faf05c439331d6ed5e702fc247ccb4e6b62d884b7", size = 5472435 }, + { url = "https://files.pythonhosted.org/packages/4d/6b/0989c9368986961a6b0f55b46c80404c4b758417acdb6d87bfc3bd5f4967/lxml-5.3.0-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:2dfab5fa6a28a0b60a20638dc48e6343c02ea9933e3279ccb132f555a62323d8", size = 4976354 }, + { url = "https://files.pythonhosted.org/packages/05/9e/87492d03ff604fbf656ed2bf3e2e8d28f5d58ea1f00ff27ac27b06509079/lxml-5.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b1c8c20847b9f34e98080da785bb2336ea982e7f913eed5809e5a3c872900f32", size = 5029973 }, + { url = "https://files.pythonhosted.org/packages/f9/cc/9ae1baf5472af88e19e2c454b3710c1be9ecafb20eb474eeabcd88a055d2/lxml-5.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2c86bf781b12ba417f64f3422cfc302523ac9cd1d8ae8c0f92a1c66e56ef2e86", size = 4888837 }, + { url = "https://files.pythonhosted.org/packages/d2/10/5594ffaec8c120d75b17e3ad23439b740a51549a9b5fd7484b2179adfe8f/lxml-5.3.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c162b216070f280fa7da844531169be0baf9ccb17263cf5a8bf876fcd3117fa5", size = 5530555 }, + { url = "https://files.pythonhosted.org/packages/ea/9b/de17f05377c8833343b629905571fb06cff2028f15a6f58ae2267662e341/lxml-5.3.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:36aef61a1678cb778097b4a6eeae96a69875d51d1e8f4d4b491ab3cfb54b5a03", size = 5405314 }, + { url = "https://files.pythonhosted.org/packages/8a/b4/227be0f1f3cca8255925985164c3838b8b36e441ff0cc10c1d3c6bdba031/lxml-5.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f65e5120863c2b266dbcc927b306c5b78e502c71edf3295dfcb9501ec96e5fc7", size = 5079303 }, + { url = "https://files.pythonhosted.org/packages/5c/ee/19abcebb7fc40319bb71cd6adefa1ad94d09b5660228715854d6cc420713/lxml-5.3.0-cp310-cp310-win32.whl", hash = "sha256:ef0c1fe22171dd7c7c27147f2e9c3e86f8bdf473fed75f16b0c2e84a5030ce80", size = 3475126 }, + { url = "https://files.pythonhosted.org/packages/a1/35/183d32551447e280032b2331738cd850da435a42f850b71ebeaab42c1313/lxml-5.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:052d99051e77a4f3e8482c65014cf6372e61b0a6f4fe9edb98503bb5364cfee3", size = 3805065 }, + { url = "https://files.pythonhosted.org/packages/5c/a8/449faa2a3cbe6a99f8d38dcd51a3ee8844c17862841a6f769ea7c2a9cd0f/lxml-5.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:74bcb423462233bc5d6066e4e98b0264e7c1bed7541fff2f4e34fe6b21563c8b", size = 8141056 }, + { url = "https://files.pythonhosted.org/packages/ac/8a/ae6325e994e2052de92f894363b038351c50ee38749d30cc6b6d96aaf90f/lxml-5.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a3d819eb6f9b8677f57f9664265d0a10dd6551d227afb4af2b9cd7bdc2ccbf18", size = 4425238 }, + { url = "https://files.pythonhosted.org/packages/f8/fb/128dddb7f9086236bce0eeae2bfb316d138b49b159f50bc681d56c1bdd19/lxml-5.3.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b8f5db71b28b8c404956ddf79575ea77aa8b1538e8b2ef9ec877945b3f46442", size = 5095197 }, + { url = "https://files.pythonhosted.org/packages/b4/f9/a181a8ef106e41e3086629c8bdb2d21a942f14c84a0e77452c22d6b22091/lxml-5.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3406b63232fc7e9b8783ab0b765d7c59e7c59ff96759d8ef9632fca27c7ee4", size = 4809809 }, + { url = "https://files.pythonhosted.org/packages/25/2f/b20565e808f7f6868aacea48ddcdd7e9e9fb4c799287f21f1a6c7c2e8b71/lxml-5.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ecdd78ab768f844c7a1d4a03595038c166b609f6395e25af9b0f3f26ae1230f", size = 5407593 }, + { url = "https://files.pythonhosted.org/packages/23/0e/caac672ec246d3189a16c4d364ed4f7d6bf856c080215382c06764058c08/lxml-5.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:168f2dfcfdedf611eb285efac1516c8454c8c99caf271dccda8943576b67552e", size = 4866657 }, + { url = "https://files.pythonhosted.org/packages/67/a4/1f5fbd3f58d4069000522196b0b776a014f3feec1796da03e495cf23532d/lxml-5.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa617107a410245b8660028a7483b68e7914304a6d4882b5ff3d2d3eb5948d8c", size = 4967017 }, + { url = "https://files.pythonhosted.org/packages/ee/73/623ecea6ca3c530dd0a4ed0d00d9702e0e85cd5624e2d5b93b005fe00abd/lxml-5.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:69959bd3167b993e6e710b99051265654133a98f20cec1d9b493b931942e9c16", size = 4810730 }, + { url = "https://files.pythonhosted.org/packages/1d/ce/fb84fb8e3c298f3a245ae3ea6221c2426f1bbaa82d10a88787412a498145/lxml-5.3.0-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:bd96517ef76c8654446fc3db9242d019a1bb5fe8b751ba414765d59f99210b79", size = 5455154 }, + { url = "https://files.pythonhosted.org/packages/b1/72/4d1ad363748a72c7c0411c28be2b0dc7150d91e823eadad3b91a4514cbea/lxml-5.3.0-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:ab6dd83b970dc97c2d10bc71aa925b84788c7c05de30241b9e96f9b6d9ea3080", size = 4969416 }, + { url = "https://files.pythonhosted.org/packages/42/07/b29571a58a3a80681722ea8ed0ba569211d9bb8531ad49b5cacf6d409185/lxml-5.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:eec1bb8cdbba2925bedc887bc0609a80e599c75b12d87ae42ac23fd199445654", size = 5013672 }, + { url = "https://files.pythonhosted.org/packages/b9/93/bde740d5a58cf04cbd38e3dd93ad1e36c2f95553bbf7d57807bc6815d926/lxml-5.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6a7095eeec6f89111d03dabfe5883a1fd54da319c94e0fb104ee8f23616b572d", size = 4878644 }, + { url = "https://files.pythonhosted.org/packages/56/b5/645c8c02721d49927c93181de4017164ec0e141413577687c3df8ff0800f/lxml-5.3.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6f651ebd0b21ec65dfca93aa629610a0dbc13dbc13554f19b0113da2e61a4763", size = 5511531 }, + { url = "https://files.pythonhosted.org/packages/85/3f/6a99a12d9438316f4fc86ef88c5d4c8fb674247b17f3173ecadd8346b671/lxml-5.3.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f422a209d2455c56849442ae42f25dbaaba1c6c3f501d58761c619c7836642ec", size = 5402065 }, + { url = "https://files.pythonhosted.org/packages/80/8a/df47bff6ad5ac57335bf552babfb2408f9eb680c074ec1ba412a1a6af2c5/lxml-5.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:62f7fdb0d1ed2065451f086519865b4c90aa19aed51081979ecd05a21eb4d1be", size = 5069775 }, + { url = "https://files.pythonhosted.org/packages/08/ae/e7ad0f0fbe4b6368c5ee1e3ef0c3365098d806d42379c46c1ba2802a52f7/lxml-5.3.0-cp311-cp311-win32.whl", hash = "sha256:c6379f35350b655fd817cd0d6cbeef7f265f3ae5fedb1caae2eb442bbeae9ab9", size = 3474226 }, + { url = "https://files.pythonhosted.org/packages/c3/b5/91c2249bfac02ee514ab135e9304b89d55967be7e53e94a879b74eec7a5c/lxml-5.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c52100e2c2dbb0649b90467935c4b0de5528833c76a35ea1a2691ec9f1ee7a1", size = 3814971 }, + { url = "https://files.pythonhosted.org/packages/eb/6d/d1f1c5e40c64bf62afd7a3f9b34ce18a586a1cccbf71e783cd0a6d8e8971/lxml-5.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:e99f5507401436fdcc85036a2e7dc2e28d962550afe1cbfc07c40e454256a859", size = 8171753 }, + { url = "https://files.pythonhosted.org/packages/bd/83/26b1864921869784355459f374896dcf8b44d4af3b15d7697e9156cb2de9/lxml-5.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:384aacddf2e5813a36495233b64cb96b1949da72bef933918ba5c84e06af8f0e", size = 4441955 }, + { url = "https://files.pythonhosted.org/packages/e0/d2/e9bff9fb359226c25cda3538f664f54f2804f4b37b0d7c944639e1a51f69/lxml-5.3.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:874a216bf6afaf97c263b56371434e47e2c652d215788396f60477540298218f", size = 5050778 }, + { url = "https://files.pythonhosted.org/packages/88/69/6972bfafa8cd3ddc8562b126dd607011e218e17be313a8b1b9cc5a0ee876/lxml-5.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65ab5685d56914b9a2a34d67dd5488b83213d680b0c5d10b47f81da5a16b0b0e", size = 4748628 }, + { url = "https://files.pythonhosted.org/packages/5d/ea/a6523c7c7f6dc755a6eed3d2f6d6646617cad4d3d6d8ce4ed71bfd2362c8/lxml-5.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aac0bbd3e8dd2d9c45ceb82249e8bdd3ac99131a32b4d35c8af3cc9db1657179", size = 5322215 }, + { url = "https://files.pythonhosted.org/packages/99/37/396fbd24a70f62b31d988e4500f2068c7f3fd399d2fd45257d13eab51a6f/lxml-5.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b369d3db3c22ed14c75ccd5af429086f166a19627e84a8fdade3f8f31426e52a", size = 4813963 }, + { url = "https://files.pythonhosted.org/packages/09/91/e6136f17459a11ce1757df864b213efbeab7adcb2efa63efb1b846ab6723/lxml-5.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c24037349665434f375645fa9d1f5304800cec574d0310f618490c871fd902b3", size = 4923353 }, + { url = "https://files.pythonhosted.org/packages/1d/7c/2eeecf87c9a1fca4f84f991067c693e67340f2b7127fc3eca8fa29d75ee3/lxml-5.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:62d172f358f33a26d6b41b28c170c63886742f5b6772a42b59b4f0fa10526cb1", size = 4740541 }, + { url = "https://files.pythonhosted.org/packages/3b/ed/4c38ba58defca84f5f0d0ac2480fdcd99fc7ae4b28fc417c93640a6949ae/lxml-5.3.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:c1f794c02903c2824fccce5b20c339a1a14b114e83b306ff11b597c5f71a1c8d", size = 5346504 }, + { url = "https://files.pythonhosted.org/packages/a5/22/bbd3995437e5745cb4c2b5d89088d70ab19d4feabf8a27a24cecb9745464/lxml-5.3.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:5d6a6972b93c426ace71e0be9a6f4b2cfae9b1baed2eed2006076a746692288c", size = 4898077 }, + { url = "https://files.pythonhosted.org/packages/0a/6e/94537acfb5b8f18235d13186d247bca478fea5e87d224644e0fe907df976/lxml-5.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:3879cc6ce938ff4eb4900d901ed63555c778731a96365e53fadb36437a131a99", size = 4946543 }, + { url = "https://files.pythonhosted.org/packages/8d/e8/4b15df533fe8e8d53363b23a41df9be907330e1fa28c7ca36893fad338ee/lxml-5.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:74068c601baff6ff021c70f0935b0c7bc528baa8ea210c202e03757c68c5a4ff", size = 4816841 }, + { url = "https://files.pythonhosted.org/packages/1a/e7/03f390ea37d1acda50bc538feb5b2bda6745b25731e4e76ab48fae7106bf/lxml-5.3.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ecd4ad8453ac17bc7ba3868371bffb46f628161ad0eefbd0a855d2c8c32dd81a", size = 5417341 }, + { url = "https://files.pythonhosted.org/packages/ea/99/d1133ab4c250da85a883c3b60249d3d3e7c64f24faff494cf0fd23f91e80/lxml-5.3.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7e2f58095acc211eb9d8b5771bf04df9ff37d6b87618d1cbf85f92399c98dae8", size = 5327539 }, + { url = "https://files.pythonhosted.org/packages/7d/ed/e6276c8d9668028213df01f598f385b05b55a4e1b4662ee12ef05dab35aa/lxml-5.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e63601ad5cd8f860aa99d109889b5ac34de571c7ee902d6812d5d9ddcc77fa7d", size = 5012542 }, + { url = "https://files.pythonhosted.org/packages/36/88/684d4e800f5aa28df2a991a6a622783fb73cf0e46235cfa690f9776f032e/lxml-5.3.0-cp312-cp312-win32.whl", hash = "sha256:17e8d968d04a37c50ad9c456a286b525d78c4a1c15dd53aa46c1d8e06bf6fa30", size = 3486454 }, + { url = "https://files.pythonhosted.org/packages/fc/82/ace5a5676051e60355bd8fb945df7b1ba4f4fb8447f2010fb816bfd57724/lxml-5.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:c1a69e58a6bb2de65902051d57fde951febad631a20a64572677a1052690482f", size = 3816857 }, + { url = "https://files.pythonhosted.org/packages/94/6a/42141e4d373903bfea6f8e94b2f554d05506dfda522ada5343c651410dc8/lxml-5.3.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8c72e9563347c7395910de6a3100a4840a75a6f60e05af5e58566868d5eb2d6a", size = 8156284 }, + { url = "https://files.pythonhosted.org/packages/91/5e/fa097f0f7d8b3d113fb7312c6308af702f2667f22644441715be961f2c7e/lxml-5.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e92ce66cd919d18d14b3856906a61d3f6b6a8500e0794142338da644260595cd", size = 4432407 }, + { url = "https://files.pythonhosted.org/packages/2d/a1/b901988aa6d4ff937f2e5cfc114e4ec561901ff00660c3e56713642728da/lxml-5.3.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d04f064bebdfef9240478f7a779e8c5dc32b8b7b0b2fc6a62e39b928d428e51", size = 5048331 }, + { url = "https://files.pythonhosted.org/packages/30/0f/b2a54f48e52de578b71bbe2a2f8160672a8a5e103df3a78da53907e8c7ed/lxml-5.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c2fb570d7823c2bbaf8b419ba6e5662137f8166e364a8b2b91051a1fb40ab8b", size = 4744835 }, + { url = "https://files.pythonhosted.org/packages/82/9d/b000c15538b60934589e83826ecbc437a1586488d7c13f8ee5ff1f79a9b8/lxml-5.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c120f43553ec759f8de1fee2f4794452b0946773299d44c36bfe18e83caf002", size = 5316649 }, + { url = "https://files.pythonhosted.org/packages/e3/ee/ffbb9eaff5e541922611d2c56b175c45893d1c0b8b11e5a497708a6a3b3b/lxml-5.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:562e7494778a69086f0312ec9689f6b6ac1c6b65670ed7d0267e49f57ffa08c4", size = 4812046 }, + { url = "https://files.pythonhosted.org/packages/15/ff/7ff89d567485c7b943cdac316087f16b2399a8b997007ed352a1248397e5/lxml-5.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:423b121f7e6fa514ba0c7918e56955a1d4470ed35faa03e3d9f0e3baa4c7e492", size = 4918597 }, + { url = "https://files.pythonhosted.org/packages/c6/a3/535b6ed8c048412ff51268bdf4bf1cf052a37aa7e31d2e6518038a883b29/lxml-5.3.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:c00f323cc00576df6165cc9d21a4c21285fa6b9989c5c39830c3903dc4303ef3", size = 4738071 }, + { url = "https://files.pythonhosted.org/packages/7a/8f/cbbfa59cb4d4fd677fe183725a76d8c956495d7a3c7f111ab8f5e13d2e83/lxml-5.3.0-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:1fdc9fae8dd4c763e8a31e7630afef517eab9f5d5d31a278df087f307bf601f4", size = 5342213 }, + { url = "https://files.pythonhosted.org/packages/5c/fb/db4c10dd9958d4b52e34d1d1f7c1f434422aeaf6ae2bbaaff2264351d944/lxml-5.3.0-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:658f2aa69d31e09699705949b5fc4719cbecbd4a97f9656a232e7d6c7be1a367", size = 4893749 }, + { url = "https://files.pythonhosted.org/packages/f2/38/bb4581c143957c47740de18a3281a0cab7722390a77cc6e610e8ebf2d736/lxml-5.3.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:1473427aff3d66a3fa2199004c3e601e6c4500ab86696edffdbc84954c72d832", size = 4945901 }, + { url = "https://files.pythonhosted.org/packages/fc/d5/18b7de4960c731e98037bd48fa9f8e6e8f2558e6fbca4303d9b14d21ef3b/lxml-5.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a87de7dd873bf9a792bf1e58b1c3887b9264036629a5bf2d2e6579fe8e73edff", size = 4815447 }, + { url = "https://files.pythonhosted.org/packages/97/a8/cd51ceaad6eb849246559a8ef60ae55065a3df550fc5fcd27014361c1bab/lxml-5.3.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:0d7b36afa46c97875303a94e8f3ad932bf78bace9e18e603f2085b652422edcd", size = 5411186 }, + { url = "https://files.pythonhosted.org/packages/89/c3/1e3dabab519481ed7b1fdcba21dcfb8832f57000733ef0e71cf6d09a5e03/lxml-5.3.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:cf120cce539453ae086eacc0130a324e7026113510efa83ab42ef3fcfccac7fb", size = 5324481 }, + { url = "https://files.pythonhosted.org/packages/b6/17/71e9984cf0570cd202ac0a1c9ed5c1b8889b0fc8dc736f5ef0ffb181c284/lxml-5.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:df5c7333167b9674aa8ae1d4008fa4bc17a313cc490b2cca27838bbdcc6bb15b", size = 5011053 }, + { url = "https://files.pythonhosted.org/packages/69/68/9f7e6d3312a91e30829368c2b3217e750adef12a6f8eb10498249f4e8d72/lxml-5.3.0-cp313-cp313-win32.whl", hash = "sha256:c802e1c2ed9f0c06a65bc4ed0189d000ada8049312cfeab6ca635e39c9608957", size = 3485634 }, + { url = "https://files.pythonhosted.org/packages/7d/db/214290d58ad68c587bd5d6af3d34e56830438733d0d0856c0275fde43652/lxml-5.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:406246b96d552e0503e17a1006fd27edac678b3fcc9f1be71a2f94b4ff61528d", size = 3814417 }, + { url = "https://files.pythonhosted.org/packages/99/f7/b73a431c8500565aa500e99e60b448d305eaf7c0b4c893c7c5a8a69cc595/lxml-5.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7b1cd427cb0d5f7393c31b7496419da594fe600e6fdc4b105a54f82405e6626c", size = 3925431 }, + { url = "https://files.pythonhosted.org/packages/db/48/4a206623c0d093d0e3b15f415ffb4345b0bdf661a3d0b15a112948c033c7/lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51806cfe0279e06ed8500ce19479d757db42a30fd509940b1701be9c86a5ff9a", size = 4216683 }, + { url = "https://files.pythonhosted.org/packages/54/47/577820c45dd954523ae8453b632d91e76da94ca6d9ee40d8c98dd86f916b/lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee70d08fd60c9565ba8190f41a46a54096afa0eeb8f76bd66f2c25d3b1b83005", size = 4326732 }, + { url = "https://files.pythonhosted.org/packages/68/de/96cb6d3269bc994b4f5ede8ca7bf0840f5de0a278bc6e50cb317ff71cafa/lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:8dc2c0395bea8254d8daebc76dcf8eb3a95ec2a46fa6fae5eaccee366bfe02ce", size = 4218377 }, + { url = "https://files.pythonhosted.org/packages/a5/43/19b1ef6cbffa4244a217f95cc5f41a6cb4720fed33510a49670b03c5f1a0/lxml-5.3.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6ba0d3dcac281aad8a0e5b14c7ed6f9fa89c8612b47939fc94f80b16e2e9bc83", size = 4351237 }, + { url = "https://files.pythonhosted.org/packages/ba/b2/6a22fb5c0885da3b00e116aee81f0b829ec9ac8f736cd414b4a09413fc7d/lxml-5.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:6e91cf736959057f7aac7adfc83481e03615a8e8dd5758aa1d95ea69e8931dba", size = 3487557 }, +] + +[[package]] +name = "marisa-trie" +version = "1.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "setuptools" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/31/15/9d9743897e4450b2de199ee673b50cb018980c4ced477d41cf91304a85e3/marisa_trie-1.2.1.tar.gz", hash = "sha256:3a27c408e2aefc03e0f1d25b2ff2afb85aac3568f6fa2ae2a53b57a2e87ce29d", size = 416124 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/83/ccf5b33f2123f3110705c608f8e0caa82002626511aafafc58f82e50d322/marisa_trie-1.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a2eb41d2f9114d8b7bd66772c237111e00d2bae2260824560eaa0a1e291ce9e8", size = 362200 }, + { url = "https://files.pythonhosted.org/packages/9d/74/f7ce1fc2ee480c7f8ceadd9b992caceaba442a97e5e99d6aea00d3635a0b/marisa_trie-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9e956e6a46f604b17d570901e66f5214fb6f658c21e5e7665deace236793cef6", size = 192309 }, + { url = "https://files.pythonhosted.org/packages/e4/52/5dbbc13e57ce54c2ef0d04962d7d8f66edc69ed34310c734a2913199a581/marisa_trie-1.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bd45142501300e7538b2e544905580918b67b1c82abed1275fe4c682c95635fa", size = 174713 }, + { url = "https://files.pythonhosted.org/packages/57/49/2580372f3f980aea95c23d05b2c1d3bbb9ee1ab8cfd441545153e44f1be7/marisa_trie-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8443d116c612cfd1961fbf76769faf0561a46d8e317315dd13f9d9639ad500c", size = 1314808 }, + { url = "https://files.pythonhosted.org/packages/5a/ba/e12a4d450f265414cc68df6a116a78beece72b95f774f04d29cd48e08d19/marisa_trie-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:875a6248e60fbb48d947b574ffa4170f34981f9e579bde960d0f9a49ea393ecc", size = 1346678 }, + { url = "https://files.pythonhosted.org/packages/b2/81/8e130cb1eea741fd17694d821096f7ec9841f0e3d3c69b740257f5eeafa8/marisa_trie-1.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:746a7c60a17fccd3cfcfd4326926f02ea4fcdfc25d513411a0c4fc8e4a1ca51f", size = 1307254 }, + { url = "https://files.pythonhosted.org/packages/d7/d0/3deb5ea2bf7e4d845339875dbb31f3c3f66c8d6568723db1d137fb08a91c/marisa_trie-1.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e70869737cc0e5bd903f620667da6c330d6737048d1f44db792a6af68a1d35be", size = 2194712 }, + { url = "https://files.pythonhosted.org/packages/9c/5f/b38d728dd30954816497b53425cfaddaf7b93ac0912db5911888f191b07a/marisa_trie-1.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06b099dd743676dbcd8abd8465ceac8f6d97d8bfaabe2c83b965495523b4cef2", size = 2355625 }, + { url = "https://files.pythonhosted.org/packages/7e/4f/61c0faa9ae9e53600a1b7a0c367bc9db1a4fdc625402ec232c755a05e094/marisa_trie-1.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d2a82eb21afdaf22b50d9b996472305c05ca67fc4ff5a026a220320c9c961db6", size = 2290290 }, + { url = "https://files.pythonhosted.org/packages/7c/7d/713b970fb3043248881ed776dbf4d54918398aa5dde843a38711d0d62c8f/marisa_trie-1.2.1-cp310-cp310-win32.whl", hash = "sha256:8951e7ce5d3167fbd085703b4cbb3f47948ed66826bef9a2173c379508776cf5", size = 130743 }, + { url = "https://files.pythonhosted.org/packages/cc/94/3d619cc82c30daeacd18a88674f4e6540ebfb7b4b7752ca0552793be80cf/marisa_trie-1.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:5685a14b3099b1422c4f59fa38b0bf4b5342ee6cc38ae57df9666a0b28eeaad3", size = 151891 }, + { url = "https://files.pythonhosted.org/packages/4a/93/ffb01dfa22b6eee918e798e0bc3487427036c608aa4c065725f31aaf4104/marisa_trie-1.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ed3fb4ed7f2084597e862bcd56c56c5529e773729a426c083238682dba540e98", size = 362823 }, + { url = "https://files.pythonhosted.org/packages/6d/1d/5c36500ac350c278c9bdfd88e17fa846fa4136d75597c167141ed973cdf2/marisa_trie-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fe69fb9ffb2767746181f7b3b29bbd3454d1d24717b5958e030494f3d3cddf3", size = 192741 }, + { url = "https://files.pythonhosted.org/packages/e8/04/87dd0840f3f720e511eba56193c02bf64d7d96df1ca9f6d19994f55154be/marisa_trie-1.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4728ed3ae372d1ea2cdbd5eaa27b8f20a10e415d1f9d153314831e67d963f281", size = 174995 }, + { url = "https://files.pythonhosted.org/packages/c9/51/9e903a7e13b7593e2e675d0ec4c390ca076dc5df1c1a0d5e85a513b886a3/marisa_trie-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cf4f25cf895692b232f49aa5397af6aba78bb679fb917a05fce8d3cb1ee446d", size = 1384728 }, + { url = "https://files.pythonhosted.org/packages/e8/3f/7362a5ac60c2b0aad0f52cd57e7bd0c708f20d2660d8df85360f3d8f1c4b/marisa_trie-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cca7f96236ffdbf49be4b2e42c132e3df05968ac424544034767650913524de", size = 1412620 }, + { url = "https://files.pythonhosted.org/packages/1f/bc/aaa3eaf6875f78a204a8da9692d56e3a36f89997dad2c388628385614576/marisa_trie-1.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d7eb20bf0e8b55a58d2a9b518aabc4c18278787bdba476c551dd1c1ed109e509", size = 1361555 }, + { url = "https://files.pythonhosted.org/packages/18/98/e11b5a6206c5d110f32adab37fa84a85410d684e9c731acdd5c9250e2ce4/marisa_trie-1.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b1ec93f0d1ee6d7ab680a6d8ea1a08bf264636358e92692072170032dda652ba", size = 2257717 }, + { url = "https://files.pythonhosted.org/packages/d2/9d/6b4a40867875e738a67c5b29f83e2e490a66bd9067ace3dd9a5c497e2b7f/marisa_trie-1.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e2699255d7ac610dee26d4ae7bda5951d05c7d9123a22e1f7c6a6f1964e0a4e4", size = 2417044 }, + { url = "https://files.pythonhosted.org/packages/fe/61/e25613c72f2931757334b8bcf6b501569ef713f5ee9c6c7688ec460bd720/marisa_trie-1.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c484410911182457a8a1a0249d0c09c01e2071b78a0a8538cd5f7fa45589b13a", size = 2351960 }, + { url = "https://files.pythonhosted.org/packages/19/0a/a90ccaf3eb476d13ec261f80c6c52defaf10ebc7f35eb2bcd7dfb533aef7/marisa_trie-1.2.1-cp311-cp311-win32.whl", hash = "sha256:ad548117744b2bcf0e3d97374608be0a92d18c2af13d98b728d37cd06248e571", size = 130446 }, + { url = "https://files.pythonhosted.org/packages/fc/98/574b4e143e0a2f5f71af8716b6c4a8a46220f75a6e0847ce7d11ee0ba4aa/marisa_trie-1.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:436f62d27714970b9cdd3b3c41bdad046f260e62ebb0daa38125ef70536fc73b", size = 152037 }, + { url = "https://files.pythonhosted.org/packages/4e/bf/8bd4ac8436b33fd46c9e1ffe3c2a131cd9744cc1649dbbe13308f744ef2b/marisa_trie-1.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:638506eacf20ca503fff72221a7e66a6eadbf28d6a4a6f949fcf5b1701bb05ec", size = 360041 }, + { url = "https://files.pythonhosted.org/packages/ab/dd/4d3151e302e66ae387885f6ec265bd189e096b0c43c1379bfd9a3b9d2543/marisa_trie-1.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de1665eaafefa48a308e4753786519888021740501a15461c77bdfd57638e6b4", size = 190520 }, + { url = "https://files.pythonhosted.org/packages/00/28/ae5991c74fb90b173167a366a634c83445f948ad044d37287b478d6b457e/marisa_trie-1.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f713af9b8aa66a34cd3a78c7d150a560a75734713abe818a69021fd269e927fa", size = 174175 }, + { url = "https://files.pythonhosted.org/packages/5a/6a/fbfa89a8680eaabc6847a6c421e65427c43182db0c4bdb60e1516c81c822/marisa_trie-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2a7d00f53f4945320b551bccb826b3fb26948bde1a10d50bb9802fabb611b10", size = 1354995 }, + { url = "https://files.pythonhosted.org/packages/9e/4c/2ba0b385e5f64ca4ddb0c10ec52ddf881bc4521f135948786fc339d1d6c8/marisa_trie-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98042040d1d6085792e8d0f74004fc0f5f9ca6091c298f593dd81a22a4643854", size = 1390989 }, + { url = "https://files.pythonhosted.org/packages/6b/22/0791ed3045c91d0938345a86be472fc7c188b894f16c5dfad2ef31e7f882/marisa_trie-1.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6532615111eec2c79e711965ece0bc95adac1ff547a7fff5ffca525463116deb", size = 1328810 }, + { url = "https://files.pythonhosted.org/packages/9d/7d/3f566e563abae6efce7fc311c63282a447c611739b3cd66c0e36077c86f8/marisa_trie-1.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:20948e40ab2038e62b7000ca6b4a913bc16c91a2c2e6da501bd1f917eeb28d51", size = 2230222 }, + { url = "https://files.pythonhosted.org/packages/a5/0b/38fbb4611b5d1030242ddc2aa62e524438c8076e26f87395dbbf222dc62d/marisa_trie-1.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:66b23e5b35dd547f85bf98db7c749bc0ffc57916ade2534a6bbc32db9a4abc44", size = 2383620 }, + { url = "https://files.pythonhosted.org/packages/ae/17/4553c63de29904d5d2521a24cad817bc7883cfa90506ab702ec4dae59a7b/marisa_trie-1.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6704adf0247d2dda42e876b793be40775dff46624309ad99bc7537098bee106d", size = 2329202 }, + { url = "https://files.pythonhosted.org/packages/45/08/6307a630e63cd763fe77ac56516faa67fa9cd342060691e40fabc84be6b0/marisa_trie-1.2.1-cp312-cp312-win32.whl", hash = "sha256:3ad356442c2fea4c2a6f514738ddf213d23930f942299a2b2c05df464a00848a", size = 129652 }, + { url = "https://files.pythonhosted.org/packages/a1/fe/67c357bfd92710d95a16b86e1453c663d565415d7f7838781c79ff7e1a7e/marisa_trie-1.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:f2806f75817392cedcacb24ac5d80b0350dde8d3861d67d045c1d9b109764114", size = 150845 }, + { url = "https://files.pythonhosted.org/packages/2a/a4/a110cd9952f0e72da7bafea1f0084b18b9e03952110d9083bfda52279f5c/marisa_trie-1.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b5ea16e69bfda0ac028c921b58de1a4aaf83d43934892977368579cd3c0a2554", size = 354439 }, + { url = "https://files.pythonhosted.org/packages/3c/a5/a6099eb1c3fd8d7e93408c45501e1d08536ac57dfef02ec331f78e1ace18/marisa_trie-1.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9f627f4e41be710b6cb6ed54b0128b229ac9d50e2054d9cde3af0fef277c23cf", size = 188187 }, + { url = "https://files.pythonhosted.org/packages/7c/cc/f637127e2beffa920d21f7fc45b4029575bcd1b28a90c0d90cb2b08c2205/marisa_trie-1.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5e649f3dc8ab5476732094f2828cc90cac3be7c79bc0c8318b6fda0c1d248db4", size = 171484 }, + { url = "https://files.pythonhosted.org/packages/6d/0f/29f2ad7260b956570f69f25a542efa51ba76eb76ecd53c63ee9d21987c3d/marisa_trie-1.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46e528ee71808c961baf8c3ce1c46a8337ec7a96cc55389d11baafe5b632f8e9", size = 1319770 }, + { url = "https://files.pythonhosted.org/packages/f2/12/0b69ed61fba59551a5f3d569af367afae614db7214ce1da12946ba9a433a/marisa_trie-1.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36aa4401a1180615f74d575571a6550081d84fc6461e9aefc0bb7b2427af098e", size = 1356488 }, + { url = "https://files.pythonhosted.org/packages/33/23/483b110db7ffe8729d6ebea2bf74258aef51f10fef5775f99e4bac7aef69/marisa_trie-1.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce59bcd2cda9bb52b0e90cc7f36413cd86c3d0ce7224143447424aafb9f4aa48", size = 1302334 }, + { url = "https://files.pythonhosted.org/packages/1c/6f/46c2be99ce925985127fdf78900f1673bce8cb72debfebee6dccd11032c6/marisa_trie-1.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f4cd800704a5fc57e53c39c3a6b0c9b1519ebdbcb644ede3ee67a06eb542697d", size = 2202624 }, + { url = "https://files.pythonhosted.org/packages/fd/b6/ef642327dbd4ec35be55d5682520b8f70fca98a54024f441ef2732f6b305/marisa_trie-1.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2428b495003c189695fb91ceeb499f9fcced3a2dce853e17fa475519433c67ff", size = 2364206 }, + { url = "https://files.pythonhosted.org/packages/69/04/ef8197a79d0ab5043b781cc9b457bd11b81d4204fe78adf7625a67f48c21/marisa_trie-1.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:735c363d9aaac82eaf516a28f7c6b95084c2e176d8231c87328dc80e112a9afa", size = 2304801 }, + { url = "https://files.pythonhosted.org/packages/03/72/f87564d653daf31d8f33d9bf0121e99ccc21f18f5c485fb404ba06abc10e/marisa_trie-1.2.1-cp313-cp313-win32.whl", hash = "sha256:eba6ca45500ca1a042466a0684aacc9838e7f20fe2605521ee19f2853062798f", size = 128799 }, + { url = "https://files.pythonhosted.org/packages/27/40/5f9eb8b73030cc4b0d6817176e66079a62a2ddd9d5530da54f8011473428/marisa_trie-1.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:aa7cd17e1c690ce96c538b2f4aae003d9a498e65067dd433c52dd069009951d4", size = 149035 }, +] + +[[package]] +name = "markdown" +version = "3.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349 }, +] + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528 }, +] + +[[package]] +name = "markupsafe" +version = "2.1.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206 }, + { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079 }, + { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620 }, + { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818 }, + { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493 }, + { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630 }, + { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745 }, + { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021 }, + { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659 }, + { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213 }, + { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219 }, + { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098 }, + { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014 }, + { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220 }, + { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756 }, + { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988 }, + { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718 }, + { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317 }, + { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670 }, + { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224 }, + { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215 }, + { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069 }, + { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452 }, + { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462 }, + { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869 }, + { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906 }, + { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296 }, + { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038 }, + { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572 }, + { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127 }, +] + +[[package]] +name = "matplotlib" +version = "3.10.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "contourpy" }, + { name = "cycler" }, + { name = "fonttools" }, + { name = "kiwisolver" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "pillow" }, + { name = "pyparsing" }, + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/68/dd/fa2e1a45fce2d09f4aea3cee169760e672c8262325aa5796c49d543dc7e6/matplotlib-3.10.0.tar.gz", hash = "sha256:b886d02a581b96704c9d1ffe55709e49b4d2d52709ccebc4be42db856e511278", size = 36686418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/09/ec/3cdff7b5239adaaacefcc4f77c316dfbbdf853c4ed2beec467e0fec31b9f/matplotlib-3.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2c5829a5a1dd5a71f0e31e6e8bb449bc0ee9dbfb05ad28fc0c6b55101b3a4be6", size = 8160551 }, + { url = "https://files.pythonhosted.org/packages/41/f2/b518f2c7f29895c9b167bf79f8529c63383ae94eaf49a247a4528e9a148d/matplotlib-3.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2a43cbefe22d653ab34bb55d42384ed30f611bcbdea1f8d7f431011a2e1c62e", size = 8034853 }, + { url = "https://files.pythonhosted.org/packages/ed/8d/45754b4affdb8f0d1a44e4e2bcd932cdf35b256b60d5eda9f455bb293ed0/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:607b16c8a73943df110f99ee2e940b8a1cbf9714b65307c040d422558397dac5", size = 8446724 }, + { url = "https://files.pythonhosted.org/packages/09/5a/a113495110ae3e3395c72d82d7bc4802902e46dc797f6b041e572f195c56/matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01d2b19f13aeec2e759414d3bfe19ddfb16b13a1250add08d46d5ff6f9be83c6", size = 8583905 }, + { url = "https://files.pythonhosted.org/packages/12/b1/8b1655b4c9ed4600c817c419f7eaaf70082630efd7556a5b2e77a8a3cdaf/matplotlib-3.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e6c6461e1fc63df30bf6f80f0b93f5b6784299f721bc28530477acd51bfc3d1", size = 9395223 }, + { url = "https://files.pythonhosted.org/packages/5a/85/b9a54d64585a6b8737a78a61897450403c30f39e0bd3214270bb0b96f002/matplotlib-3.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:994c07b9d9fe8d25951e3202a68c17900679274dadfc1248738dcfa1bd40d7f3", size = 8025355 }, + { url = "https://files.pythonhosted.org/packages/0c/f1/e37f6c84d252867d7ddc418fff70fc661cfd363179263b08e52e8b748e30/matplotlib-3.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fd44fc75522f58612ec4a33958a7e5552562b7705b42ef1b4f8c0818e304a363", size = 8171677 }, + { url = "https://files.pythonhosted.org/packages/c7/8b/92e9da1f28310a1f6572b5c55097b0c0ceb5e27486d85fb73b54f5a9b939/matplotlib-3.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c58a9622d5dbeb668f407f35f4e6bfac34bb9ecdcc81680c04d0258169747997", size = 8044945 }, + { url = "https://files.pythonhosted.org/packages/c5/cb/49e83f0fd066937a5bd3bc5c5d63093703f3637b2824df8d856e0558beef/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:845d96568ec873be63f25fa80e9e7fae4be854a66a7e2f0c8ccc99e94a8bd4ef", size = 8458269 }, + { url = "https://files.pythonhosted.org/packages/b2/7d/2d873209536b9ee17340754118a2a17988bc18981b5b56e6715ee07373ac/matplotlib-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5439f4c5a3e2e8eab18e2f8c3ef929772fd5641876db71f08127eed95ab64683", size = 8599369 }, + { url = "https://files.pythonhosted.org/packages/b8/03/57d6cbbe85c61fe4cbb7c94b54dce443d68c21961830833a1f34d056e5ea/matplotlib-3.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4673ff67a36152c48ddeaf1135e74ce0d4bce1bbf836ae40ed39c29edf7e2765", size = 9405992 }, + { url = "https://files.pythonhosted.org/packages/14/cf/e382598f98be11bf51dd0bc60eca44a517f6793e3dc8b9d53634a144620c/matplotlib-3.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e8632baebb058555ac0cde75db885c61f1212e47723d63921879806b40bec6a", size = 8034580 }, + { url = "https://files.pythonhosted.org/packages/44/c7/6b2d8cb7cc251d53c976799cacd3200add56351c175ba89ab9cbd7c1e68a/matplotlib-3.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4659665bc7c9b58f8c00317c3c2a299f7f258eeae5a5d56b4c64226fca2f7c59", size = 8172465 }, + { url = "https://files.pythonhosted.org/packages/42/2a/6d66d0fba41e13e9ca6512a0a51170f43e7e7ed3a8dfa036324100775612/matplotlib-3.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d44cb942af1693cced2604c33a9abcef6205601c445f6d0dc531d813af8a2f5a", size = 8043300 }, + { url = "https://files.pythonhosted.org/packages/90/60/2a60342b27b90a16bada939a85e29589902b41073f59668b904b15ea666c/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a994f29e968ca002b50982b27168addfd65f0105610b6be7fa515ca4b5307c95", size = 8448936 }, + { url = "https://files.pythonhosted.org/packages/a7/b2/d872fc3d753516870d520595ddd8ce4dd44fa797a240999f125f58521ad7/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0558bae37f154fffda54d779a592bc97ca8b4701f1c710055b609a3bac44c8", size = 8594151 }, + { url = "https://files.pythonhosted.org/packages/f4/bd/b2f60cf7f57d014ab33e4f74602a2b5bdc657976db8196bbc022185f6f9c/matplotlib-3.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:503feb23bd8c8acc75541548a1d709c059b7184cde26314896e10a9f14df5f12", size = 9400347 }, + { url = "https://files.pythonhosted.org/packages/9f/6e/264673e64001b99d747aff5a288eca82826c024437a3694e19aed1decf46/matplotlib-3.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:c40ba2eb08b3f5de88152c2333c58cee7edcead0a2a0d60fcafa116b17117adc", size = 8039144 }, + { url = "https://files.pythonhosted.org/packages/72/11/1b2a094d95dcb6e6edd4a0b238177c439006c6b7a9fe8d31801237bf512f/matplotlib-3.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96f2886f5c1e466f21cc41b70c5a0cd47bfa0015eb2d5793c88ebce658600e25", size = 8173073 }, + { url = "https://files.pythonhosted.org/packages/0d/c4/87b6ad2723070511a411ea719f9c70fde64605423b184face4e94986de9d/matplotlib-3.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12eaf48463b472c3c0f8dbacdbf906e573013df81a0ab82f0616ea4b11281908", size = 8043892 }, + { url = "https://files.pythonhosted.org/packages/57/69/cb0812a136550b21361335e9ffb7d459bf6d13e03cb7b015555d5143d2d6/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fbbabc82fde51391c4da5006f965e36d86d95f6ee83fb594b279564a4c5d0d2", size = 8450532 }, + { url = "https://files.pythonhosted.org/packages/ea/3a/bab9deb4fb199c05e9100f94d7f1c702f78d3241e6a71b784d2b88d7bebd/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad2e15300530c1a94c63cfa546e3b7864bd18ea2901317bae8bbf06a5ade6dcf", size = 8593905 }, + { url = "https://files.pythonhosted.org/packages/8b/66/742fd242f989adc1847ddf5f445815f73ad7c46aa3440690cc889cfa423c/matplotlib-3.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3547d153d70233a8496859097ef0312212e2689cdf8d7ed764441c77604095ae", size = 9399609 }, + { url = "https://files.pythonhosted.org/packages/fa/d6/54cee7142cef7d910a324a7aedf335c0c147b03658b54d49ec48166f10a6/matplotlib-3.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c55b20591ced744aa04e8c3e4b7543ea4d650b6c3c4b208c08a05b4010e8b442", size = 8039076 }, + { url = "https://files.pythonhosted.org/packages/43/14/815d072dc36e88753433bfd0385113405efb947e6895ff7b4d2e8614a33b/matplotlib-3.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ade1003376731a971e398cc4ef38bb83ee8caf0aee46ac6daa4b0506db1fd06", size = 8211000 }, + { url = "https://files.pythonhosted.org/packages/9a/76/34e75f364194ec352678adcb540964be6f35ec7d3d8c75ebcb17e6839359/matplotlib-3.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95b710fea129c76d30be72c3b38f330269363fbc6e570a5dd43580487380b5ff", size = 8087707 }, + { url = "https://files.pythonhosted.org/packages/c3/2b/b6bc0dff6a72d333bc7df94a66e6ce662d224e43daa8ad8ae4eaa9a77f55/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdbaf909887373c3e094b0318d7ff230b2ad9dcb64da7ade654182872ab2593", size = 8477384 }, + { url = "https://files.pythonhosted.org/packages/c2/2d/b5949fb2b76e9b47ab05e25a5f5f887c70de20d8b0cbc704a4e2ee71c786/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d907fddb39f923d011875452ff1eca29a9e7f21722b873e90db32e5d8ddff12e", size = 8610334 }, + { url = "https://files.pythonhosted.org/packages/d6/9a/6e3c799d5134d9af44b01c787e1360bee38cf51850506ea2e743a787700b/matplotlib-3.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3b427392354d10975c1d0f4ee18aa5844640b512d5311ef32efd4dd7db106ede", size = 9406777 }, + { url = "https://files.pythonhosted.org/packages/0e/dd/e6ae97151e5ed648ab2ea48885bc33d39202b640eec7a2910e2c843f7ac0/matplotlib-3.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5fd41b0ec7ee45cd960a8e71aea7c946a28a0b8a4dcee47d2856b2af051f334c", size = 8109742 }, + { url = "https://files.pythonhosted.org/packages/32/5f/29def7ce4e815ab939b56280976ee35afffb3bbdb43f332caee74cb8c951/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:81713dd0d103b379de4516b861d964b1d789a144103277769238c732229d7f03", size = 8155500 }, + { url = "https://files.pythonhosted.org/packages/de/6d/d570383c9f7ca799d0a54161446f9ce7b17d6c50f2994b653514bcaa108f/matplotlib-3.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:359f87baedb1f836ce307f0e850d12bb5f1936f70d035561f90d41d305fdacea", size = 8032398 }, + { url = "https://files.pythonhosted.org/packages/c9/b4/680aa700d99b48e8c4393fa08e9ab8c49c0555ee6f4c9c0a5e8ea8dfde5d/matplotlib-3.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae80dc3a4add4665cf2faa90138384a7ffe2a4e37c58d83e115b54287c4f06ef", size = 8587361 }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979 }, +] + +[[package]] +name = "misaki" +version = "0.6.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "regex" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/b7/e5038fa91818f323b19edae1d9923485c18c9a6d44da2ba7aafaafd66add/misaki-0.6.7.tar.gz", hash = "sha256:47233eb86623f615301dba24863bece9a21d969fc7ec46e035ce09995e8bde67", size = 3501274 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/e5/904fde5f93a4d9027c322614289273f5137f68f5c589242b22ce19ea2ac0/misaki-0.6.7-py3-none-any.whl", hash = "sha256:66a74d5ece8e882315ddf97f5ac4260b77ad52a8d038a54b1f0b366943eee782", size = 3556970 }, +] + +[package.optional-dependencies] +en = [ + { name = "num2words" }, + { name = "phonemizer" }, + { name = "spacy" }, + { name = "spacy-curated-transformers" }, +] +ja = [ + { name = "fugashi" }, + { name = "jaconv" }, + { name = "mojimoji" }, + { name = "unidic-lite" }, +] +ko = [ + { name = "g2pk2" }, +] +vi = [ + { name = "num2words" }, + { name = "spacy" }, + { name = "spacy-curated-transformers" }, + { name = "underthesea" }, +] +zh = [ + { name = "cn2an" }, + { name = "jieba" }, + { name = "ordered-set" }, + { name = "pypinyin" }, +] + +[[package]] +name = "mojimoji" +version = "0.0.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/08/fb/ee22357cd7622fb879fac575feaffc54469ed9a0c1d9073355b1ebc62b7f/mojimoji-0.0.13.tar.gz", hash = "sha256:0e6d2fba22cc8bf132a5bdf3a964296d9287a618d09681a12868f0fd518e4230", size = 5010 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/4e/0d7f019386bc4feb8096b5e8150d2e2dadd377be178d950654830541b5a3/mojimoji-0.0.13-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4e35fed7eb8ac573eef365d4a614c952179ad4e0e27a8e32d22e6c57a945b8c", size = 52307 }, + { url = "https://files.pythonhosted.org/packages/99/9c/7d28ec5236094b54130bcc34c3ff00185a8ed15e4bf76ac5c601bb2b831d/mojimoji-0.0.13-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:308a6b43c3c9c5a6d912e1984d02aa58ccabb83c9e57c5edb71389c90187d6d3", size = 48501 }, + { url = "https://files.pythonhosted.org/packages/b0/cd/0169f6a70c1a6fd64bace30b8890752c9c04cb723fbe393d671910f014e7/mojimoji-0.0.13-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:761c1bcca7146b24c82b72645fbb80dbe6d373792e84f7d71bafa538c0b170af", size = 188360 }, + { url = "https://files.pythonhosted.org/packages/06/59/44c8ce532482f7c49871157603594050eddf1e53b01041baf2d5d70c0809/mojimoji-0.0.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8feb1b8bf21eae1c35fca72a8c2c05c9a12271d882a02b01608d746d3dbab684", size = 192418 }, + { url = "https://files.pythonhosted.org/packages/a3/c0/1489a243721d26c55b1f679b18338f85103c94464c847d52c0dbeb6acc0a/mojimoji-0.0.13-cp310-cp310-win32.whl", hash = "sha256:f617ebe1fdceadc2b87497c4d56f3c863155179488feb63f83a62cf95df37b69", size = 39824 }, + { url = "https://files.pythonhosted.org/packages/f1/4c/df80f497c30065aa1c0d4bb6a9001042468dc04c8c86ab1dd7e8fe6debf0/mojimoji-0.0.13-cp310-cp310-win_amd64.whl", hash = "sha256:a5dfcef1fc16360aab65b8b60518a9d19cc7916ffc296ee0907819490686429e", size = 43748 }, + { url = "https://files.pythonhosted.org/packages/23/57/53640dc93fc65242f65b9c10e2ae6c991298f3a2ae986be5051b45a3718d/mojimoji-0.0.13-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c97d7c1861635cd538f44bf70dd27ed24435b0f8fe634ca52c49cb4c4424d6fa", size = 52496 }, + { url = "https://files.pythonhosted.org/packages/e0/11/4699c0279a2b82008967c4a938bb1becd65383e0fe7ac719acec891c8d63/mojimoji-0.0.13-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2402eaf2a5f963735c44e59559fa00ee8eb8dec46c0e3f29bfdb1ee49d7a75df", size = 48453 }, + { url = "https://files.pythonhosted.org/packages/77/75/ab823cf487ba3f0225da2780975e342f07299d4059ac934a476fe61d4414/mojimoji-0.0.13-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:60a7358d7d413d4ea9c92e3b523ab4e701e30cefc505b2f1409761fc9e7ba730", size = 201309 }, + { url = "https://files.pythonhosted.org/packages/78/93/866d76f25eca48a9b68639d0584e547c0f429a7b140daaaf752a2e5faa0d/mojimoji-0.0.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:535f278df0a26280e904cd3688ae610414b176cc373431ac31e378305ee96452", size = 205684 }, + { url = "https://files.pythonhosted.org/packages/0f/11/cb88596fb5286f98c93c054d881b817655cc22af52185e2242230738704e/mojimoji-0.0.13-cp311-cp311-win32.whl", hash = "sha256:d27f88051d4fde5b2fdb1a07e3064c950541da6d25e3f1829eedededc015b0c2", size = 39901 }, + { url = "https://files.pythonhosted.org/packages/5d/1b/159b658b1bc9b2e6faf004e086dd81ce758a62cc5e8405065f7e30db0b8a/mojimoji-0.0.13-cp311-cp311-win_amd64.whl", hash = "sha256:ea2f75e93425f0bcfaef68c189845ec9a212d37a4997ffa35353ef7e5c57ca9a", size = 43942 }, + { url = "https://files.pythonhosted.org/packages/55/51/4f8fb6d6d96ef623d5014b8f5b006c697d045d2df5696194811246570ac9/mojimoji-0.0.13-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9d8f1618fb9b100bba172f2629df20e6db591ce5912996ac630d215627dd7553", size = 49596 }, + { url = "https://files.pythonhosted.org/packages/5b/12/b21c4ecf2fb5d162c0f6fde9dc401cc9a730dab4f85373ca25c350c204e7/mojimoji-0.0.13-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ad4a2e1fb2b643ac3166f30be97a95ad1877e4670c6dc656c4ef580681b84c49", size = 46720 }, + { url = "https://files.pythonhosted.org/packages/0d/85/954d806efbead02c87320b96436d2834d7f2f164de3ef4dd7e5f71f92f71/mojimoji-0.0.13-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d001f2042073b194bad071925b7ee36d9f320b79c93b4463df87267fee986e86", size = 204364 }, + { url = "https://files.pythonhosted.org/packages/b8/bc/f262abd0bec2316cbfe972ba2a79c0d5836f0f536877fa59347a76065f80/mojimoji-0.0.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5fd38d1f4079dc54ac79f93b0e5442c660b297a3868308251ffc37beb1216b", size = 211246 }, + { url = "https://files.pythonhosted.org/packages/51/a4/5ec16d4570a4f64d4abf70d21282d4c59e0665fa0badf2793c14263765bc/mojimoji-0.0.13-cp312-cp312-win32.whl", hash = "sha256:c97ee81e4f7083df13b8ef690366e67afd8170c8f7c259161bae6ed12d41fe5b", size = 38641 }, + { url = "https://files.pythonhosted.org/packages/e0/da/aa46aa90ddeab3a00b8c36d5f3d64b630a0a1fa8ad6468f10365ffbb80a2/mojimoji-0.0.13-cp312-cp312-win_amd64.whl", hash = "sha256:6e442d6dcfb2fc1a08eea86da80ebe71ad63fbc4217fa4faede7023c0b51d055", size = 42280 }, +] + +[[package]] +name = "mpire" +version = "2.10.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments" }, + { name = "pywin32", marker = "sys_platform == 'win32' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "tqdm" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3a/93/80ac75c20ce54c785648b4ed363c88f148bf22637e10c9863db4fbe73e74/mpire-2.10.2.tar.gz", hash = "sha256:f66a321e93fadff34585a4bfa05e95bd946cf714b442f51c529038eb45773d97", size = 271270 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/14/1db1729ad6db4999c3a16c47937d601fcb909aaa4224f5eca5a2f145a605/mpire-2.10.2-py3-none-any.whl", hash = "sha256:d627707f7a8d02aa4c7f7d59de399dec5290945ddf7fbd36cbb1d6ebb37a51fb", size = 272756 }, +] + +[package.optional-dependencies] +dill = [ + { name = "multiprocess" }, +] + +[[package]] +name = "mpmath" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106 } +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 = "multiprocess" +version = "0.70.17" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dill" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e9/34/1acca6e18697017ad5c8b45279b59305d660ecf2fbed13e5f406f69890e4/multiprocess-0.70.17.tar.gz", hash = "sha256:4ae2f11a3416809ebc9a48abfc8b14ecce0652a0944731a1493a3c1ba44ff57a", size = 1785744 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f2/97/e57eaa8a4dc4036460d13162470eb0da520e6496a90b943529cf1ca40ebd/multiprocess-0.70.17-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ddb24e5bcdb64e90ec5543a1f05a39463068b6d3b804aa3f2a4e16ec28562d6", size = 135007 }, + { url = "https://files.pythonhosted.org/packages/8f/0a/bb06ea45e5b400cd9944e05878fdbb9016ba78ffb9190c541eec9c8e8380/multiprocess-0.70.17-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d729f55198a3579f6879766a6d9b72b42d4b320c0dcb7844afb774d75b573c62", size = 135008 }, + { url = "https://files.pythonhosted.org/packages/20/e3/db48b10f0a25569c5c3a20288d82f9677cb312bccbd1da16cf8fb759649f/multiprocess-0.70.17-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2c82d0375baed8d8dd0d8c38eb87c5ae9c471f8e384ad203a36f095ee860f67", size = 135012 }, + { url = "https://files.pythonhosted.org/packages/e7/a9/39cf856d03690af6fd570cf40331f1f79acdbb3132a9c35d2c5002f7f30b/multiprocess-0.70.17-py310-none-any.whl", hash = "sha256:38357ca266b51a2e22841b755d9a91e4bb7b937979a54d411677111716c32744", size = 134830 }, + { url = "https://files.pythonhosted.org/packages/b2/07/8cbb75d6cfbe8712d8f7f6a5615f083c6e710ab916b748fbb20373ddb142/multiprocess-0.70.17-py311-none-any.whl", hash = "sha256:2884701445d0177aec5bd5f6ee0df296773e4fb65b11903b94c613fb46cfb7d1", size = 144346 }, + { url = "https://files.pythonhosted.org/packages/a4/69/d3f343a61a2f86ef10ed7865a26beda7c71554136ce187b0384b1c2c9ca3/multiprocess-0.70.17-py312-none-any.whl", hash = "sha256:2818af14c52446b9617d1b0755fa70ca2f77c28b25ed97bdaa2c69a22c47b46c", size = 147990 }, + { url = "https://files.pythonhosted.org/packages/c8/b7/2e9a4fcd871b81e1f2a812cd5c6fb52ad1e8da7bf0d7646c55eaae220484/multiprocess-0.70.17-py313-none-any.whl", hash = "sha256:20c28ca19079a6c879258103a6d60b94d4ffe2d9da07dda93fb1c8bc6243f522", size = 149843 }, + { url = "https://files.pythonhosted.org/packages/ae/d7/fd7a092fc0ab1845a1a97ca88e61b9b7cc2e9d6fcf0ed24e9480590c2336/multiprocess-0.70.17-py38-none-any.whl", hash = "sha256:1d52f068357acd1e5bbc670b273ef8f81d57863235d9fbf9314751886e141968", size = 132635 }, + { url = "https://files.pythonhosted.org/packages/f9/41/0618ac724b8a56254962c143759e04fa01c73b37aa69dd433f16643bd38b/multiprocess-0.70.17-py39-none-any.whl", hash = "sha256:c3feb874ba574fbccfb335980020c1ac631fbf2a3f7bee4e2042ede62558a021", size = 133359 }, +] + +[[package]] +name = "munch" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/2b/45098135b5f9f13221820d90f9e0516e11a2a0f55012c13b081d202b782a/munch-4.0.0.tar.gz", hash = "sha256:542cb151461263216a4e37c3fd9afc425feeaf38aaa3025cd2a981fadb422235", size = 19089 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/b3/7c69b37f03260a061883bec0e7b05be7117c1b1c85f5212c72c8c2bc3c8c/munch-4.0.0-py2.py3-none-any.whl", hash = "sha256:71033c45db9fb677a0b7eb517a4ce70ae09258490e419b0e7f00d1e386ecb1b4", size = 9950 }, +] + +[[package]] +name = "murmurhash" +version = "1.0.12" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/64/d9/e7c6a7d4e9b5320c17e54af6f9edd2f521c6f86bbbb72aba571f641a9793/murmurhash-1.0.12.tar.gz", hash = "sha256:467b7ee31c1f79f46d00436a1957fc52a0e5801369dd2f30eb7655f380735b5f", size = 13233 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/74/4c/bc0a79c7b0ebec63256ac547e2cecbae73badcd26e874231ff901665e8fc/murmurhash-1.0.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3f492bbf6f879b6eaf9da4be7471f4b68a3e3ae525aac0f35c2ae27ec91265c", size = 26857 }, + { url = "https://files.pythonhosted.org/packages/2c/dc/824bd5cf239d6b6997f83dd94c4a99a48f5f2a6267174cf191ddb844f997/murmurhash-1.0.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3493e0c10a64fa72026af2ea2271d8b3511a438de3c6a771b7a57771611b9c08", size = 26974 }, + { url = "https://files.pythonhosted.org/packages/51/b2/67f4e99f9b577187ec1376ff37478da87b88f2f8092c1f1351b18cb29fc6/murmurhash-1.0.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95989ddbb187b9934e5b0e7f450793a445814b6c293a7bf92df56913c3a87c1e", size = 126364 }, + { url = "https://files.pythonhosted.org/packages/4e/10/c7efbc91842ec6d519296129071cc55ba50d5e120e796dac536e4c299dc3/murmurhash-1.0.12-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efef9f9aad98ec915a830f0c53d14ce6807ccc6e14fd2966565ef0b71cfa086", size = 124315 }, + { url = "https://files.pythonhosted.org/packages/92/87/dc7dbca647909721006405b8f956628dfbd2fd4f7701f6dfcd5e40f29b4f/murmurhash-1.0.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b3147d171a5e5d2953b5eead21d15ea59b424844b4504a692c4b9629191148ed", size = 120355 }, + { url = "https://files.pythonhosted.org/packages/ff/36/cf13614b4bb62a956c62a3d8cd81fb4e0dd35e982dd7d7d028522ba4d9d9/murmurhash-1.0.12-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:736c869bef5023540dde52a9338085ac823eda3f09591ba1b4ed2c09c8b378db", size = 119979 }, + { url = "https://files.pythonhosted.org/packages/05/b9/06bfba06b9fb4855db2cbbeb72eac7a879209c2b989b3de5d3383c49ca04/murmurhash-1.0.12-cp310-cp310-win_amd64.whl", hash = "sha256:b81feb5bfd13bce638ccf910c685b04ad0537635918d04c83b291ce0441776da", size = 25373 }, + { url = "https://files.pythonhosted.org/packages/d3/f4/0208624de330224f3a8981c030007fc4a3583ca6b4d4dd3275364c1d06e6/murmurhash-1.0.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8b236b76a256690e745b63b679892878ec4f01deeeda8d311482a9b183d2d452", size = 26793 }, + { url = "https://files.pythonhosted.org/packages/2f/a4/a387486e79bcc04f3d3b123195fd4cca74a7ba439d6c45b35c5366c66586/murmurhash-1.0.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8bc3756dd657ed90c1354705e66513c11516929fe726e7bc91c79734d190f394", size = 26884 }, + { url = "https://files.pythonhosted.org/packages/9f/38/ec45a33c519feb802cdf0fe9dd1b1e6c15897c43d29c738eaae61da8ae5d/murmurhash-1.0.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd41e4c3d7936b69010d76e5edff363bf40fd918d86287a14e924363d7828522", size = 136101 }, + { url = "https://files.pythonhosted.org/packages/0b/d5/6f1b561d8b14ef01d28d9cec278870bec01d8a569cfbc694e68ac05a5615/murmurhash-1.0.12-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36be2831df750163495e471d24aeef6aca1b2a3c4dfb05f40114859db47ff3f2", size = 134309 }, + { url = "https://files.pythonhosted.org/packages/e8/78/2df6cdce439f6b8509d7947b8c47e7fe2589671899eb6399f4e2f602fe1f/murmurhash-1.0.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b078c10f9c82cbd144b1200061fbfa7f99af9d5d8d7f7d8a324370169e3da7c2", size = 131134 }, + { url = "https://files.pythonhosted.org/packages/43/0b/f0a5a622c505786d3d1dc1ad3e7f6b6fbfcae2665b205e07b3882185c39f/murmurhash-1.0.12-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:307ca8da5f038635ded9de722fe11f07f06a2b76442ae272dcccbff6086de487", size = 128630 }, + { url = "https://files.pythonhosted.org/packages/de/30/ceb9217cdba72bc0bf8466e373e12e5a42945cc85eda0a7c479e319e07ae/murmurhash-1.0.12-cp311-cp311-win_amd64.whl", hash = "sha256:1b4ab5ba5ba909959659989f3bf57903f31f49906fe40f00aec81e32eea69a88", size = 25417 }, + { url = "https://files.pythonhosted.org/packages/38/c7/0dc2914c24adb9466b69606dfdee7bbfed13476f4dda3753e0185cfbbe1f/murmurhash-1.0.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1a4c97c8ffbedb62b760c3c2f77b5b8cb0e0ac0ec83a74d2f289e113e3e92ed5", size = 27120 }, + { url = "https://files.pythonhosted.org/packages/ae/d7/aea56101f225eb021cfd47245d55680605665b556aba95eecee937b4d4d6/murmurhash-1.0.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9574f0b634f059158bb89734a811e435ac9ad2335c02a7abb59f1875dcce244c", size = 27081 }, + { url = "https://files.pythonhosted.org/packages/f4/68/4b723e0f318e92b0b4779f41ff5d9446e1dc0e68aca2f0043e1fab3fc1be/murmurhash-1.0.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:701cc0ce91809b4d7c2e0518be759635205e1e181325792044f5a8118019f716", size = 138552 }, + { url = "https://files.pythonhosted.org/packages/13/40/eed53da76a428f404ec9db6d0983691c61d2744fea7070c6b31caca31ac4/murmurhash-1.0.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e1c9de2167a9d408d121ebc918bcb20b2718ec956f3aae0ded53d9bb224bb8e", size = 138589 }, + { url = "https://files.pythonhosted.org/packages/12/e8/1b9164e62f75bf23d6af5262421985f45bce9bd5c4970a62b83ea7cb62df/murmurhash-1.0.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:94a52972835bdae8af18147c67c398ff3ea1d875f5b8dca1e1aa0fadb892f546", size = 129244 }, + { url = "https://files.pythonhosted.org/packages/a7/20/c91f06d3692705bc7ec16c219143cc56062afd8080756d55e0678a7b704c/murmurhash-1.0.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cc88004c8615dcabe31d21142689f719fdf549ba782850bef389cf227a1df575", size = 128944 }, + { url = "https://files.pythonhosted.org/packages/b2/66/7d74a9f547dd719e86245e2a3d126140335861b8e362bdd22c7f9842a2b8/murmurhash-1.0.12-cp312-cp312-win_amd64.whl", hash = "sha256:8c5b8804c07a76f779e67f83aad37bc2189a0e65ebdd3f2b305242d489d31e03", size = 25554 }, + { url = "https://files.pythonhosted.org/packages/12/77/bec7e3f00b0e23bfa027704d4023fea808d8cc0e593dd4247f4579de6776/murmurhash-1.0.12-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:63f10c6d6ef9ee85073dd896d2c4e0ab161bc6b8e7e9201c69f8061f9f1b6468", size = 26474 }, + { url = "https://files.pythonhosted.org/packages/57/46/8dd3631cfb58435004678179a70352d3258b159c3f110e4f11fb23b1f776/murmurhash-1.0.12-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:66356f6308fd2a44a8ab056f020acd5bc22302f23ef5cce3705f2493e0fe9c3c", size = 26418 }, + { url = "https://files.pythonhosted.org/packages/50/8f/ae8ee91c1b9ecdc4d849382af64b10e5d3c79ee7fcf8af13400d32092ae7/murmurhash-1.0.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdb2104aa3471324724abf5a3a76fc94bcbeaf023bb6a6dd94da567b8633d8a6", size = 133342 }, + { url = "https://files.pythonhosted.org/packages/cd/19/3ce034b0c068e8f88ea0ac28e196359aacf3c52718fbce1f7dbcf088261f/murmurhash-1.0.12-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a7ef5fb37e72536458ac4a6f486fb374c60ac4c4862d9195d3d4b58239a91de", size = 133062 }, + { url = "https://files.pythonhosted.org/packages/a0/0c/f9a868eb39751b9dceb9e35d91e8cf321dad8ce9e3e965d067b0fff0547a/murmurhash-1.0.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8bd5524de195991ce3551b14286ec0b730cc9dd2e10565dad2ae470eec082028", size = 124858 }, + { url = "https://files.pythonhosted.org/packages/b6/fc/52bcb3afc95733f30ec76e07cae4b5d0081fa049ade418303faeee619766/murmurhash-1.0.12-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:19de30edaaa2217cd0c41b6cf6bbfa418be5d7fdf267ca92e5e3710d4daac593", size = 124686 }, + { url = "https://files.pythonhosted.org/packages/cf/99/9cdea62dec8ea26a35a8231ee09c83b16f9dedf16280a7a15f41d2061706/murmurhash-1.0.12-cp313-cp313-win_amd64.whl", hash = "sha256:7dc4ebdfed7ef8ed70519962ac9b704e91978ee14e049f1ff37bca2f579ce84d", size = 24702 }, +] + +[[package]] +name = "mutagen" +version = "1.47.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/81/e6/64bc71b74eef4b68e61eb921dcf72dabd9e4ec4af1e11891bbd312ccbb77/mutagen-1.47.0.tar.gz", hash = "sha256:719fadef0a978c31b4cf3c956261b3c58b6948b32023078a2117b1de09f0fc99", size = 1274186 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/7a/620f945b96be1f6ee357d211d5bf74ab1b7fe72a9f1525aafbfe3aee6875/mutagen-1.47.0-py3-none-any.whl", hash = "sha256:edd96f50c5907a9539d8e5bba7245f62c9f520aef333d13392a79a4f70aca719", size = 194391 }, +] + +[[package]] +name = "networkx" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/1d/06475e1cd5264c0b870ea2cc6fdb3e37177c1e565c43f56ff17a10e3937f/networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1", size = 2151368 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f", size = 1723263 }, +] + +[[package]] +name = "nltk" +version = "3.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "joblib" }, + { name = "regex" }, + { name = "tqdm" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3c/87/db8be88ad32c2d042420b6fd9ffd4a149f9a0d7f0e86b3f543be2eeeedd2/nltk-3.9.1.tar.gz", hash = "sha256:87d127bd3de4bd89a4f81265e5fa59cb1b199b27440175370f7417d2bc7ae868", size = 2904691 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/66/7d9e26593edda06e8cb531874633f7c2372279c3b0f46235539fe546df8b/nltk-3.9.1-py3-none-any.whl", hash = "sha256:4fa26829c5b00715afe3061398a8989dc643b92ce7dd93fb4585a70930d168a1", size = 1505442 }, +] + +[[package]] +name = "num2words" +version = "0.5.14" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "docopt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/58/ad645bd38b4b648eb2fc2ba1b909398e54eb0cbb6a7dbd2b4953e38c9621/num2words-0.5.14.tar.gz", hash = "sha256:b066ec18e56b6616a3b38086b5747daafbaa8868b226a36127e0451c0cf379c6", size = 218213 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/5b/545e9267a1cc080c8a1be2746113a063e34bcdd0f5173fd665a5c13cb234/num2words-0.5.14-py3-none-any.whl", hash = "sha256:1c8e5b00142fc2966fd8d685001e36c4a9911e070d1b120e1beb721fa1edb33d", size = 163525 }, +] + +[[package]] +name = "numpy" +version = "1.26.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/65/6e/09db70a523a96d25e115e71cc56a6f9031e7b8cd166c1ac8438307c14058/numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010", size = 15786129 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/94/ace0fdea5241a27d13543ee117cbc65868e82213fb31a8eb7fe9ff23f313/numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0", size = 20631468 }, + { url = "https://files.pythonhosted.org/packages/20/f7/b24208eba89f9d1b58c1668bc6c8c4fd472b20c45573cb767f59d49fb0f6/numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a", size = 13966411 }, + { url = "https://files.pythonhosted.org/packages/fc/a5/4beee6488160798683eed5bdb7eead455892c3b4e1f78d79d8d3f3b084ac/numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4", size = 14219016 }, + { url = "https://files.pythonhosted.org/packages/4b/d7/ecf66c1cd12dc28b4040b15ab4d17b773b87fa9d29ca16125de01adb36cd/numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f", size = 18240889 }, + { url = "https://files.pythonhosted.org/packages/24/03/6f229fe3187546435c4f6f89f6d26c129d4f5bed40552899fcf1f0bf9e50/numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a", size = 13876746 }, + { url = "https://files.pythonhosted.org/packages/39/fe/39ada9b094f01f5a35486577c848fe274e374bbf8d8f472e1423a0bbd26d/numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2", size = 18078620 }, + { url = "https://files.pythonhosted.org/packages/d5/ef/6ad11d51197aad206a9ad2286dc1aac6a378059e06e8cf22cd08ed4f20dc/numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07", size = 5972659 }, + { url = "https://files.pythonhosted.org/packages/19/77/538f202862b9183f54108557bfda67e17603fc560c384559e769321c9d92/numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5", size = 15808905 }, + { url = "https://files.pythonhosted.org/packages/11/57/baae43d14fe163fa0e4c47f307b6b2511ab8d7d30177c491960504252053/numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71", size = 20630554 }, + { url = "https://files.pythonhosted.org/packages/1a/2e/151484f49fd03944c4a3ad9c418ed193cfd02724e138ac8a9505d056c582/numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef", size = 13997127 }, + { url = "https://files.pythonhosted.org/packages/79/ae/7e5b85136806f9dadf4878bf73cf223fe5c2636818ba3ab1c585d0403164/numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e", size = 14222994 }, + { url = "https://files.pythonhosted.org/packages/3a/d0/edc009c27b406c4f9cbc79274d6e46d634d139075492ad055e3d68445925/numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5", size = 18252005 }, + { url = "https://files.pythonhosted.org/packages/09/bf/2b1aaf8f525f2923ff6cfcf134ae5e750e279ac65ebf386c75a0cf6da06a/numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a", size = 13885297 }, + { url = "https://files.pythonhosted.org/packages/df/a0/4e0f14d847cfc2a633a1c8621d00724f3206cfeddeb66d35698c4e2cf3d2/numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a", size = 18093567 }, + { url = "https://files.pythonhosted.org/packages/d2/b7/a734c733286e10a7f1a8ad1ae8c90f2d33bf604a96548e0a4a3a6739b468/numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20", size = 5968812 }, + { url = "https://files.pythonhosted.org/packages/3f/6b/5610004206cf7f8e7ad91c5a85a8c71b2f2f8051a0c0c4d5916b76d6cbb2/numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2", size = 15811913 }, + { url = "https://files.pythonhosted.org/packages/95/12/8f2020a8e8b8383ac0177dc9570aad031a3beb12e38847f7129bacd96228/numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218", size = 20335901 }, + { url = "https://files.pythonhosted.org/packages/75/5b/ca6c8bd14007e5ca171c7c03102d17b4f4e0ceb53957e8c44343a9546dcc/numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b", size = 13685868 }, + { url = "https://files.pythonhosted.org/packages/79/f8/97f10e6755e2a7d027ca783f63044d5b1bc1ae7acb12afe6a9b4286eac17/numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b", size = 13925109 }, + { url = "https://files.pythonhosted.org/packages/0f/50/de23fde84e45f5c4fda2488c759b69990fd4512387a8632860f3ac9cd225/numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed", size = 17950613 }, + { url = "https://files.pythonhosted.org/packages/4c/0c/9c603826b6465e82591e05ca230dfc13376da512b25ccd0894709b054ed0/numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a", size = 13572172 }, + { url = "https://files.pythonhosted.org/packages/76/8c/2ba3902e1a0fc1c74962ea9bb33a534bb05984ad7ff9515bf8d07527cadd/numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0", size = 17786643 }, + { url = "https://files.pythonhosted.org/packages/28/4a/46d9e65106879492374999e76eb85f87b15328e06bd1550668f79f7b18c6/numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110", size = 5677803 }, + { url = "https://files.pythonhosted.org/packages/16/2e/86f24451c2d530c88daf997cb8d6ac622c1d40d19f5a031ed68a4b73a374/numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", size = 15517754 }, +] + +[[package]] +name = "nvidia-cublas-cu12" +version = "12.1.3.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/37/6d/121efd7382d5b0284239f4ab1fc1590d86d34ed4a4a2fdb13b30ca8e5740/nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl", hash = "sha256:ee53ccca76a6fc08fb9701aa95b6ceb242cdaab118c3bb152af4e579af792728", size = 410594774 }, + { url = "https://files.pythonhosted.org/packages/c5/ef/32a375b74bea706c93deea5613552f7c9104f961b21df423f5887eca713b/nvidia_cublas_cu12-12.1.3.1-py3-none-win_amd64.whl", hash = "sha256:2b964d60e8cf11b5e1073d179d85fa340c120e99b3067558f3cf98dd69d02906", size = 439918445 }, +] + +[[package]] +name = "nvidia-cublas-cu12" +version = "12.4.5.8" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/7f/7fbae15a3982dc9595e49ce0f19332423b260045d0a6afe93cdbe2f1f624/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0f8aa1706812e00b9f19dfe0cdb3999b092ccb8ca168c0db5b8ea712456fd9b3", size = 363333771 }, + { url = "https://files.pythonhosted.org/packages/ae/71/1c91302526c45ab494c23f61c7a84aa568b8c1f9d196efa5993957faf906/nvidia_cublas_cu12-12.4.5.8-py3-none-manylinux2014_x86_64.whl", hash = "sha256:2fc8da60df463fdefa81e323eef2e36489e1c94335b5358bcb38360adf75ac9b", size = 363438805 }, + { url = "https://files.pythonhosted.org/packages/e2/2a/4f27ca96232e8b5269074a72e03b4e0d43aa68c9b965058b1684d07c6ff8/nvidia_cublas_cu12-12.4.5.8-py3-none-win_amd64.whl", hash = "sha256:5a796786da89203a0657eda402bcdcec6180254a8ac22d72213abc42069522dc", size = 396895858 }, +] + +[[package]] +name = "nvidia-cuda-cupti-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/00/6b218edd739ecfc60524e585ba8e6b00554dd908de2c9c66c1af3e44e18d/nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:e54fde3983165c624cb79254ae9818a456eb6e87a7fd4d56a2352c24ee542d7e", size = 14109015 }, + { url = "https://files.pythonhosted.org/packages/d0/56/0021e32ea2848c24242f6b56790bd0ccc8bf99f973ca790569c6ca028107/nvidia_cuda_cupti_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:bea8236d13a0ac7190bd2919c3e8e6ce1e402104276e6f9694479e48bb0eb2a4", size = 10154340 }, +] + +[[package]] +name = "nvidia-cuda-cupti-cu12" +version = "12.4.127" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/b5/9fb3d00386d3361b03874246190dfec7b206fd74e6e287b26a8fcb359d95/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:79279b35cf6f91da114182a5ce1864997fd52294a87a16179ce275773799458a", size = 12354556 }, + { url = "https://files.pythonhosted.org/packages/67/42/f4f60238e8194a3106d06a058d494b18e006c10bb2b915655bd9f6ea4cb1/nvidia_cuda_cupti_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:9dec60f5ac126f7bb551c055072b69d85392b13311fcc1bcda2202d172df30fb", size = 13813957 }, + { url = "https://files.pythonhosted.org/packages/f3/79/8cf313ec17c58ccebc965568e5bcb265cdab0a1df99c4e674bb7a3b99bfe/nvidia_cuda_cupti_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:5688d203301ab051449a2b1cb6690fbe90d2b372f411521c86018b950f3d7922", size = 9938035 }, +] + +[[package]] +name = "nvidia-cuda-nvrtc-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/9f/c64c03f49d6fbc56196664d05dba14e3a561038a81a638eeb47f4d4cfd48/nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:339b385f50c309763ca65456ec75e17bbefcbbf2893f462cb8b90584cd27a1c2", size = 23671734 }, + { url = "https://files.pythonhosted.org/packages/ad/1d/f76987c4f454eb86e0b9a0e4f57c3bf1ac1d13ad13cd1a4da4eb0e0c0ce9/nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:0a98a522d9ff138b96c010a65e145dc1b4850e9ecb75a0172371793752fd46ed", size = 19331863 }, +] + +[[package]] +name = "nvidia-cuda-nvrtc-cu12" +version = "12.4.127" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/aa/083b01c427e963ad0b314040565ea396f914349914c298556484f799e61b/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0eedf14185e04b76aa05b1fea04133e59f465b6f960c0cbf4e37c3cb6b0ea198", size = 24133372 }, + { url = "https://files.pythonhosted.org/packages/2c/14/91ae57cd4db3f9ef7aa99f4019cfa8d54cb4caa7e00975df6467e9725a9f/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a178759ebb095827bd30ef56598ec182b85547f1508941a3d560eb7ea1fbf338", size = 24640306 }, + { url = "https://files.pythonhosted.org/packages/7c/30/8c844bfb770f045bcd8b2c83455c5afb45983e1a8abf0c4e5297b481b6a5/nvidia_cuda_nvrtc_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:a961b2f1d5f17b14867c619ceb99ef6fcec12e46612711bcec78eb05068a60ec", size = 19751955 }, +] + +[[package]] +name = "nvidia-cuda-runtime-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/d5/c68b1d2cdfcc59e72e8a5949a37ddb22ae6cade80cd4a57a84d4c8b55472/nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:6e258468ddf5796e25f1dc591a31029fa317d97a0a94ed93468fc86301d61e40", size = 823596 }, + { url = "https://files.pythonhosted.org/packages/9f/e2/7a2b4b5064af56ea8ea2d8b2776c0f2960d95c88716138806121ae52a9c9/nvidia_cuda_runtime_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:dfb46ef84d73fababab44cf03e3b83f80700d27ca300e537f85f636fac474344", size = 821226 }, +] + +[[package]] +name = "nvidia-cuda-runtime-cu12" +version = "12.4.127" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/a1/aa/b656d755f474e2084971e9a297def515938d56b466ab39624012070cb773/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:961fe0e2e716a2a1d967aab7caee97512f71767f852f67432d572e36cb3a11f3", size = 894177 }, + { url = "https://files.pythonhosted.org/packages/ea/27/1795d86fe88ef397885f2e580ac37628ed058a92ed2c39dc8eac3adf0619/nvidia_cuda_runtime_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:64403288fa2136ee8e467cdc9c9427e0434110899d07c779f25b5c068934faa5", size = 883737 }, + { url = "https://files.pythonhosted.org/packages/a8/8b/450e93fab75d85a69b50ea2d5fdd4ff44541e0138db16f9cd90123ef4de4/nvidia_cuda_runtime_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:09c2e35f48359752dfa822c09918211844a3d93c100a715d79b59591130c5e1e", size = 878808 }, +] + +[[package]] +name = "nvidia-cudnn-cu12" +version = "9.1.0.70" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nvidia-cublas-cu12", version = "12.1.3.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, + { name = "nvidia-cublas-cu12", version = "12.4.5.8", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'extra-14-kokoro-fastapi-cpu' or extra != 'extra-14-kokoro-fastapi-gpu'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/fd/713452cd72343f682b1c7b9321e23829f00b842ceaedcda96e742ea0b0b3/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl", hash = "sha256:165764f44ef8c61fcdfdfdbe769d687e06374059fbb388b6c89ecb0e28793a6f", size = 664752741 }, + { url = "https://files.pythonhosted.org/packages/3f/d0/f90ee6956a628f9f04bf467932c0a25e5a7e706a684b896593c06c82f460/nvidia_cudnn_cu12-9.1.0.70-py3-none-win_amd64.whl", hash = "sha256:6278562929433d68365a07a4a1546c237ba2849852c0d4b2262a486e805b977a", size = 679925892 }, +] + +[[package]] +name = "nvidia-cufft-cu12" +version = "11.0.2.54" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/94/eb540db023ce1d162e7bea9f8f5aa781d57c65aed513c33ee9a5123ead4d/nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl", hash = "sha256:794e3948a1aa71fd817c3775866943936774d1c14e7628c74f6f7417224cdf56", size = 121635161 }, + { url = "https://files.pythonhosted.org/packages/f7/57/7927a3aa0e19927dfed30256d1c854caf991655d847a4e7c01fe87e3d4ac/nvidia_cufft_cu12-11.0.2.54-py3-none-win_amd64.whl", hash = "sha256:d9ac353f78ff89951da4af698f80870b1534ed69993f10a4cf1d96f21357e253", size = 121344196 }, +] + +[[package]] +name = "nvidia-cufft-cu12" +version = "11.2.1.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "nvidia-nvjitlink-cu12" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/8a/0e728f749baca3fbeffad762738276e5df60851958be7783af121a7221e7/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:5dad8008fc7f92f5ddfa2101430917ce2ffacd86824914c82e28990ad7f00399", size = 211422548 }, + { url = "https://files.pythonhosted.org/packages/27/94/3266821f65b92b3138631e9c8e7fe1fb513804ac934485a8d05776e1dd43/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:f083fc24912aa410be21fa16d157fed2055dab1cc4b6934a0e03cba69eb242b9", size = 211459117 }, + { url = "https://files.pythonhosted.org/packages/f6/ee/3f3f8e9874f0be5bbba8fb4b62b3de050156d159f8b6edc42d6f1074113b/nvidia_cufft_cu12-11.2.1.3-py3-none-win_amd64.whl", hash = "sha256:d802f4954291101186078ccbe22fc285a902136f974d369540fd4a5333d1440b", size = 210576476 }, +] + +[[package]] +name = "nvidia-curand-cu12" +version = "10.3.2.106" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/44/31/4890b1c9abc496303412947fc7dcea3d14861720642b49e8ceed89636705/nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:9d264c5036dde4e64f1de8c50ae753237c12e0b1348738169cd0f8a536c0e1e0", size = 56467784 }, + { url = "https://files.pythonhosted.org/packages/5c/97/4c9c7c79efcdf5b70374241d48cf03b94ef6707fd18ea0c0f53684931d0b/nvidia_curand_cu12-10.3.2.106-py3-none-win_amd64.whl", hash = "sha256:75b6b0c574c0037839121317e17fd01f8a69fd2ef8e25853d826fec30bdba74a", size = 55995813 }, +] + +[[package]] +name = "nvidia-curand-cu12" +version = "10.3.5.147" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/80/9c/a79180e4d70995fdf030c6946991d0171555c6edf95c265c6b2bf7011112/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_aarch64.whl", hash = "sha256:1f173f09e3e3c76ab084aba0de819c49e56614feae5c12f69883f4ae9bb5fad9", size = 56314811 }, + { url = "https://files.pythonhosted.org/packages/8a/6d/44ad094874c6f1b9c654f8ed939590bdc408349f137f9b98a3a23ccec411/nvidia_curand_cu12-10.3.5.147-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a88f583d4e0bb643c49743469964103aa59f7f708d862c3ddb0fc07f851e3b8b", size = 56305206 }, + { url = "https://files.pythonhosted.org/packages/1c/22/2573503d0d4e45673c263a313f79410e110eb562636b0617856fdb2ff5f6/nvidia_curand_cu12-10.3.5.147-py3-none-win_amd64.whl", hash = "sha256:f307cc191f96efe9e8f05a87096abc20d08845a841889ef78cb06924437f6771", size = 55799918 }, +] + +[[package]] +name = "nvidia-cusolver-cu12" +version = "11.4.5.107" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "nvidia-cublas-cu12", version = "12.1.3.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, + { name = "nvidia-cusparse-cu12", version = "12.1.0.106", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, + { name = "nvidia-nvjitlink-cu12", marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/1d/8de1e5c67099015c834315e333911273a8c6aaba78923dd1d1e25fc5f217/nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl", hash = "sha256:8a7ec542f0412294b15072fa7dab71d31334014a69f953004ea7a118206fe0dd", size = 124161928 }, + { url = "https://files.pythonhosted.org/packages/b8/80/8fca0bf819122a631c3976b6fc517c1b10741b643b94046bd8dd451522c5/nvidia_cusolver_cu12-11.4.5.107-py3-none-win_amd64.whl", hash = "sha256:74e0c3a24c78612192a74fcd90dd117f1cf21dea4822e66d89e8ea80e3cd2da5", size = 121643081 }, +] + +[[package]] +name = "nvidia-cusolver-cu12" +version = "11.6.1.9" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "nvidia-cublas-cu12", version = "12.4.5.8", source = { registry = "https://pypi.org/simple" } }, + { name = "nvidia-cusparse-cu12", version = "12.3.1.170", source = { registry = "https://pypi.org/simple" } }, + { name = "nvidia-nvjitlink-cu12" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/6b/a5c33cf16af09166845345275c34ad2190944bcc6026797a39f8e0a282e0/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d338f155f174f90724bbde3758b7ac375a70ce8e706d70b018dd3375545fc84e", size = 127634111 }, + { url = "https://files.pythonhosted.org/packages/3a/e1/5b9089a4b2a4790dfdea8b3a006052cfecff58139d5a4e34cb1a51df8d6f/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_x86_64.whl", hash = "sha256:19e33fa442bcfd085b3086c4ebf7e8debc07cfe01e11513cc6d332fd918ac260", size = 127936057 }, + { url = "https://files.pythonhosted.org/packages/f2/be/d435b7b020e854d5d5a682eb5de4328fd62f6182507406f2818280e206e2/nvidia_cusolver_cu12-11.6.1.9-py3-none-win_amd64.whl", hash = "sha256:e77314c9d7b694fcebc84f58989f3aa4fb4cb442f12ca1a9bde50f5e8f6d1b9c", size = 125224015 }, +] + +[[package]] +name = "nvidia-cusparse-cu12" +version = "12.1.0.106" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "nvidia-nvjitlink-cu12", marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, +] +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 }, + { url = "https://files.pythonhosted.org/packages/0f/95/48fdbba24c93614d1ecd35bc6bdc6087bd17cbacc3abc4b05a9c2a1ca232/nvidia_cusparse_cu12-12.1.0.106-py3-none-win_amd64.whl", hash = "sha256:b798237e81b9719373e8fae8d4f091b70a0cf09d9d85c95a557e11df2d8e9a5a", size = 195414588 }, +] + +[[package]] +name = "nvidia-cusparse-cu12" +version = "12.3.1.170" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +dependencies = [ + { name = "nvidia-nvjitlink-cu12" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/96/a9/c0d2f83a53d40a4a41be14cea6a0bf9e668ffcf8b004bd65633f433050c0/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_aarch64.whl", hash = "sha256:9d32f62896231ebe0480efd8a7f702e143c98cfaa0e8a76df3386c1ba2b54df3", size = 207381987 }, + { url = "https://files.pythonhosted.org/packages/db/f7/97a9ea26ed4bbbfc2d470994b8b4f338ef663be97b8f677519ac195e113d/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_x86_64.whl", hash = "sha256:ea4f11a2904e2a8dc4b1833cc1b5181cde564edd0d5cd33e3c168eff2d1863f1", size = 207454763 }, + { url = "https://files.pythonhosted.org/packages/a2/e0/3155ca539760a8118ec94cc279b34293309bcd14011fc724f87f31988843/nvidia_cusparse_cu12-12.3.1.170-py3-none-win_amd64.whl", hash = "sha256:9bc90fb087bc7b4c15641521f31c0371e9a612fc2ba12c338d3ae032e6b6797f", size = 204684315 }, +] + +[[package]] +name = "nvidia-nccl-cu12" +version = "2.21.5" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/99/12cd266d6233f47d00daf3a72739872bdc10267d0383508b0b9c84a18bb6/nvidia_nccl_cu12-2.21.5-py3-none-manylinux2014_x86_64.whl", hash = "sha256:8579076d30a8c24988834445f8d633c697d42397e92ffc3f63fa26766d25e0a0", size = 188654414 }, +] + +[[package]] +name = "nvidia-nvjitlink-cu12" +version = "12.4.127" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/45/239d52c05074898a80a900f49b1615d81c07fceadd5ad6c4f86a987c0bc4/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:4abe7fef64914ccfa909bc2ba39739670ecc9e820c83ccc7a6ed414122599b83", size = 20552510 }, + { url = "https://files.pythonhosted.org/packages/ff/ff/847841bacfbefc97a00036e0fce5a0f086b640756dc38caea5e1bb002655/nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:06b3b9b25bf3f8af351d664978ca26a16d2c5127dbd53c0497e28d1fb9611d57", size = 21066810 }, + { url = "https://files.pythonhosted.org/packages/81/19/0babc919031bee42620257b9a911c528f05fb2688520dcd9ca59159ffea8/nvidia_nvjitlink_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:fd9020c501d27d135f983c6d3e244b197a7ccad769e34df53a42e276b0e25fa1", size = 95336325 }, +] + +[[package]] +name = "nvidia-nvtx-cu12" +version = "12.1.105" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +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 }, + { url = "https://files.pythonhosted.org/packages/b8/d7/bd7cb2d95ac6ac6e8d05bfa96cdce69619f1ef2808e072919044c2d47a8c/nvidia_nvtx_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:65f4d98982b31b60026e0e6de73fbdfc09d08a96f4656dd3665ca616a11e1e82", size = 66307 }, +] + +[[package]] +name = "nvidia-nvtx-cu12" +version = "12.4.127" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/06/39/471f581edbb7804b39e8063d92fc8305bdc7a80ae5c07dbe6ea5c50d14a5/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7959ad635db13edf4fc65c06a6e9f9e55fc2f92596db928d169c0bb031e88ef3", size = 100417 }, + { url = "https://files.pythonhosted.org/packages/87/20/199b8713428322a2f22b722c62b8cc278cc53dffa9705d744484b5035ee9/nvidia_nvtx_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:781e950d9b9f60d8241ccea575b32f5105a5baf4c2351cab5256a24869f12a1a", size = 99144 }, + { url = "https://files.pythonhosted.org/packages/54/1b/f77674fbb73af98843be25803bbd3b9a4f0a96c75b8d33a2854a5c7d2d77/nvidia_nvtx_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:641dccaaa1139f3ffb0d3164b4b84f9d253397e38246a4f2f36728b48566d485", size = 66307 }, +] + +[[package]] +name = "onnxruntime" +version = "1.20.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coloredlogs" }, + { name = "flatbuffers" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "protobuf" }, + { name = "sympy" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/28/99f903b0eb1cd6f3faa0e343217d9fb9f47b84bca98bd9859884631336ee/onnxruntime-1.20.1-cp310-cp310-macosx_13_0_universal2.whl", hash = "sha256:e50ba5ff7fed4f7d9253a6baf801ca2883cc08491f9d32d78a80da57256a5439", size = 30996314 }, + { url = "https://files.pythonhosted.org/packages/6d/c6/c4c0860bee2fde6037bdd9dcd12d323f6e38cf00fcc9a5065b394337fc55/onnxruntime-1.20.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7b2908b50101a19e99c4d4e97ebb9905561daf61829403061c1adc1b588bc0de", size = 11954010 }, + { url = "https://files.pythonhosted.org/packages/63/47/3dc0b075ab539f16b3d8b09df6b504f51836086ee709690a6278d791737d/onnxruntime-1.20.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d82daaec24045a2e87598b8ac2b417b1cce623244e80e663882e9fe1aae86410", size = 13330452 }, + { url = "https://files.pythonhosted.org/packages/27/ef/80fab86289ecc01a734b7ddf115dfb93d8b2e004bd1e1977e12881c72b12/onnxruntime-1.20.1-cp310-cp310-win32.whl", hash = "sha256:4c4b251a725a3b8cf2aab284f7d940c26094ecd9d442f07dd81ab5470e99b83f", size = 9813849 }, + { url = "https://files.pythonhosted.org/packages/a9/e6/33ab10066c9875a29d55e66ae97c3bf91b9b9b987179455d67c32261a49c/onnxruntime-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:d3b616bb53a77a9463707bb313637223380fc327f5064c9a782e8ec69c22e6a2", size = 11329702 }, + { url = "https://files.pythonhosted.org/packages/95/8d/2634e2959b34aa8a0037989f4229e9abcfa484e9c228f99633b3241768a6/onnxruntime-1.20.1-cp311-cp311-macosx_13_0_universal2.whl", hash = "sha256:06bfbf02ca9ab5f28946e0f912a562a5f005301d0c419283dc57b3ed7969bb7b", size = 30998725 }, + { url = "https://files.pythonhosted.org/packages/a5/da/c44bf9bd66cd6d9018a921f053f28d819445c4d84b4dd4777271b0fe52a2/onnxruntime-1.20.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f6243e34d74423bdd1edf0ae9596dd61023b260f546ee17d701723915f06a9f7", size = 11955227 }, + { url = "https://files.pythonhosted.org/packages/11/ac/4120dfb74c8e45cce1c664fc7f7ce010edd587ba67ac41489f7432eb9381/onnxruntime-1.20.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5eec64c0269dcdb8d9a9a53dc4d64f87b9e0c19801d9321246a53b7eb5a7d1bc", size = 13331703 }, + { url = "https://files.pythonhosted.org/packages/12/f1/cefacac137f7bb7bfba57c50c478150fcd3c54aca72762ac2c05ce0532c1/onnxruntime-1.20.1-cp311-cp311-win32.whl", hash = "sha256:a19bc6e8c70e2485a1725b3d517a2319603acc14c1f1a017dda0afe6d4665b41", size = 9813977 }, + { url = "https://files.pythonhosted.org/packages/2c/2d/2d4d202c0bcfb3a4cc2b171abb9328672d7f91d7af9ea52572722c6d8d96/onnxruntime-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:8508887eb1c5f9537a4071768723ec7c30c28eb2518a00d0adcd32c89dea3221", size = 11329895 }, + { url = "https://files.pythonhosted.org/packages/e5/39/9335e0874f68f7d27103cbffc0e235e32e26759202df6085716375c078bb/onnxruntime-1.20.1-cp312-cp312-macosx_13_0_universal2.whl", hash = "sha256:22b0655e2bf4f2161d52706e31f517a0e54939dc393e92577df51808a7edc8c9", size = 31007580 }, + { url = "https://files.pythonhosted.org/packages/c5/9d/a42a84e10f1744dd27c6f2f9280cc3fb98f869dd19b7cd042e391ee2ab61/onnxruntime-1.20.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f1f56e898815963d6dc4ee1c35fc6c36506466eff6d16f3cb9848cea4e8c8172", size = 11952833 }, + { url = "https://files.pythonhosted.org/packages/47/42/2f71f5680834688a9c81becbe5c5bb996fd33eaed5c66ae0606c3b1d6a02/onnxruntime-1.20.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bb71a814f66517a65628c9e4a2bb530a6edd2cd5d87ffa0af0f6f773a027d99e", size = 13333903 }, + { url = "https://files.pythonhosted.org/packages/c8/f1/aabfdf91d013320aa2fc46cf43c88ca0182860ff15df872b4552254a9680/onnxruntime-1.20.1-cp312-cp312-win32.whl", hash = "sha256:bd386cc9ee5f686ee8a75ba74037750aca55183085bf1941da8efcfe12d5b120", size = 9814562 }, + { url = "https://files.pythonhosted.org/packages/dd/80/76979e0b744307d488c79e41051117634b956612cc731f1028eb17ee7294/onnxruntime-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:19c2d843eb074f385e8bbb753a40df780511061a63f9def1b216bf53860223fb", size = 11331482 }, + { url = "https://files.pythonhosted.org/packages/f7/71/c5d980ac4189589267a06f758bd6c5667d07e55656bed6c6c0580733ad07/onnxruntime-1.20.1-cp313-cp313-macosx_13_0_universal2.whl", hash = "sha256:cc01437a32d0042b606f462245c8bbae269e5442797f6213e36ce61d5abdd8cc", size = 31007574 }, + { url = "https://files.pythonhosted.org/packages/81/0d/13bbd9489be2a6944f4a940084bfe388f1100472f38c07080a46fbd4ab96/onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb44b08e017a648924dbe91b82d89b0c105b1adcfe31e90d1dc06b8677ad37be", size = 11951459 }, + { url = "https://files.pythonhosted.org/packages/c0/ea/4454ae122874fd52bbb8a961262de81c5f932edeb1b72217f594c700d6ef/onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bda6aebdf7917c1d811f21d41633df00c58aff2bef2f598f69289c1f1dabc4b3", size = 13331620 }, + { url = "https://files.pythonhosted.org/packages/d8/e0/50db43188ca1c945decaa8fc2a024c33446d31afed40149897d4f9de505f/onnxruntime-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:d30367df7e70f1d9fc5a6a68106f5961686d39b54d3221f760085524e8d38e16", size = 11331758 }, + { url = "https://files.pythonhosted.org/packages/d8/55/3821c5fd60b52a6c82a00bba18531793c93c4addfe64fbf061e235c5617a/onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9158465745423b2b5d97ed25aa7740c7d38d2993ee2e5c3bfacb0c4145c49d8", size = 11950342 }, + { url = "https://files.pythonhosted.org/packages/14/56/fd990ca222cef4f9f4a9400567b9a15b220dee2eafffb16b2adbc55c8281/onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0df6f2df83d61f46e842dbcde610ede27218947c33e994545a22333491e72a3b", size = 13337040 }, +] + +[[package]] +name = "onnxruntime-gpu" +version = "1.20.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coloredlogs" }, + { name = "flatbuffers" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "protobuf" }, + { name = "sympy" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/35/4f2df54e3161c61304d9463b5f2ee52c6408b5bca5960029bb787777d913/onnxruntime_gpu-1.20.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a5b4e1641db48752118dda353b8614c6d6570344062b58faea70b5350c41cf68", size = 291523128 }, + { url = "https://files.pythonhosted.org/packages/d6/54/e2fb1eadc21b6f8347860e9d53ad0ed34fec462cf51ab1b4303027503706/onnxruntime_gpu-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:5e2a1d659924f19425e6b2fde1f36c0998b398a8a9b76a2b266d4fa518cfe8ed", size = 279696832 }, + { url = "https://files.pythonhosted.org/packages/e0/a5/5c2287d61f359c7342e9d59d1e3dd728a982dea85f846c7af305a801c3ca/onnxruntime_gpu-1.20.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1795e8bc6f9a1488a4d51d242edc4232a5ae60ec44ab4d4b0a7c65b3d17fcbff", size = 291519550 }, + { url = "https://files.pythonhosted.org/packages/be/33/6f21ea03dc4eeaa3f049127f5f17360c38799134eefd1e524f0296b23cb4/onnxruntime_gpu-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:1348e6a0af9e8f5e8e1cfc379b70356ea40497932f5bc7f858501fe7940794ff", size = 279698022 }, + { url = "https://files.pythonhosted.org/packages/91/a8/6984a2fb070be372a866108e3e85c9eb6e8f0378a8567a66967d80befb75/onnxruntime_gpu-1.20.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1951f96cd534c6151721e552606d0d792ea6a4c3e57e2f10eed17cca8105e953", size = 291510989 }, + { url = "https://files.pythonhosted.org/packages/e8/15/0a9887bd2931b7b7e5f36995f266d51e66c0e02f84d18cab65133b111ac1/onnxruntime_gpu-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:696de465884480fad1deffd936bee05c6f10fdfe4f5fcef1927a71f5d28ed9ef", size = 279699210 }, + { url = "https://files.pythonhosted.org/packages/51/86/de1d7e513e178265e5fac8fd7fd529decd06416cbe316ce77a5b0ff6915b/onnxruntime_gpu-1.20.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8337d7badb59b3f4af530ed6437a7471d48ab2e45f7b253a355c8db9cabee67c", size = 291512781 }, + { url = "https://files.pythonhosted.org/packages/c7/87/1361640e9277622591926f84d10fcc289c20be03e1ff5480d66c3cd2402f/onnxruntime_gpu-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:9f0cc7ccd8e75da510ddab65d891b1384442d1b161863c521d335d1a56e5aa40", size = 279698268 }, + { url = "https://files.pythonhosted.org/packages/7a/26/67059fa067d9584121981cfa9983e1526e5f3ca393d1ace4a99ce9af500d/onnxruntime_gpu-1.20.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:965d6ee002c114d310c8d38680f42f1c94603b3547bcc62956ff565d528caa88", size = 291503278 }, +] + +[[package]] +name = "openai" +version = "1.61.0" +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/32/2a/b3fa8790be17d632f59d4f50257b909a3f669036e5195c1ae55737274620/openai-1.61.0.tar.gz", hash = "sha256:216f325a24ed8578e929b0f1b3fb2052165f3b04b0461818adaa51aa29c71f8a", size = 350174 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/76/70c5ad6612b3e4c89fa520266bbf2430a89cae8bd87c1e2284698af5927e/openai-1.61.0-py3-none-any.whl", hash = "sha256:e8c512c0743accbdbe77f3429a1490d862f8352045de8dc81969301eb4a4f666", size = 460623 }, +] + +[[package]] +name = "ordered-set" +version = "4.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/ca/bfac8bc689799bcca4157e0e0ced07e70ce125193fc2e166d2e685b7e2fe/ordered-set-4.1.0.tar.gz", hash = "sha256:694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8", size = 12826 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/55/af02708f230eb77084a299d7b08175cff006dea4f2721074b92cdb0296c0/ordered_set-4.1.0-py3-none-any.whl", hash = "sha256:046e1132c71fcf3330438a539928932caf51ddbc582496833e23de611de14562", size = 7634 }, +] + +[[package]] +name = "orjson" +version = "3.10.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ae/f9/5dea21763eeff8c1590076918a446ea3d6140743e0e36f58f369928ed0f4/orjson-3.10.15.tar.gz", hash = "sha256:05ca7fe452a2e9d8d9d706a2984c95b9c2ebc5db417ce0b7a49b91d50642a23e", size = 5282482 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/52/09/e5ff18ad009e6f97eb7edc5f67ef98b3ce0c189da9c3eaca1f9587cd4c61/orjson-3.10.15-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:552c883d03ad185f720d0c09583ebde257e41b9521b74ff40e08b7dec4559c04", size = 249532 }, + { url = "https://files.pythonhosted.org/packages/bd/b8/a75883301fe332bd433d9b0ded7d2bb706ccac679602c3516984f8814fb5/orjson-3.10.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:616e3e8d438d02e4854f70bfdc03a6bcdb697358dbaa6bcd19cbe24d24ece1f8", size = 125229 }, + { url = "https://files.pythonhosted.org/packages/83/4b/22f053e7a364cc9c685be203b1e40fc5f2b3f164a9b2284547504eec682e/orjson-3.10.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c2c79fa308e6edb0ffab0a31fd75a7841bf2a79a20ef08a3c6e3b26814c8ca8", size = 150148 }, + { url = "https://files.pythonhosted.org/packages/63/64/1b54fc75ca328b57dd810541a4035fe48c12a161d466e3cf5b11a8c25649/orjson-3.10.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cb85490aa6bf98abd20607ab5c8324c0acb48d6da7863a51be48505646c814", size = 139748 }, + { url = "https://files.pythonhosted.org/packages/5e/ff/ff0c5da781807bb0a5acd789d9a7fbcb57f7b0c6e1916595da1f5ce69f3c/orjson-3.10.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763dadac05e4e9d2bc14938a45a2d0560549561287d41c465d3c58aec818b164", size = 154559 }, + { url = "https://files.pythonhosted.org/packages/4e/9a/11e2974383384ace8495810d4a2ebef5f55aacfc97b333b65e789c9d362d/orjson-3.10.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a330b9b4734f09a623f74a7490db713695e13b67c959713b78369f26b3dee6bf", size = 130349 }, + { url = "https://files.pythonhosted.org/packages/2d/c4/dd9583aea6aefee1b64d3aed13f51d2aadb014028bc929fe52936ec5091f/orjson-3.10.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a61a4622b7ff861f019974f73d8165be1bd9a0855e1cad18ee167acacabeb061", size = 138514 }, + { url = "https://files.pythonhosted.org/packages/53/3e/dcf1729230654f5c5594fc752de1f43dcf67e055ac0d300c8cdb1309269a/orjson-3.10.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:acd271247691574416b3228db667b84775c497b245fa275c6ab90dc1ffbbd2b3", size = 130940 }, + { url = "https://files.pythonhosted.org/packages/e8/2b/b9759fe704789937705c8a56a03f6c03e50dff7df87d65cba9a20fec5282/orjson-3.10.15-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4759b109c37f635aa5c5cc93a1b26927bfde24b254bcc0e1149a9fada253d2d", size = 414713 }, + { url = "https://files.pythonhosted.org/packages/a7/6b/b9dfdbd4b6e20a59238319eb203ae07c3f6abf07eef909169b7a37ae3bba/orjson-3.10.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9e992fd5cfb8b9f00bfad2fd7a05a4299db2bbe92e6440d9dd2fab27655b3182", size = 141028 }, + { url = "https://files.pythonhosted.org/packages/7c/b5/40f5bbea619c7caf75eb4d652a9821875a8ed04acc45fe3d3ef054ca69fb/orjson-3.10.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f95fb363d79366af56c3f26b71df40b9a583b07bbaaf5b317407c4d58497852e", size = 129715 }, + { url = "https://files.pythonhosted.org/packages/38/60/2272514061cbdf4d672edbca6e59c7e01cd1c706e881427d88f3c3e79761/orjson-3.10.15-cp310-cp310-win32.whl", hash = "sha256:f9875f5fea7492da8ec2444839dcc439b0ef298978f311103d0b7dfd775898ab", size = 142473 }, + { url = "https://files.pythonhosted.org/packages/11/5d/be1490ff7eafe7fef890eb4527cf5bcd8cfd6117f3efe42a3249ec847b60/orjson-3.10.15-cp310-cp310-win_amd64.whl", hash = "sha256:17085a6aa91e1cd70ca8533989a18b5433e15d29c574582f76f821737c8d5806", size = 133564 }, + { url = "https://files.pythonhosted.org/packages/7a/a2/21b25ce4a2c71dbb90948ee81bd7a42b4fbfc63162e57faf83157d5540ae/orjson-3.10.15-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c4cc83960ab79a4031f3119cc4b1a1c627a3dc09df125b27c4201dff2af7eaa6", size = 249533 }, + { url = "https://files.pythonhosted.org/packages/b2/85/2076fc12d8225698a51278009726750c9c65c846eda741e77e1761cfef33/orjson-3.10.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddbeef2481d895ab8be5185f2432c334d6dec1f5d1933a9c83014d188e102cef", size = 125230 }, + { url = "https://files.pythonhosted.org/packages/06/df/a85a7955f11274191eccf559e8481b2be74a7c6d43075d0a9506aa80284d/orjson-3.10.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9e590a0477b23ecd5b0ac865b1b907b01b3c5535f5e8a8f6ab0e503efb896334", size = 150148 }, + { url = "https://files.pythonhosted.org/packages/37/b3/94c55625a29b8767c0eed194cb000b3787e3c23b4cdd13be17bae6ccbb4b/orjson-3.10.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a6be38bd103d2fd9bdfa31c2720b23b5d47c6796bcb1d1b598e3924441b4298d", size = 139749 }, + { url = "https://files.pythonhosted.org/packages/53/ba/c608b1e719971e8ddac2379f290404c2e914cf8e976369bae3cad88768b1/orjson-3.10.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ff4f6edb1578960ed628a3b998fa54d78d9bb3e2eb2cfc5c2a09732431c678d0", size = 154558 }, + { url = "https://files.pythonhosted.org/packages/b2/c4/c1fb835bb23ad788a39aa9ebb8821d51b1c03588d9a9e4ca7de5b354fdd5/orjson-3.10.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0482b21d0462eddd67e7fce10b89e0b6ac56570424662b685a0d6fccf581e13", size = 130349 }, + { url = "https://files.pythonhosted.org/packages/78/14/bb2b48b26ab3c570b284eb2157d98c1ef331a8397f6c8bd983b270467f5c/orjson-3.10.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bb5cc3527036ae3d98b65e37b7986a918955f85332c1ee07f9d3f82f3a6899b5", size = 138513 }, + { url = "https://files.pythonhosted.org/packages/4a/97/d5b353a5fe532e92c46467aa37e637f81af8468aa894cd77d2ec8a12f99e/orjson-3.10.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d569c1c462912acdd119ccbf719cf7102ea2c67dd03b99edcb1a3048651ac96b", size = 130942 }, + { url = "https://files.pythonhosted.org/packages/b5/5d/a067bec55293cca48fea8b9928cfa84c623be0cce8141d47690e64a6ca12/orjson-3.10.15-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:1e6d33efab6b71d67f22bf2962895d3dc6f82a6273a965fab762e64fa90dc399", size = 414717 }, + { url = "https://files.pythonhosted.org/packages/6f/9a/1485b8b05c6b4c4db172c438cf5db5dcfd10e72a9bc23c151a1137e763e0/orjson-3.10.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c33be3795e299f565681d69852ac8c1bc5c84863c0b0030b2b3468843be90388", size = 141033 }, + { url = "https://files.pythonhosted.org/packages/f8/d2/fc67523656e43a0c7eaeae9007c8b02e86076b15d591e9be11554d3d3138/orjson-3.10.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:eea80037b9fae5339b214f59308ef0589fc06dc870578b7cce6d71eb2096764c", size = 129720 }, + { url = "https://files.pythonhosted.org/packages/79/42/f58c7bd4e5b54da2ce2ef0331a39ccbbaa7699b7f70206fbf06737c9ed7d/orjson-3.10.15-cp311-cp311-win32.whl", hash = "sha256:d5ac11b659fd798228a7adba3e37c010e0152b78b1982897020a8e019a94882e", size = 142473 }, + { url = "https://files.pythonhosted.org/packages/00/f8/bb60a4644287a544ec81df1699d5b965776bc9848d9029d9f9b3402ac8bb/orjson-3.10.15-cp311-cp311-win_amd64.whl", hash = "sha256:cf45e0214c593660339ef63e875f32ddd5aa3b4adc15e662cdb80dc49e194f8e", size = 133570 }, + { url = "https://files.pythonhosted.org/packages/66/85/22fe737188905a71afcc4bf7cc4c79cd7f5bbe9ed1fe0aac4ce4c33edc30/orjson-3.10.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9d11c0714fc85bfcf36ada1179400862da3288fc785c30e8297844c867d7505a", size = 249504 }, + { url = "https://files.pythonhosted.org/packages/48/b7/2622b29f3afebe938a0a9037e184660379797d5fd5234e5998345d7a5b43/orjson-3.10.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dba5a1e85d554e3897fa9fe6fbcff2ed32d55008973ec9a2b992bd9a65d2352d", size = 125080 }, + { url = "https://files.pythonhosted.org/packages/ce/8f/0b72a48f4403d0b88b2a41450c535b3e8989e8a2d7800659a967efc7c115/orjson-3.10.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7723ad949a0ea502df656948ddd8b392780a5beaa4c3b5f97e525191b102fff0", size = 150121 }, + { url = "https://files.pythonhosted.org/packages/06/ec/acb1a20cd49edb2000be5a0404cd43e3c8aad219f376ac8c60b870518c03/orjson-3.10.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6fd9bc64421e9fe9bd88039e7ce8e58d4fead67ca88e3a4014b143cec7684fd4", size = 139796 }, + { url = "https://files.pythonhosted.org/packages/33/e1/f7840a2ea852114b23a52a1c0b2bea0a1ea22236efbcdb876402d799c423/orjson-3.10.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dadba0e7b6594216c214ef7894c4bd5f08d7c0135f4dd0145600be4fbcc16767", size = 154636 }, + { url = "https://files.pythonhosted.org/packages/fa/da/31543337febd043b8fa80a3b67de627669b88c7b128d9ad4cc2ece005b7a/orjson-3.10.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b48f59114fe318f33bbaee8ebeda696d8ccc94c9e90bc27dbe72153094e26f41", size = 130621 }, + { url = "https://files.pythonhosted.org/packages/ed/78/66115dc9afbc22496530d2139f2f4455698be444c7c2475cb48f657cefc9/orjson-3.10.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:035fb83585e0f15e076759b6fedaf0abb460d1765b6a36f48018a52858443514", size = 138516 }, + { url = "https://files.pythonhosted.org/packages/22/84/cd4f5fb5427ffcf823140957a47503076184cb1ce15bcc1165125c26c46c/orjson-3.10.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d13b7fe322d75bf84464b075eafd8e7dd9eae05649aa2a5354cfa32f43c59f17", size = 130762 }, + { url = "https://files.pythonhosted.org/packages/93/1f/67596b711ba9f56dd75d73b60089c5c92057f1130bb3a25a0f53fb9a583b/orjson-3.10.15-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7066b74f9f259849629e0d04db6609db4cf5b973248f455ba5d3bd58a4daaa5b", size = 414700 }, + { url = "https://files.pythonhosted.org/packages/7c/0c/6a3b3271b46443d90efb713c3e4fe83fa8cd71cda0d11a0f69a03f437c6e/orjson-3.10.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88dc3f65a026bd3175eb157fea994fca6ac7c4c8579fc5a86fc2114ad05705b7", size = 141077 }, + { url = "https://files.pythonhosted.org/packages/3b/9b/33c58e0bfc788995eccd0d525ecd6b84b40d7ed182dd0751cd4c1322ac62/orjson-3.10.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b342567e5465bd99faa559507fe45e33fc76b9fb868a63f1642c6bc0735ad02a", size = 129898 }, + { url = "https://files.pythonhosted.org/packages/01/c1/d577ecd2e9fa393366a1ea0a9267f6510d86e6c4bb1cdfb9877104cac44c/orjson-3.10.15-cp312-cp312-win32.whl", hash = "sha256:0a4f27ea5617828e6b58922fdbec67b0aa4bb844e2d363b9244c47fa2180e665", size = 142566 }, + { url = "https://files.pythonhosted.org/packages/ed/eb/a85317ee1732d1034b92d56f89f1de4d7bf7904f5c8fb9dcdd5b1c83917f/orjson-3.10.15-cp312-cp312-win_amd64.whl", hash = "sha256:ef5b87e7aa9545ddadd2309efe6824bd3dd64ac101c15dae0f2f597911d46eaa", size = 133732 }, + { url = "https://files.pythonhosted.org/packages/06/10/fe7d60b8da538e8d3d3721f08c1b7bff0491e8fa4dd3bf11a17e34f4730e/orjson-3.10.15-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:bae0e6ec2b7ba6895198cd981b7cca95d1487d0147c8ed751e5632ad16f031a6", size = 249399 }, + { url = "https://files.pythonhosted.org/packages/6b/83/52c356fd3a61abd829ae7e4366a6fe8e8863c825a60d7ac5156067516edf/orjson-3.10.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f93ce145b2db1252dd86af37d4165b6faa83072b46e3995ecc95d4b2301b725a", size = 125044 }, + { url = "https://files.pythonhosted.org/packages/55/b2/d06d5901408e7ded1a74c7c20d70e3a127057a6d21355f50c90c0f337913/orjson-3.10.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c203f6f969210128af3acae0ef9ea6aab9782939f45f6fe02d05958fe761ef9", size = 150066 }, + { url = "https://files.pythonhosted.org/packages/75/8c/60c3106e08dc593a861755781c7c675a566445cc39558677d505878d879f/orjson-3.10.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8918719572d662e18b8af66aef699d8c21072e54b6c82a3f8f6404c1f5ccd5e0", size = 139737 }, + { url = "https://files.pythonhosted.org/packages/6a/8c/ae00d7d0ab8a4490b1efeb01ad4ab2f1982e69cc82490bf8093407718ff5/orjson-3.10.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f71eae9651465dff70aa80db92586ad5b92df46a9373ee55252109bb6b703307", size = 154804 }, + { url = "https://files.pythonhosted.org/packages/22/86/65dc69bd88b6dd254535310e97bc518aa50a39ef9c5a2a5d518e7a223710/orjson-3.10.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e117eb299a35f2634e25ed120c37c641398826c2f5a3d3cc39f5993b96171b9e", size = 130583 }, + { url = "https://files.pythonhosted.org/packages/bb/00/6fe01ededb05d52be42fabb13d93a36e51f1fd9be173bd95707d11a8a860/orjson-3.10.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:13242f12d295e83c2955756a574ddd6741c81e5b99f2bef8ed8d53e47a01e4b7", size = 138465 }, + { url = "https://files.pythonhosted.org/packages/db/2f/4cc151c4b471b0cdc8cb29d3eadbce5007eb0475d26fa26ed123dca93b33/orjson-3.10.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7946922ada8f3e0b7b958cc3eb22cfcf6c0df83d1fe5521b4a100103e3fa84c8", size = 130742 }, + { url = "https://files.pythonhosted.org/packages/9f/13/8a6109e4b477c518498ca37963d9c0eb1508b259725553fb53d53b20e2ea/orjson-3.10.15-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b7155eb1623347f0f22c38c9abdd738b287e39b9982e1da227503387b81b34ca", size = 414669 }, + { url = "https://files.pythonhosted.org/packages/22/7b/1d229d6d24644ed4d0a803de1b0e2df832032d5beda7346831c78191b5b2/orjson-3.10.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:208beedfa807c922da4e81061dafa9c8489c6328934ca2a562efa707e049e561", size = 141043 }, + { url = "https://files.pythonhosted.org/packages/cc/d3/6dc91156cf12ed86bed383bcb942d84d23304a1e57b7ab030bf60ea130d6/orjson-3.10.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eca81f83b1b8c07449e1d6ff7074e82e3fd6777e588f1a6632127f286a968825", size = 129826 }, + { url = "https://files.pythonhosted.org/packages/b3/38/c47c25b86f6996f1343be721b6ea4367bc1c8bc0fc3f6bbcd995d18cb19d/orjson-3.10.15-cp313-cp313-win32.whl", hash = "sha256:c03cd6eea1bd3b949d0d007c8d57049aa2b39bd49f58b4b2af571a5d3833d890", size = 142542 }, + { url = "https://files.pythonhosted.org/packages/27/f1/1d7ec15b20f8ce9300bc850de1e059132b88990e46cd0ccac29cbf11e4f9/orjson-3.10.15-cp313-cp313-win_amd64.whl", hash = "sha256:fd56a26a04f6ba5fb2045b0acc487a63162a958ed837648c5781e1fe3316cfbf", size = 133444 }, +] + +[[package]] +name = "packaging" +version = "24.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 }, +] + +[[package]] +name = "pandas" +version = "2.2.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827 }, + { url = "https://files.pythonhosted.org/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897 }, + { url = "https://files.pythonhosted.org/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908 }, + { url = "https://files.pythonhosted.org/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210 }, + { url = "https://files.pythonhosted.org/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292 }, + { url = "https://files.pythonhosted.org/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379 }, + { url = "https://files.pythonhosted.org/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471 }, + { url = "https://files.pythonhosted.org/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222 }, + { url = "https://files.pythonhosted.org/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274 }, + { url = "https://files.pythonhosted.org/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836 }, + { url = "https://files.pythonhosted.org/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505 }, + { url = "https://files.pythonhosted.org/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420 }, + { url = "https://files.pythonhosted.org/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457 }, + { url = "https://files.pythonhosted.org/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166 }, + { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893 }, + { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475 }, + { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645 }, + { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445 }, + { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235 }, + { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756 }, + { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248 }, + { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643 }, + { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573 }, + { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085 }, + { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809 }, + { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316 }, + { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055 }, + { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175 }, + { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650 }, + { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177 }, + { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526 }, + { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013 }, + { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620 }, + { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436 }, +] + +[[package]] +name = "phonemizer" +version = "3.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "dlinfo" }, + { name = "joblib" }, + { name = "segments" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c4/ff/3574c55a71b42ad6944a5bf0a7d59f0251ea2ba47e51a5c4005e32e9145c/phonemizer-3.3.0.tar.gz", hash = "sha256:5e0c38122effe0b331a24e674aff256874ece169d70a9cf1120337b56f8e3d0c", size = 88564 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/23/e8d67c2052e132181c4c9027c2d8ed9e37e8acb27acfc13ed2d0c41ed850/phonemizer-3.3.0-py3-none-any.whl", hash = "sha256:17afaa98691fe73b025dd8d8727b0e67cc376c5e7ee27590853e457fb3f43602", size = 103800 }, +] + +[[package]] +name = "pillow" +version = "11.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/af/c097e544e7bd278333db77933e535098c259609c4eb3b85381109602fb5b/pillow-11.1.0.tar.gz", hash = "sha256:368da70808b36d73b4b390a8ffac11069f8a5c85f29eff1f1b01bcf3ef5b2a20", size = 46742715 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/1c/2dcea34ac3d7bc96a1fd1bd0a6e06a57c67167fec2cff8d95d88229a8817/pillow-11.1.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:e1abe69aca89514737465752b4bcaf8016de61b3be1397a8fc260ba33321b3a8", size = 3229983 }, + { url = "https://files.pythonhosted.org/packages/14/ca/6bec3df25e4c88432681de94a3531cc738bd85dea6c7aa6ab6f81ad8bd11/pillow-11.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c640e5a06869c75994624551f45e5506e4256562ead981cce820d5ab39ae2192", size = 3101831 }, + { url = "https://files.pythonhosted.org/packages/d4/2c/668e18e5521e46eb9667b09e501d8e07049eb5bfe39d56be0724a43117e6/pillow-11.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a07dba04c5e22824816b2615ad7a7484432d7f540e6fa86af60d2de57b0fcee2", size = 4314074 }, + { url = "https://files.pythonhosted.org/packages/02/80/79f99b714f0fc25f6a8499ecfd1f810df12aec170ea1e32a4f75746051ce/pillow-11.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e267b0ed063341f3e60acd25c05200df4193e15a4a5807075cd71225a2386e26", size = 4394933 }, + { url = "https://files.pythonhosted.org/packages/81/aa/8d4ad25dc11fd10a2001d5b8a80fdc0e564ac33b293bdfe04ed387e0fd95/pillow-11.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bd165131fd51697e22421d0e467997ad31621b74bfc0b75956608cb2906dda07", size = 4353349 }, + { url = "https://files.pythonhosted.org/packages/84/7a/cd0c3eaf4a28cb2a74bdd19129f7726277a7f30c4f8424cd27a62987d864/pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:abc56501c3fd148d60659aae0af6ddc149660469082859fa7b066a298bde9482", size = 4476532 }, + { url = "https://files.pythonhosted.org/packages/8f/8b/a907fdd3ae8f01c7670dfb1499c53c28e217c338b47a813af8d815e7ce97/pillow-11.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:54ce1c9a16a9561b6d6d8cb30089ab1e5eb66918cb47d457bd996ef34182922e", size = 4279789 }, + { url = "https://files.pythonhosted.org/packages/6f/9a/9f139d9e8cccd661c3efbf6898967a9a337eb2e9be2b454ba0a09533100d/pillow-11.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:73ddde795ee9b06257dac5ad42fcb07f3b9b813f8c1f7f870f402f4dc54b5269", size = 4413131 }, + { url = "https://files.pythonhosted.org/packages/a8/68/0d8d461f42a3f37432203c8e6df94da10ac8081b6d35af1c203bf3111088/pillow-11.1.0-cp310-cp310-win32.whl", hash = "sha256:3a5fe20a7b66e8135d7fd617b13272626a28278d0e578c98720d9ba4b2439d49", size = 2291213 }, + { url = "https://files.pythonhosted.org/packages/14/81/d0dff759a74ba87715509af9f6cb21fa21d93b02b3316ed43bda83664db9/pillow-11.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:b6123aa4a59d75f06e9dd3dac5bf8bc9aa383121bb3dd9a7a612e05eabc9961a", size = 2625725 }, + { url = "https://files.pythonhosted.org/packages/ce/1f/8d50c096a1d58ef0584ddc37e6f602828515219e9d2428e14ce50f5ecad1/pillow-11.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:a76da0a31da6fcae4210aa94fd779c65c75786bc9af06289cd1c184451ef7a65", size = 2375213 }, + { url = "https://files.pythonhosted.org/packages/dd/d6/2000bfd8d5414fb70cbbe52c8332f2283ff30ed66a9cde42716c8ecbe22c/pillow-11.1.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:e06695e0326d05b06833b40b7ef477e475d0b1ba3a6d27da1bb48c23209bf457", size = 3229968 }, + { url = "https://files.pythonhosted.org/packages/d9/45/3fe487010dd9ce0a06adf9b8ff4f273cc0a44536e234b0fad3532a42c15b/pillow-11.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96f82000e12f23e4f29346e42702b6ed9a2f2fea34a740dd5ffffcc8c539eb35", size = 3101806 }, + { url = "https://files.pythonhosted.org/packages/e3/72/776b3629c47d9d5f1c160113158a7a7ad177688d3a1159cd3b62ded5a33a/pillow-11.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3cd561ded2cf2bbae44d4605837221b987c216cff94f49dfeed63488bb228d2", size = 4322283 }, + { url = "https://files.pythonhosted.org/packages/e4/c2/e25199e7e4e71d64eeb869f5b72c7ddec70e0a87926398785ab944d92375/pillow-11.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f189805c8be5ca5add39e6f899e6ce2ed824e65fb45f3c28cb2841911da19070", size = 4402945 }, + { url = "https://files.pythonhosted.org/packages/c1/ed/51d6136c9d5911f78632b1b86c45241c712c5a80ed7fa7f9120a5dff1eba/pillow-11.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:dd0052e9db3474df30433f83a71b9b23bd9e4ef1de13d92df21a52c0303b8ab6", size = 4361228 }, + { url = "https://files.pythonhosted.org/packages/48/a4/fbfe9d5581d7b111b28f1d8c2762dee92e9821bb209af9fa83c940e507a0/pillow-11.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:837060a8599b8f5d402e97197d4924f05a2e0d68756998345c829c33186217b1", size = 4484021 }, + { url = "https://files.pythonhosted.org/packages/39/db/0b3c1a5018117f3c1d4df671fb8e47d08937f27519e8614bbe86153b65a5/pillow-11.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:aa8dd43daa836b9a8128dbe7d923423e5ad86f50a7a14dc688194b7be5c0dea2", size = 4287449 }, + { url = "https://files.pythonhosted.org/packages/d9/58/bc128da7fea8c89fc85e09f773c4901e95b5936000e6f303222490c052f3/pillow-11.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0a2f91f8a8b367e7a57c6e91cd25af510168091fb89ec5146003e424e1558a96", size = 4419972 }, + { url = "https://files.pythonhosted.org/packages/5f/bb/58f34379bde9fe197f51841c5bbe8830c28bbb6d3801f16a83b8f2ad37df/pillow-11.1.0-cp311-cp311-win32.whl", hash = "sha256:c12fc111ef090845de2bb15009372175d76ac99969bdf31e2ce9b42e4b8cd88f", size = 2291201 }, + { url = "https://files.pythonhosted.org/packages/3a/c6/fce9255272bcf0c39e15abd2f8fd8429a954cf344469eaceb9d0d1366913/pillow-11.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fbd43429d0d7ed6533b25fc993861b8fd512c42d04514a0dd6337fb3ccf22761", size = 2625686 }, + { url = "https://files.pythonhosted.org/packages/c8/52/8ba066d569d932365509054859f74f2a9abee273edcef5cd75e4bc3e831e/pillow-11.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:f7955ecf5609dee9442cbface754f2c6e541d9e6eda87fad7f7a989b0bdb9d71", size = 2375194 }, + { url = "https://files.pythonhosted.org/packages/95/20/9ce6ed62c91c073fcaa23d216e68289e19d95fb8188b9fb7a63d36771db8/pillow-11.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2062ffb1d36544d42fcaa277b069c88b01bb7298f4efa06731a7fd6cc290b81a", size = 3226818 }, + { url = "https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a85b653980faad27e88b141348707ceeef8a1186f75ecc600c395dcac19f385b", size = 3101662 }, + { url = "https://files.pythonhosted.org/packages/08/d9/892e705f90051c7a2574d9f24579c9e100c828700d78a63239676f960b74/pillow-11.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9409c080586d1f683df3f184f20e36fb647f2e0bc3988094d4fd8c9f4eb1b3b3", size = 4329317 }, + { url = "https://files.pythonhosted.org/packages/8c/aa/7f29711f26680eab0bcd3ecdd6d23ed6bce180d82e3f6380fb7ae35fcf3b/pillow-11.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fdadc077553621911f27ce206ffcbec7d3f8d7b50e0da39f10997e8e2bb7f6a", size = 4412999 }, + { url = "https://files.pythonhosted.org/packages/c8/c4/8f0fe3b9e0f7196f6d0bbb151f9fba323d72a41da068610c4c960b16632a/pillow-11.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:93a18841d09bcdd774dcdc308e4537e1f867b3dec059c131fde0327899734aa1", size = 4368819 }, + { url = "https://files.pythonhosted.org/packages/38/0d/84200ed6a871ce386ddc82904bfadc0c6b28b0c0ec78176871a4679e40b3/pillow-11.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9aa9aeddeed452b2f616ff5507459e7bab436916ccb10961c4a382cd3e03f47f", size = 4496081 }, + { url = "https://files.pythonhosted.org/packages/84/9c/9bcd66f714d7e25b64118e3952d52841a4babc6d97b6d28e2261c52045d4/pillow-11.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3cdcdb0b896e981678eee140d882b70092dac83ac1cdf6b3a60e2216a73f2b91", size = 4296513 }, + { url = "https://files.pythonhosted.org/packages/db/61/ada2a226e22da011b45f7104c95ebda1b63dcbb0c378ad0f7c2a710f8fd2/pillow-11.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:36ba10b9cb413e7c7dfa3e189aba252deee0602c86c309799da5a74009ac7a1c", size = 4431298 }, + { url = "https://files.pythonhosted.org/packages/e7/c4/fc6e86750523f367923522014b821c11ebc5ad402e659d8c9d09b3c9d70c/pillow-11.1.0-cp312-cp312-win32.whl", hash = "sha256:cfd5cd998c2e36a862d0e27b2df63237e67273f2fc78f47445b14e73a810e7e6", size = 2291630 }, + { url = "https://files.pythonhosted.org/packages/08/5c/2104299949b9d504baf3f4d35f73dbd14ef31bbd1ddc2c1b66a5b7dfda44/pillow-11.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a697cd8ba0383bba3d2d3ada02b34ed268cb548b369943cd349007730c92bddf", size = 2626369 }, + { url = "https://files.pythonhosted.org/packages/37/f3/9b18362206b244167c958984b57c7f70a0289bfb59a530dd8af5f699b910/pillow-11.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:4dd43a78897793f60766563969442020e90eb7847463eca901e41ba186a7d4a5", size = 2375240 }, + { url = "https://files.pythonhosted.org/packages/b3/31/9ca79cafdce364fd5c980cd3416c20ce1bebd235b470d262f9d24d810184/pillow-11.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ae98e14432d458fc3de11a77ccb3ae65ddce70f730e7c76140653048c71bfcbc", size = 3226640 }, + { url = "https://files.pythonhosted.org/packages/ac/0f/ff07ad45a1f172a497aa393b13a9d81a32e1477ef0e869d030e3c1532521/pillow-11.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cc1331b6d5a6e144aeb5e626f4375f5b7ae9934ba620c0ac6b3e43d5e683a0f0", size = 3101437 }, + { url = "https://files.pythonhosted.org/packages/08/2f/9906fca87a68d29ec4530be1f893149e0cb64a86d1f9f70a7cfcdfe8ae44/pillow-11.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:758e9d4ef15d3560214cddbc97b8ef3ef86ce04d62ddac17ad39ba87e89bd3b1", size = 4326605 }, + { url = "https://files.pythonhosted.org/packages/b0/0f/f3547ee15b145bc5c8b336401b2d4c9d9da67da9dcb572d7c0d4103d2c69/pillow-11.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b523466b1a31d0dcef7c5be1f20b942919b62fd6e9a9be199d035509cbefc0ec", size = 4411173 }, + { url = "https://files.pythonhosted.org/packages/b1/df/bf8176aa5db515c5de584c5e00df9bab0713548fd780c82a86cba2c2fedb/pillow-11.1.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:9044b5e4f7083f209c4e35aa5dd54b1dd5b112b108648f5c902ad586d4f945c5", size = 4369145 }, + { url = "https://files.pythonhosted.org/packages/de/7c/7433122d1cfadc740f577cb55526fdc39129a648ac65ce64db2eb7209277/pillow-11.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:3764d53e09cdedd91bee65c2527815d315c6b90d7b8b79759cc48d7bf5d4f114", size = 4496340 }, + { url = "https://files.pythonhosted.org/packages/25/46/dd94b93ca6bd555588835f2504bd90c00d5438fe131cf01cfa0c5131a19d/pillow-11.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:31eba6bbdd27dde97b0174ddf0297d7a9c3a507a8a1480e1e60ef914fe23d352", size = 4296906 }, + { url = "https://files.pythonhosted.org/packages/a8/28/2f9d32014dfc7753e586db9add35b8a41b7a3b46540e965cb6d6bc607bd2/pillow-11.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b5d658fbd9f0d6eea113aea286b21d3cd4d3fd978157cbf2447a6035916506d3", size = 4431759 }, + { url = "https://files.pythonhosted.org/packages/33/48/19c2cbe7403870fbe8b7737d19eb013f46299cdfe4501573367f6396c775/pillow-11.1.0-cp313-cp313-win32.whl", hash = "sha256:f86d3a7a9af5d826744fabf4afd15b9dfef44fe69a98541f666f66fbb8d3fef9", size = 2291657 }, + { url = "https://files.pythonhosted.org/packages/3b/ad/285c556747d34c399f332ba7c1a595ba245796ef3e22eae190f5364bb62b/pillow-11.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:593c5fd6be85da83656b93ffcccc2312d2d149d251e98588b14fbc288fd8909c", size = 2626304 }, + { url = "https://files.pythonhosted.org/packages/e5/7b/ef35a71163bf36db06e9c8729608f78dedf032fc8313d19bd4be5c2588f3/pillow-11.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:11633d58b6ee5733bde153a8dafd25e505ea3d32e261accd388827ee987baf65", size = 2375117 }, + { url = "https://files.pythonhosted.org/packages/79/30/77f54228401e84d6791354888549b45824ab0ffde659bafa67956303a09f/pillow-11.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:70ca5ef3b3b1c4a0812b5c63c57c23b63e53bc38e758b37a951e5bc466449861", size = 3230060 }, + { url = "https://files.pythonhosted.org/packages/ce/b1/56723b74b07dd64c1010fee011951ea9c35a43d8020acd03111f14298225/pillow-11.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:8000376f139d4d38d6851eb149b321a52bb8893a88dae8ee7d95840431977081", size = 3106192 }, + { url = "https://files.pythonhosted.org/packages/e1/cd/7bf7180e08f80a4dcc6b4c3a0aa9e0b0ae57168562726a05dc8aa8fa66b0/pillow-11.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ee85f0696a17dd28fbcfceb59f9510aa71934b483d1f5601d1030c3c8304f3c", size = 4446805 }, + { url = "https://files.pythonhosted.org/packages/97/42/87c856ea30c8ed97e8efbe672b58c8304dee0573f8c7cab62ae9e31db6ae/pillow-11.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:dd0e081319328928531df7a0e63621caf67652c8464303fd102141b785ef9547", size = 4530623 }, + { url = "https://files.pythonhosted.org/packages/ff/41/026879e90c84a88e33fb00cc6bd915ac2743c67e87a18f80270dfe3c2041/pillow-11.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e63e4e5081de46517099dc30abe418122f54531a6ae2ebc8680bcd7096860eab", size = 4465191 }, + { url = "https://files.pythonhosted.org/packages/e5/fb/a7960e838bc5df57a2ce23183bfd2290d97c33028b96bde332a9057834d3/pillow-11.1.0-cp313-cp313t-win32.whl", hash = "sha256:dda60aa465b861324e65a78c9f5cf0f4bc713e4309f83bc387be158b077963d9", size = 2295494 }, + { url = "https://files.pythonhosted.org/packages/d7/6c/6ec83ee2f6f0fda8d4cf89045c6be4b0373ebfc363ba8538f8c999f63fcd/pillow-11.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ad5db5781c774ab9a9b2c4302bbf0c1014960a0a7be63278d13ae6fdf88126fe", size = 2631595 }, + { url = "https://files.pythonhosted.org/packages/cf/6c/41c21c6c8af92b9fea313aa47c75de49e2f9a467964ee33eb0135d47eb64/pillow-11.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:67cd427c68926108778a9005f2a04adbd5e67c442ed21d95389fe1d595458756", size = 2377651 }, + { url = "https://files.pythonhosted.org/packages/fa/c5/389961578fb677b8b3244fcd934f720ed25a148b9a5cc81c91bdf59d8588/pillow-11.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8c730dc3a83e5ac137fbc92dfcfe1511ce3b2b5d7578315b63dbbb76f7f51d90", size = 3198345 }, + { url = "https://files.pythonhosted.org/packages/c4/fa/803c0e50ffee74d4b965229e816af55276eac1d5806712de86f9371858fd/pillow-11.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:7d33d2fae0e8b170b6a6c57400e077412240f6f5bb2a342cf1ee512a787942bb", size = 3072938 }, + { url = "https://files.pythonhosted.org/packages/dc/67/2a3a5f8012b5d8c63fe53958ba906c1b1d0482ebed5618057ef4d22f8076/pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8d65b38173085f24bc07f8b6c505cbb7418009fa1a1fcb111b1f4961814a442", size = 3400049 }, + { url = "https://files.pythonhosted.org/packages/e5/a0/514f0d317446c98c478d1872497eb92e7cde67003fed74f696441e647446/pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:015c6e863faa4779251436db398ae75051469f7c903b043a48f078e437656f83", size = 3422431 }, + { url = "https://files.pythonhosted.org/packages/cd/00/20f40a935514037b7d3f87adfc87d2c538430ea625b63b3af8c3f5578e72/pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d44ff19eea13ae4acdaaab0179fa68c0c6f2f45d66a4d8ec1eda7d6cecbcc15f", size = 3446208 }, + { url = "https://files.pythonhosted.org/packages/28/3c/7de681727963043e093c72e6c3348411b0185eab3263100d4490234ba2f6/pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d3d8da4a631471dfaf94c10c85f5277b1f8e42ac42bade1ac67da4b4a7359b73", size = 3509746 }, + { url = "https://files.pythonhosted.org/packages/41/67/936f9814bdd74b2dfd4822f1f7725ab5d8ff4103919a1664eb4874c58b2f/pillow-11.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:4637b88343166249fe8aa94e7c4a62a180c4b3898283bb5d3d2fd5fe10d8e4e0", size = 2626353 }, +] + +[[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 = "preshed" +version = "3.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cymem" }, + { name = "murmurhash" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f2/4e/76dbf784e7d4ed069f91a4c249b1d6ec6856ef0c0b2fd96992895d458b15/preshed-3.0.9.tar.gz", hash = "sha256:721863c5244ffcd2651ad0928951a2c7c77b102f4e11a251ad85d37ee7621660", size = 14478 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/7f/a7d3eeaee67ecebbe51866c1aae6310e34cefa0a64821aed963a0a167b51/preshed-3.0.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f96ef4caf9847b2bb9868574dcbe2496f974e41c2b83d6621c24fb4c3fc57e3", size = 132225 }, + { url = "https://files.pythonhosted.org/packages/61/4e/f251271ee9f0e0eb0ebe219a8df57ff8511a3b7a83e79e24d37105034164/preshed-3.0.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a61302cf8bd30568631adcdaf9e6b21d40491bd89ba8ebf67324f98b6c2a2c05", size = 127791 }, + { url = "https://files.pythonhosted.org/packages/eb/8b/6c8a153ea39b4750c20ed48dd9be4bf9d8c0b4e7822fc63c68cd2891703d/preshed-3.0.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99499e8a58f58949d3f591295a97bca4e197066049c96f5d34944dd21a497193", size = 150279 }, + { url = "https://files.pythonhosted.org/packages/42/59/8f65ad22c13020ff281529e415c32a56cfa691d24b0eca2eb3d756e4d644/preshed-3.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea6b6566997dc3acd8c6ee11a89539ac85c77275b4dcefb2dc746d11053a5af8", size = 156914 }, + { url = "https://files.pythonhosted.org/packages/f3/72/108426ca3b6e7f16db30b3b9396e3fa45a3fd5a76f6532ab04beada2e4e3/preshed-3.0.9-cp310-cp310-win_amd64.whl", hash = "sha256:bfd523085a84b1338ff18f61538e1cfcdedc4b9e76002589a301c364d19a2e36", size = 122224 }, + { url = "https://files.pythonhosted.org/packages/c0/1e/05fa559f53b635d96b233b63e93accb75215025b997486f7290991bec6c3/preshed-3.0.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e7c2364da27f2875524ce1ca754dc071515a9ad26eb5def4c7e69129a13c9a59", size = 132972 }, + { url = "https://files.pythonhosted.org/packages/a8/b3/1a73ba16bab53043fd19dd0a7838ae05c705dccb329404dd4ad5925767f1/preshed-3.0.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:182138033c0730c683a6d97e567ceb8a3e83f3bff5704f300d582238dbd384b3", size = 128751 }, + { url = "https://files.pythonhosted.org/packages/2c/9a/919d3708f6fa98d9eab1a186e6b30ab25a4595907bbc1fea5c1e8faa9b9d/preshed-3.0.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:345a10be3b86bcc6c0591d343a6dc2bfd86aa6838c30ced4256dfcfa836c3a64", size = 150050 }, + { url = "https://files.pythonhosted.org/packages/db/69/d9ab108dc670b5be9e292bbd555f39e6eb0a4baab25cd28f792850d5e65b/preshed-3.0.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51d0192274aa061699b284f9fd08416065348edbafd64840c3889617ee1609de", size = 157159 }, + { url = "https://files.pythonhosted.org/packages/e4/fc/78cdbdb79f5d6d45949e72c32445d6c060977ad50a1dcfc0392622165f7c/preshed-3.0.9-cp311-cp311-win_amd64.whl", hash = "sha256:96b857d7a62cbccc3845ac8c41fd23addf052821be4eb987f2eb0da3d8745aa1", size = 122323 }, + { url = "https://files.pythonhosted.org/packages/fe/7e/a41595876f644d8bd2c3d5422d7211e876b1848a8cc0c03cce33d9cd048a/preshed-3.0.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b4fe6720012c62e6d550d6a5c1c7ad88cacef8388d186dad4bafea4140d9d198", size = 133196 }, + { url = "https://files.pythonhosted.org/packages/e7/68/1b4772ff3232e71b63a9206936eb1f75e976ebf4e4e24dc9b3ea7b68369b/preshed-3.0.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e04f05758875be9751e483bd3c519c22b00d3b07f5a64441ec328bb9e3c03700", size = 128594 }, + { url = "https://files.pythonhosted.org/packages/f3/52/48eefe876a3841c5850bd955daf145d0e408567c8f46a997bce136dc259d/preshed-3.0.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a55091d0e395f1fdb62ab43401bb9f8b46c7d7794d5b071813c29dc1ab22fd0", size = 149220 }, + { url = "https://files.pythonhosted.org/packages/55/ea/9e6c1a7b1d623f6340379290d603a3b8a71ce52a93f842fbf7547f7f1812/preshed-3.0.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7de8f5138bcac7870424e09684dc3dd33c8e30e81b269f6c9ede3d8c7bb8e257", size = 156809 }, + { url = "https://files.pythonhosted.org/packages/db/e4/d074efb7e8a8873d346d2fb8dd43e19b1eae0697351c0d79cff947cba46e/preshed-3.0.9-cp312-cp312-win_amd64.whl", hash = "sha256:24229c77364628743bc29c5620c5d6607ed104f0e02ae31f8a030f99a78a5ceb", size = 122428 }, +] + +[[package]] +name = "proces" +version = "0.1.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2c/3d/4159b57736ced0fd22553226df20a985ef7655519c80ffcb8a9fb49ebeee/proces-0.1.7.tar.gz", hash = "sha256:70a05d9e973dd685f7a9092c58be695a8181a411d63796c213232fd3fdc43775", size = 31188 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6f/88/06cc0c7d890ed8d7e16ef0e56880dea516a21643fb1f3a69a50f4cc6f716/proces-0.1.7-py3-none-any.whl", hash = "sha256:308325bbc96877263f06e57e5e9c760c4b42cc722887ad60be6b18fc37d68762", size = 137718 }, +] + +[[package]] +name = "protobuf" +version = "5.29.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f7/d1/e0a911544ca9993e0f17ce6d3cc0932752356c1b0a834397f28e63479344/protobuf-5.29.3.tar.gz", hash = "sha256:5da0f41edaf117bde316404bad1a486cb4ededf8e4a54891296f648e8e076620", size = 424945 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/7a/1e38f3cafa022f477ca0f57a1f49962f21ad25850c3ca0acd3b9d0091518/protobuf-5.29.3-cp310-abi3-win32.whl", hash = "sha256:3ea51771449e1035f26069c4c7fd51fba990d07bc55ba80701c78f886bf9c888", size = 422708 }, + { url = "https://files.pythonhosted.org/packages/61/fa/aae8e10512b83de633f2646506a6d835b151edf4b30d18d73afd01447253/protobuf-5.29.3-cp310-abi3-win_amd64.whl", hash = "sha256:a4fa6f80816a9a0678429e84973f2f98cbc218cca434abe8db2ad0bffc98503a", size = 434508 }, + { url = "https://files.pythonhosted.org/packages/dd/04/3eaedc2ba17a088961d0e3bd396eac764450f431621b58a04ce898acd126/protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a8434404bbf139aa9e1300dbf989667a83d42ddda9153d8ab76e0d5dcaca484e", size = 417825 }, + { url = "https://files.pythonhosted.org/packages/4f/06/7c467744d23c3979ce250397e26d8ad8eeb2bea7b18ca12ad58313c1b8d5/protobuf-5.29.3-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:daaf63f70f25e8689c072cfad4334ca0ac1d1e05a92fc15c54eb9cf23c3efd84", size = 319573 }, + { url = "https://files.pythonhosted.org/packages/a8/45/2ebbde52ad2be18d3675b6bee50e68cd73c9e0654de77d595540b5129df8/protobuf-5.29.3-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:c027e08a08be10b67c06bf2370b99c811c466398c357e615ca88c91c07f0910f", size = 319672 }, + { url = "https://files.pythonhosted.org/packages/fd/b2/ab07b09e0f6d143dfb839693aa05765257bceaa13d03bf1a696b78323e7a/protobuf-5.29.3-py3-none-any.whl", hash = "sha256:0a18ed4a24198528f2333802eb075e59dea9d679ab7a6c5efb017a59004d849f", size = 172550 }, +] + +[[package]] +name = "psutil" +version = "6.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1f/5a/07871137bb752428aa4b659f910b399ba6f291156bdea939be3e96cae7cb/psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5", size = 508502 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/99/ca79d302be46f7bdd8321089762dd4476ee725fce16fc2b2e1dbba8cac17/psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8", size = 247511 }, + { url = "https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377", size = 248985 }, + { url = "https://files.pythonhosted.org/packages/17/38/c319d31a1d3f88c5b79c68b3116c129e5133f1822157dd6da34043e32ed6/psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003", size = 284488 }, + { url = "https://files.pythonhosted.org/packages/9c/39/0f88a830a1c8a3aba27fededc642da37613c57cbff143412e3536f89784f/psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160", size = 287477 }, + { url = "https://files.pythonhosted.org/packages/47/da/99f4345d4ddf2845cb5b5bd0d93d554e84542d116934fde07a0c50bd4e9f/psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3", size = 289017 }, + { url = "https://files.pythonhosted.org/packages/38/53/bd755c2896f4461fd4f36fa6a6dcb66a88a9e4b9fd4e5b66a77cf9d4a584/psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53", size = 250602 }, + { url = "https://files.pythonhosted.org/packages/7b/d7/7831438e6c3ebbfa6e01a927127a6cb42ad3ab844247f3c5b96bea25d73d/psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649", size = 254444 }, +] + +[[package]] +name = "pycparser" +version = "2.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 }, +] + +[[package]] +name = "pydantic" +version = "2.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/70/7e/fb60e6fee04d0ef8f15e4e01ff187a196fa976eb0f0ab524af4599e5754c/pydantic-2.10.4.tar.gz", hash = "sha256:82f12e9723da6de4fe2ba888b5971157b3be7ad914267dea8f05f82b28254f06", size = 762094 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/26/3e1bbe954fde7ee22a6e7d31582c642aad9e84ffe4b5fb61e63b87cd326f/pydantic-2.10.4-py3-none-any.whl", hash = "sha256:597e135ea68be3a37552fb524bc7d0d66dcf93d395acd93a00682f1efcb8ee3d", size = 431765 }, +] + +[[package]] +name = "pydantic-core" +version = "2.27.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/bc/fed5f74b5d802cf9a03e83f60f18864e90e3aed7223adaca5ffb7a8d8d64/pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa", size = 1895938 }, + { url = "https://files.pythonhosted.org/packages/71/2a/185aff24ce844e39abb8dd680f4e959f0006944f4a8a0ea372d9f9ae2e53/pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c", size = 1815684 }, + { url = "https://files.pythonhosted.org/packages/c3/43/fafabd3d94d159d4f1ed62e383e264f146a17dd4d48453319fd782e7979e/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a", size = 1829169 }, + { url = "https://files.pythonhosted.org/packages/a2/d1/f2dfe1a2a637ce6800b799aa086d079998959f6f1215eb4497966efd2274/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5", size = 1867227 }, + { url = "https://files.pythonhosted.org/packages/7d/39/e06fcbcc1c785daa3160ccf6c1c38fea31f5754b756e34b65f74e99780b5/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c", size = 2037695 }, + { url = "https://files.pythonhosted.org/packages/7a/67/61291ee98e07f0650eb756d44998214231f50751ba7e13f4f325d95249ab/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7", size = 2741662 }, + { url = "https://files.pythonhosted.org/packages/32/90/3b15e31b88ca39e9e626630b4c4a1f5a0dfd09076366f4219429e6786076/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a", size = 1993370 }, + { url = "https://files.pythonhosted.org/packages/ff/83/c06d333ee3a67e2e13e07794995c1535565132940715931c1c43bfc85b11/pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236", size = 1996813 }, + { url = "https://files.pythonhosted.org/packages/7c/f7/89be1c8deb6e22618a74f0ca0d933fdcb8baa254753b26b25ad3acff8f74/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962", size = 2005287 }, + { url = "https://files.pythonhosted.org/packages/b7/7d/8eb3e23206c00ef7feee17b83a4ffa0a623eb1a9d382e56e4aa46fd15ff2/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9", size = 2128414 }, + { url = "https://files.pythonhosted.org/packages/4e/99/fe80f3ff8dd71a3ea15763878d464476e6cb0a2db95ff1c5c554133b6b83/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af", size = 2155301 }, + { url = "https://files.pythonhosted.org/packages/2b/a3/e50460b9a5789ca1451b70d4f52546fa9e2b420ba3bfa6100105c0559238/pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4", size = 1816685 }, + { url = "https://files.pythonhosted.org/packages/57/4c/a8838731cb0f2c2a39d3535376466de6049034d7b239c0202a64aaa05533/pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31", size = 1982876 }, + { url = "https://files.pythonhosted.org/packages/c2/89/f3450af9d09d44eea1f2c369f49e8f181d742f28220f88cc4dfaae91ea6e/pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc", size = 1893421 }, + { url = "https://files.pythonhosted.org/packages/9e/e3/71fe85af2021f3f386da42d291412e5baf6ce7716bd7101ea49c810eda90/pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7", size = 1814998 }, + { url = "https://files.pythonhosted.org/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15", size = 1826167 }, + { url = "https://files.pythonhosted.org/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306", size = 1865071 }, + { url = "https://files.pythonhosted.org/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99", size = 2036244 }, + { url = "https://files.pythonhosted.org/packages/0e/41/f15316858a246b5d723f7d7f599f79e37493b2e84bfc789e58d88c209f8a/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459", size = 2737470 }, + { url = "https://files.pythonhosted.org/packages/a8/7c/b860618c25678bbd6d1d99dbdfdf0510ccb50790099b963ff78a124b754f/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048", size = 1992291 }, + { url = "https://files.pythonhosted.org/packages/bf/73/42c3742a391eccbeab39f15213ecda3104ae8682ba3c0c28069fbcb8c10d/pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d", size = 1994613 }, + { url = "https://files.pythonhosted.org/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b", size = 2002355 }, + { url = "https://files.pythonhosted.org/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474", size = 2126661 }, + { url = "https://files.pythonhosted.org/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6", size = 2153261 }, + { url = "https://files.pythonhosted.org/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c", size = 1812361 }, + { url = "https://files.pythonhosted.org/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc", size = 1982484 }, + { url = "https://files.pythonhosted.org/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4", size = 1867102 }, + { url = "https://files.pythonhosted.org/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0", size = 1893127 }, + { url = "https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef", size = 1811340 }, + { url = "https://files.pythonhosted.org/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900 }, + { url = "https://files.pythonhosted.org/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177 }, + { url = "https://files.pythonhosted.org/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046 }, + { url = "https://files.pythonhosted.org/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c", size = 2685386 }, + { url = "https://files.pythonhosted.org/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2", size = 1997060 }, + { url = "https://files.pythonhosted.org/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4", size = 2004870 }, + { url = "https://files.pythonhosted.org/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822 }, + { url = "https://files.pythonhosted.org/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364 }, + { url = "https://files.pythonhosted.org/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303 }, + { url = "https://files.pythonhosted.org/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064 }, + { url = "https://files.pythonhosted.org/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046 }, + { url = "https://files.pythonhosted.org/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092 }, + { url = "https://files.pythonhosted.org/packages/41/b1/9bc383f48f8002f99104e3acff6cba1231b29ef76cfa45d1506a5cad1f84/pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b", size = 1892709 }, + { url = "https://files.pythonhosted.org/packages/10/6c/e62b8657b834f3eb2961b49ec8e301eb99946245e70bf42c8817350cbefc/pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154", size = 1811273 }, + { url = "https://files.pythonhosted.org/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9", size = 1823027 }, + { url = "https://files.pythonhosted.org/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9", size = 1868888 }, + { url = "https://files.pythonhosted.org/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1", size = 2037738 }, + { url = "https://files.pythonhosted.org/packages/c8/f1/786d8fe78970a06f61df22cba58e365ce304bf9b9f46cc71c8c424e0c334/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a", size = 2685138 }, + { url = "https://files.pythonhosted.org/packages/a6/74/d12b2cd841d8724dc8ffb13fc5cef86566a53ed358103150209ecd5d1999/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e", size = 1997025 }, + { url = "https://files.pythonhosted.org/packages/a0/6e/940bcd631bc4d9a06c9539b51f070b66e8f370ed0933f392db6ff350d873/pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4", size = 2004633 }, + { url = "https://files.pythonhosted.org/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27", size = 1999404 }, + { url = "https://files.pythonhosted.org/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee", size = 2130130 }, + { url = "https://files.pythonhosted.org/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1", size = 2157946 }, + { url = "https://files.pythonhosted.org/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130", size = 1834387 }, + { url = "https://files.pythonhosted.org/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee", size = 1990453 }, + { url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186 }, + { url = "https://files.pythonhosted.org/packages/46/72/af70981a341500419e67d5cb45abe552a7c74b66326ac8877588488da1ac/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e", size = 1891159 }, + { url = "https://files.pythonhosted.org/packages/ad/3d/c5913cccdef93e0a6a95c2d057d2c2cba347815c845cda79ddd3c0f5e17d/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8", size = 1768331 }, + { url = "https://files.pythonhosted.org/packages/f6/f0/a3ae8fbee269e4934f14e2e0e00928f9346c5943174f2811193113e58252/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3", size = 1822467 }, + { url = "https://files.pythonhosted.org/packages/d7/7a/7bbf241a04e9f9ea24cd5874354a83526d639b02674648af3f350554276c/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f", size = 1979797 }, + { url = "https://files.pythonhosted.org/packages/4f/5f/4784c6107731f89e0005a92ecb8a2efeafdb55eb992b8e9d0a2be5199335/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133", size = 1987839 }, + { url = "https://files.pythonhosted.org/packages/6d/a7/61246562b651dff00de86a5f01b6e4befb518df314c54dec187a78d81c84/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc", size = 1998861 }, + { url = "https://files.pythonhosted.org/packages/86/aa/837821ecf0c022bbb74ca132e117c358321e72e7f9702d1b6a03758545e2/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50", size = 2116582 }, + { url = "https://files.pythonhosted.org/packages/81/b0/5e74656e95623cbaa0a6278d16cf15e10a51f6002e3ec126541e95c29ea3/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9", size = 2151985 }, + { url = "https://files.pythonhosted.org/packages/63/37/3e32eeb2a451fddaa3898e2163746b0cffbbdbb4740d38372db0490d67f3/pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151", size = 2004715 }, +] + +[[package]] +name = "pydantic-settings" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/86/41/19b62b99e7530cfa1d6ccd16199afd9289a12929bef1a03aa4382b22e683/pydantic_settings-2.7.0.tar.gz", hash = "sha256:ac4bfd4a36831a48dbf8b2d9325425b549a0a6f18cea118436d728eb4f1c4d66", size = 79743 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/00/57b4540deb5c3a39ba689bb519a4e03124b24ab8589e618be4aac2c769bd/pydantic_settings-2.7.0-py3-none-any.whl", hash = "sha256:e00c05d5fa6cbbb227c84bd7487c5c1065084119b750df7c8c1a554aed236eb5", size = 29549 }, +] + +[[package]] +name = "pydub" +version = "0.25.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/9a/e6bca0eed82db26562c73b5076539a4a08d3cffd19c3cc5913a3e61145fd/pydub-0.25.1.tar.gz", hash = "sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f", size = 38326 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a6/53/d78dc063216e62fc55f6b2eebb447f6a4b0a59f55c8406376f76bf959b08/pydub-0.25.1-py2.py3-none-any.whl", hash = "sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6", size = 32327 }, +] + +[[package]] +name = "pygments" +version = "2.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 }, +] + +[[package]] +name = "pylatexenc" +version = "2.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5d/ab/34ec41718af73c00119d0351b7a2531d2ebddb51833a36448fc7b862be60/pylatexenc-2.10.tar.gz", hash = "sha256:3dd8fd84eb46dc30bee1e23eaab8d8fb5a7f507347b23e5f38ad9675c84f40d3", size = 162597 } + +[[package]] +name = "pyparsing" +version = "3.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/1a/3544f4f299a47911c2ab3710f534e52fea62a633c96806995da5d25be4b2/pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a", size = 1067694 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1", size = 107716 }, +] + +[[package]] +name = "pypinyin" +version = "0.53.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b8/2d/58c9e7d0825d834fc5ac62a340640953d39a80e78cba70eb73d3bad5b4be/pypinyin-0.53.0.tar.gz", hash = "sha256:a2d39ddc2bd31b55897bbb10d2e11a0c4d399988a97c00ad489c151afd9b106d", size = 824458 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/af/a1f9ee31b860ea55985a743b53fc06e61fe156bc1a9d64d94a81afa80470/pypinyin-0.53.0-py2.py3-none-any.whl", hash = "sha256:a906768919da3c31771f2c5e0e5a759214dc38d0087e15e6ff67649e03df8097", size = 834720 }, +] + +[[package]] +name = "pyreadline3" +version = "3.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/49/4cea918a08f02817aabae639e3d0ac046fef9f9180518a3ad394e22da148/pyreadline3-3.5.4.tar.gz", hash = "sha256:8d57d53039a1c75adba8e50dd3d992b28143480816187ea5efbd5c78e6c885b7", size = 99839 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/dc/491b7661614ab97483abf2056be1deee4dc2490ecbf7bff9ab5cdbac86e1/pyreadline3-3.5.4-py3-none-any.whl", hash = "sha256:eaf8e6cc3c49bcccf145fc6067ba8643d1df34d604a1ec0eccbf7a18e6d3fae6", size = 83178 }, +] + +[[package]] +name = "pytest" +version = "8.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/fd/af2d835eed57448960c4e7e9ab76ee42f24bcdd521e967191bc26fa2dece/pytest-8.0.0.tar.gz", hash = "sha256:249b1b0864530ba251b7438274c4d251c58d868edaaec8762893ad4a0d71c36c", size = 1395242 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/10/727155d44c5e04bb08e880668e53079547282e4f950535234e5a80690564/pytest-8.0.0-py3-none-any.whl", hash = "sha256:50fb9cbe836c3f20f0dfa99c565201fb75dc54c8d76373cd1bde06b06657bdb6", size = 334024 }, +] + +[[package]] +name = "pytest-asyncio" +version = "0.23.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/26/e0d399fc08f1ce8f03fd308334858342a73fb1fc55b74cbbd0b96b3ad5f7/pytest-asyncio-0.23.5.tar.gz", hash = "sha256:3a048872a9c4ba14c3e90cc1aa20cbc2def7d01c7c8db3777ec281ba9c057675", size = 45887 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/0c/a60bcaeb3ba2f938b4d76e535180ea9f43e8da5fa6933fd9401f6f6e46ae/pytest_asyncio-0.23.5-py3-none-any.whl", hash = "sha256:4e7093259ba018d58ede7d5315131d21923a60f8a6e9ee266ce1589685c89eac", size = 17595 }, +] + +[[package]] +name = "pytest-cov" +version = "4.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage", extra = ["toml"] }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/15/da3df99fd551507694a9b01f512a2f6cf1254f33601605843c3775f39460/pytest-cov-4.1.0.tar.gz", hash = "sha256:3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6", size = 63245 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/4b/8b78d126e275efa2379b1c2e09dc52cf70df16fc3b90613ef82531499d73/pytest_cov-4.1.0-py3-none-any.whl", hash = "sha256:6ba70b9e97e69fcc3fb45bfeab2d0a138fb65c4d0d6a41ef33983ad114be8c3a", size = 21949 }, +] + +[[package]] +name = "python-crfsuite" +version = "0.9.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ea/17/9c64a2486de27fce7570c366eb723fd7a39dd7845119ee8fdd5051023671/python_crfsuite-0.9.11.tar.gz", hash = "sha256:6eff965ca70567396d822c9a35ea74b0f7edb27d9471524997bdabe7a6da5f5a", size = 477721 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/74/6335c271196db419c77ddfb19c04abe40fee45921faca96c150bfc51f176/python_crfsuite-0.9.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f5ed569517e7b1fa3d32cf5d5cbe2fb6c85486195bf5cad03d52072fef7aa8a", size = 319014 }, + { url = "https://files.pythonhosted.org/packages/38/32/b2986996b4be2edeb13b62b5115aa042250f5da87edd3f8db4d71d6d1457/python_crfsuite-0.9.11-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aed10ee4334c99173940e88318d312a4f9e70ba653b8ac0e6f3ef816431af811", size = 1183446 }, + { url = "https://files.pythonhosted.org/packages/5f/46/bea59e70e382aeeb1cd47e04868ce3bcec622968af4b01b24b272d8050ad/python_crfsuite-0.9.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd8cc52f853436bbed580ad6c17e37c3657466fdfa28ddc55efcbba28b92cdf", size = 1215316 }, + { url = "https://files.pythonhosted.org/packages/4d/ba/f4c169ce26689ddf4eb92effb4b15dafbb52622302f15a67492c680f3e0c/python_crfsuite-0.9.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:182fad0415697d5acbe18364333f8255016c8609d570cba78c20d8d71a392f90", size = 1232601 }, + { url = "https://files.pythonhosted.org/packages/54/cb/b38bd20df2274570275dc97515f7cf8475ef8ffc50bc6d9dffaafd9a8600/python_crfsuite-0.9.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:05cd988aaa7ac87a54d4bd1d756455f6e3b078f07b4fcbda3bccfd91a784dd20", size = 2103655 }, + { url = "https://files.pythonhosted.org/packages/fa/d0/16f0d8bcc284afb197a22cc923c5cbd219b12ee1482c3ebb237bee48f957/python_crfsuite-0.9.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:2dead957809b92b7f0fc4c03fc70af9cbcaf35518ff1fd3a3fe2862dd0bb52fa", size = 2250127 }, + { url = "https://files.pythonhosted.org/packages/51/0e/8ab90bfc316ff326588f6bbbb2eef1776ca11e91e22ab4eaced483b8f774/python_crfsuite-0.9.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:66f24e5281b8a10091c3a9eef5a85115aea9570bcb9e0c03c738b0eab7070cb5", size = 2191878 }, + { url = "https://files.pythonhosted.org/packages/5d/84/52e622fed7335a97dbabf7cc577feefa92001d3d39135d3ddaef998bf929/python_crfsuite-0.9.11-cp310-cp310-win32.whl", hash = "sha256:b5a9492686e3dde5739ea19a3ec37397eb7cff787362e403a411acb6431aaf84", size = 280885 }, + { url = "https://files.pythonhosted.org/packages/13/7a/def271af273f5b15052fa0ce8f80811b2486c47dc7c718971418b58c8ce2/python_crfsuite-0.9.11-cp310-cp310-win_amd64.whl", hash = "sha256:d2c361819ba331c48038f1b231b8863b886205e9decae2fb89f69da44b28d00a", size = 301530 }, + { url = "https://files.pythonhosted.org/packages/bc/32/743048adf41ba3ebc4d82deed5d4a336164dc0066ef83b28d2a4b1979d66/python_crfsuite-0.9.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4a2f2ff5b6b0b6cf72ee476436f3926ccd0045c97e7703478a025c9badd180c6", size = 319684 }, + { url = "https://files.pythonhosted.org/packages/f0/12/99235a88e786a4f2874cb9b416b53edc778719c2d27843c2727e7233bbaa/python_crfsuite-0.9.11-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83bc133fc2a411144778bb03d56a95f88a4da0386462fb99d32b45428959101f", size = 1211479 }, + { url = "https://files.pythonhosted.org/packages/a5/7f/8da1653440925627f1e2730a2a8f048f9e84e644a95a6324f7cce5b0e324/python_crfsuite-0.9.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d5e52bfe54c1cb94009f1edb9c1dec3fe6d31823c60fafee04d63354c342303", size = 1244805 }, + { url = "https://files.pythonhosted.org/packages/34/43/07221382ab31f3fd8d648c1421b240a332cc64ad7f89af275101ce9e5bad/python_crfsuite-0.9.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a23a96dc9a25a0d143430236158ca0d836b94a26d5752ffdf7efe315c14045f5", size = 1261854 }, + { url = "https://files.pythonhosted.org/packages/45/e7/ac1d92ce9951401d71116526d76100a7ed3a1717dfbb2bfc0e9195d5ef09/python_crfsuite-0.9.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dd95a8ab9d92ac6756c17dde8150d7edcc696e49b4ca5f537e347143d19c94bc", size = 2139166 }, + { url = "https://files.pythonhosted.org/packages/bd/d8/a4e799f6126a7b8bafe3896472065985c99d32a68dd9bba29885e1c3c56c/python_crfsuite-0.9.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:800fd345f2eb822d574eeaa6099bb88a23942272f62ea3e182e8ec07f4cf5ca8", size = 2282077 }, + { url = "https://files.pythonhosted.org/packages/a7/0e/8f66fe63a751edd4ab1036af5276334e111a43d7cc939c57cd04090416d4/python_crfsuite-0.9.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c17dc2c5ac63d10993afbab0288bb1949e4ac856361c83e8041fff4493d7dab", size = 2225963 }, + { url = "https://files.pythonhosted.org/packages/50/57/8d58d869a41715fbefe6d4fcf62a483e76f223716f44583df7d2ac0a05fe/python_crfsuite-0.9.11-cp311-cp311-win32.whl", hash = "sha256:9a00f1f32203d9cb66658df75ee62ce4809b24f26b982b7f482934a683abc96c", size = 280872 }, + { url = "https://files.pythonhosted.org/packages/f3/4c/2aabe6f3c06a6e62fb4d80d0ed224e3d813b7fc5bc7d9aba52e724639268/python_crfsuite-0.9.11-cp311-cp311-win_amd64.whl", hash = "sha256:d255f02c890628337c970d76cba787afb7991340b3a7b201d3a158add5f78989", size = 301866 }, + { url = "https://files.pythonhosted.org/packages/22/e2/1fafca9ea7a964bbc4a8a91351acb1f46c17c63e9aa766a22a59b0a14aa0/python_crfsuite-0.9.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:346a37d1ffa9f161d56c523d2386eaa5026c663e70f65db4478adb292d7c047c", size = 319874 }, + { url = "https://files.pythonhosted.org/packages/43/3f/1d954edbef65a0d2b9fe71a974973aaace5f617ab3276f50b995ea1ea198/python_crfsuite-0.9.11-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec40a7924d2e79a06f8eb0cec613ade54d677b73c4041c6052cd890aca2db89", size = 1200041 }, + { url = "https://files.pythonhosted.org/packages/49/77/069c75217707c0727944293571bccb90642269990abfac76427b3446c275/python_crfsuite-0.9.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c5b3836e8ee8d684fb9d76d287035db51039b30cadac3332664655acf970831", size = 1234277 }, + { url = "https://files.pythonhosted.org/packages/54/a3/6af8a68bdfe4d8c001a1fdb84b6fa1154d2b772dbd619050697f4cc2fe39/python_crfsuite-0.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f498cb82686dc18f7cecaf0a7ebceb4590ee2137cfa8cfe1b75f53514d0e956", size = 1254759 }, + { url = "https://files.pythonhosted.org/packages/6f/3c/75e26cfd1e2c8807aa465a7213f63e2e0c9d61af0ad0ff635bbd2f47e4aa/python_crfsuite-0.9.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:29cdf55c54c388c62148ba310bf8ad1b93b352d62dd84856d15c421dae2e902d", size = 2131213 }, + { url = "https://files.pythonhosted.org/packages/16/76/53e57efd9f3e9cbbed3615d065d5367a8c18df0217e83ca216f215aa257a/python_crfsuite-0.9.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7e6738ed044ba91d8284716f87525ca95bc857ece0b226910a80126a8ce6ad06", size = 2259424 }, + { url = "https://files.pythonhosted.org/packages/a1/05/663e01d5721ea5b0dfde0483696dd28498929cd095e86e31501891de2381/python_crfsuite-0.9.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1a365a70e54dbd20a9251a3b6df91e1406cab1b1b5995a9d68e8c748fc9b3af7", size = 2219484 }, + { url = "https://files.pythonhosted.org/packages/75/53/55c908ca49e0d3f5d0c7410f876ef4fc0b605e140492b41f8833a1befb96/python_crfsuite-0.9.11-cp312-cp312-win32.whl", hash = "sha256:4b230ab1b69c6025e4f64e72c445f7492cccf00d94fc2c0bf2f337fafc05d5d5", size = 280500 }, + { url = "https://files.pythonhosted.org/packages/54/08/d060405793cab77dbd167814393c838c456f9d9281cebcc3d9f185e2c5d5/python_crfsuite-0.9.11-cp312-cp312-win_amd64.whl", hash = "sha256:c89d7ad4ca520a5f045c676865ec09a2accc25dc5dce387f2199e5b2c9d8f337", size = 301055 }, + { url = "https://files.pythonhosted.org/packages/22/8d/55073b5150b3884a30fc2ec2fc01fbdaa4187bedd57b5c80002182b09ab3/python_crfsuite-0.9.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:89b45426f28b39dfc4789d29bcd7398f177746e4ab27f6ae3c7b48a082ecb73b", size = 318894 }, + { url = "https://files.pythonhosted.org/packages/14/5f/89cfb856b9bfc6d37723e20c439b5fff56a7a1b48de331a53d1669907b38/python_crfsuite-0.9.11-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:788b6ca5fd43797f6822bb7aed8d5b0255d7d53be62746c77ca91dad5dfd2f2b", size = 1196963 }, + { url = "https://files.pythonhosted.org/packages/72/a7/cfe27cb4539dbd0209fd23a1c3d653ba493202bb8c635045ff8f3e8ec6d5/python_crfsuite-0.9.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:609ce1e2ea1ff36379e91a4af9f10bcaaca0b22d089ec7489181ae0d9d098419", size = 1231856 }, + { url = "https://files.pythonhosted.org/packages/78/72/ec157e6a280e1662622ac8a74d891e436e765299df75b5f5cdbb48c2ca1a/python_crfsuite-0.9.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893af206342196e37c84af73941d7c2498e3ab926a67f846f78de6f48a7cb067", size = 1252163 }, + { url = "https://files.pythonhosted.org/packages/6c/1a/1b60a013e5e24ffcd420aa7b44f2328c1f4f0d8f33606baa845ee5e1fa9c/python_crfsuite-0.9.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a387c4c4794ecccc712e01091b2887fc90b63dbc6612947232c2593116545e8a", size = 2130072 }, + { url = "https://files.pythonhosted.org/packages/59/0a/48a93be02c2eee1f62c92ead8ca50e194c09da9e62bea6c7177ea767d36a/python_crfsuite-0.9.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:00db049cc46f716cef6626fbcf5b8abc258f4740e39dcceccc706ba77200992b", size = 2259369 }, + { url = "https://files.pythonhosted.org/packages/7c/88/666e5a7a46119200d079bd676001e154938be2674c54a0e0cf6cf2bfa1a3/python_crfsuite-0.9.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c0f95fd723e7a684188c541106f301a1d87104a07acd1e5687df849d2a86391a", size = 2218763 }, + { url = "https://files.pythonhosted.org/packages/a7/1a/9c21fe8ca1cf05d2fb879c7cebc31938eb7e8734bd2cf4066d41afd08db8/python_crfsuite-0.9.11-cp313-cp313-win32.whl", hash = "sha256:5664cebdc82d20b374641f2d0e77a86e8b010fafaf8efeb8862c3fc567d41c08", size = 280175 }, + { url = "https://files.pythonhosted.org/packages/5f/bd/f37bad6ec84b8e5eaa8c56965de2ae25d292b011ff6532bdfe70b7a0b6c0/python_crfsuite-0.9.11-cp313-cp313-win_amd64.whl", hash = "sha256:00123f42dca02897aaa1fc129ea99b815f800c2893ffb210d8b8f71235ffeef4", size = 300505 }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 }, +] + +[[package]] +name = "python-dotenv" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bc/57/e84d88dfe0aec03b7a2d4327012c1627ab5f03652216c63d49846d7a6c58/python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", size = 39115 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863 }, +] + +[[package]] +name = "python-multipart" +version = "0.0.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546 }, +] + +[[package]] +name = "pytz" +version = "2025.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5f/57/df1c9157c8d5a05117e455d66fd7cf6dbc46974f832b1058ed4856785d8a/pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e", size = 319617 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl", hash = "sha256:89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57", size = 507930 }, +] + +[[package]] +name = "pywin32" +version = "308" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/a6/3e9f2c474895c1bb61b11fa9640be00067b5c5b363c501ee9c3fa53aec01/pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e", size = 5927028 }, + { url = "https://files.pythonhosted.org/packages/d9/b4/84e2463422f869b4b718f79eb7530a4c1693e96b8a4e5e968de38be4d2ba/pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e", size = 6558484 }, + { url = "https://files.pythonhosted.org/packages/9f/8f/fb84ab789713f7c6feacaa08dad3ec8105b88ade8d1c4f0f0dfcaaa017d6/pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c", size = 7971454 }, + { url = "https://files.pythonhosted.org/packages/eb/e2/02652007469263fe1466e98439831d65d4ca80ea1a2df29abecedf7e47b7/pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a", size = 5928156 }, + { url = "https://files.pythonhosted.org/packages/48/ef/f4fb45e2196bc7ffe09cad0542d9aff66b0e33f6c0954b43e49c33cad7bd/pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b", size = 6559559 }, + { url = "https://files.pythonhosted.org/packages/79/ef/68bb6aa865c5c9b11a35771329e95917b5559845bd75b65549407f9fc6b4/pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6", size = 7972495 }, + { url = "https://files.pythonhosted.org/packages/00/7c/d00d6bdd96de4344e06c4afbf218bc86b54436a94c01c71a8701f613aa56/pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897", size = 5939729 }, + { url = "https://files.pythonhosted.org/packages/21/27/0c8811fbc3ca188f93b5354e7c286eb91f80a53afa4e11007ef661afa746/pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47", size = 6543015 }, + { url = "https://files.pythonhosted.org/packages/9d/0f/d40f8373608caed2255781a3ad9a51d03a594a1248cd632d6a298daca693/pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091", size = 7976033 }, + { url = "https://files.pythonhosted.org/packages/a9/a4/aa562d8935e3df5e49c161b427a3a2efad2ed4e9cf81c3de636f1fdddfd0/pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed", size = 5938579 }, + { url = "https://files.pythonhosted.org/packages/c7/50/b0efb8bb66210da67a53ab95fd7a98826a97ee21f1d22949863e6d588b22/pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4", size = 6542056 }, + { url = "https://files.pythonhosted.org/packages/26/df/2b63e3e4f2df0224f8aaf6d131f54fe4e8c96400eb9df563e2aae2e1a1f9/pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd", size = 7974986 }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199 }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758 }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463 }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280 }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, +] + +[[package]] +name = "rdflib" +version = "7.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "isodate", marker = "python_full_version < '3.11' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "pyparsing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/96/12/f43307e7b1f871ed5424fc6eff1fb8c85637dbaed6a401748c2b72c97d7a/rdflib-7.1.3.tar.gz", hash = "sha256:f3dcb4c106a8cd9e060d92f43d593d09ebc3d07adc244f4c7315856a12e383ee", size = 4867170 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/3c/f508a9b346078ea0bd49c8261430204fcfb4150352d51fa2a54a4d9eacda/rdflib-7.1.3-py3-none-any.whl", hash = "sha256:5402310a9f0f3c07d453d73fd0ad6ba35616286fe95d3670db2b725f3f539673", size = 564909 }, +] + +[[package]] +name = "referencing" +version = "0.36.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 }, +] + +[[package]] +name = "regex" +version = "2024.11.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674 }, + { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684 }, + { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589 }, + { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511 }, + { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149 }, + { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707 }, + { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702 }, + { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976 }, + { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397 }, + { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726 }, + { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098 }, + { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325 }, + { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277 }, + { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197 }, + { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714 }, + { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042 }, + { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669 }, + { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684 }, + { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589 }, + { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121 }, + { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275 }, + { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257 }, + { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727 }, + { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667 }, + { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963 }, + { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700 }, + { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592 }, + { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929 }, + { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213 }, + { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734 }, + { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052 }, + { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781 }, + { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455 }, + { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759 }, + { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976 }, + { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077 }, + { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160 }, + { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896 }, + { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997 }, + { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725 }, + { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481 }, + { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896 }, + { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138 }, + { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692 }, + { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135 }, + { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567 }, + { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525 }, + { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324 }, + { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617 }, + { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023 }, + { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072 }, + { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130 }, + { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857 }, + { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006 }, + { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650 }, + { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545 }, + { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045 }, + { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182 }, + { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733 }, + { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122 }, + { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545 }, +] + +[[package]] +name = "requests" +version = "2.32.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, +] + +[[package]] +name = "rfc3986" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/79/30/5b1b6c28c105629cc12b33bdcbb0b11b5bb1880c6cfbd955f9e792921aa8/rfc3986-1.5.0.tar.gz", hash = "sha256:270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835", size = 49378 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c4/e5/63ca2c4edf4e00657584608bee1001302bbf8c5f569340b78304f2f446cb/rfc3986-1.5.0-py2.py3-none-any.whl", hash = "sha256:a86d6e1f5b1dc238b218b012df0aa79409667bb209e58da56d0b94704e712a97", size = 31976 }, +] + +[[package]] +name = "rich" +version = "13.9.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, + { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424 }, +] + +[[package]] +name = "rpds-py" +version = "0.22.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/80/cce854d0921ff2f0a9fa831ba3ad3c65cee3a46711addf39a2af52df2cfd/rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d", size = 26771 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/2a/ead1d09e57449b99dcc190d8d2323e3a167421d8f8fdf0f217c6f6befe47/rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967", size = 359514 }, + { url = "https://files.pythonhosted.org/packages/8f/7e/1254f406b7793b586c68e217a6a24ec79040f85e030fff7e9049069284f4/rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37", size = 349031 }, + { url = "https://files.pythonhosted.org/packages/aa/da/17c6a2c73730d426df53675ff9cc6653ac7a60b6438d03c18e1c822a576a/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24", size = 381485 }, + { url = "https://files.pythonhosted.org/packages/aa/13/2dbacd820466aa2a3c4b747afb18d71209523d353cf865bf8f4796c969ea/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff", size = 386794 }, + { url = "https://files.pythonhosted.org/packages/6d/62/96905d0a35ad4e4bc3c098b2f34b2e7266e211d08635baa690643d2227be/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c", size = 423523 }, + { url = "https://files.pythonhosted.org/packages/eb/1b/d12770f2b6a9fc2c3ec0d810d7d440f6d465ccd8b7f16ae5385952c28b89/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e", size = 446695 }, + { url = "https://files.pythonhosted.org/packages/4d/cf/96f1fd75512a017f8e07408b6d5dbeb492d9ed46bfe0555544294f3681b3/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec", size = 381959 }, + { url = "https://files.pythonhosted.org/packages/ab/f0/d1c5b501c8aea85aeb938b555bfdf7612110a2f8cdc21ae0482c93dd0c24/rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c", size = 410420 }, + { url = "https://files.pythonhosted.org/packages/33/3b/45b6c58fb6aad5a569ae40fb890fc494c6b02203505a5008ee6dc68e65f7/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09", size = 557620 }, + { url = "https://files.pythonhosted.org/packages/83/62/3fdd2d3d47bf0bb9b931c4c73036b4ab3ec77b25e016ae26fab0f02be2af/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00", size = 584202 }, + { url = "https://files.pythonhosted.org/packages/04/f2/5dced98b64874b84ca824292f9cee2e3f30f3bcf231d15a903126684f74d/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf", size = 552787 }, + { url = "https://files.pythonhosted.org/packages/67/13/2273dea1204eda0aea0ef55145da96a9aa28b3f88bb5c70e994f69eda7c3/rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652", size = 220088 }, + { url = "https://files.pythonhosted.org/packages/4e/80/8c8176b67ad7f4a894967a7a4014ba039626d96f1d4874d53e409b58d69f/rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8", size = 231737 }, + { url = "https://files.pythonhosted.org/packages/15/ad/8d1ddf78f2805a71253fcd388017e7b4a0615c22c762b6d35301fef20106/rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f", size = 359773 }, + { url = "https://files.pythonhosted.org/packages/c8/75/68c15732293a8485d79fe4ebe9045525502a067865fa4278f178851b2d87/rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a", size = 349214 }, + { url = "https://files.pythonhosted.org/packages/3c/4c/7ce50f3070083c2e1b2bbd0fb7046f3da55f510d19e283222f8f33d7d5f4/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5", size = 380477 }, + { url = "https://files.pythonhosted.org/packages/9a/e9/835196a69cb229d5c31c13b8ae603bd2da9a6695f35fe4270d398e1db44c/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb", size = 386171 }, + { url = "https://files.pythonhosted.org/packages/f9/8e/33fc4eba6683db71e91e6d594a2cf3a8fbceb5316629f0477f7ece5e3f75/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2", size = 422676 }, + { url = "https://files.pythonhosted.org/packages/37/47/2e82d58f8046a98bb9497a8319604c92b827b94d558df30877c4b3c6ccb3/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0", size = 446152 }, + { url = "https://files.pythonhosted.org/packages/e1/78/79c128c3e71abbc8e9739ac27af11dc0f91840a86fce67ff83c65d1ba195/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1", size = 381300 }, + { url = "https://files.pythonhosted.org/packages/c9/5b/2e193be0e8b228c1207f31fa3ea79de64dadb4f6a4833111af8145a6bc33/rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d", size = 409636 }, + { url = "https://files.pythonhosted.org/packages/c2/3f/687c7100b762d62186a1c1100ffdf99825f6fa5ea94556844bbbd2d0f3a9/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648", size = 556708 }, + { url = "https://files.pythonhosted.org/packages/8c/a2/c00cbc4b857e8b3d5e7f7fc4c81e23afd8c138b930f4f3ccf9a41a23e9e4/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74", size = 583554 }, + { url = "https://files.pythonhosted.org/packages/d0/08/696c9872cf56effdad9ed617ac072f6774a898d46b8b8964eab39ec562d2/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a", size = 552105 }, + { url = "https://files.pythonhosted.org/packages/18/1f/4df560be1e994f5adf56cabd6c117e02de7c88ee238bb4ce03ed50da9d56/rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64", size = 220199 }, + { url = "https://files.pythonhosted.org/packages/b8/1b/c29b570bc5db8237553002788dc734d6bd71443a2ceac2a58202ec06ef12/rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c", size = 231775 }, + { url = "https://files.pythonhosted.org/packages/75/47/3383ee3bd787a2a5e65a9b9edc37ccf8505c0a00170e3a5e6ea5fbcd97f7/rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e", size = 352334 }, + { url = "https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56", size = 342111 }, + { url = "https://files.pythonhosted.org/packages/7d/06/395a13bfaa8a28b302fb433fb285a67ce0ea2004959a027aea8f9c52bad4/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45", size = 384286 }, + { url = "https://files.pythonhosted.org/packages/43/52/d8eeaffab047e6b7b7ef7f00d5ead074a07973968ffa2d5820fa131d7852/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e", size = 391739 }, + { url = "https://files.pythonhosted.org/packages/83/31/52dc4bde85c60b63719610ed6f6d61877effdb5113a72007679b786377b8/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d", size = 427306 }, + { url = "https://files.pythonhosted.org/packages/70/d5/1bab8e389c2261dba1764e9e793ed6830a63f830fdbec581a242c7c46bda/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38", size = 442717 }, + { url = "https://files.pythonhosted.org/packages/82/a1/a45f3e30835b553379b3a56ea6c4eb622cf11e72008229af840e4596a8ea/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15", size = 385721 }, + { url = "https://files.pythonhosted.org/packages/a6/27/780c942de3120bdd4d0e69583f9c96e179dfff082f6ecbb46b8d6488841f/rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059", size = 415824 }, + { url = "https://files.pythonhosted.org/packages/94/0b/aa0542ca88ad20ea719b06520f925bae348ea5c1fdf201b7e7202d20871d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e", size = 561227 }, + { url = "https://files.pythonhosted.org/packages/0d/92/3ed77d215f82c8f844d7f98929d56cc321bb0bcfaf8f166559b8ec56e5f1/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61", size = 587424 }, + { url = "https://files.pythonhosted.org/packages/09/42/cacaeb047a22cab6241f107644f230e2935d4efecf6488859a7dd82fc47d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7", size = 555953 }, + { url = "https://files.pythonhosted.org/packages/e6/52/c921dc6d5f5d45b212a456c1f5b17df1a471127e8037eb0972379e39dff4/rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627", size = 221339 }, + { url = "https://files.pythonhosted.org/packages/f2/c7/f82b5be1e8456600395366f86104d1bd8d0faed3802ad511ef6d60c30d98/rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4", size = 235786 }, + { url = "https://files.pythonhosted.org/packages/d0/bf/36d5cc1f2c609ae6e8bf0fc35949355ca9d8790eceb66e6385680c951e60/rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84", size = 351657 }, + { url = "https://files.pythonhosted.org/packages/24/2a/f1e0fa124e300c26ea9382e59b2d582cba71cedd340f32d1447f4f29fa4e/rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25", size = 341829 }, + { url = "https://files.pythonhosted.org/packages/cf/c2/0da1231dd16953845bed60d1a586fcd6b15ceaeb965f4d35cdc71f70f606/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4", size = 384220 }, + { url = "https://files.pythonhosted.org/packages/c7/73/a4407f4e3a00a9d4b68c532bf2d873d6b562854a8eaff8faa6133b3588ec/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5", size = 391009 }, + { url = "https://files.pythonhosted.org/packages/a9/c3/04b7353477ab360fe2563f5f0b176d2105982f97cd9ae80a9c5a18f1ae0f/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc", size = 426989 }, + { url = "https://files.pythonhosted.org/packages/8d/e6/e4b85b722bcf11398e17d59c0f6049d19cd606d35363221951e6d625fcb0/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b", size = 441544 }, + { url = "https://files.pythonhosted.org/packages/27/fc/403e65e56f65fff25f2973216974976d3f0a5c3f30e53758589b6dc9b79b/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518", size = 385179 }, + { url = "https://files.pythonhosted.org/packages/57/9b/2be9ff9700d664d51fd96b33d6595791c496d2778cb0b2a634f048437a55/rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd", size = 415103 }, + { url = "https://files.pythonhosted.org/packages/bb/a5/03c2ad8ca10994fcf22dd2150dd1d653bc974fa82d9a590494c84c10c641/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2", size = 560916 }, + { url = "https://files.pythonhosted.org/packages/ba/2e/be4fdfc8b5b576e588782b56978c5b702c5a2307024120d8aeec1ab818f0/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16", size = 587062 }, + { url = "https://files.pythonhosted.org/packages/67/e0/2034c221937709bf9c542603d25ad43a68b4b0a9a0c0b06a742f2756eb66/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f", size = 555734 }, + { url = "https://files.pythonhosted.org/packages/ea/ce/240bae07b5401a22482b58e18cfbabaa392409b2797da60223cca10d7367/rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de", size = 220663 }, + { url = "https://files.pythonhosted.org/packages/cb/f0/d330d08f51126330467edae2fa4efa5cec8923c87551a79299380fdea30d/rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9", size = 235503 }, + { url = "https://files.pythonhosted.org/packages/f7/c4/dbe1cc03df013bf2feb5ad00615038050e7859f381e96fb5b7b4572cd814/rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b", size = 347698 }, + { url = "https://files.pythonhosted.org/packages/a4/3a/684f66dd6b0f37499cad24cd1c0e523541fd768576fa5ce2d0a8799c3cba/rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b", size = 337330 }, + { url = "https://files.pythonhosted.org/packages/82/eb/e022c08c2ce2e8f7683baa313476492c0e2c1ca97227fe8a75d9f0181e95/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1", size = 380022 }, + { url = "https://files.pythonhosted.org/packages/e4/21/5a80e653e4c86aeb28eb4fea4add1f72e1787a3299687a9187105c3ee966/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83", size = 390754 }, + { url = "https://files.pythonhosted.org/packages/37/a4/d320a04ae90f72d080b3d74597074e62be0a8ecad7d7321312dfe2dc5a6a/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd", size = 423840 }, + { url = "https://files.pythonhosted.org/packages/87/70/674dc47d93db30a6624279284e5631be4c3a12a0340e8e4f349153546728/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1", size = 438970 }, + { url = "https://files.pythonhosted.org/packages/3f/64/9500f4d66601d55cadd21e90784cfd5d5f4560e129d72e4339823129171c/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3", size = 383146 }, + { url = "https://files.pythonhosted.org/packages/4d/45/630327addb1d17173adcf4af01336fd0ee030c04798027dfcb50106001e0/rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130", size = 408294 }, + { url = "https://files.pythonhosted.org/packages/5f/ef/8efb3373cee54ea9d9980b772e5690a0c9e9214045a4e7fa35046e399fee/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c", size = 556345 }, + { url = "https://files.pythonhosted.org/packages/54/01/151d3b9ef4925fc8f15bfb131086c12ec3c3d6dd4a4f7589c335bf8e85ba/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b", size = 582292 }, + { url = "https://files.pythonhosted.org/packages/30/89/35fc7a6cdf3477d441c7aca5e9bbf5a14e0f25152aed7f63f4e0b141045d/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333", size = 553855 }, + { url = "https://files.pythonhosted.org/packages/8f/e0/830c02b2457c4bd20a8c5bb394d31d81f57fbefce2dbdd2e31feff4f7003/rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730", size = 219100 }, + { url = "https://files.pythonhosted.org/packages/f8/30/7ac943f69855c2db77407ae363484b915d861702dbba1aa82d68d57f42be/rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf", size = 233794 }, + { url = "https://files.pythonhosted.org/packages/8b/63/e29f8ee14fcf383574f73b6bbdcbec0fbc2e5fc36b4de44d1ac389b1de62/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d", size = 360786 }, + { url = "https://files.pythonhosted.org/packages/d3/e0/771ee28b02a24e81c8c0e645796a371350a2bb6672753144f36ae2d2afc9/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd", size = 350589 }, + { url = "https://files.pythonhosted.org/packages/cf/49/abad4c4a1e6f3adf04785a99c247bfabe55ed868133e2d1881200aa5d381/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493", size = 381848 }, + { url = "https://files.pythonhosted.org/packages/3a/7d/f4bc6d6fbe6af7a0d2b5f2ee77079efef7c8528712745659ec0026888998/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96", size = 387879 }, + { url = "https://files.pythonhosted.org/packages/13/b0/575c797377fdcd26cedbb00a3324232e4cb2c5d121f6e4b0dbf8468b12ef/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123", size = 423916 }, + { url = "https://files.pythonhosted.org/packages/54/78/87157fa39d58f32a68d3326f8a81ad8fb99f49fe2aa7ad9a1b7d544f9478/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad", size = 448410 }, + { url = "https://files.pythonhosted.org/packages/59/69/860f89996065a88be1b6ff2d60e96a02b920a262d8aadab99e7903986597/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9", size = 382841 }, + { url = "https://files.pythonhosted.org/packages/bd/d7/bc144e10d27e3cb350f98df2492a319edd3caaf52ddfe1293f37a9afbfd7/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e", size = 409662 }, + { url = "https://files.pythonhosted.org/packages/14/2a/6bed0b05233c291a94c7e89bc76ffa1c619d4e1979fbfe5d96024020c1fb/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338", size = 558221 }, + { url = "https://files.pythonhosted.org/packages/11/23/cd8f566de444a137bc1ee5795e47069a947e60810ba4152886fe5308e1b7/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566", size = 583780 }, + { url = "https://files.pythonhosted.org/packages/8d/63/79c3602afd14d501f751e615a74a59040328da5ef29ed5754ae80d236b84/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe", size = 553619 }, + { url = "https://files.pythonhosted.org/packages/9f/2e/c5c1689e80298d4e94c75b70faada4c25445739d91b94c211244a3ed7ed1/rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d", size = 233338 }, +] + +[[package]] +name = "ruff" +version = "0.9.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c0/17/529e78f49fc6f8076f50d985edd9a2cf011d1dbadb1cdeacc1d12afc1d26/ruff-0.9.4.tar.gz", hash = "sha256:6907ee3529244bb0ed066683e075f09285b38dd5b4039370df6ff06041ca19e7", size = 3599458 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b6/f8/3fafb7804d82e0699a122101b5bee5f0d6e17c3a806dcbc527bb7d3f5b7a/ruff-0.9.4-py3-none-linux_armv6l.whl", hash = "sha256:64e73d25b954f71ff100bb70f39f1ee09e880728efb4250c632ceed4e4cdf706", size = 11668400 }, + { url = "https://files.pythonhosted.org/packages/2e/a6/2efa772d335da48a70ab2c6bb41a096c8517ca43c086ea672d51079e3d1f/ruff-0.9.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:6ce6743ed64d9afab4fafeaea70d3631b4d4b28b592db21a5c2d1f0ef52934bf", size = 11628395 }, + { url = "https://files.pythonhosted.org/packages/dc/d7/cd822437561082f1c9d7225cc0d0fbb4bad117ad7ac3c41cd5d7f0fa948c/ruff-0.9.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:54499fb08408e32b57360f6f9de7157a5fec24ad79cb3f42ef2c3f3f728dfe2b", size = 11090052 }, + { url = "https://files.pythonhosted.org/packages/9e/67/3660d58e893d470abb9a13f679223368ff1684a4ef40f254a0157f51b448/ruff-0.9.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37c892540108314a6f01f105040b5106aeb829fa5fb0561d2dcaf71485021137", size = 11882221 }, + { url = "https://files.pythonhosted.org/packages/79/d1/757559995c8ba5f14dfec4459ef2dd3fcea82ac43bc4e7c7bf47484180c0/ruff-0.9.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:de9edf2ce4b9ddf43fd93e20ef635a900e25f622f87ed6e3047a664d0e8f810e", size = 11424862 }, + { url = "https://files.pythonhosted.org/packages/c0/96/7915a7c6877bb734caa6a2af424045baf6419f685632469643dbd8eb2958/ruff-0.9.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87c90c32357c74f11deb7fbb065126d91771b207bf9bfaaee01277ca59b574ec", size = 12626735 }, + { url = "https://files.pythonhosted.org/packages/0e/cc/dadb9b35473d7cb17c7ffe4737b4377aeec519a446ee8514123ff4a26091/ruff-0.9.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:56acd6c694da3695a7461cc55775f3a409c3815ac467279dfa126061d84b314b", size = 13255976 }, + { url = "https://files.pythonhosted.org/packages/5f/c3/ad2dd59d3cabbc12df308cced780f9c14367f0321e7800ca0fe52849da4c/ruff-0.9.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0c93e7d47ed951b9394cf352d6695b31498e68fd5782d6cbc282425655f687a", size = 12752262 }, + { url = "https://files.pythonhosted.org/packages/c7/17/5f1971e54bd71604da6788efd84d66d789362b1105e17e5ccc53bba0289b/ruff-0.9.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1d4c8772670aecf037d1bf7a07c39106574d143b26cfe5ed1787d2f31e800214", size = 14401648 }, + { url = "https://files.pythonhosted.org/packages/30/24/6200b13ea611b83260501b6955b764bb320e23b2b75884c60ee7d3f0b68e/ruff-0.9.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfc5f1d7afeda8d5d37660eeca6d389b142d7f2b5a1ab659d9214ebd0e025231", size = 12414702 }, + { url = "https://files.pythonhosted.org/packages/34/cb/f5d50d0c4ecdcc7670e348bd0b11878154bc4617f3fdd1e8ad5297c0d0ba/ruff-0.9.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:faa935fc00ae854d8b638c16a5f1ce881bc3f67446957dd6f2af440a5fc8526b", size = 11859608 }, + { url = "https://files.pythonhosted.org/packages/d6/f4/9c8499ae8426da48363bbb78d081b817b0f64a9305f9b7f87eab2a8fb2c1/ruff-0.9.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a6c634fc6f5a0ceae1ab3e13c58183978185d131a29c425e4eaa9f40afe1e6d6", size = 11485702 }, + { url = "https://files.pythonhosted.org/packages/18/59/30490e483e804ccaa8147dd78c52e44ff96e1c30b5a95d69a63163cdb15b/ruff-0.9.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:433dedf6ddfdec7f1ac7575ec1eb9844fa60c4c8c2f8887a070672b8d353d34c", size = 12067782 }, + { url = "https://files.pythonhosted.org/packages/3d/8c/893fa9551760b2f8eb2a351b603e96f15af167ceaf27e27ad873570bc04c/ruff-0.9.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:d612dbd0f3a919a8cc1d12037168bfa536862066808960e0cc901404b77968f0", size = 12483087 }, + { url = "https://files.pythonhosted.org/packages/23/15/f6751c07c21ca10e3f4a51ea495ca975ad936d780c347d9808bcedbd7182/ruff-0.9.4-py3-none-win32.whl", hash = "sha256:db1192ddda2200671f9ef61d9597fcef89d934f5d1705e571a93a67fb13a4402", size = 9852302 }, + { url = "https://files.pythonhosted.org/packages/12/41/2d2d2c6a72e62566f730e49254f602dfed23019c33b5b21ea8f8917315a1/ruff-0.9.4-py3-none-win_amd64.whl", hash = "sha256:05bebf4cdbe3ef75430d26c375773978950bbf4ee3c95ccb5448940dc092408e", size = 10850051 }, + { url = "https://files.pythonhosted.org/packages/c6/e6/3d6ec3bc3d254e7f005c543a661a41c3e788976d0e52a1ada195bd664344/ruff-0.9.4-py3-none-win_arm64.whl", hash = "sha256:585792f1e81509e38ac5123492f8875fbc36f3ede8185af0a26df348e5154f41", size = 10078251 }, +] + +[[package]] +name = "safehttpx" +version = "0.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "httpx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/67/4c/19db75e6405692b2a96af8f06d1258f8aa7290bdc35ac966f03e207f6d7f/safehttpx-0.1.6.tar.gz", hash = "sha256:b356bfc82cee3a24c395b94a2dbeabbed60aff1aa5fa3b5fe97c4f2456ebce42", size = 9987 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/c0/1108ad9f01567f66b3154063605b350b69c3c9366732e09e45f9fd0d1deb/safehttpx-0.1.6-py3-none-any.whl", hash = "sha256:407cff0b410b071623087c63dd2080c3b44dc076888d8c5823c00d1e58cb381c", size = 8692 }, +] + +[[package]] +name = "safetensors" +version = "0.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f4/4f/2ef9ef1766f8c194b01b67a63a444d2e557c8fe1d82faf3ebd85f370a917/safetensors-0.5.2.tar.gz", hash = "sha256:cb4a8d98ba12fa016f4241932b1fc5e702e5143f5374bba0bbcf7ddc1c4cf2b8", size = 66957 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/96/d1/017e31e75e274492a11a456a9e7c171f8f7911fe50735b4ec6ff37221220/safetensors-0.5.2-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:45b6092997ceb8aa3801693781a71a99909ab9cc776fbc3fa9322d29b1d3bef2", size = 427067 }, + { url = "https://files.pythonhosted.org/packages/24/84/e9d3ff57ae50dd0028f301c9ee064e5087fe8b00e55696677a0413c377a7/safetensors-0.5.2-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:6d0d6a8ee2215a440e1296b843edf44fd377b055ba350eaba74655a2fe2c4bae", size = 408856 }, + { url = "https://files.pythonhosted.org/packages/f1/1d/fe95f5dd73db16757b11915e8a5106337663182d0381811c81993e0014a9/safetensors-0.5.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86016d40bcaa3bcc9a56cd74d97e654b5f4f4abe42b038c71e4f00a089c4526c", size = 450088 }, + { url = "https://files.pythonhosted.org/packages/cf/21/e527961b12d5ab528c6e47b92d5f57f33563c28a972750b238b871924e49/safetensors-0.5.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:990833f70a5f9c7d3fc82c94507f03179930ff7d00941c287f73b6fcbf67f19e", size = 458966 }, + { url = "https://files.pythonhosted.org/packages/a5/8b/1a037d7a57f86837c0b41905040369aea7d8ca1ec4b2a77592372b2ec380/safetensors-0.5.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dfa7c2f3fe55db34eba90c29df94bcdac4821043fc391cb5d082d9922013869", size = 509915 }, + { url = "https://files.pythonhosted.org/packages/61/3d/03dd5cfd33839df0ee3f4581a20bd09c40246d169c0e4518f20b21d5f077/safetensors-0.5.2-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:46ff2116150ae70a4e9c490d2ab6b6e1b1b93f25e520e540abe1b81b48560c3a", size = 527664 }, + { url = "https://files.pythonhosted.org/packages/c5/dc/8952caafa9a10a3c0f40fa86bacf3190ae7f55fa5eef87415b97b29cb97f/safetensors-0.5.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ab696dfdc060caffb61dbe4066b86419107a24c804a4e373ba59be699ebd8d5", size = 461978 }, + { url = "https://files.pythonhosted.org/packages/60/da/82de1fcf1194e3dbefd4faa92dc98b33c06bed5d67890e0962dd98e18287/safetensors-0.5.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:03c937100f38c9ff4c1507abea9928a6a9b02c9c1c9c3609ed4fb2bf413d4975", size = 491253 }, + { url = "https://files.pythonhosted.org/packages/5a/9a/d90e273c25f90c3ba1b0196a972003786f04c39e302fbd6649325b1272bb/safetensors-0.5.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:a00e737948791b94dad83cf0eafc09a02c4d8c2171a239e8c8572fe04e25960e", size = 628644 }, + { url = "https://files.pythonhosted.org/packages/70/3c/acb23e05aa34b4f5edd2e7f393f8e6480fbccd10601ab42cd03a57d4ab5f/safetensors-0.5.2-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:d3a06fae62418ec8e5c635b61a8086032c9e281f16c63c3af46a6efbab33156f", size = 721648 }, + { url = "https://files.pythonhosted.org/packages/71/45/eaa3dba5253a7c6931230dc961641455710ab231f8a89cb3c4c2af70f8c8/safetensors-0.5.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:1506e4c2eda1431099cebe9abf6c76853e95d0b7a95addceaa74c6019c65d8cf", size = 659588 }, + { url = "https://files.pythonhosted.org/packages/b0/71/2f9851164f821064d43b481ddbea0149c2d676c4f4e077b178e7eeaa6660/safetensors-0.5.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5c5b5d9da594f638a259fca766046f44c97244cc7ab8bef161b3e80d04becc76", size = 632533 }, + { url = "https://files.pythonhosted.org/packages/00/f1/5680e2ef61d9c61454fad82c344f0e40b8741a9dbd1e31484f0d31a9b1c3/safetensors-0.5.2-cp38-abi3-win32.whl", hash = "sha256:fe55c039d97090d1f85277d402954dd6ad27f63034fa81985a9cc59655ac3ee2", size = 291167 }, + { url = "https://files.pythonhosted.org/packages/86/ca/aa489392ec6fb59223ffce825461e1f811a3affd417121a2088be7a5758b/safetensors-0.5.2-cp38-abi3-win_amd64.whl", hash = "sha256:78abdddd03a406646107f973c7843276e7b64e5e32623529dc17f3d94a20f589", size = 303756 }, +] + +[[package]] +name = "scikit-learn" +version = "1.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "joblib" }, + { name = "numpy" }, + { name = "scipy" }, + { name = "threadpoolctl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/a5/4ae3b3a0755f7b35a280ac90b28817d1f380318973cff14075ab41ef50d9/scikit_learn-1.6.1.tar.gz", hash = "sha256:b4fc2525eca2c69a59260f583c56a7557c6ccdf8deafdba6e060f94c1c59738e", size = 7068312 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/3a/f4597eb41049110b21ebcbb0bcb43e4035017545daa5eedcfeb45c08b9c5/scikit_learn-1.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d056391530ccd1e501056160e3c9673b4da4805eb67eb2bdf4e983e1f9c9204e", size = 12067702 }, + { url = "https://files.pythonhosted.org/packages/37/19/0423e5e1fd1c6ec5be2352ba05a537a473c1677f8188b9306097d684b327/scikit_learn-1.6.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:0c8d036eb937dbb568c6242fa598d551d88fb4399c0344d95c001980ec1c7d36", size = 11112765 }, + { url = "https://files.pythonhosted.org/packages/70/95/d5cb2297a835b0f5fc9a77042b0a2d029866379091ab8b3f52cc62277808/scikit_learn-1.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8634c4bd21a2a813e0a7e3900464e6d593162a29dd35d25bdf0103b3fce60ed5", size = 12643991 }, + { url = "https://files.pythonhosted.org/packages/b7/91/ab3c697188f224d658969f678be86b0968ccc52774c8ab4a86a07be13c25/scikit_learn-1.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:775da975a471c4f6f467725dff0ced5c7ac7bda5e9316b260225b48475279a1b", size = 13497182 }, + { url = "https://files.pythonhosted.org/packages/17/04/d5d556b6c88886c092cc989433b2bab62488e0f0dafe616a1d5c9cb0efb1/scikit_learn-1.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:8a600c31592bd7dab31e1c61b9bbd6dea1b3433e67d264d17ce1017dbdce8002", size = 11125517 }, + { url = "https://files.pythonhosted.org/packages/6c/2a/e291c29670795406a824567d1dfc91db7b699799a002fdaa452bceea8f6e/scikit_learn-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:72abc587c75234935e97d09aa4913a82f7b03ee0b74111dcc2881cba3c5a7b33", size = 12102620 }, + { url = "https://files.pythonhosted.org/packages/25/92/ee1d7a00bb6b8c55755d4984fd82608603a3cc59959245068ce32e7fb808/scikit_learn-1.6.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:b3b00cdc8f1317b5f33191df1386c0befd16625f49d979fe77a8d44cae82410d", size = 11116234 }, + { url = "https://files.pythonhosted.org/packages/30/cd/ed4399485ef364bb25f388ab438e3724e60dc218c547a407b6e90ccccaef/scikit_learn-1.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc4765af3386811c3ca21638f63b9cf5ecf66261cc4815c1db3f1e7dc7b79db2", size = 12592155 }, + { url = "https://files.pythonhosted.org/packages/a8/f3/62fc9a5a659bb58a03cdd7e258956a5824bdc9b4bb3c5d932f55880be569/scikit_learn-1.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25fc636bdaf1cc2f4a124a116312d837148b5e10872147bdaf4887926b8c03d8", size = 13497069 }, + { url = "https://files.pythonhosted.org/packages/a1/a6/c5b78606743a1f28eae8f11973de6613a5ee87366796583fb74c67d54939/scikit_learn-1.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:fa909b1a36e000a03c382aade0bd2063fd5680ff8b8e501660c0f59f021a6415", size = 11139809 }, + { url = "https://files.pythonhosted.org/packages/0a/18/c797c9b8c10380d05616db3bfb48e2a3358c767affd0857d56c2eb501caa/scikit_learn-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:926f207c804104677af4857b2c609940b743d04c4c35ce0ddc8ff4f053cddc1b", size = 12104516 }, + { url = "https://files.pythonhosted.org/packages/c4/b7/2e35f8e289ab70108f8cbb2e7a2208f0575dc704749721286519dcf35f6f/scikit_learn-1.6.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2c2cae262064e6a9b77eee1c8e768fc46aa0b8338c6a8297b9b6759720ec0ff2", size = 11167837 }, + { url = "https://files.pythonhosted.org/packages/a4/f6/ff7beaeb644bcad72bcfd5a03ff36d32ee4e53a8b29a639f11bcb65d06cd/scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1061b7c028a8663fb9a1a1baf9317b64a257fcb036dae5c8752b2abef31d136f", size = 12253728 }, + { url = "https://files.pythonhosted.org/packages/29/7a/8bce8968883e9465de20be15542f4c7e221952441727c4dad24d534c6d99/scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e69fab4ebfc9c9b580a7a80111b43d214ab06250f8a7ef590a4edf72464dd86", size = 13147700 }, + { url = "https://files.pythonhosted.org/packages/62/27/585859e72e117fe861c2079bcba35591a84f801e21bc1ab85bce6ce60305/scikit_learn-1.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:70b1d7e85b1c96383f872a519b3375f92f14731e279a7b4c6cfd650cf5dffc52", size = 11110613 }, + { url = "https://files.pythonhosted.org/packages/2e/59/8eb1872ca87009bdcdb7f3cdc679ad557b992c12f4b61f9250659e592c63/scikit_learn-1.6.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2ffa1e9e25b3d93990e74a4be2c2fc61ee5af85811562f1288d5d055880c4322", size = 12010001 }, + { url = "https://files.pythonhosted.org/packages/9d/05/f2fc4effc5b32e525408524c982c468c29d22f828834f0625c5ef3d601be/scikit_learn-1.6.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:dc5cf3d68c5a20ad6d571584c0750ec641cc46aeef1c1507be51300e6003a7e1", size = 11096360 }, + { url = "https://files.pythonhosted.org/packages/c8/e4/4195d52cf4f113573fb8ebc44ed5a81bd511a92c0228889125fac2f4c3d1/scikit_learn-1.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c06beb2e839ecc641366000ca84f3cf6fa9faa1777e29cf0c04be6e4d096a348", size = 12209004 }, + { url = "https://files.pythonhosted.org/packages/94/be/47e16cdd1e7fcf97d95b3cb08bde1abb13e627861af427a3651fcb80b517/scikit_learn-1.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8ca8cb270fee8f1f76fa9bfd5c3507d60c6438bbee5687f81042e2bb98e5a97", size = 13171776 }, + { url = "https://files.pythonhosted.org/packages/34/b0/ca92b90859070a1487827dbc672f998da95ce83edce1270fc23f96f1f61a/scikit_learn-1.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:7a1c43c8ec9fde528d664d947dc4c0789be4077a3647f232869f41d9bf50e0fb", size = 11071865 }, + { url = "https://files.pythonhosted.org/packages/12/ae/993b0fb24a356e71e9a894e42b8a9eec528d4c70217353a1cd7a48bc25d4/scikit_learn-1.6.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a17c1dea1d56dcda2fac315712f3651a1fea86565b64b48fa1bc090249cbf236", size = 11955804 }, + { url = "https://files.pythonhosted.org/packages/d6/54/32fa2ee591af44507eac86406fa6bba968d1eb22831494470d0a2e4a1eb1/scikit_learn-1.6.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6a7aa5f9908f0f28f4edaa6963c0a6183f1911e63a69aa03782f0d924c830a35", size = 11100530 }, + { url = "https://files.pythonhosted.org/packages/3f/58/55856da1adec655bdce77b502e94a267bf40a8c0b89f8622837f89503b5a/scikit_learn-1.6.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0650e730afb87402baa88afbf31c07b84c98272622aaba002559b614600ca691", size = 12433852 }, + { url = "https://files.pythonhosted.org/packages/ff/4f/c83853af13901a574f8f13b645467285a48940f185b690936bb700a50863/scikit_learn-1.6.1-cp313-cp313t-win_amd64.whl", hash = "sha256:3f59fe08dc03ea158605170eb52b22a105f238a5d512c4470ddeca71feae8e5f", size = 11337256 }, +] + +[[package]] +name = "scipy" +version = "1.14.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/62/11/4d44a1f274e002784e4dbdb81e0ea96d2de2d1045b2132d5af62cc31fd28/scipy-1.14.1.tar.gz", hash = "sha256:5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417", size = 58620554 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/68/3bc0cfaf64ff507d82b1e5d5b64521df4c8bf7e22bc0b897827cbee9872c/scipy-1.14.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:b28d2ca4add7ac16ae8bb6632a3c86e4b9e4d52d3e34267f6e1b0c1f8d87e389", size = 39069598 }, + { url = "https://files.pythonhosted.org/packages/43/a5/8d02f9c372790326ad405d94f04d4339482ec082455b9e6e288f7100513b/scipy-1.14.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d0d2821003174de06b69e58cef2316a6622b60ee613121199cb2852a873f8cf3", size = 29879676 }, + { url = "https://files.pythonhosted.org/packages/07/42/0e0bea9666fcbf2cb6ea0205db42c81b1f34d7b729ba251010edf9c80ebd/scipy-1.14.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8bddf15838ba768bb5f5083c1ea012d64c9a444e16192762bd858f1e126196d0", size = 23088696 }, + { url = "https://files.pythonhosted.org/packages/15/47/298ab6fef5ebf31b426560e978b8b8548421d4ed0bf99263e1eb44532306/scipy-1.14.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:97c5dddd5932bd2a1a31c927ba5e1463a53b87ca96b5c9bdf5dfd6096e27efc3", size = 25470699 }, + { url = "https://files.pythonhosted.org/packages/d8/df/cdb6be5274bc694c4c22862ac3438cb04f360ed9df0aecee02ce0b798380/scipy-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ff0a7e01e422c15739ecd64432743cf7aae2b03f3084288f399affcefe5222d", size = 35606631 }, + { url = "https://files.pythonhosted.org/packages/47/78/b0c2c23880dd1e99e938ad49ccfb011ae353758a2dc5ed7ee59baff684c3/scipy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e32dced201274bf96899e6491d9ba3e9a5f6b336708656466ad0522d8528f69", size = 41178528 }, + { url = "https://files.pythonhosted.org/packages/5d/aa/994b45c34b897637b853ec04334afa55a85650a0d11dacfa67232260fb0a/scipy-1.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8426251ad1e4ad903a4514712d2fa8fdd5382c978010d1c6f5f37ef286a713ad", size = 42784535 }, + { url = "https://files.pythonhosted.org/packages/e7/1c/8daa6df17a945cb1a2a1e3bae3c49643f7b3b94017ff01a4787064f03f84/scipy-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:a49f6ed96f83966f576b33a44257d869756df6cf1ef4934f59dd58b25e0327e5", size = 44772117 }, + { url = "https://files.pythonhosted.org/packages/b2/ab/070ccfabe870d9f105b04aee1e2860520460ef7ca0213172abfe871463b9/scipy-1.14.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:2da0469a4ef0ecd3693761acbdc20f2fdeafb69e6819cc081308cc978153c675", size = 39076999 }, + { url = "https://files.pythonhosted.org/packages/a7/c5/02ac82f9bb8f70818099df7e86c3ad28dae64e1347b421d8e3adf26acab6/scipy-1.14.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c0ee987efa6737242745f347835da2cc5bb9f1b42996a4d97d5c7ff7928cb6f2", size = 29894570 }, + { url = "https://files.pythonhosted.org/packages/ed/05/7f03e680cc5249c4f96c9e4e845acde08eb1aee5bc216eff8a089baa4ddb/scipy-1.14.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3a1b111fac6baec1c1d92f27e76511c9e7218f1695d61b59e05e0fe04dc59617", size = 23103567 }, + { url = "https://files.pythonhosted.org/packages/5e/fc/9f1413bef53171f379d786aabc104d4abeea48ee84c553a3e3d8c9f96a9c/scipy-1.14.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8475230e55549ab3f207bff11ebfc91c805dc3463ef62eda3ccf593254524ce8", size = 25499102 }, + { url = "https://files.pythonhosted.org/packages/c2/4b/b44bee3c2ddc316b0159b3d87a3d467ef8d7edfd525e6f7364a62cd87d90/scipy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:278266012eb69f4a720827bdd2dc54b2271c97d84255b2faaa8f161a158c3b37", size = 35586346 }, + { url = "https://files.pythonhosted.org/packages/93/6b/701776d4bd6bdd9b629c387b5140f006185bd8ddea16788a44434376b98f/scipy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fef8c87f8abfb884dac04e97824b61299880c43f4ce675dd2cbeadd3c9b466d2", size = 41165244 }, + { url = "https://files.pythonhosted.org/packages/06/57/e6aa6f55729a8f245d8a6984f2855696c5992113a5dc789065020f8be753/scipy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b05d43735bb2f07d689f56f7b474788a13ed8adc484a85aa65c0fd931cf9ccd2", size = 42817917 }, + { url = "https://files.pythonhosted.org/packages/ea/c2/5ecadc5fcccefaece775feadcd795060adf5c3b29a883bff0e678cfe89af/scipy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:716e389b694c4bb564b4fc0c51bc84d381735e0d39d3f26ec1af2556ec6aad94", size = 44781033 }, + { url = "https://files.pythonhosted.org/packages/c0/04/2bdacc8ac6387b15db6faa40295f8bd25eccf33f1f13e68a72dc3c60a99e/scipy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:631f07b3734d34aced009aaf6fedfd0eb3498a97e581c3b1e5f14a04164a456d", size = 39128781 }, + { url = "https://files.pythonhosted.org/packages/c8/53/35b4d41f5fd42f5781dbd0dd6c05d35ba8aa75c84ecddc7d44756cd8da2e/scipy-1.14.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:af29a935803cc707ab2ed7791c44288a682f9c8107bc00f0eccc4f92c08d6e07", size = 29939542 }, + { url = "https://files.pythonhosted.org/packages/66/67/6ef192e0e4d77b20cc33a01e743b00bc9e68fb83b88e06e636d2619a8767/scipy-1.14.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:2843f2d527d9eebec9a43e6b406fb7266f3af25a751aa91d62ff416f54170bc5", size = 23148375 }, + { url = "https://files.pythonhosted.org/packages/f6/32/3a6dedd51d68eb7b8e7dc7947d5d841bcb699f1bf4463639554986f4d782/scipy-1.14.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:eb58ca0abd96911932f688528977858681a59d61a7ce908ffd355957f7025cfc", size = 25578573 }, + { url = "https://files.pythonhosted.org/packages/f0/5a/efa92a58dc3a2898705f1dc9dbaf390ca7d4fba26d6ab8cfffb0c72f656f/scipy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30ac8812c1d2aab7131a79ba62933a2a76f582d5dbbc695192453dae67ad6310", size = 35319299 }, + { url = "https://files.pythonhosted.org/packages/8e/ee/8a26858ca517e9c64f84b4c7734b89bda8e63bec85c3d2f432d225bb1886/scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f9ea80f2e65bdaa0b7627fb00cbeb2daf163caa015e59b7516395fe3bd1e066", size = 40849331 }, + { url = "https://files.pythonhosted.org/packages/a5/cd/06f72bc9187840f1c99e1a8750aad4216fc7dfdd7df46e6280add14b4822/scipy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:edaf02b82cd7639db00dbff629995ef185c8df4c3ffa71a5562a595765a06ce1", size = 42544049 }, + { url = "https://files.pythonhosted.org/packages/aa/7d/43ab67228ef98c6b5dd42ab386eae2d7877036970a0d7e3dd3eb47a0d530/scipy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:2ff38e22128e6c03ff73b6bb0f85f897d2362f8c052e3b8ad00532198fbdae3f", size = 44521212 }, + { url = "https://files.pythonhosted.org/packages/50/ef/ac98346db016ff18a6ad7626a35808f37074d25796fd0234c2bb0ed1e054/scipy-1.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1729560c906963fc8389f6aac023739ff3983e727b1a4d87696b7bf108316a79", size = 39091068 }, + { url = "https://files.pythonhosted.org/packages/b9/cc/70948fe9f393b911b4251e96b55bbdeaa8cca41f37c26fd1df0232933b9e/scipy-1.14.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4079b90df244709e675cdc8b93bfd8a395d59af40b72e339c2287c91860deb8e", size = 29875417 }, + { url = "https://files.pythonhosted.org/packages/3b/2e/35f549b7d231c1c9f9639f9ef49b815d816bf54dd050da5da1c11517a218/scipy-1.14.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e0cf28db0f24a38b2a0ca33a85a54852586e43cf6fd876365c86e0657cfe7d73", size = 23084508 }, + { url = "https://files.pythonhosted.org/packages/3f/d6/b028e3f3e59fae61fb8c0f450db732c43dd1d836223a589a8be9f6377203/scipy-1.14.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0c2f95de3b04e26f5f3ad5bb05e74ba7f68b837133a4492414b3afd79dfe540e", size = 25503364 }, + { url = "https://files.pythonhosted.org/packages/a7/2f/6c142b352ac15967744d62b165537a965e95d557085db4beab2a11f7943b/scipy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b99722ea48b7ea25e8e015e8341ae74624f72e5f21fc2abd45f3a93266de4c5d", size = 35292639 }, + { url = "https://files.pythonhosted.org/packages/56/46/2449e6e51e0d7c3575f289f6acb7f828938eaab8874dbccfeb0cd2b71a27/scipy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5149e3fd2d686e42144a093b206aef01932a0059c2a33ddfa67f5f035bdfe13e", size = 40798288 }, + { url = "https://files.pythonhosted.org/packages/32/cd/9d86f7ed7f4497c9fd3e39f8918dd93d9f647ba80d7e34e4946c0c2d1a7c/scipy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4f5a7c49323533f9103d4dacf4e4f07078f360743dec7f7596949149efeec06", size = 42524647 }, + { url = "https://files.pythonhosted.org/packages/f5/1b/6ee032251bf4cdb0cc50059374e86a9f076308c1512b61c4e003e241efb7/scipy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:baff393942b550823bfce952bb62270ee17504d02a1801d7fd0719534dfb9c84", size = 44469524 }, +] + +[[package]] +name = "segments" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "clldutils" }, + { name = "csvw" }, + { name = "regex" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/a6/b678440988daa66ac151bc3ca24f2ad8dcfdb591604f5c2b83e2515b1f58/segments-2.2.1.tar.gz", hash = "sha256:515ae188f21d24e420d48ad45689edc747d961d6b52fde22e47500a8d85f2741", size = 14677 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/d4/74dba5011533e66becf35aae5cf1d726e760f445db052592bad70e75305c/segments-2.2.1-py2.py3-none-any.whl", hash = "sha256:069860ae5a499ad7bd86e23ee52250a16e61ba3474c17e515b16d494ac1423c1", size = 15039 }, +] + +[[package]] +name = "semantic-version" +version = "2.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/31/f2289ce78b9b473d582568c234e104d2a342fd658cc288a7553d83bb8595/semantic_version-2.10.0.tar.gz", hash = "sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c", size = 52289 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/23/8146aad7d88f4fcb3a6218f41a60f6c2d4e3a72de72da1825dc7c8f7877c/semantic_version-2.10.0-py2.py3-none-any.whl", hash = "sha256:de78a3b8e0feda74cabc54aab2da702113e33ac9d9eb9d2389bcf1f58b7d9177", size = 15552 }, +] + +[[package]] +name = "semchunk" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mpire", extra = ["dill"] }, + { name = "tqdm" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/39/05/05ee7522228eb6041a236fa1a7bd12bbc8b454055be77cc6ca3e542481c1/semchunk-3.0.1.tar.gz", hash = "sha256:50ff671cb1c660d666e5e5c77cdb9f0d885df693efae6a771dc5541408dc019c", size = 15742 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/73/83cde799035e76662e3ef8165f4daa32be67153b91fa57b00fbe6929ceac/semchunk-3.0.1-py3-none-any.whl", hash = "sha256:092a78d2730cbdb7fd4ee2457759bf86e88e595389cbb22601bc1efa2f3af07c", size = 12216 }, +] + +[[package]] +name = "setuptools" +version = "75.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/92/ec/089608b791d210aec4e7f97488e67ab0d33add3efccb83a056cbafe3a2a6/setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6", size = 1343222 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3", size = 1228782 }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755 }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, +] + +[[package]] +name = "smart-open" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/21/30/1f41c3d3b8cec82024b4b277bfd4e5b18b765ae7279eb9871fa25c503778/smart_open-7.1.0.tar.gz", hash = "sha256:a4f09f84f0f6d3637c6543aca7b5487438877a21360e7368ccf1f704789752ba", size = 72044 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/18/9a8d9f01957aa1f8bbc5676d54c2e33102d247e146c1a3679d3bd5cc2e3a/smart_open-7.1.0-py3-none-any.whl", hash = "sha256:4b8489bb6058196258bafe901730c7db0dcf4f083f316e97269c66f45502055b", size = 61746 }, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 } +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.13.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, + { name = "numpy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/7c/4054082696ee09397eb88947f91cd2429bb7d20db0d4e82bfeb64c234589/soundfile-0.13.0.tar.gz", hash = "sha256:e83399d8bde7d73b117c33d6a1ec8571318338f89ce72f4c3d457e9768798355", size = 45971 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d3/35/79f0e4934eba4807dfcdc5589de4733186e1d89ecc313708f1ac0e255c45/soundfile-0.13.0-py2.py3-none-any.whl", hash = "sha256:6a732002843d267267de52367cbdb16dfea6c1f4e3de5e4ddfb2bd0b9b65dddf", size = 25706 }, + { url = "https://files.pythonhosted.org/packages/8d/d4/d21a409d4002b585e755fd0301dd9bc59c243e8be8013cade60506c8730c/soundfile-0.13.0-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:c28024e59ebf2e5b12f5d77a16eb3ef1527e7580d7bbebfb5645253368391385", size = 1142204 }, + { url = "https://files.pythonhosted.org/packages/24/d9/be447d3eb12d0e0c432f3c3d9c6baa6f27be475bcfd82d4e9c4f8f7e1838/soundfile-0.13.0-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:af3d06019040dd3db0e0b173baca76db9f7d59b5750a347892f2bf7763a8083c", size = 1101360 }, + { url = "https://files.pythonhosted.org/packages/99/c8/cf31904a8c17f23fa2d31852b0cb509b5ea017783d6cbdf62d7c4ac0e631/soundfile-0.13.0-py2.py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:3adcf4b70d2c872f6cb5a1b3eeb916b90233860a7d13652652753c4e628ac9f5", size = 1235683 }, + { url = "https://files.pythonhosted.org/packages/21/2e/93c9283e6d8a95900e390d888f9f3e2ae3ce274d3a11bd79117eeb8f0879/soundfile-0.13.0-py2.py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:5f2c7d389d6cde9af49ec73f5a32a06f7397a2add3808ceb94ebff4a116e3446", size = 1313600 }, + { url = "https://files.pythonhosted.org/packages/ff/36/5b0758658194eaa4f90c126ebdbd56f6c35c9f15e1640afaaa584a476b4b/soundfile-0.13.0-py2.py3-none-win32.whl", hash = "sha256:217fd97b9a515b6b92d817c917bd7c3bc838e4ffe9b68c2a0659b70b9af1a5dd", size = 899836 }, + { url = "https://files.pythonhosted.org/packages/03/69/eda7a076709ada14a11604347ea3b80b3888101c93bbc739071d2f553df5/soundfile-0.13.0-py2.py3-none-win_amd64.whl", hash = "sha256:9fd67b1867fb7ce4a1bf1fd6600dfe9bf2af26b7ae3671719196c1d5632fa462", size = 1019114 }, +] + +[[package]] +name = "spacy" +version = "3.8.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "catalogue" }, + { name = "cymem" }, + { name = "jinja2" }, + { name = "langcodes" }, + { name = "murmurhash" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "preshed" }, + { name = "pydantic" }, + { name = "requests" }, + { name = "setuptools" }, + { name = "spacy-legacy" }, + { name = "spacy-loggers" }, + { name = "srsly" }, + { name = "thinc" }, + { name = "tqdm" }, + { name = "typer" }, + { name = "wasabi" }, + { name = "weasel" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/e8/51/c0862063e8338a2cc769e787f0448c92a87ac87abfe2987ecc84d8246f51/spacy-3.8.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bbe074f58ac21156dab821b5a145f72c2a50933098bc371ab5a63f47e8ac5fc6", size = 6611302 }, + { url = "https://files.pythonhosted.org/packages/0f/8c/9e565966f016371bff7d020eac41248085c3ebbc7b50c565d45e0f8a439c/spacy-3.8.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d0474188edcdad2be647df04cfdc4351dea877caf41bd8c93b36e3b9124794c7", size = 6306323 }, + { url = "https://files.pythonhosted.org/packages/0f/24/599a37ee61458471a1f812a4970c082f7d86089ff2ea8517ffeac0dba86d/spacy-3.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c589ba39dbd035a7205c05f6efa2b60bdd1faae0f5fc9c0d657eb903b885ac", size = 29152257 }, + { url = "https://files.pythonhosted.org/packages/5f/3d/9364f30a7e768270adf3480fe8e198f425e2c9033aa24aa12f845fdaad3c/spacy-3.8.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:17a758d53761b54c9500aca34cd27399730848dce2b74edf76a0893b5c711ed3", size = 29913582 }, + { url = "https://files.pythonhosted.org/packages/1b/b9/31e2d2a3357fbb75aa9cb2dc5ff720077c4af6962034a9a3d8ac8550bc43/spacy-3.8.4-cp310-cp310-win_amd64.whl", hash = "sha256:e34003ab0c8e447ec40f74f03b95fa018e8c81ef2fc067a2e8398edd96a6ab0a", size = 12206276 }, + { url = "https://files.pythonhosted.org/packages/4c/d9/439aed2e686b30aef877dea6181852810ae9dc2fcbc9003e9eedb543e463/spacy-3.8.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:276ef77ce197a1eb73f86e6b6f527886cfd8211f38688eb3c246e07e51f8ae22", size = 6574422 }, + { url = "https://files.pythonhosted.org/packages/90/95/0823540c856b61193cb2d0c8feb863d5130e1571c79140317004ad786612/spacy-3.8.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1080908078a78299f8924e5df6c61e9f9db2f6930ed945e91b048e9af41d58a1", size = 6265045 }, + { url = "https://files.pythonhosted.org/packages/f9/36/4f95922a22c32bd6fdda50ae5780c55b72d75ff76fd94cafa24950601330/spacy-3.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4540e4599df47e2d7525b8da1515d29da72db339ba8553b2f8d30842179806ea", size = 30570081 }, + { url = "https://files.pythonhosted.org/packages/d9/12/fc55ad34ef246f33951ecec0be86ba906830dbd443c763e90c6e19f51e1b/spacy-3.8.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e6b04dce1b52c9a890c651cc50a38349ffaf93f03740059653c124cbf2a3187d", size = 31112610 }, + { url = "https://files.pythonhosted.org/packages/ca/45/7b43e89b30fe73e32fd8b8ab80c407d326761530a88abd823ec8623772a6/spacy-3.8.4-cp311-cp311-win_amd64.whl", hash = "sha256:5837d60329d2da90008ccb24e65b03fb53d6729918ed6fda9d15868d36961c00", size = 12201808 }, + { url = "https://files.pythonhosted.org/packages/bf/0b/a610dcf958c349b361bf36ca25208db4dd25b5d82a00670161fae56970c6/spacy-3.8.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:381e482cde64a4346cd5a33e3f30881def405ad97c609620b01f694ef77f4f68", size = 6293285 }, + { url = "https://files.pythonhosted.org/packages/64/20/1db5a7384dba9e979b912dae57a8fb8ab986e3859da60ab1cb086c430dbe/spacy-3.8.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e5ef210fef16bf95cbb2db381a53089e53aac240d79a401ec67a3f900f3ca538", size = 5978267 }, + { url = "https://files.pythonhosted.org/packages/f2/cb/b565f6e04fb9b2d19c3de105dec659c6d98cba17bfd371e455c11c206040/spacy-3.8.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96e70f3089f62c661895433991d1818678aa23ecd92c78eac3190892b3840787", size = 31815281 }, + { url = "https://files.pythonhosted.org/packages/d0/e4/ede5b6741d1e180ab52efdcfede0abf81e69429c0ce5616c05a066f588da/spacy-3.8.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:10b63bd107230f214283c12b0e38c64978deb64f9fa4ed5538ec4951a019e629", size = 32106479 }, + { url = "https://files.pythonhosted.org/packages/73/94/d9a904e86021fdfa2d403a55e277c58911979aa894114abbf300ee8c1bfd/spacy-3.8.4-cp312-cp312-win_amd64.whl", hash = "sha256:3eba8fb4388f3e21e9a3af14462422ea432a8aa37327886de7603654267a1b2b", size = 11787648 }, +] + +[[package]] +name = "spacy-curated-transformers" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "curated-tokenizers" }, + { name = "curated-transformers" }, + { name = "torch", version = "2.5.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "extra == 'extra-14-kokoro-fastapi-cpu'" }, + { name = "torch", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "(extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu')" }, + { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bc/60/2e4cbad1fe1726777d7b270a056cbca8d5d20efa01db88fb1064675767c1/spacy_curated_transformers-0.3.0.tar.gz", hash = "sha256:989a6bf2aa7becd1ac8c3be5f245cd489223d4e16e7218f6b69479c7e2689937", size = 218192 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/b5/023c6565ee40ec668181f50cea518e989bd773026362022a241619223ea5/spacy_curated_transformers-0.3.0-py2.py3-none-any.whl", hash = "sha256:ddfd33e81b53ad798dac841ab022189f9543718ff874eda1081fce6ff93de377", size = 236322 }, +] + +[[package]] +name = "spacy-legacy" +version = "3.0.12" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d9/79/91f9d7cc8db5642acad830dcc4b49ba65a7790152832c4eceb305e46d681/spacy-legacy-3.0.12.tar.gz", hash = "sha256:b37d6e0c9b6e1d7ca1cf5bc7152ab64a4c4671f59c85adaf7a3fcb870357a774", size = 23806 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c3/55/12e842c70ff8828e34e543a2c7176dac4da006ca6901c9e8b43efab8bc6b/spacy_legacy-3.0.12-py2.py3-none-any.whl", hash = "sha256:476e3bd0d05f8c339ed60f40986c07387c0a71479245d6d0f4298dbd52cda55f", size = 29971 }, +] + +[[package]] +name = "spacy-loggers" +version = "1.0.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/67/3d/926db774c9c98acf66cb4ed7faf6c377746f3e00b84b700d0868b95d0712/spacy-loggers-1.0.5.tar.gz", hash = "sha256:d60b0bdbf915a60e516cc2e653baeff946f0cfc461b452d11a4d5458c6fe5f24", size = 20811 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/78/d1a1a026ef3af911159398c939b1509d5c36fe524c7b644f34a5146c4e16/spacy_loggers-1.0.5-py3-none-any.whl", hash = "sha256:196284c9c446cc0cdb944005384270d775fdeaf4f494d8e269466cfa497ef645", size = 22343 }, +] + +[[package]] +name = "sqlalchemy" +version = "2.0.27" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "greenlet", marker = "platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/fc/327f0072d1f5231d61c715ad52cb7819ec60f0ac80dc1e507bc338919caa/SQLAlchemy-2.0.27.tar.gz", hash = "sha256:86a6ed69a71fe6b88bf9331594fa390a2adda4a49b5c06f98e47bf0d392534f8", size = 9527460 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/8e/5ecf06e9e5f8f7228e9d47c15ffd4cde1df4573d3acec15949b66d4c99c2/SQLAlchemy-2.0.27-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d04e579e911562f1055d26dab1868d3e0bb905db3bccf664ee8ad109f035618a", size = 2078440 }, + { url = "https://files.pythonhosted.org/packages/ed/16/b51a2647e399f51b21a9b707b30a4286678a4259bdc24487e33de92eabf2/SQLAlchemy-2.0.27-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fa67d821c1fd268a5a87922ef4940442513b4e6c377553506b9db3b83beebbd8", size = 2070118 }, + { url = "https://files.pythonhosted.org/packages/f1/da/5ac7d5f6d6d15b88fe418a54c54548043ebf088678eae23c49be6e763d79/SQLAlchemy-2.0.27-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c7a596d0be71b7baa037f4ac10d5e057d276f65a9a611c46970f012752ebf2d", size = 3049333 }, + { url = "https://files.pythonhosted.org/packages/52/35/07882bf478515af007b7c3809fae9dbfa38f5bdd089efd31ce6abdbe66a5/SQLAlchemy-2.0.27-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:954d9735ee9c3fa74874c830d089a815b7b48df6f6b6e357a74130e478dbd951", size = 3057734 }, + { url = "https://files.pythonhosted.org/packages/d8/4a/d06e110927844219a45b94be8aafc3a40a9e91c06ebe7e7408b3d0a2b457/SQLAlchemy-2.0.27-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5cd20f58c29bbf2680039ff9f569fa6d21453fbd2fa84dbdb4092f006424c2e6", size = 3091894 }, + { url = "https://files.pythonhosted.org/packages/27/f2/a1f8d29922eb6e49e52a5fc1c534a0b01632def0f1eb5699c0bd205acc9f/SQLAlchemy-2.0.27-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:03f448ffb731b48323bda68bcc93152f751436ad6037f18a42b7e16af9e91c07", size = 3089989 }, + { url = "https://files.pythonhosted.org/packages/5a/e4/d45f2a6db3aa93bba4065f24046c61e66e35bb748ebbfe14960e35c3edd0/SQLAlchemy-2.0.27-cp310-cp310-win32.whl", hash = "sha256:d997c5938a08b5e172c30583ba6b8aad657ed9901fc24caf3a7152eeccb2f1b4", size = 2046097 }, + { url = "https://files.pythonhosted.org/packages/64/49/43ac3a25e31bae39511ec136a7f13b66c9af4dac3253e435f13f665cbf10/SQLAlchemy-2.0.27-cp310-cp310-win_amd64.whl", hash = "sha256:eb15ef40b833f5b2f19eeae65d65e191f039e71790dd565c2af2a3783f72262f", size = 2071014 }, + { url = "https://files.pythonhosted.org/packages/bf/0c/8fa87a9989b5f558630024e3576c0ecfc7035e095e620ef3c9d46f48dbbd/SQLAlchemy-2.0.27-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6c5bad7c60a392850d2f0fee8f355953abaec878c483dd7c3836e0089f046bf6", size = 2079962 }, + { url = "https://files.pythonhosted.org/packages/7e/59/1e454b001abe1ed2dede531824449efcbb15e00d75f94477f22ed5217367/SQLAlchemy-2.0.27-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a3012ab65ea42de1be81fff5fb28d6db893ef978950afc8130ba707179b4284a", size = 2071264 }, + { url = "https://files.pythonhosted.org/packages/d8/cc/10176afca37f7e7680fc14fb5fa3a9b4106e1c1eb4c6427df72ad9faee18/SQLAlchemy-2.0.27-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbcd77c4d94b23e0753c5ed8deba8c69f331d4fd83f68bfc9db58bc8983f49cd", size = 3185801 }, + { url = "https://files.pythonhosted.org/packages/47/5c/9b9503922d74325e1ed3bac4b1caef1260d08d149394801142082bc06fc1/SQLAlchemy-2.0.27-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d177b7e82f6dd5e1aebd24d9c3297c70ce09cd1d5d37b43e53f39514379c029c", size = 3185705 }, + { url = "https://files.pythonhosted.org/packages/80/92/833ab5401757fd84e57538bfe785f5e94a16e21f50b8c19aacbf33f4f4b2/SQLAlchemy-2.0.27-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:680b9a36029b30cf063698755d277885d4a0eab70a2c7c6e71aab601323cba45", size = 3191282 }, + { url = "https://files.pythonhosted.org/packages/a9/a9/4f2c2728ae9d6e64dffa1e98e8fd04e6df8370b876c1ebd8018c1ef078e0/SQLAlchemy-2.0.27-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1306102f6d9e625cebaca3d4c9c8f10588735ef877f0360b5cdb4fdfd3fd7131", size = 3185754 }, + { url = "https://files.pythonhosted.org/packages/2d/89/0434e36d6f2f1d5658081e7c451bf090181d3f7298eebe73fcc514098542/SQLAlchemy-2.0.27-cp311-cp311-win32.whl", hash = "sha256:5b78aa9f4f68212248aaf8943d84c0ff0f74efc65a661c2fc68b82d498311fd5", size = 2045609 }, + { url = "https://files.pythonhosted.org/packages/a5/82/aa4392972f83b2b2f341c7b4aad1027a5a524e8870dfc27c1d9c348064c9/SQLAlchemy-2.0.27-cp311-cp311-win_amd64.whl", hash = "sha256:15e19a84b84528f52a68143439d0c7a3a69befcd4f50b8ef9b7b69d2628ae7c4", size = 2071688 }, + { url = "https://files.pythonhosted.org/packages/3a/5b/c660c70a8ae192c532270cdf6006c06321f7710a5abff7f3a2f9df765d45/SQLAlchemy-2.0.27-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0de1263aac858f288a80b2071990f02082c51d88335a1db0d589237a3435fe71", size = 2077863 }, + { url = "https://files.pythonhosted.org/packages/b6/8f/7a6bda3ebe31b381325aaae470336c2e6777eb71bfd237b5560d5cb5a5ff/SQLAlchemy-2.0.27-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce850db091bf7d2a1f2fdb615220b968aeff3849007b1204bf6e3e50a57b3d32", size = 2070533 }, + { url = "https://files.pythonhosted.org/packages/93/f4/e280842fb340a2b0a29ba82c7638b5e3ebfd16af21bdce0c2778a6a11a54/SQLAlchemy-2.0.27-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dfc936870507da96aebb43e664ae3a71a7b96278382bcfe84d277b88e379b18", size = 3220438 }, + { url = "https://files.pythonhosted.org/packages/f2/cf/9d1de9cbc9d8b2ca454e84e741afcff39b290c908b6fddee63d2acee8ba6/SQLAlchemy-2.0.27-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4fbe6a766301f2e8a4519f4500fe74ef0a8509a59e07a4085458f26228cd7cc", size = 3230980 }, + { url = "https://files.pythonhosted.org/packages/e3/31/ea72418166c259fad91459cb7e7ce996318e5d7aab93bab593700a32bd2f/SQLAlchemy-2.0.27-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4535c49d961fe9a77392e3a630a626af5baa967172d42732b7a43496c8b28876", size = 3224568 }, + { url = "https://files.pythonhosted.org/packages/c8/f7/07acbab8509a5834f41cd1a1ac7efebb63b44205dc79d707d85e4893ada4/SQLAlchemy-2.0.27-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0fb3bffc0ced37e5aa4ac2416f56d6d858f46d4da70c09bb731a246e70bff4d5", size = 3230377 }, + { url = "https://files.pythonhosted.org/packages/43/99/ca0a8d8b989804a7a2c03b5a4d78533565c3add53617c5027e643d73b9af/SQLAlchemy-2.0.27-cp312-cp312-win32.whl", hash = "sha256:7f470327d06400a0aa7926b375b8e8c3c31d335e0884f509fe272b3c700a7254", size = 2044279 }, + { url = "https://files.pythonhosted.org/packages/00/2d/7d8f369f22bf08344a266518de9aaa82bcfe3830245df4c50f436568a0f9/SQLAlchemy-2.0.27-cp312-cp312-win_amd64.whl", hash = "sha256:f9374e270e2553653d710ece397df67db9d19c60d2647bcd35bfc616f1622dcd", size = 2070173 }, + { url = "https://files.pythonhosted.org/packages/c0/f4/891e34108412875c77eb48771a8f8e72e6655363dd0d9b9c87c82eaa4870/SQLAlchemy-2.0.27-py3-none-any.whl", hash = "sha256:1ab4e0448018d01b142c916cc7119ca573803a4745cfe341b8f95657812700ac", size = 1867012 }, +] + +[[package]] +name = "srsly" +version = "2.5.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "catalogue" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b7/e8/eb51b1349f50bac0222398af0942613fdc9d1453ae67cbe4bf9936a1a54b/srsly-2.5.1.tar.gz", hash = "sha256:ab1b4bf6cf3e29da23dae0493dd1517fb787075206512351421b89b4fc27c77e", size = 466464 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/37/08/448bcc87bb93bc19fccf70c2f0f993ac42aa41d5f44a19c60d00186aea09/srsly-2.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d0cda6f65cc0dd1daf47e856b0d6c5d51db8a9343c5007723ca06903dcfe367d", size = 636045 }, + { url = "https://files.pythonhosted.org/packages/03/8a/379dd9014e56460e71346cf512632fb8cbc89aa6dfebe31dff21c9eb37ba/srsly-2.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf643e6f45c266cfacea54997a1f9cfe0113fadac1ac21a1ec5b200cfe477ba0", size = 634425 }, + { url = "https://files.pythonhosted.org/packages/95/69/46e672941b5f4403b0e2b14918d8e1393ca48e3338e2c01e549113261cdf/srsly-2.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:467ed25ddab09ca9404fda92519a317c803b5ea0849f846e74ba8b7843557df5", size = 1085032 }, + { url = "https://files.pythonhosted.org/packages/ce/d8/1039e663b87a06d2450148ebadc07eaf6f8b7dd7f7d5e2f4221050ce6702/srsly-2.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f8113d202664b7d31025bdbe40b9d3536e8d7154d09520b6a1955818fa6d622", size = 1089469 }, + { url = "https://files.pythonhosted.org/packages/e9/62/f819ac665ecca2659343a6c79174c582fe292829f481899f05e7a7301988/srsly-2.5.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:794d39fccd2b333d24f1b445acc78daf90f3f37d3c0f6f0167f25c56961804e7", size = 1052673 }, + { url = "https://files.pythonhosted.org/packages/a8/69/321a41fe4d549b96dd010b6a77657e84eb181034f9d125e2feebcd8f2e5c/srsly-2.5.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:df7fd77457c4d6c630f700b1019a8ad173e411e7cf7cfdea70e5ed86b608083b", size = 1062650 }, + { url = "https://files.pythonhosted.org/packages/d5/b8/3dfed2db5c7ecf275aaddb775e2ae17c576b09c848873188fce91e410129/srsly-2.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:1a4dddb2edb8f7974c9aa5ec46dc687a75215b3bbdc815ce3fc9ea68fe1e94b5", size = 632267 }, + { url = "https://files.pythonhosted.org/packages/df/9c/a248bb49de499fe0990e3cb0fb341c2373d8863ef9a8b5799353cade5731/srsly-2.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58f0736794ce00a71d62a39cbba1d62ea8d5be4751df956e802d147da20ecad7", size = 635917 }, + { url = "https://files.pythonhosted.org/packages/41/47/1bdaad84502df973ecb8ca658117234cf7fb20e1dec60da71dce82de993f/srsly-2.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a8269c40859806d71920396d185f4f38dc985cdb6a28d3a326a701e29a5f629", size = 634374 }, + { url = "https://files.pythonhosted.org/packages/e5/2a/d73c71989fcf2a6d1fa518d75322aff4db01a8763f167f8c5e00aac11097/srsly-2.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:889905900401fefc1032e22b73aecbed8b4251aa363f632b2d1f86fc16f1ad8e", size = 1108390 }, + { url = "https://files.pythonhosted.org/packages/35/a3/9eda9997a8bd011caed18fdaa5ce606714eb06d8dab587ed0522b3e92ab1/srsly-2.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf454755f22589df49c25dc799d8af7b47dce3d861dded35baf0f0b6ceab4422", size = 1110712 }, + { url = "https://files.pythonhosted.org/packages/8a/ef/4b50bc05d06349f905b27f824cc23b652098efd4be19aead3af4981df647/srsly-2.5.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cc0607c8a59013a51dde5c1b4e465558728e9e0a35dcfa73c7cbefa91a0aad50", size = 1081244 }, + { url = "https://files.pythonhosted.org/packages/90/af/d4a2512d9a5048d2b18efead39d4c4404bddd4972935bbc68211292a736c/srsly-2.5.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d5421ba3ab3c790e8b41939c51a1d0f44326bfc052d7a0508860fb79a47aee7f", size = 1091692 }, + { url = "https://files.pythonhosted.org/packages/bb/da/657a685f63028dcb00ccdc4ac125ed347c8bff6fa0dab6a9eb3dc45f3223/srsly-2.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:b96ea5a9a0d0379a79c46d255464a372fb14c30f59a8bc113e4316d131a530ab", size = 632627 }, + { url = "https://files.pythonhosted.org/packages/fb/f6/bebc20d75bd02121fc0f65ad8c92a5dd2570e870005e940faa55a263e61a/srsly-2.5.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:683b54ed63d7dfee03bc2abc4b4a5f2152f81ec217bbadbac01ef1aaf2a75790", size = 636717 }, + { url = "https://files.pythonhosted.org/packages/b6/e8/9372317a4742c70b87b413335adfcdfb2bee4f88f3faba89fabb9e6abf21/srsly-2.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:459d987130e57e83ce9e160899afbeb871d975f811e6958158763dd9a8a20f23", size = 634697 }, + { url = "https://files.pythonhosted.org/packages/d5/00/c6a7b99ab27b051a27bd26fe1a8c1885225bb8980282bf9cb99f70610368/srsly-2.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:184e3c98389aab68ff04aab9095bd5f1a8e5a72cc5edcba9d733bac928f5cf9f", size = 1134655 }, + { url = "https://files.pythonhosted.org/packages/c2/e6/861459e8241ec3b78c111081bd5efa414ef85867e17c45b6882954468d6e/srsly-2.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00c2a3e4856e63b7efd47591d049aaee8e5a250e098917f50d93ea68853fab78", size = 1143544 }, + { url = "https://files.pythonhosted.org/packages/2d/85/8448fe874dd2042a4eceea5315cfff3af03ac77ff5073812071852c4e7e2/srsly-2.5.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:366b4708933cd8d6025c13c2cea3331f079c7bb5c25ec76fca392b6fc09818a0", size = 1098330 }, + { url = "https://files.pythonhosted.org/packages/ef/7e/04d0e1417da140b2ac4053a3d4fcfc86cd59bf4829f69d370bb899f74d5d/srsly-2.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c8a0b03c64eb6e150d772c5149befbadd981cc734ab13184b0561c17c8cef9b1", size = 1110670 }, + { url = "https://files.pythonhosted.org/packages/96/1a/a8cd627eaa81a91feb6ceab50155f4ceff3eef6107916cb87ef796958427/srsly-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:7952538f6bba91b9d8bf31a642ac9e8b9ccc0ccbb309feb88518bfb84bb0dc0d", size = 632598 }, + { url = "https://files.pythonhosted.org/packages/42/94/cab36845aad6e2c22ecee1178accaa365657296ff87305b805648fd41118/srsly-2.5.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84b372f7ef1604b4a5b3cee1571993931f845a5b58652ac01bcb32c52586d2a8", size = 634883 }, + { url = "https://files.pythonhosted.org/packages/67/8b/501f51f4eaee7e1fd7327764799cb0a42f5d0de042a97916d30dbff770fc/srsly-2.5.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6ac3944c112acb3347a39bfdc2ebfc9e2d4bace20fe1c0b764374ac5b83519f2", size = 632842 }, + { url = "https://files.pythonhosted.org/packages/07/be/5b8fce4829661e070a7d3e262d2e533f0e297b11b8993d57240da67d7330/srsly-2.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6118f9c4b221cde0a990d06a42c8a4845218d55b425d8550746fe790acf267e9", size = 1118516 }, + { url = "https://files.pythonhosted.org/packages/91/60/a34e97564eac352c0e916c98f44b6f566b7eb6a9fb60bcd60ffa98530762/srsly-2.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7481460110d9986781d9e4ac0f5f991f1d6839284a80ad268625f9a23f686950", size = 1127974 }, + { url = "https://files.pythonhosted.org/packages/70/a2/f642334db0cabd187fa86b8773257ee6993c6009338a6831d4804e2c5b3c/srsly-2.5.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6e57b8138082f09e35db60f99757e16652489e9e3692471d8e0c39aa95180688", size = 1086098 }, + { url = "https://files.pythonhosted.org/packages/0d/9b/be48e185c5a010e71b5135e4cdf317ff56b8ac4bc08f394bbf882ac13b05/srsly-2.5.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bab90b85a63a1fe0bbc74d373c8bb9bb0499ddfa89075e0ebe8d670f12d04691", size = 1100354 }, + { url = "https://files.pythonhosted.org/packages/3a/e2/745aeba88a8513017fbac2fd2f9f07b8a36065e51695f818541eb795ec0c/srsly-2.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:e73712be1634b5e1de6f81c273a7d47fe091ad3c79dc779c03d3416a5c117cee", size = 630634 }, +] + +[[package]] +name = "starlette" +version = "0.41.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1a/4c/9b5764bd22eec91c4039ef4c55334e9187085da2d8a2df7bd570869aae18/starlette-0.41.3.tar.gz", hash = "sha256:0e4ab3d16522a255be6b28260b938eae2482f98ce5cc934cb08dce8dc3ba5835", size = 2574159 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/96/00/2b325970b3060c7cecebab6d295afe763365822b1306a12eeab198f74323/starlette-0.41.3-py3-none-any.whl", hash = "sha256:44cedb2b7c77a9de33a8b74b2b90e9f50d11fcf25d8270ea525ad71a25374ff7", size = 73225 }, +] + +[[package]] +name = "sympy" +version = "1.13.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mpmath" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ca/99/5a5b6f19ff9f083671ddf7b9632028436167cd3d33e11015754e41b249a4/sympy-1.13.1.tar.gz", hash = "sha256:9cebf7e04ff162015ce31c9c6c9144daa34a93bd082f54fd8f12deca4f47515f", size = 7533040 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/fe/81695a1aa331a842b582453b605175f419fe8540355886031328089d840a/sympy-1.13.1-py3-none-any.whl", hash = "sha256:db36cdc64bf61b9b24578b6f7bab1ecdd2452cf008f34faa33776680c26d66f8", size = 6189177 }, +] + +[[package]] +name = "tabulate" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", size = 81090 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252 }, +] + +[[package]] +name = "thinc" +version = "8.3.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "blis" }, + { name = "catalogue" }, + { name = "confection" }, + { name = "cymem" }, + { name = "murmurhash" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "preshed" }, + { name = "pydantic" }, + { name = "setuptools" }, + { name = "srsly" }, + { name = "wasabi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b5/ff/60c9bcfe28e56c905aac8e61a838c7afe5dc3073c9beed0b63a26ace0bb7/thinc-8.3.4.tar.gz", hash = "sha256:b5925482498bbb6dca0771e375b35c915818f735891e93d93a662dab15f6ffd8", size = 193903 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/c8/13db2e346d2e199f679fc3f620da53af561ea74b43b38e5b4a0a79a12860/thinc-8.3.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:916ea79a7c7462664be9435679b7769b4fc1ecea3886db6da6118e4eb5cc8c8b", size = 843884 }, + { url = "https://files.pythonhosted.org/packages/ff/32/c25d68b5030f91c8506dfbba706f24b1cd1d0d4950cb0e3de17d176a5411/thinc-8.3.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6c985ce9cf82a611f4f348c721372d073537ca0e8b7bbb8bd865c1598ddd79d1", size = 779384 }, + { url = "https://files.pythonhosted.org/packages/5d/5f/8a88959191f8c9f7eed61a7efec45f0222720c6318c09f9a058609810128/thinc-8.3.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fff4b30f8513832d13a31486e9074a7020de3d48f8a3d1527e369c242d6ebe9", size = 3673814 }, + { url = "https://files.pythonhosted.org/packages/6f/4f/ea998b85cece6c2441a2416c795476776a5c11f7f2c7fb478a00d407d7f6/thinc-8.3.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a9ee46d19b9f4cac13a5539f97978c857338a31e4bf8d9b3a7741dcbc792220f", size = 4685083 }, + { url = "https://files.pythonhosted.org/packages/0b/d0/295add6fcac8b633877a3a8d4b323e8cac4f4078f4f48910deb8c29666cb/thinc-8.3.4-cp310-cp310-win_amd64.whl", hash = "sha256:d08529d53f8652e15e4f3c0f6953e73f85cc71d3b6e4750d2d9ace23616dbe8f", size = 1492082 }, + { url = "https://files.pythonhosted.org/packages/85/47/68187c78a04cdc31cbd3ae393068f994b60476b5ecac6dfe7d04b124aacf/thinc-8.3.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a8bb4b47358a1855803b375f4432cefdf373f46ef249b554418d2e77c7323040", size = 839320 }, + { url = "https://files.pythonhosted.org/packages/49/ea/066dd415e61fcef20083bbca41c2c02e640fea71326531f2619708efee1e/thinc-8.3.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:00ed92f9a34b9794f51fcd48467c863f4eb7c5b41559aef6ef3c980c21378fec", size = 774196 }, + { url = "https://files.pythonhosted.org/packages/8c/68/36c1a92a374891e0d496677c59f5f9fdc1e57bbb214c487bb8bb3e9290c2/thinc-8.3.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85691fca84a6a1506f7ddbd2c1706a5524d56f65582e76b2e260a06d9e83e86d", size = 3922504 }, + { url = "https://files.pythonhosted.org/packages/ec/8a/48e463240a586e91f83c87660986e520aa91fbd839f6631ee9bc0fbb3cbd/thinc-8.3.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:eae1573fc19e514defc1bfd4f93f0b4bfc1dcefdb6d70bad1863825747f24800", size = 4932946 }, + { url = "https://files.pythonhosted.org/packages/d9/98/f910b8d8113ab9b955a68e9bbf0d5bd0e828f22dd6d3c226af6ec3970817/thinc-8.3.4-cp311-cp311-win_amd64.whl", hash = "sha256:81e8638f9bdc38e366674acc4b63cf7c6267266a15477963a5db21b3d9f1aa36", size = 1490133 }, + { url = "https://files.pythonhosted.org/packages/90/ff/d1b5d7e1a7f95581e9a736f50a5a9aff72327ddbbc629a68070c36acefd9/thinc-8.3.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c9da6375b106df5186bd2bfd1273bc923c01ab7d482f8942e4ee528a28965c3a", size = 825099 }, + { url = "https://files.pythonhosted.org/packages/ce/0b/d207c917886dc40671361de0880ec3ea0443a718aae9dbb0a50ac0849f92/thinc-8.3.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:07091c6b5faace50857c4cf0982204969d77388d0a6f156dd2442297dceeb838", size = 761024 }, + { url = "https://files.pythonhosted.org/packages/4b/a3/3ec5e9d7cbebc3257b8223a3d188216b91ab6ec1e66b6fdd99d22394bc62/thinc-8.3.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd40ad71bcd8b1b9daa0462e1255b1c1e86e901c2fd773966601f44a95878032", size = 3710390 }, + { url = "https://files.pythonhosted.org/packages/40/ee/955c74e4e6ff2f694c99dcbbf7be8d478a8868503aeb3474517277c07667/thinc-8.3.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eb10823b3a3f1c6440998b11bf9a3571dd859feaed0fdb510a1c1097d9dc6a86", size = 4731524 }, + { url = "https://files.pythonhosted.org/packages/a4/44/3786431e5c1eeebed3d7a4c97122896ca6d4a502b03d02c2171c417052fd/thinc-8.3.4-cp312-cp312-win_amd64.whl", hash = "sha256:b5e5e7bf5dae142fd50ed9785971292c4aab4d9ed18e4947653b6a0584d5227c", size = 1455883 }, +] + +[[package]] +name = "threadpoolctl" +version = "3.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/55/b5148dcbf72f5cde221f8bfe3b6a540da7aa1842f6b491ad979a6c8b84af/threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107", size = 41936 } +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/c9/ba/a35fad753bbca8ba0cc1b0f3402a70256a110ced7ac332cf84ba89fc87ab/tiktoken-0.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b07e33283463089c81ef1467180e3e00ab00d46c2c4bbcef0acab5f771d6695e", size = 1039905 }, + { url = "https://files.pythonhosted.org/packages/91/05/13dab8fd7460391c387b3e69e14bf1e51ff71fe0a202cd2933cc3ea93fb6/tiktoken-0.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9269348cb650726f44dd3bbb3f9110ac19a8dcc8f54949ad3ef652ca22a38e21", size = 982417 }, + { url = "https://files.pythonhosted.org/packages/e9/98/18ec4a8351a6cf4537e40cd6e19a422c10cce1ef00a2fcb716e0a96af58b/tiktoken-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e13f37bc4ef2d012731e93e0fef21dc3b7aea5bb9009618de9a4026844e560", size = 1144915 }, + { url = "https://files.pythonhosted.org/packages/2e/28/cf3633018cbcc6deb7805b700ccd6085c9a5a7f72b38974ee0bffd56d311/tiktoken-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f13d13c981511331eac0d01a59b5df7c0d4060a8be1e378672822213da51e0a2", size = 1177221 }, + { url = "https://files.pythonhosted.org/packages/57/81/8a5be305cbd39d4e83a794f9e80c7f2c84b524587b7feb27c797b2046d51/tiktoken-0.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6b2ddbc79a22621ce8b1166afa9f9a888a664a579350dc7c09346a3b5de837d9", size = 1237398 }, + { url = "https://files.pythonhosted.org/packages/dc/da/8d1cc3089a83f5cf11c2e489332752981435280285231924557350523a59/tiktoken-0.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:d8c2d0e5ba6453a290b86cd65fc51fedf247e1ba170191715b049dac1f628005", size = 884215 }, + { 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 = "tokenizers" +version = "0.21.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "huggingface-hub" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/20/41/c2be10975ca37f6ec40d7abd7e98a5213bb04f284b869c1a24e6504fd94d/tokenizers-0.21.0.tar.gz", hash = "sha256:ee0894bf311b75b0c03079f33859ae4b2334d675d4e93f5a4132e1eae2834fe4", size = 343021 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/5c/8b09607b37e996dc47e70d6a7b6f4bdd4e4d5ab22fe49d7374565c7fefaf/tokenizers-0.21.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:3c4c93eae637e7d2aaae3d376f06085164e1660f89304c0ab2b1d08a406636b2", size = 2647461 }, + { url = "https://files.pythonhosted.org/packages/22/7a/88e58bb297c22633ed1c9d16029316e5b5ac5ee44012164c2edede599a5e/tokenizers-0.21.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:f53ea537c925422a2e0e92a24cce96f6bc5046bbef24a1652a5edc8ba975f62e", size = 2563639 }, + { url = "https://files.pythonhosted.org/packages/f7/14/83429177c19364df27d22bc096d4c2e431e0ba43e56c525434f1f9b0fd00/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b177fb54c4702ef611de0c069d9169f0004233890e0c4c5bd5508ae05abf193", size = 2903304 }, + { url = "https://files.pythonhosted.org/packages/7e/db/3433eab42347e0dc5452d8fcc8da03f638c9accffefe5a7c78146666964a/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6b43779a269f4629bebb114e19c3fca0223296ae9fea8bb9a7a6c6fb0657ff8e", size = 2804378 }, + { url = "https://files.pythonhosted.org/packages/57/8b/7da5e6f89736c2ade02816b4733983fca1c226b0c42980b1ae9dc8fcf5cc/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9aeb255802be90acfd363626753fda0064a8df06031012fe7d52fd9a905eb00e", size = 3095488 }, + { url = "https://files.pythonhosted.org/packages/4d/f6/5ed6711093dc2c04a4e03f6461798b12669bc5a17c8be7cce1240e0b5ce8/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8b09dbeb7a8d73ee204a70f94fc06ea0f17dcf0844f16102b9f414f0b7463ba", size = 3121410 }, + { url = "https://files.pythonhosted.org/packages/81/42/07600892d48950c5e80505b81411044a2d969368cdc0d929b1c847bf6697/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:400832c0904f77ce87c40f1a8a27493071282f785724ae62144324f171377273", size = 3388821 }, + { url = "https://files.pythonhosted.org/packages/22/06/69d7ce374747edaf1695a4f61b83570d91cc8bbfc51ccfecf76f56ab4aac/tokenizers-0.21.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e84ca973b3a96894d1707e189c14a774b701596d579ffc7e69debfc036a61a04", size = 3008868 }, + { url = "https://files.pythonhosted.org/packages/c8/69/54a0aee4d576045b49a0eb8bffdc495634309c823bf886042e6f46b80058/tokenizers-0.21.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:eb7202d231b273c34ec67767378cd04c767e967fda12d4a9e36208a34e2f137e", size = 8975831 }, + { url = "https://files.pythonhosted.org/packages/f7/f3/b776061e4f3ebf2905ba1a25d90380aafd10c02d406437a8ba22d1724d76/tokenizers-0.21.0-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:089d56db6782a73a27fd8abf3ba21779f5b85d4a9f35e3b493c7bbcbbf0d539b", size = 8920746 }, + { url = "https://files.pythonhosted.org/packages/d8/ee/ce83d5ec8b6844ad4c3ecfe3333d58ecc1adc61f0878b323a15355bcab24/tokenizers-0.21.0-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:c87ca3dc48b9b1222d984b6b7490355a6fdb411a2d810f6f05977258400ddb74", size = 9161814 }, + { url = "https://files.pythonhosted.org/packages/18/07/3e88e65c0ed28fa93aa0c4d264988428eef3df2764c3126dc83e243cb36f/tokenizers-0.21.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4145505a973116f91bc3ac45988a92e618a6f83eb458f49ea0790df94ee243ff", size = 9357138 }, + { url = "https://files.pythonhosted.org/packages/15/b0/dc4572ca61555fc482ebc933f26cb407c6aceb3dc19c301c68184f8cad03/tokenizers-0.21.0-cp39-abi3-win32.whl", hash = "sha256:eb1702c2f27d25d9dd5b389cc1f2f51813e99f8ca30d9e25348db6585a97e24a", size = 2202266 }, + { url = "https://files.pythonhosted.org/packages/44/69/d21eb253fa91622da25585d362a874fa4710be600f0ea9446d8d0217cec1/tokenizers-0.21.0-cp39-abi3-win_amd64.whl", hash = "sha256:87841da5a25a3a5f70c102de371db120f41873b854ba65e52bccd57df5a3780c", size = 2389192 }, +] + +[[package]] +name = "tomli" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077 }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429 }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067 }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030 }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898 }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894 }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319 }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273 }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762 }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453 }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486 }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349 }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159 }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243 }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645 }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584 }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708 }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582 }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 }, +] + +[[package]] +name = "tomlkit" +version = "0.13.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b1/09/a439bec5888f00a54b8b9f05fa94d7f901d6735ef4e55dcec9bc37b5d8fa/tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79", size = 192885 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/b6/a447b5e4ec71e13871be01ba81f5dfc9d0af7e473da256ff46bc0e24026f/tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde", size = 37955 }, +] + +[[package]] +name = "torch" +version = "2.5.1" +source = { registry = "https://download.pytorch.org/whl/cpu" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform == 'darwin')", + "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform == 'darwin')", + "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform == 'darwin')", + "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'darwin')", +] +dependencies = [ + { name = "filelock", marker = "extra == 'extra-14-kokoro-fastapi-cpu'" }, + { name = "fsspec", marker = "extra == 'extra-14-kokoro-fastapi-cpu'" }, + { name = "jinja2", marker = "extra == 'extra-14-kokoro-fastapi-cpu'" }, + { name = "networkx", marker = "extra == 'extra-14-kokoro-fastapi-cpu'" }, + { name = "nvidia-cublas-cu12", version = "12.4.5.8", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cuda-cupti-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cuda-nvrtc-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cuda-runtime-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cudnn-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cufft-cu12", version = "11.2.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-curand-cu12", version = "10.3.5.147", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cusolver-cu12", version = "11.6.1.9", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cusparse-cu12", version = "12.3.1.170", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-nccl-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-nvjitlink-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-nvtx-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-cpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "setuptools", marker = "(python_full_version >= '3.12' and extra == 'extra-14-kokoro-fastapi-cpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "sympy", marker = "extra == 'extra-14-kokoro-fastapi-cpu'" }, + { name = "typing-extensions", marker = "extra == 'extra-14-kokoro-fastapi-cpu'" }, +] +wheels = [ + { url = "https://download.pytorch.org/whl/cpu/torch-2.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:269b10c34430aa8e9643dbe035dc525c4a9b1d671cd3dbc8ecbcaed280ae322d" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.5.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:23d062bf70776a3d04dbe74db950db2a5245e1ba4f27208a87f0d743b0d06e86" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5b3203f191bc40783c99488d2e776dcf93ac431a59491d627a1ca5b3ae20b22" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.5.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:31f8c39660962f9ae4eeec995e3049b5492eb7360dd4f07377658ef4d728fa4c" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36d1be99281b6f602d9639bd0af3ee0006e7aab16f6718d86f709d395b6f262c" }, + { url = "https://download.pytorch.org/whl/cpu/torch-2.5.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:8c712df61101964eb11910a846514011f0b6f5920c55dbf567bff8a34163d5b1" }, +] + +[[package]] +name = "torch" +version = "2.5.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform == 'darwin')", + "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform == 'darwin')", + "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform == 'darwin')", + "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'darwin')", +] +dependencies = [ + { name = "filelock", marker = "(extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu')" }, + { name = "fsspec", marker = "(extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu')" }, + { name = "jinja2", marker = "(extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu')" }, + { name = "networkx", marker = "(extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cublas-cu12", version = "12.4.5.8", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cuda-cupti-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cuda-nvrtc-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cuda-runtime-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cudnn-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cufft-cu12", version = "11.2.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-curand-cu12", version = "10.3.5.147", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cusolver-cu12", version = "11.6.1.9", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cusparse-cu12", version = "12.3.1.170", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-nccl-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-nvjitlink-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-nvtx-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "setuptools", marker = "(python_full_version >= '3.12' and extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "sympy", marker = "(extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu')" }, + { name = "typing-extensions", marker = "(extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (extra != 'extra-14-kokoro-fastapi-cpu' and extra != 'extra-14-kokoro-fastapi-gpu')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/ef/834af4a885b31a0b32fff2d80e1e40f771e1566ea8ded55347502440786a/torch-2.5.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:71328e1bbe39d213b8721678f9dcac30dfc452a46d586f1d514a6aa0a99d4744", size = 906446312 }, + { url = "https://files.pythonhosted.org/packages/69/f0/46e74e0d145f43fa506cb336eaefb2d240547e4ce1f496e442711093ab25/torch-2.5.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:34bfa1a852e5714cbfa17f27c49d8ce35e1b7af5608c4bc6e81392c352dbc601", size = 91919522 }, + { url = "https://files.pythonhosted.org/packages/a5/13/1eb674c8efbd04d71e4a157ceba991904f633e009a584dd65dccbafbb648/torch-2.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:32a037bd98a241df6c93e4c789b683335da76a2ac142c0973675b715102dc5fa", size = 203088048 }, + { url = "https://files.pythonhosted.org/packages/a9/9d/e0860474ee0ff8f6ef2c50ec8f71a250f38d78a9b9df9fd241ad3397a65b/torch-2.5.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:23d062bf70776a3d04dbe74db950db2a5245e1ba4f27208a87f0d743b0d06e86", size = 63877046 }, + { url = "https://files.pythonhosted.org/packages/d1/35/e8b2daf02ce933e4518e6f5682c72fd0ed66c15910ea1fb4168f442b71c4/torch-2.5.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:de5b7d6740c4b636ef4db92be922f0edc425b65ed78c5076c43c42d362a45457", size = 906474467 }, + { url = "https://files.pythonhosted.org/packages/40/04/bd91593a4ca178ece93ca55f27e2783aa524aaccbfda66831d59a054c31e/torch-2.5.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:340ce0432cad0d37f5a31be666896e16788f1adf8ad7be481196b503dad675b9", size = 91919450 }, + { url = "https://files.pythonhosted.org/packages/0d/4a/e51420d46cfc90562e85af2fee912237c662ab31140ab179e49bd69401d6/torch-2.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:603c52d2fe06433c18b747d25f5c333f9c1d58615620578c326d66f258686f9a", size = 203098237 }, + { url = "https://files.pythonhosted.org/packages/d0/db/5d9cbfbc7968d79c5c09a0bc0bc3735da079f2fd07cc10498a62b320a480/torch-2.5.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:31f8c39660962f9ae4eeec995e3049b5492eb7360dd4f07377658ef4d728fa4c", size = 63884466 }, + { url = "https://files.pythonhosted.org/packages/8b/5c/36c114d120bfe10f9323ed35061bc5878cc74f3f594003854b0ea298942f/torch-2.5.1-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:ed231a4b3a5952177fafb661213d690a72caaad97d5824dd4fc17ab9e15cec03", size = 906389343 }, + { url = "https://files.pythonhosted.org/packages/6d/69/d8ada8b6e0a4257556d5b4ddeb4345ea8eeaaef3c98b60d1cca197c7ad8e/torch-2.5.1-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:3f4b7f10a247e0dcd7ea97dc2d3bfbfc90302ed36d7f3952b0008d0df264e697", size = 91811673 }, + { url = "https://files.pythonhosted.org/packages/5f/ba/607d013b55b9fd805db2a5c2662ec7551f1910b4eef39653eeaba182c5b2/torch-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:73e58e78f7d220917c5dbfad1a40e09df9929d3b95d25e57d9f8558f84c9a11c", size = 203046841 }, + { url = "https://files.pythonhosted.org/packages/57/6c/bf52ff061da33deb9f94f4121fde7ff3058812cb7d2036c97bc167793bd1/torch-2.5.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:8c712df61101964eb11910a846514011f0b6f5920c55dbf567bff8a34163d5b1", size = 63858109 }, + { url = "https://files.pythonhosted.org/packages/69/72/20cb30f3b39a9face296491a86adb6ff8f1a47a897e4d14667e6cf89d5c3/torch-2.5.1-cp313-cp313-manylinux1_x86_64.whl", hash = "sha256:9b61edf3b4f6e3b0e0adda8b3960266b9009d02b37555971f4d1c8f7a05afed7", size = 906393265 }, +] + +[[package]] +name = "torch" +version = "2.5.1+cu121" +source = { registry = "https://download.pytorch.org/whl/cu121" } +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version == '3.12.*'", + "python_full_version == '3.11.*'", + "python_full_version < '3.11'", + "(python_full_version >= '3.13' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.12.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux')", + "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version >= '3.13' and sys_platform == 'darwin')", + "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and sys_platform == 'darwin')", + "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and sys_platform == 'darwin')", + "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'darwin')", +] +dependencies = [ + { name = "filelock", marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, + { name = "fsspec", marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, + { name = "jinja2", marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, + { name = "networkx", marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, + { name = "nvidia-cublas-cu12", version = "12.1.3.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cuda-cupti-cu12", version = "12.1.105", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cuda-nvrtc-cu12", version = "12.1.105", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cuda-runtime-cu12", version = "12.1.105", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cudnn-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cufft-cu12", version = "11.0.2.54", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-curand-cu12", version = "10.3.2.106", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cusolver-cu12", version = "11.4.5.107", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-cusparse-cu12", version = "12.1.0.106", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-nccl-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "nvidia-nvtx-cu12", version = "12.1.105", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "setuptools", marker = "(python_full_version >= '3.12' and extra == 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "sympy", marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, + { name = "triton", marker = "(python_full_version < '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-14-kokoro-fastapi-gpu') or (python_full_version >= '3.13' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (platform_machine != 'x86_64' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu') or (sys_platform != 'linux' and extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, + { name = "typing-extensions", marker = "extra == 'extra-14-kokoro-fastapi-gpu'" }, +] +wheels = [ + { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp310-cp310-linux_x86_64.whl", hash = "sha256:92af92c569de5da937dd1afb45ecfdd598ec1254cf2e49e3d698cb24d71aae14" }, + { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp310-cp310-win_amd64.whl", hash = "sha256:9b22d6d98aa56f9317902dec0e066814a6edba1aada90110ceea2bb0678df22f" }, + { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp311-cp311-linux_x86_64.whl", hash = "sha256:c8ab8c92eab928a93c483f83ca8c63f13dafc10fc93ad90ed2dcb7c82ea50410" }, + { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp311-cp311-win_amd64.whl", hash = "sha256:4bcee18f00c43c815efad8efaa3bca584ffdc8d2cd35ef4c44c814f2739d9191" }, + { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp312-cp312-linux_x86_64.whl", hash = "sha256:222be02548c2e74a21a8fbc8e5b8d2eef9f9faee865d70385d2eb1b9aabcbc76" }, + { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp312-cp312-win_amd64.whl", hash = "sha256:473d76257636c66b22cbfac6f616d6b522ef3d3473c13decb1afda22a7b059eb" }, + { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp313-cp313-linux_x86_64.whl", hash = "sha256:1bfe18b79b0ff9be9383257a66c3f84621ce5f384f02c0a7c79503583d6ffd4b" }, +] + +[[package]] +name = "tqdm" +version = "4.67.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 }, +] + +[[package]] +name = "transformers" +version = "4.47.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock" }, + { name = "huggingface-hub" }, + { name = "numpy" }, + { name = "packaging" }, + { name = "pyyaml" }, + { name = "regex" }, + { name = "requests" }, + { name = "safetensors" }, + { name = "tokenizers" }, + { name = "tqdm" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/15/1a/936aeb4f88112f670b604f5748034568dbc2b9bbb457a8d4518b1a15510a/transformers-4.47.1.tar.gz", hash = "sha256:6c29c05a5f595e278481166539202bf8641281536df1c42357ee58a45d0a564a", size = 8707421 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f2/3a/8bdab26e09c5a242182b7ba9152e216d5ab4ae2d78c4298eb4872549cd35/transformers-4.47.1-py3-none-any.whl", hash = "sha256:d2f5d19bb6283cd66c893ec7e6d931d6370bbf1cc93633326ff1f41a40046c9c", size = 10133598 }, +] + +[[package]] +name = "triton" +version = "3.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock", marker = "(python_full_version < '3.13' and extra == 'extra-14-kokoro-fastapi-gpu') or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/29/69aa56dc0b2eb2602b553881e34243475ea2afd9699be042316842788ff5/triton-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b0dd10a925263abbe9fa37dcde67a5e9b2383fc269fdf59f5657cac38c5d1d8", size = 209460013 }, + { url = "https://files.pythonhosted.org/packages/86/17/d9a5cf4fcf46291856d1e90762e36cbabd2a56c7265da0d1d9508c8e3943/triton-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f34f6e7885d1bf0eaaf7ba875a5f0ce6f3c13ba98f9503651c1e6dc6757ed5c", size = 209506424 }, + { url = "https://files.pythonhosted.org/packages/78/eb/65f5ba83c2a123f6498a3097746607e5b2f16add29e36765305e4ac7fdd8/triton-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8182f42fd8080a7d39d666814fa36c5e30cc00ea7eeeb1a2983dbb4c99a0fdc", size = 209551444 }, +] + +[[package]] +name = "typer" +version = "0.15.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "rich" }, + { name = "shellingham" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cb/ce/dca7b219718afd37a0068f4f2530a727c2b74a8b6e8e0c0080a4c0de4fcd/typer-0.15.1.tar.gz", hash = "sha256:a0588c0a7fa68a1978a069818657778f86abe6ff5ea6abf472f940a08bfe4f0a", size = 99789 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/cc/0a838ba5ca64dc832aa43f727bd586309846b0ffb2ce52422543e6075e8a/typer-0.15.1-py3-none-any.whl", hash = "sha256:7994fb7b8155b64d3402518560648446072864beefd44aa2dc36972a5972e847", size = 44908 }, +] + +[[package]] +name = "typing-extensions" +version = "4.12.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, +] + +[[package]] +name = "tzdata" +version = "2025.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/0f/fa4723f22942480be4ca9527bbde8d43f6c3f2fe8412f00e7f5f6746bc8b/tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", size = 194950 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639", size = 346762 }, +] + +[[package]] +name = "underthesea" +version = "6.8.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "joblib" }, + { name = "nltk" }, + { name = "python-crfsuite" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "scikit-learn" }, + { name = "tqdm" }, + { name = "underthesea-core" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/ce/9e596f59a66ef07f9cfb841fac6296c7090f7f8477a496d579f6790bb2af/underthesea-6.8.4.tar.gz", hash = "sha256:ed14b82c7acfc1b11e025494fe941dac572b588ae92e3bc5d9ac909f0b3954c8", size = 21434162 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/17/8c9b8faa546fc0b1d2c2d95bc3539422946c3614f14db91272b219307c9f/underthesea-6.8.4-py3-none-any.whl", hash = "sha256:ddc1387f99320e4a2bbee2bfd34d7cd39fad54802b6752941cbc47d8e79ee9c7", size = 20914512 }, +] + +[[package]] +name = "underthesea-core" +version = "1.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/7f/8d136185263619e25473af7584bb224918a3546975afeb375b87b3bcae20/underthesea_core-1.0.4.tar.gz", hash = "sha256:fea9ddfe7445f6bb5c018407ba37aabd46043fb754f2d36088aab8a2c542f5ae", size = 560412 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/be/a82e92467d34bb1e0b0a02fb8b4e9a8d8f5e3d34e19dedea5606fabd1deb/underthesea_core-1.0.4-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:e97315f04eb12b80b7c8f80671e9c98c704eb687e95ed1435549b74f34e4490e", size = 601635 }, + { url = "https://files.pythonhosted.org/packages/71/83/f91cc745aa79cbab0929af600f8150be9542321922d04df2aea5410a0f9e/underthesea_core-1.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:606b59ccfa0ad276d34585186d9ec0f631afc2dacc52bf50521a7f01659438dd", size = 574597 }, + { url = "https://files.pythonhosted.org/packages/3c/7e/b5af0cc8c567e0fc545a897850d8c216df2c2d02f30a52cbe60da252ce92/underthesea_core-1.0.4-cp310-cp310-manylinux2010_x86_64.whl", hash = "sha256:e8ea95a441930548a2f83c744da2b24abe24a101b74dfa3086039aeec52988dd", size = 657832 }, + { url = "https://files.pythonhosted.org/packages/c3/49/1f7fbde97f7d7501e712a74b5a44b970a0997e6301b5d65cad8e27d0374b/underthesea_core-1.0.4-cp310-none-win_amd64.whl", hash = "sha256:d3ace5f20d82178cc2163bb41a97aa9477dec87b7a3623f2d6854e0baae3ac16", size = 552994 }, + { url = "https://files.pythonhosted.org/packages/24/28/1caf305355f7ac8e0a0c448889a6171a58fa8a2620e90627e6243e01b1e4/underthesea_core-1.0.4-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:1b48ee5ec32e23859ab8880bd692b75fc7e3686a438ad96dd8fe5ee7de1da06b", size = 601634 }, + { url = "https://files.pythonhosted.org/packages/b9/8a/6e5ca86b2485e53fe64f06e0249b0c822aa1d9b5c4077dca6960ee2806ce/underthesea_core-1.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f0e07d58d559714a0c109cdbe317e56d993c14367f107bb5f89260bb0f88f2f7", size = 574598 }, + { url = "https://files.pythonhosted.org/packages/e1/9d/095b76972ad94fdeee12f9833f03f4bc5cbe0795f9ef3d0b8e000e450b35/underthesea_core-1.0.4-cp311-cp311-manylinux2010_x86_64.whl", hash = "sha256:a42c7638eff24b01e03c15a96011f96a32ed917d6275faf5bcee911ee8acd051", size = 657832 }, + { url = "https://files.pythonhosted.org/packages/03/9c/d77c20ca57b9d053047b31f0c5924318552fa21c2798757b925670552ebd/underthesea_core-1.0.4-cp311-none-win_amd64.whl", hash = "sha256:744d9e4009e76bf5a955b5445a4f7e04cdd0d74976f51c3120b29327a24edc1d", size = 552991 }, +] + +[[package]] +name = "unidic-lite" +version = "1.0.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/55/2b/8cf7514cb57d028abcef625afa847d60ff1ffbf0049c36b78faa7c35046f/unidic-lite-1.0.8.tar.gz", hash = "sha256:db9d4572d9fdd4d00a97949d4b0741ec480ee05a7e7e2e32f547500dae27b245", size = 47356746 } + +[[package]] +name = "uritemplate" +version = "4.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d2/5a/4742fdba39cd02a56226815abfa72fe0aa81c33bed16ed045647d6000eba/uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0", size = 273898 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c0/7461b49cd25aeece13766f02ee576d1db528f1c37ce69aee300e075b485b/uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e", size = 10356 }, +] + +[[package]] +name = "urllib3" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369 }, +] + +[[package]] +name = "uvicorn" +version = "0.34.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, + { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4b/4d/938bd85e5bf2edeec766267a5015ad969730bb91e31b44021dfe8b22df6c/uvicorn-0.34.0.tar.gz", hash = "sha256:404051050cd7e905de2c9a7e61790943440b3416f49cb409f965d9dcd0fa73e9", size = 76568 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/14/33a3a1352cfa71812a3a21e8c9bfb83f60b0011f5e36f2b1399d51928209/uvicorn-0.34.0-py3-none-any.whl", hash = "sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4", size = 62315 }, +] + +[[package]] +name = "wasabi" +version = "1.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'extra-14-kokoro-fastapi-cpu' and extra == 'extra-14-kokoro-fastapi-gpu')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/f9/054e6e2f1071e963b5e746b48d1e3727470b2a490834d18ad92364929db3/wasabi-1.1.3.tar.gz", hash = "sha256:4bb3008f003809db0c3e28b4daf20906ea871a2bb43f9914197d540f4f2e0878", size = 30391 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/06/7c/34330a89da55610daa5f245ddce5aab81244321101614751e7537f125133/wasabi-1.1.3-py3-none-any.whl", hash = "sha256:f76e16e8f7e79f8c4c8be49b4024ac725713ab10cd7f19350ad18a8e3f71728c", size = 27880 }, +] + +[[package]] +name = "weasel" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cloudpathlib" }, + { name = "confection" }, + { name = "packaging" }, + { name = "pydantic" }, + { name = "requests" }, + { name = "smart-open" }, + { name = "srsly" }, + { name = "typer" }, + { name = "wasabi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a7/1a/9c522dd61b52939c217925d3e55c95f9348b73a66a956f52608e1e59a2c0/weasel-0.4.1.tar.gz", hash = "sha256:aabc210f072e13f6744e5c3a28037f93702433405cd35673f7c6279147085aa9", size = 38417 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/87/abd57374044e1f627f0a905ac33c1a7daab35a3a815abfea4e1bafd3fdb1/weasel-0.4.1-py3-none-any.whl", hash = "sha256:24140a090ea1ac512a2b2f479cc64192fd1d527a7f3627671268d08ed5ac418c", size = 50270 }, +] + +[[package]] +name = "websockets" +version = "14.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/54/8359678c726243d19fae38ca14a334e740782336c9f19700858c4eb64a1e/websockets-14.2.tar.gz", hash = "sha256:5059ed9c54945efb321f097084b4c7e52c246f2c869815876a69d1efc4ad6eb5", size = 164394 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/28/fa/76607eb7dcec27b2d18d63f60a32e60e2b8629780f343bb83a4dbb9f4350/websockets-14.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e8179f95323b9ab1c11723e5d91a89403903f7b001828161b480a7810b334885", size = 163089 }, + { url = "https://files.pythonhosted.org/packages/9e/00/ad2246b5030575b79e7af0721810fdaecaf94c4b2625842ef7a756fa06dd/websockets-14.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d8c3e2cdb38f31d8bd7d9d28908005f6fa9def3324edb9bf336d7e4266fd397", size = 160741 }, + { url = "https://files.pythonhosted.org/packages/72/f7/60f10924d333a28a1ff3fcdec85acf226281331bdabe9ad74947e1b7fc0a/websockets-14.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:714a9b682deb4339d39ffa674f7b674230227d981a37d5d174a4a83e3978a610", size = 160996 }, + { url = "https://files.pythonhosted.org/packages/63/7c/c655789cf78648c01ac6ecbe2d6c18f91b75bdc263ffee4d08ce628d12f0/websockets-14.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2e53c72052f2596fb792a7acd9704cbc549bf70fcde8a99e899311455974ca3", size = 169974 }, + { url = "https://files.pythonhosted.org/packages/fb/5b/013ed8b4611857ac92ac631079c08d9715b388bd1d88ec62e245f87a39df/websockets-14.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3fbd68850c837e57373d95c8fe352203a512b6e49eaae4c2f4088ef8cf21980", size = 168985 }, + { url = "https://files.pythonhosted.org/packages/cd/33/aa3e32fd0df213a5a442310754fe3f89dd87a0b8e5b4e11e0991dd3bcc50/websockets-14.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b27ece32f63150c268593d5fdb82819584831a83a3f5809b7521df0685cd5d8", size = 169297 }, + { url = "https://files.pythonhosted.org/packages/93/17/dae0174883d6399f57853ac44abf5f228eaba86d98d160f390ffabc19b6e/websockets-14.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4daa0faea5424d8713142b33825fff03c736f781690d90652d2c8b053345b0e7", size = 169677 }, + { url = "https://files.pythonhosted.org/packages/42/e2/0375af7ac00169b98647c804651c515054b34977b6c1354f1458e4116c1e/websockets-14.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:bc63cee8596a6ec84d9753fd0fcfa0452ee12f317afe4beae6b157f0070c6c7f", size = 169089 }, + { url = "https://files.pythonhosted.org/packages/73/8d/80f71d2a351a44b602859af65261d3dde3a0ce4e76cf9383738a949e0cc3/websockets-14.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a570862c325af2111343cc9b0257b7119b904823c675b22d4ac547163088d0d", size = 169026 }, + { url = "https://files.pythonhosted.org/packages/48/97/173b1fa6052223e52bb4054a141433ad74931d94c575e04b654200b98ca4/websockets-14.2-cp310-cp310-win32.whl", hash = "sha256:75862126b3d2d505e895893e3deac0a9339ce750bd27b4ba515f008b5acf832d", size = 163967 }, + { url = "https://files.pythonhosted.org/packages/c0/5b/2fcf60f38252a4562b28b66077e0d2b48f91fef645d5f78874cd1dec807b/websockets-14.2-cp310-cp310-win_amd64.whl", hash = "sha256:cc45afb9c9b2dc0852d5c8b5321759cf825f82a31bfaf506b65bf4668c96f8b2", size = 164413 }, + { url = "https://files.pythonhosted.org/packages/15/b6/504695fb9a33df0ca56d157f5985660b5fc5b4bf8c78f121578d2d653392/websockets-14.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3bdc8c692c866ce5fefcaf07d2b55c91d6922ac397e031ef9b774e5b9ea42166", size = 163088 }, + { url = "https://files.pythonhosted.org/packages/81/26/ebfb8f6abe963c795122439c6433c4ae1e061aaedfc7eff32d09394afbae/websockets-14.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c93215fac5dadc63e51bcc6dceca72e72267c11def401d6668622b47675b097f", size = 160745 }, + { url = "https://files.pythonhosted.org/packages/a1/c6/1435ad6f6dcbff80bb95e8986704c3174da8866ddb751184046f5c139ef6/websockets-14.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c9b6535c0e2cf8a6bf938064fb754aaceb1e6a4a51a80d884cd5db569886910", size = 160995 }, + { url = "https://files.pythonhosted.org/packages/96/63/900c27cfe8be1a1f2433fc77cd46771cf26ba57e6bdc7cf9e63644a61863/websockets-14.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a52a6d7cf6938e04e9dceb949d35fbdf58ac14deea26e685ab6368e73744e4c", size = 170543 }, + { url = "https://files.pythonhosted.org/packages/00/8b/bec2bdba92af0762d42d4410593c1d7d28e9bfd952c97a3729df603dc6ea/websockets-14.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f05702e93203a6ff5226e21d9b40c037761b2cfb637187c9802c10f58e40473", size = 169546 }, + { url = "https://files.pythonhosted.org/packages/6b/a9/37531cb5b994f12a57dec3da2200ef7aadffef82d888a4c29a0d781568e4/websockets-14.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22441c81a6748a53bfcb98951d58d1af0661ab47a536af08920d129b4d1c3473", size = 169911 }, + { url = "https://files.pythonhosted.org/packages/60/d5/a6eadba2ed9f7e65d677fec539ab14a9b83de2b484ab5fe15d3d6d208c28/websockets-14.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd9b868d78b194790e6236d9cbc46d68aba4b75b22497eb4ab64fa640c3af56", size = 170183 }, + { url = "https://files.pythonhosted.org/packages/76/57/a338ccb00d1df881c1d1ee1f2a20c9c1b5b29b51e9e0191ee515d254fea6/websockets-14.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1a5a20d5843886d34ff8c57424cc65a1deda4375729cbca4cb6b3353f3ce4142", size = 169623 }, + { url = "https://files.pythonhosted.org/packages/64/22/e5f7c33db0cb2c1d03b79fd60d189a1da044e2661f5fd01d629451e1db89/websockets-14.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:34277a29f5303d54ec6468fb525d99c99938607bc96b8d72d675dee2b9f5bf1d", size = 169583 }, + { url = "https://files.pythonhosted.org/packages/aa/2e/2b4662237060063a22e5fc40d46300a07142afe30302b634b4eebd717c07/websockets-14.2-cp311-cp311-win32.whl", hash = "sha256:02687db35dbc7d25fd541a602b5f8e451a238ffa033030b172ff86a93cb5dc2a", size = 163969 }, + { url = "https://files.pythonhosted.org/packages/94/a5/0cda64e1851e73fc1ecdae6f42487babb06e55cb2f0dc8904b81d8ef6857/websockets-14.2-cp311-cp311-win_amd64.whl", hash = "sha256:862e9967b46c07d4dcd2532e9e8e3c2825e004ffbf91a5ef9dde519ee2effb0b", size = 164408 }, + { url = "https://files.pythonhosted.org/packages/c1/81/04f7a397653dc8bec94ddc071f34833e8b99b13ef1a3804c149d59f92c18/websockets-14.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f20522e624d7ffbdbe259c6b6a65d73c895045f76a93719aa10cd93b3de100c", size = 163096 }, + { url = "https://files.pythonhosted.org/packages/ec/c5/de30e88557e4d70988ed4d2eabd73fd3e1e52456b9f3a4e9564d86353b6d/websockets-14.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:647b573f7d3ada919fd60e64d533409a79dcf1ea21daeb4542d1d996519ca967", size = 160758 }, + { url = "https://files.pythonhosted.org/packages/e5/8c/d130d668781f2c77d106c007b6c6c1d9db68239107c41ba109f09e6c218a/websockets-14.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6af99a38e49f66be5a64b1e890208ad026cda49355661549c507152113049990", size = 160995 }, + { url = "https://files.pythonhosted.org/packages/a6/bc/f6678a0ff17246df4f06765e22fc9d98d1b11a258cc50c5968b33d6742a1/websockets-14.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:091ab63dfc8cea748cc22c1db2814eadb77ccbf82829bac6b2fbe3401d548eda", size = 170815 }, + { url = "https://files.pythonhosted.org/packages/d8/b2/8070cb970c2e4122a6ef38bc5b203415fd46460e025652e1ee3f2f43a9a3/websockets-14.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b374e8953ad477d17e4851cdc66d83fdc2db88d9e73abf755c94510ebddceb95", size = 169759 }, + { url = "https://files.pythonhosted.org/packages/81/da/72f7caabd94652e6eb7e92ed2d3da818626e70b4f2b15a854ef60bf501ec/websockets-14.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a39d7eceeea35db85b85e1169011bb4321c32e673920ae9c1b6e0978590012a3", size = 170178 }, + { url = "https://files.pythonhosted.org/packages/31/e0/812725b6deca8afd3a08a2e81b3c4c120c17f68c9b84522a520b816cda58/websockets-14.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0a6f3efd47ffd0d12080594f434faf1cd2549b31e54870b8470b28cc1d3817d9", size = 170453 }, + { url = "https://files.pythonhosted.org/packages/66/d3/8275dbc231e5ba9bb0c4f93144394b4194402a7a0c8ffaca5307a58ab5e3/websockets-14.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:065ce275e7c4ffb42cb738dd6b20726ac26ac9ad0a2a48e33ca632351a737267", size = 169830 }, + { url = "https://files.pythonhosted.org/packages/a3/ae/e7d1a56755ae15ad5a94e80dd490ad09e345365199600b2629b18ee37bc7/websockets-14.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e9d0e53530ba7b8b5e389c02282f9d2aa47581514bd6049d3a7cffe1385cf5fe", size = 169824 }, + { url = "https://files.pythonhosted.org/packages/b6/32/88ccdd63cb261e77b882e706108d072e4f1c839ed723bf91a3e1f216bf60/websockets-14.2-cp312-cp312-win32.whl", hash = "sha256:20e6dd0984d7ca3037afcb4494e48c74ffb51e8013cac71cf607fffe11df7205", size = 163981 }, + { url = "https://files.pythonhosted.org/packages/b3/7d/32cdb77990b3bdc34a306e0a0f73a1275221e9a66d869f6ff833c95b56ef/websockets-14.2-cp312-cp312-win_amd64.whl", hash = "sha256:44bba1a956c2c9d268bdcdf234d5e5ff4c9b6dc3e300545cbe99af59dda9dcce", size = 164421 }, + { url = "https://files.pythonhosted.org/packages/82/94/4f9b55099a4603ac53c2912e1f043d6c49d23e94dd82a9ce1eb554a90215/websockets-14.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f1372e511c7409a542291bce92d6c83320e02c9cf392223272287ce55bc224e", size = 163102 }, + { url = "https://files.pythonhosted.org/packages/8e/b7/7484905215627909d9a79ae07070057afe477433fdacb59bf608ce86365a/websockets-14.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4da98b72009836179bb596a92297b1a61bb5a830c0e483a7d0766d45070a08ad", size = 160766 }, + { url = "https://files.pythonhosted.org/packages/a3/a4/edb62efc84adb61883c7d2c6ad65181cb087c64252138e12d655989eec05/websockets-14.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8a86a269759026d2bde227652b87be79f8a734e582debf64c9d302faa1e9f03", size = 160998 }, + { url = "https://files.pythonhosted.org/packages/f5/79/036d320dc894b96af14eac2529967a6fc8b74f03b83c487e7a0e9043d842/websockets-14.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86cf1aaeca909bf6815ea714d5c5736c8d6dd3a13770e885aafe062ecbd04f1f", size = 170780 }, + { url = "https://files.pythonhosted.org/packages/63/75/5737d21ee4dd7e4b9d487ee044af24a935e36a9ff1e1419d684feedcba71/websockets-14.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9b0f6c3ba3b1240f602ebb3971d45b02cc12bd1845466dd783496b3b05783a5", size = 169717 }, + { url = "https://files.pythonhosted.org/packages/2c/3c/bf9b2c396ed86a0b4a92ff4cdaee09753d3ee389be738e92b9bbd0330b64/websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669c3e101c246aa85bc8534e495952e2ca208bd87994650b90a23d745902db9a", size = 170155 }, + { url = "https://files.pythonhosted.org/packages/75/2d/83a5aca7247a655b1da5eb0ee73413abd5c3a57fc8b92915805e6033359d/websockets-14.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eabdb28b972f3729348e632ab08f2a7b616c7e53d5414c12108c29972e655b20", size = 170495 }, + { url = "https://files.pythonhosted.org/packages/79/dd/699238a92761e2f943885e091486378813ac8f43e3c84990bc394c2be93e/websockets-14.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2066dc4cbcc19f32c12a5a0e8cc1b7ac734e5b64ac0a325ff8353451c4b15ef2", size = 169880 }, + { url = "https://files.pythonhosted.org/packages/c8/c9/67a8f08923cf55ce61aadda72089e3ed4353a95a3a4bc8bf42082810e580/websockets-14.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ab95d357cd471df61873dadf66dd05dd4709cae001dd6342edafc8dc6382f307", size = 169856 }, + { url = "https://files.pythonhosted.org/packages/17/b1/1ffdb2680c64e9c3921d99db460546194c40d4acbef999a18c37aa4d58a3/websockets-14.2-cp313-cp313-win32.whl", hash = "sha256:a9e72fb63e5f3feacdcf5b4ff53199ec8c18d66e325c34ee4c551ca748623bbc", size = 163974 }, + { url = "https://files.pythonhosted.org/packages/14/13/8b7fc4cb551b9cfd9890f0fd66e53c18a06240319915533b033a56a3d520/websockets-14.2-cp313-cp313-win_amd64.whl", hash = "sha256:b439ea828c4ba99bb3176dc8d9b933392a2413c0f6b149fdcba48393f573377f", size = 164420 }, + { url = "https://files.pythonhosted.org/packages/10/3d/91d3d2bb1325cd83e8e2c02d0262c7d4426dc8fa0831ef1aa4d6bf2041af/websockets-14.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d7d9cafbccba46e768be8a8ad4635fa3eae1ffac4c6e7cb4eb276ba41297ed29", size = 160773 }, + { url = "https://files.pythonhosted.org/packages/33/7c/cdedadfef7381939577858b1b5718a4ab073adbb584e429dd9d9dc9bfe16/websockets-14.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c76193c1c044bd1e9b3316dcc34b174bbf9664598791e6fb606d8d29000e070c", size = 161007 }, + { url = "https://files.pythonhosted.org/packages/ca/35/7a20a3c450b27c04e50fbbfc3dfb161ed8e827b2a26ae31c4b59b018b8c6/websockets-14.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd475a974d5352390baf865309fe37dec6831aafc3014ffac1eea99e84e83fc2", size = 162264 }, + { url = "https://files.pythonhosted.org/packages/e8/9c/e3f9600564b0c813f2448375cf28b47dc42c514344faed3a05d71fb527f9/websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c6c0097a41968b2e2b54ed3424739aab0b762ca92af2379f152c1aef0187e1c", size = 161873 }, + { url = "https://files.pythonhosted.org/packages/3f/37/260f189b16b2b8290d6ae80c9f96d8b34692cf1bb3475df54c38d3deb57d/websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d7ff794c8b36bc402f2e07c0b2ceb4a2424147ed4785ff03e2a7af03711d60a", size = 161818 }, + { url = "https://files.pythonhosted.org/packages/ff/1e/e47dedac8bf7140e59aa6a679e850c4df9610ae844d71b6015263ddea37b/websockets-14.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dec254fcabc7bd488dab64846f588fc5b6fe0d78f641180030f8ea27b76d72c3", size = 164465 }, + { url = "https://files.pythonhosted.org/packages/7b/c8/d529f8a32ce40d98309f4470780631e971a5a842b60aec864833b3615786/websockets-14.2-py3-none-any.whl", hash = "sha256:7a6ceec4ea84469f15cf15807a747e9efe57e369c384fa86e022b3bea679b79b", size = 157416 }, +] + +[[package]] +name = "win32-setctime" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/8f/705086c9d734d3b663af0e9bb3d4de6578d08f46b1b101c2442fd9aecaa2/win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0", size = 4867 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390", size = 4083 }, +] + +[[package]] +name = "wrapt" +version = "1.17.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/d1/1daec934997e8b160040c78d7b31789f19b122110a75eca3d4e8da0049e1/wrapt-1.17.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3d57c572081fed831ad2d26fd430d565b76aa277ed1d30ff4d40670b1c0dd984", size = 53307 }, + { url = "https://files.pythonhosted.org/packages/1b/7b/13369d42651b809389c1a7153baa01d9700430576c81a2f5c5e460df0ed9/wrapt-1.17.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b5e251054542ae57ac7f3fba5d10bfff615b6c2fb09abeb37d2f1463f841ae22", size = 38486 }, + { url = "https://files.pythonhosted.org/packages/62/bf/e0105016f907c30b4bd9e377867c48c34dc9c6c0c104556c9c9126bd89ed/wrapt-1.17.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:80dd7db6a7cb57ffbc279c4394246414ec99537ae81ffd702443335a61dbf3a7", size = 38777 }, + { url = "https://files.pythonhosted.org/packages/27/70/0f6e0679845cbf8b165e027d43402a55494779295c4b08414097b258ac87/wrapt-1.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a6e821770cf99cc586d33833b2ff32faebdbe886bd6322395606cf55153246c", size = 83314 }, + { url = "https://files.pythonhosted.org/packages/0f/77/0576d841bf84af8579124a93d216f55d6f74374e4445264cb378a6ed33eb/wrapt-1.17.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b60fb58b90c6d63779cb0c0c54eeb38941bae3ecf7a73c764c52c88c2dcb9d72", size = 74947 }, + { url = "https://files.pythonhosted.org/packages/90/ec/00759565518f268ed707dcc40f7eeec38637d46b098a1f5143bff488fe97/wrapt-1.17.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b870b5df5b71d8c3359d21be8f0d6c485fa0ebdb6477dda51a1ea54a9b558061", size = 82778 }, + { url = "https://files.pythonhosted.org/packages/f8/5a/7cffd26b1c607b0b0c8a9ca9d75757ad7620c9c0a9b4a25d3f8a1480fafc/wrapt-1.17.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4011d137b9955791f9084749cba9a367c68d50ab8d11d64c50ba1688c9b457f2", size = 81716 }, + { url = "https://files.pythonhosted.org/packages/7e/09/dccf68fa98e862df7e6a60a61d43d644b7d095a5fc36dbb591bbd4a1c7b2/wrapt-1.17.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:1473400e5b2733e58b396a04eb7f35f541e1fb976d0c0724d0223dd607e0f74c", size = 74548 }, + { url = "https://files.pythonhosted.org/packages/b7/8e/067021fa3c8814952c5e228d916963c1115b983e21393289de15128e867e/wrapt-1.17.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3cedbfa9c940fdad3e6e941db7138e26ce8aad38ab5fe9dcfadfed9db7a54e62", size = 81334 }, + { url = "https://files.pythonhosted.org/packages/4b/0d/9d4b5219ae4393f718699ca1c05f5ebc0c40d076f7e65fd48f5f693294fb/wrapt-1.17.2-cp310-cp310-win32.whl", hash = "sha256:582530701bff1dec6779efa00c516496968edd851fba224fbd86e46cc6b73563", size = 36427 }, + { url = "https://files.pythonhosted.org/packages/72/6a/c5a83e8f61aec1e1aeef939807602fb880e5872371e95df2137142f5c58e/wrapt-1.17.2-cp310-cp310-win_amd64.whl", hash = "sha256:58705da316756681ad3c9c73fd15499aa4d8c69f9fd38dc8a35e06c12468582f", size = 38774 }, + { url = "https://files.pythonhosted.org/packages/cd/f7/a2aab2cbc7a665efab072344a8949a71081eed1d2f451f7f7d2b966594a2/wrapt-1.17.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ff04ef6eec3eee8a5efef2401495967a916feaa353643defcc03fc74fe213b58", size = 53308 }, + { url = "https://files.pythonhosted.org/packages/50/ff/149aba8365fdacef52b31a258c4dc1c57c79759c335eff0b3316a2664a64/wrapt-1.17.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4db983e7bca53819efdbd64590ee96c9213894272c776966ca6306b73e4affda", size = 38488 }, + { url = "https://files.pythonhosted.org/packages/65/46/5a917ce85b5c3b490d35c02bf71aedaa9f2f63f2d15d9949cc4ba56e8ba9/wrapt-1.17.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9abc77a4ce4c6f2a3168ff34b1da9b0f311a8f1cfd694ec96b0603dff1c79438", size = 38776 }, + { url = "https://files.pythonhosted.org/packages/ca/74/336c918d2915a4943501c77566db41d1bd6e9f4dbc317f356b9a244dfe83/wrapt-1.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b929ac182f5ace000d459c59c2c9c33047e20e935f8e39371fa6e3b85d56f4a", size = 83776 }, + { url = "https://files.pythonhosted.org/packages/09/99/c0c844a5ccde0fe5761d4305485297f91d67cf2a1a824c5f282e661ec7ff/wrapt-1.17.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f09b286faeff3c750a879d336fb6d8713206fc97af3adc14def0cdd349df6000", size = 75420 }, + { url = "https://files.pythonhosted.org/packages/b4/b0/9fc566b0fe08b282c850063591a756057c3247b2362b9286429ec5bf1721/wrapt-1.17.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a7ed2d9d039bd41e889f6fb9364554052ca21ce823580f6a07c4ec245c1f5d6", size = 83199 }, + { url = "https://files.pythonhosted.org/packages/9d/4b/71996e62d543b0a0bd95dda485219856def3347e3e9380cc0d6cf10cfb2f/wrapt-1.17.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:129a150f5c445165ff941fc02ee27df65940fcb8a22a61828b1853c98763a64b", size = 82307 }, + { url = "https://files.pythonhosted.org/packages/39/35/0282c0d8789c0dc9bcc738911776c762a701f95cfe113fb8f0b40e45c2b9/wrapt-1.17.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1fb5699e4464afe5c7e65fa51d4f99e0b2eadcc176e4aa33600a3df7801d6662", size = 75025 }, + { url = "https://files.pythonhosted.org/packages/4f/6d/90c9fd2c3c6fee181feecb620d95105370198b6b98a0770cba090441a828/wrapt-1.17.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9a2bce789a5ea90e51a02dfcc39e31b7f1e662bc3317979aa7e5538e3a034f72", size = 81879 }, + { url = "https://files.pythonhosted.org/packages/8f/fa/9fb6e594f2ce03ef03eddbdb5f4f90acb1452221a5351116c7c4708ac865/wrapt-1.17.2-cp311-cp311-win32.whl", hash = "sha256:4afd5814270fdf6380616b321fd31435a462019d834f83c8611a0ce7484c7317", size = 36419 }, + { url = "https://files.pythonhosted.org/packages/47/f8/fb1773491a253cbc123c5d5dc15c86041f746ed30416535f2a8df1f4a392/wrapt-1.17.2-cp311-cp311-win_amd64.whl", hash = "sha256:acc130bc0375999da18e3d19e5a86403667ac0c4042a094fefb7eec8ebac7cf3", size = 38773 }, + { url = "https://files.pythonhosted.org/packages/a1/bd/ab55f849fd1f9a58ed7ea47f5559ff09741b25f00c191231f9f059c83949/wrapt-1.17.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d5e2439eecc762cd85e7bd37161d4714aa03a33c5ba884e26c81559817ca0925", size = 53799 }, + { url = "https://files.pythonhosted.org/packages/53/18/75ddc64c3f63988f5a1d7e10fb204ffe5762bc663f8023f18ecaf31a332e/wrapt-1.17.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fc7cb4c1c744f8c05cd5f9438a3caa6ab94ce8344e952d7c45a8ed59dd88392", size = 38821 }, + { url = "https://files.pythonhosted.org/packages/48/2a/97928387d6ed1c1ebbfd4efc4133a0633546bec8481a2dd5ec961313a1c7/wrapt-1.17.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fdbdb757d5390f7c675e558fd3186d590973244fab0c5fe63d373ade3e99d40", size = 38919 }, + { url = "https://files.pythonhosted.org/packages/73/54/3bfe5a1febbbccb7a2f77de47b989c0b85ed3a6a41614b104204a788c20e/wrapt-1.17.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bb1d0dbf99411f3d871deb6faa9aabb9d4e744d67dcaaa05399af89d847a91d", size = 88721 }, + { url = "https://files.pythonhosted.org/packages/25/cb/7262bc1b0300b4b64af50c2720ef958c2c1917525238d661c3e9a2b71b7b/wrapt-1.17.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d18a4865f46b8579d44e4fe1e2bcbc6472ad83d98e22a26c963d46e4c125ef0b", size = 80899 }, + { url = "https://files.pythonhosted.org/packages/2a/5a/04cde32b07a7431d4ed0553a76fdb7a61270e78c5fd5a603e190ac389f14/wrapt-1.17.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc570b5f14a79734437cb7b0500376b6b791153314986074486e0b0fa8d71d98", size = 89222 }, + { url = "https://files.pythonhosted.org/packages/09/28/2e45a4f4771fcfb109e244d5dbe54259e970362a311b67a965555ba65026/wrapt-1.17.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6d9187b01bebc3875bac9b087948a2bccefe464a7d8f627cf6e48b1bbae30f82", size = 86707 }, + { url = "https://files.pythonhosted.org/packages/c6/d2/dcb56bf5f32fcd4bd9aacc77b50a539abdd5b6536872413fd3f428b21bed/wrapt-1.17.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9e8659775f1adf02eb1e6f109751268e493c73716ca5761f8acb695e52a756ae", size = 79685 }, + { url = "https://files.pythonhosted.org/packages/80/4e/eb8b353e36711347893f502ce91c770b0b0929f8f0bed2670a6856e667a9/wrapt-1.17.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e8b2816ebef96d83657b56306152a93909a83f23994f4b30ad4573b00bd11bb9", size = 87567 }, + { url = "https://files.pythonhosted.org/packages/17/27/4fe749a54e7fae6e7146f1c7d914d28ef599dacd4416566c055564080fe2/wrapt-1.17.2-cp312-cp312-win32.whl", hash = "sha256:468090021f391fe0056ad3e807e3d9034e0fd01adcd3bdfba977b6fdf4213ea9", size = 36672 }, + { url = "https://files.pythonhosted.org/packages/15/06/1dbf478ea45c03e78a6a8c4be4fdc3c3bddea5c8de8a93bc971415e47f0f/wrapt-1.17.2-cp312-cp312-win_amd64.whl", hash = "sha256:ec89ed91f2fa8e3f52ae53cd3cf640d6feff92ba90d62236a81e4e563ac0e991", size = 38865 }, + { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800 }, + { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824 }, + { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920 }, + { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690 }, + { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861 }, + { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174 }, + { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721 }, + { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763 }, + { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585 }, + { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676 }, + { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871 }, + { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312 }, + { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062 }, + { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155 }, + { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471 }, + { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208 }, + { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339 }, + { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232 }, + { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476 }, + { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377 }, + { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986 }, + { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750 }, + { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594 }, +] diff --git a/web/src/services/AudioService.js b/web/src/services/AudioService.js index 1ef24da..4edbfae 100644 --- a/web/src/services/AudioService.js +++ b/web/src/services/AudioService.js @@ -375,8 +375,6 @@ export class AudioService { this.sourceBuffer = null; this.serverDownloadPath = null; this.pendingOperations = []; - - window.location.reload(); } cleanup() {