diff --git a/.gitignore b/.gitignore index 48f3003..ec2b24d 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ schematics_data output datasets htmlcov +output_2 diff --git a/minecraft_copilot_ml/__main__.py b/minecraft_copilot_ml/__main__.py index c5b3239..9ed9cc9 100644 --- a/minecraft_copilot_ml/__main__.py +++ b/minecraft_copilot_ml/__main__.py @@ -5,35 +5,26 @@ from typing import List, Optional, Set, Tuple import boto3 +import lightning as pl import numpy as np -import pytorch_lightning as pl import torch +from improved_diffusion.unet import UNetModel # type: ignore[import-untyped] +from lightning.pytorch.callbacks import ModelCheckpoint +from lightning.pytorch.loggers import CSVLogger from loguru import logger -from pytorch_lightning.callbacks import ModelCheckpoint -from pytorch_lightning.loggers import CSVLogger -from sklearn.model_selection import train_test_split # type: ignore from torch.utils.data import DataLoader -from tqdm import tqdm from minecraft_copilot_ml.data_loader import ( MinecraftSchematicsDataset, MinecraftSchematicsDatasetItemType, - get_working_files_and_unique_blocks_and_counts, + get_working_files_and_unique_blocks, list_schematic_files_in_folder, ) -from minecraft_copilot_ml.model import UNet3d - - -def export_to_onnx(model: UNet3d, path_to_output: str) -> None: - torch.onnx.export( - model, - torch.randn(1, 1, 16, 16, 16).to("cuda" if torch.cuda.is_available() else "cpu"), - path_to_output, - input_names=["input"], - output_names=["output"], - # https://onnxruntime.ai/docs/reference/compatibility.html - opset_version=17, - ) +from minecraft_copilot_ml.model import MinecraftCopilotTrainer + +device_name = torch.cuda.get_device_name() +if device_name is not None and device_name == "GeForce RTX 3090": + torch.set_float32_matmul_precision("medium") def main(argparser: argparse.ArgumentParser) -> None: @@ -58,74 +49,60 @@ def main(argparser: argparse.ArgumentParser) -> None: schematics_list_files = schematics_list_files[start:end] # Set the dictionary size to the number of unique blocks in the dataset. # And also select the right files to load. - unique_blocks_dict, unique_counts_coefficients, loaded_schematic_files = ( - get_working_files_and_unique_blocks_and_counts(schematics_list_files) - ) + unique_blocks_dict, loaded_schematic_files = get_working_files_and_unique_blocks(schematics_list_files) logger.info(f"Unique blocks: {unique_blocks_dict}") logger.info(f"Number of unique blocks: {len(unique_blocks_dict)}") logger.info(f"Number of loaded schematics files: {len(loaded_schematic_files)}") - logger.info(f"Unique counts coefficients: {unique_counts_coefficients}") - train_schematics_list_files, test_schematics_list_files = train_test_split( - loaded_schematic_files, test_size=0.2, random_state=42 - ) - train_schematics_dataset = MinecraftSchematicsDataset(train_schematics_list_files) - val_schematics_dataset = MinecraftSchematicsDataset(test_schematics_list_files) + schematics_dataset = MinecraftSchematicsDataset(loaded_schematic_files) def collate_fn(batch: List[MinecraftSchematicsDatasetItemType]) -> MinecraftSchematicsDatasetItemType: - block_map, noisy_block_map, mask, loss_mask = zip(*batch) - return np.stack(block_map), np.stack(noisy_block_map), np.stack(mask), np.stack(loss_mask) - - train_schematics_dataloader = DataLoader( - train_schematics_dataset, batch_size=batch_size, shuffle=True, collate_fn=collate_fn + block_map, block_map_mask = zip(*batch) + return np.stack(block_map), np.stack(block_map_mask) + + num_workers = os.cpu_count() + if num_workers is None: + num_workers = 0 + + schematics_dataloader = DataLoader( + schematics_dataset, + batch_size=batch_size, + shuffle=True, + collate_fn=collate_fn, + num_workers=num_workers, ) - val_schematics_dataloader = DataLoader(val_schematics_dataset, batch_size=batch_size, collate_fn=collate_fn) - model = UNet3d(unique_blocks_dict, unique_counts_coefficients=unique_counts_coefficients) + unet_model = UNetModel( + in_channels=len(unique_blocks_dict), + model_channels=32, + out_channels=len(unique_blocks_dict), + num_res_blocks=2, + num_heads=2, + attention_resolutions=[1], + dropout=0.1, + channel_mult=(1, 2, 4, 8), + dims=3, + ) + model = MinecraftCopilotTrainer(unet_model, unique_blocks_dict, save_dir=path_to_output) csv_logger = CSVLogger(save_dir=path_to_output) - model_checkpoint = ModelCheckpoint(path_to_output, monitor="val_loss", save_top_k=1, save_last=True, mode="min") - trainer = pl.Trainer(logger=csv_logger, callbacks=model_checkpoint, max_epochs=epochs, log_every_n_steps=1) - trainer.fit(model, train_schematics_dataloader, val_schematics_dataloader) + model_checkpoint = ModelCheckpoint(path_to_output, save_last=True, mode="min") + trainer = pl.Trainer( + logger=csv_logger, callbacks=model_checkpoint, max_epochs=epochs, log_every_n_steps=1, accelerator="gpu" + ) + trainer.fit(model, schematics_dataloader) # Save the best and last model locally - logger.info(f"Best val_loss is: {model_checkpoint.best_model_score}") - best_model = UNet3d.load_from_checkpoint( - model_checkpoint.best_model_path, - unique_blocks_dict=unique_blocks_dict, - unique_counts_coefficients=unique_counts_coefficients, - ) - torch.save(best_model, os.path.join(path_to_output, "best_model.pth")) - last_model = UNet3d.load_from_checkpoint( + last_model = MinecraftCopilotTrainer.load_from_checkpoint( model_checkpoint.last_model_path, + unet_model=unet_model, unique_blocks_dict=unique_blocks_dict, - unique_counts_coefficients=unique_counts_coefficients, + save_dir=path_to_output, ) torch.save(last_model, os.path.join(path_to_output, "last_model.pth")) - export_to_onnx(best_model, os.path.join(path_to_output, "best_model.onnx")) - export_to_onnx(last_model, os.path.join(path_to_output, "last_model.onnx")) with open(os.path.join(path_to_output, "unique_blocks_dict.json"), "w") as f: json.dump(unique_blocks_dict, f) - # Save the best and last model to S3 - s3_client = boto3.client( - "s3", - region_name="eu-west-3", - aws_access_key_id=os.environ["AWS_ACCESS_KEY_ID"], - aws_secret_access_key=os.environ["AWS_SECRET_ACCESS_KEY"], - ) - s3_client.upload_file(os.path.join(path_to_output, "best_model.pth"), "minecraft-copilot-models", "best_model.pth") - s3_client.upload_file(os.path.join(path_to_output, "last_model.pth"), "minecraft-copilot-models", "last_model.pth") - s3_client.upload_file( - os.path.join(path_to_output, "best_model.onnx"), "minecraft-copilot-models", "best_model.onnx" - ) - s3_client.upload_file( - os.path.join(path_to_output, "last_model.onnx"), "minecraft-copilot-models", "last_model.onnx" - ) - s3_client.upload_file( - os.path.join(path_to_output, "unique_blocks_dict.json"), "minecraft-copilot-models", "unique_blocks_dict.json" - ) - if __name__ == "__main__": argparser = argparse.ArgumentParser() diff --git a/minecraft_copilot_ml/data_loader.py b/minecraft_copilot_ml/data_loader.py index 68d2996..20af3fd 100644 --- a/minecraft_copilot_ml/data_loader.py +++ b/minecraft_copilot_ml/data_loader.py @@ -1,5 +1,4 @@ # flake8: noqa: E203 -import gc import os import re from pathlib import Path @@ -43,6 +42,10 @@ "4766.schematic", "10380.schematic", "12695.schematic", + "8675.schematic", + "10220.schematic", + "5096.schematic", + "14191.schematic" ] @@ -73,6 +76,9 @@ def litematic_to_numpy_minecraft_map( for z, k in zip(reg.zrange(), range(len(reg.zrange()))): b = reg.getblock(x, y, z) numpy_map[i, j, k] = b.blockid + numpy_map[numpy_map == "None"] = "minecraft:air" + numpy_map[numpy_map == None] = "minecraft:air" + del nbt_loaded return numpy_map @@ -94,13 +100,15 @@ def schematic_to_numpy_minecraft_map( raise Exception(f"Could not find Blocks or BlockData in {nbt_file}. Known keys: {res.keys()}") block_map = np.asarray(block_data).reshape(res["Height"], res["Length"], res["Width"]) block_map = np.vectorize(palette.get)(block_map) + block_map[block_map == "None"] = "minecraft:air" + block_map[block_map == None] = "minecraft:air" + del res return block_map def nbt_to_numpy_minecraft_map( nbt_file: str, ) -> np.ndarray: - gc.collect() if any([Path(nbt_file).parts[-1] == x for x in list_of_forbidden_files]): raise Exception( f"File {nbt_file} is forbidden. Skipping. If this file is here it is because it generates a SIGKILL." @@ -171,7 +179,7 @@ def get_random_block_map_and_mask_coordinates( ) -MinecraftSchematicsDatasetItemType = Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray] +MinecraftSchematicsDatasetItemType = Tuple[np.ndarray, np.ndarray] class MinecraftSchematicsDataset(Dataset): @@ -195,27 +203,13 @@ def __getitem__(self, idx: int) -> MinecraftSchematicsDatasetItemType: minimum_height, minimum_depth, ) = get_random_block_map_and_mask_coordinates(numpy_minecraft_map, 16, 16, 16) - focused_block_map = block_map[ - random_roll_x_value : random_roll_x_value + minimum_width, - random_y_height_value : random_y_height_value + minimum_height, - random_roll_z_value : random_roll_z_value + minimum_depth, - ] - focused_noisy_block_map, unraveled_indices_of_noise = create_noisy_block_map(focused_block_map) - noisy_block_map = block_map.copy() - noisy_block_map[ - random_roll_x_value : random_roll_x_value + minimum_width, - random_y_height_value : random_y_height_value + minimum_height, - random_roll_z_value : random_roll_z_value + minimum_depth, - ] = focused_noisy_block_map block_map_mask = np.zeros((16, 16, 16), dtype=bool) block_map_mask[ random_roll_x_value : random_roll_x_value + minimum_width, random_y_height_value : random_y_height_value + minimum_height, random_roll_z_value : random_roll_z_value + minimum_depth, ] = True - loss_mask = np.zeros((16, 16, 16), dtype=bool) - loss_mask[unraveled_indices_of_noise] = True - return block_map, noisy_block_map, block_map_mask, loss_mask + return block_map, block_map_mask def list_schematic_files_in_folder(path_to_schematics: str) -> list[str]: @@ -229,22 +223,17 @@ def list_schematic_files_in_folder(path_to_schematics: str) -> list[str]: return schematics_list_files -def get_working_files_and_unique_blocks_and_counts( +def get_working_files_and_unique_blocks( schematics_list_files: list[str], -) -> Tuple[Dict[str, int], np.ndarray, list[str]]: +) -> Tuple[Dict[str, int], list[str]]: unique_blocks: Set[str] = set() - unique_counts: Dict[str, int] = {} loaded_schematic_files: List[str] = [] tqdm_list_files = tqdm(schematics_list_files, smoothing=0) for nbt_file in tqdm_list_files: tqdm_list_files.set_description(f"Processing {nbt_file}") try: numpy_minecraft_map = nbt_to_numpy_minecraft_map(nbt_file) - unique_blocks_in_map, unique_counts_in_map = np.unique(numpy_minecraft_map, return_counts=True) - for block, count in zip(unique_blocks_in_map, unique_counts_in_map): - if block not in unique_counts: - unique_counts[block] = 0 - unique_counts[block] += count + unique_blocks_in_map = set(numpy_minecraft_map.flatten()) for block in unique_blocks_in_map: if block not in unique_blocks: logger.info(f"Found new block: {block}") @@ -255,6 +244,4 @@ def get_working_files_and_unique_blocks_and_counts( logger.exception(e) continue unique_blocks_dict = {block: idx for idx, block in enumerate(unique_blocks)} - unique_counts_coefficients = np.array([unique_counts[block] for block in unique_blocks_dict]) - unique_counts_coefficients = unique_counts_coefficients.max() / unique_counts_coefficients - return unique_blocks_dict, unique_counts_coefficients, loaded_schematic_files + return unique_blocks_dict, loaded_schematic_files diff --git a/minecraft_copilot_ml/metrics_graph.ipynb b/minecraft_copilot_ml/metrics_graph.ipynb index f0601c6..f90870f 100644 --- a/minecraft_copilot_ml/metrics_graph.ipynb +++ b/minecraft_copilot_ml/metrics_graph.ipynb @@ -344,7 +344,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.6" + "version": "3.10.12" } }, "nbformat": 4, diff --git a/minecraft_copilot_ml/model.py b/minecraft_copilot_ml/model.py index ba2c105..e875d85 100644 --- a/minecraft_copilot_ml/model.py +++ b/minecraft_copilot_ml/model.py @@ -1,103 +1,77 @@ # flake8: noqa: E203 +import os from typing import Any, Dict, Optional, Tuple +from loguru import logger import numpy as np -import pytorch_lightning as pl +import lightning as pl import torch import torch.nn as nn import torch.nn.functional as F +from improved_diffusion.unet import UNetModel # type: ignore[import-untyped] +from torchcfm import ExactOptimalTransportConditionalFlowMatcher # type: ignore[import-untyped] +import copy +from torchdyn.core import NeuralODE # type: ignore[import-untyped] from minecraft_copilot_ml.data_loader import MinecraftSchematicsDatasetItemType -class ConvBlock3d(nn.Module): - def __init__(self, in_channels: int, out_channels: int, kernel_size: int = 3, padding: int = 1): - super(ConvBlock3d, self).__init__() - self.conv = nn.Conv3d(in_channels, out_channels, kernel_size=kernel_size, padding=padding) - self.bn = nn.BatchNorm3d(out_channels) - self.relu = nn.LeakyReLU() - - def forward(self, x: torch.Tensor) -> torch.Tensor: - result: torch.Tensor = self.relu(self.bn(self.conv(x))) - return result - - -class UNet3d(pl.LightningModule): - def __init__( +class MinecraftCopilotTrainer(pl.LightningModule): + def __init__( # type: ignore[no-any-unimported] self, + unet_model: UNetModel, unique_blocks_dict: Dict[str, int], - unique_counts_coefficients: Optional[np.ndarray] = None, - latent_dim: int = 64, + save_dir: str = "output", ): - super(UNet3d, self).__init__() + super(MinecraftCopilotTrainer, self).__init__() self.unique_blocks_dict = unique_blocks_dict self.reverse_unique_blocks_dict = {v: k for k, v in unique_blocks_dict.items()} - self.latent_dim = latent_dim - if unique_counts_coefficients is None: - unique_counts_coefficients = np.ones(len(unique_blocks_dict)) - self.unique_counts_coefficients = ( - torch.from_numpy(unique_counts_coefficients).float().to("cuda" if torch.cuda.is_available() else "cpu") - ) - self.conv_input = ConvBlock3d(1, 32) - self.conv1 = ConvBlock3d(32, 64) - self.conv2 = ConvBlock3d(64, 128) - self.conv3 = ConvBlock3d(128, 256) - self.conv4 = ConvBlock3d(256, 512) - - self.conv6 = ConvBlock3d(512, 256) - self.conv7 = ConvBlock3d(256, 128) - self.conv8 = ConvBlock3d(128, 64) - self.conv9 = ConvBlock3d(64, 32) - self.conv_output = nn.Conv3d(32, len(unique_blocks_dict), kernel_size=3, padding=1) - - def ml_core(self, x: torch.Tensor) -> torch.Tensor: - # Encode input - out_conv_input = self.conv_input(x) - out_conv_1 = self.conv1(out_conv_input) - out_conv_2 = self.conv2(out_conv_1) - out_conv_3 = self.conv3(out_conv_2) - out_conv_4 = self.conv4(out_conv_3) - - # Decode input - out_conv_6 = self.conv6(out_conv_4) + out_conv_3 - out_conv_7 = self.conv7(out_conv_6) + out_conv_2 - out_conv_8 = self.conv8(out_conv_7) + out_conv_1 - out_conv_9 = self.conv9(out_conv_8) + out_conv_input - out_conv_output: torch.Tensor = self.conv_output(out_conv_9) - return out_conv_output - - def forward(self, x: torch.Tensor) -> torch.Tensor: - reconstruction = self.ml_core(x) - reconstruction = F.softmax(reconstruction, dim=1) - return reconstruction - - def step(self, batch: MinecraftSchematicsDatasetItemType, batch_idx: int, mode: str) -> torch.Tensor: - block_maps, noisy_block_maps, block_map_masks, loss_masks = batch + self.unet_model = unet_model + self.flow_matcher = ExactOptimalTransportConditionalFlowMatcher(sigma=0.0) + self.step_number = 0 + self.save_dir = save_dir + if not os.path.exists(save_dir): + os.makedirs(save_dir) + self.automatic_optimization = False + + def forward(self, xt: torch.Tensor, t: torch.Tensor) -> torch.Tensor: + return self.unet_model(xt, t) # type: ignore[no-any-return] + + def step(self, batch: MinecraftSchematicsDatasetItemType, batch_idx: int, mode: str) -> None: + optimizer = self.trainer.optimizers[0] + optimizer.zero_grad() + for param in self.parameters(): + # Taken from https://pytorch.org/docs/stable/_modules/torch/optim/optimizer.html#Optimizer.add_param_group + if param.grad is not None: + param.grad.detach_() + param.grad.zero_() + for param in self.unet_model.parameters(): + if param.grad is not None: + param.grad.detach_() + param.grad.zero_() + + block_maps, block_map_masks = batch pre_processed_block_maps = self.pre_process(block_maps) - pre_processed_noisy_block_maps = self.pre_process(noisy_block_maps).float().unsqueeze(1) - tensor_block_map_masks = torch.from_numpy(block_map_masks).float().to("cuda" if torch.cuda.is_available() else "cpu").long() - tensor_loss_masks = ( - torch.from_numpy(loss_masks).float().to("cuda" if torch.cuda.is_available() else "cpu").long() - ) - reconstruction = self.ml_core(pre_processed_noisy_block_maps) - - # Compute accuracy - accuracy_truth_map = (reconstruction.argmax(dim=1) == pre_processed_block_maps).float() - accuracy_on_block_map = accuracy_truth_map[tensor_block_map_masks.bool()].mean() - accuracy_on_loss_map = accuracy_truth_map[tensor_loss_masks.bool()].mean() - - # Compute reconstruction loss using categorical cross-entropy - reconstruction_loss = F.cross_entropy(reconstruction, pre_processed_block_maps, reduction="none") - reconstruction_loss = reconstruction_loss * tensor_block_map_masks - reconstruction_loss = reconstruction_loss * torch.where(tensor_loss_masks == 1, reconstruction_loss, 1) - reconstruction_loss = reconstruction_loss * self.unique_counts_coefficients[pre_processed_block_maps] - loss = reconstruction_loss.mean() + tensor_block_map_masks = torch.from_numpy(block_map_masks).float().to(self.device).long() + tensor_block_map_masks_for_one_hot = torch.zeros( + (len(self.unique_blocks_dict), block_maps.shape[0], 16, 16, 16) + ).to(self.device) + tensor_block_map_masks_for_one_hot[:, tensor_block_map_masks == 1] = 1 + tensor_block_map_masks_for_one_hot = tensor_block_map_masks_for_one_hot.permute(1, 0, 2, 3, 4) + x1 = pre_processed_block_maps + x0 = torch.randn_like(x1) + t, xt, ut = self.flow_matcher.sample_location_and_conditional_flow(x0, x1) + vt = self(xt, t) + loss = (ut - vt) ** 2 + loss = loss * tensor_block_map_masks_for_one_hot # Mask out the loss for the blocks outside the schematic + loss = loss.mean() + loss.backward() + torch.nn.utils.clip_grad_norm_(self.parameters(), 1.0) + optimizer.step() # Total loss loss_dict = { "loss": loss, - "accuracy_on_block_map": accuracy_on_block_map, - "accuracy_on_loss_map": accuracy_on_loss_map, "learning_rate": self.trainer.optimizers[0].param_groups[0]["lr"], } for name, value in loss_dict.items(): @@ -110,7 +84,21 @@ def step(self, batch: MinecraftSchematicsDatasetItemType, batch_idx: int, mode: logger=True, batch_size=block_maps.shape[0], ) - return loss + torch.cuda.empty_cache() + for tensor in [ + pre_processed_block_maps, + tensor_block_map_masks, + tensor_block_map_masks_for_one_hot, + x1, + x0, + t, + xt, + ut, + vt, + loss, + ]: + tensor.detach() + del tensor def pre_process(self, x: np.ndarray) -> torch.Tensor: vectorized_x = np.vectorize(lambda x: self.unique_blocks_dict.get(x, self.unique_blocks_dict["minecraft:air"]))( @@ -119,20 +107,55 @@ def pre_process(self, x: np.ndarray) -> torch.Tensor: vectorized_x = vectorized_x.astype(np.int64) x_tensor = torch.from_numpy(vectorized_x) x_tensor = x_tensor.to("cuda" if torch.cuda.is_available() else "cpu") + x_tensor = F.one_hot(x_tensor, num_classes=len(self.unique_blocks_dict)).permute(0, 4, 1, 2, 3).float() return x_tensor def post_process(self, x: torch.Tensor) -> np.ndarray: - predicted_block_maps: np.ndarray = np.vectorize(self.reverse_unique_blocks_dict.get)(x.argmax(dim=1).numpy()) + predicted_block_maps: np.ndarray = np.vectorize(self.reverse_unique_blocks_dict.get)( + x.argmax(dim=1).cpu().numpy() + ) return predicted_block_maps - def training_step(self, batch: MinecraftSchematicsDatasetItemType, batch_idx: int) -> torch.Tensor: - return self.step(batch, batch_idx, "train") - - def validation_step(self, batch: MinecraftSchematicsDatasetItemType, batch_idx: int) -> torch.Tensor: - return self.step(batch, batch_idx, "val") + def generate_samples(self, model: UNetModel, model_name: str) -> None: # type: ignore[no-any-unimported] + memory_train = model.training + + model.eval() + from scipy.integrate import solve_ivp + + def vector_field(t: float, x: np.ndarray): + reshaped_x = x.reshape(1, len(self.unique_blocks_dict), 16, 16, 16) + x_tensor = torch.from_numpy(reshaped_x).float().to(self.device) + res = model(x_tensor, torch.tensor([t], device=self.device).float()) + return res.detach().cpu().numpy().reshape(-1) + traj = solve_ivp(fun=vector_field, + t_span=(0, 1), + y0=np.random.standard_normal((1, len(self.unique_blocks_dict), 16, 16, 16)).reshape(-1), + t_eval=np.linspace(0, 1, 10) + ) + sol = traj["y"].transpose(1, 0) + for time_step in range(sol.shape[0]): + post_processed = self.post_process( + torch.from_numpy(sol[time_step].reshape(1, len(self.unique_blocks_dict), 16, 16, 16)) + ) + np.save(f"{self.save_dir}/sample_{model_name}_{time_step}.npy", post_processed, allow_pickle=True) + self.train(memory_train) + + def training_step(self, batch: MinecraftSchematicsDatasetItemType, batch_idx: int) -> None: # type: ignore[override] + self.step(batch, batch_idx, "train") + self.log("step", self.step_number, on_step=True, on_epoch=False, prog_bar=True, logger=True) + if self.step_number % 20_000 == 0: + logger.info(f"Generating samples at step {self.step_number}...") + self.generate_samples(self.unet_model, f"unet_{self.step_number}") + logger.info(f"Saving model at step {self.step_number}...") + torch.save( + { + "net_model": self.unet_model, + "step": self.step_number, + }, + self.save_dir + f"/model_{self.step_number}.pth", + ) + self.step_number += 1 def configure_optimizers(self) -> Any: - return torch.optim.Adam(self.parameters(), lr=1e-3) - - def on_train_start(self) -> None: - print(self) + optimizer = torch.optim.Adam(self.parameters(), lr=2e-4) + return optimizer diff --git a/minecraft_copilot_ml/otcfm_visualizer.ipynb b/minecraft_copilot_ml/otcfm_visualizer.ipynb new file mode 100644 index 0000000..b7f4720 --- /dev/null +++ b/minecraft_copilot_ml/otcfm_visualizer.ipynb @@ -0,0 +1,132 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_2143/1617969541.py:6: MatplotlibDeprecationWarning: The get_cmap function was deprecated in Matplotlib 3.7 and will be removed two minor releases later. Use ``matplotlib.colormaps[name]`` or ``matplotlib.colormaps.get_cmap(obj)`` instead.\n", + " colors_palette = cm.get_cmap(\"tab10\").colors\n" + ] + } + ], + "source": [ + "from matplotlib import pyplot as plt\n", + "import matplotlib.cm as cm\n", + "from typing import Any\n", + "import numpy as np\n", + "\n", + "colors_palette = cm.get_cmap(\"tab10\").colors\n", + "\n", + "\n", + "def display_voxels(voxel: np.ndarray, zero_block: Any = 0):\n", + " ax = plt.figure().add_subplot(projection=\"3d\")\n", + " unique_values = set(np.unique(voxel))\n", + "\n", + " colors = np.empty(voxel.shape, dtype=object)\n", + " for i, value in enumerate(unique_values):\n", + " colors[voxel == value] = {colors_palette[i % len(colors_palette)]}\n", + " ax.voxels(voxel != zero_block, facecolors=colors)\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "ename": "KeyboardInterrupt", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[2], line 5\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m range_linspace:\n\u001b[1;32m 4\u001b[0m block_map \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mload(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/home/mehdi/minecraft-copilot-ml/output_2/sample_unet_400_\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mi\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.npy\u001b[39m\u001b[38;5;124m\"\u001b[39m)[\u001b[38;5;241m0\u001b[39m]\n\u001b[0;32m----> 5\u001b[0m \u001b[43mdisplay_voxels\u001b[49m\u001b[43m(\u001b[49m\u001b[43mblock_map\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mzero_block\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mminecraft:air\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 6\u001b[0m block_map \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mload(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/home/mehdi/minecraft-copilot-ml/output_2/sample_unet_400_99.npy\u001b[39m\u001b[38;5;124m\"\u001b[39m)[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 7\u001b[0m display_voxels(block_map, zero_block\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mminecraft:air\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "Cell \u001b[0;32mIn[1], line 17\u001b[0m, in \u001b[0;36mdisplay_voxels\u001b[0;34m(voxel, zero_block)\u001b[0m\n\u001b[1;32m 15\u001b[0m colors[voxel \u001b[38;5;241m==\u001b[39m value] \u001b[38;5;241m=\u001b[39m {colors_palette[i \u001b[38;5;241m%\u001b[39m \u001b[38;5;28mlen\u001b[39m(colors_palette)]}\n\u001b[1;32m 16\u001b[0m ax\u001b[38;5;241m.\u001b[39mvoxels(voxel \u001b[38;5;241m!=\u001b[39m zero_block, facecolors\u001b[38;5;241m=\u001b[39mcolors)\n\u001b[0;32m---> 17\u001b[0m \u001b[43mplt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mshow\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/matplotlib/pyplot.py:527\u001b[0m, in \u001b[0;36mshow\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 483\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 484\u001b[0m \u001b[38;5;124;03mDisplay all open figures.\u001b[39;00m\n\u001b[1;32m 485\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 524\u001b[0m \u001b[38;5;124;03mexplicitly there.\u001b[39;00m\n\u001b[1;32m 525\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 526\u001b[0m _warn_if_gui_out_of_main_thread()\n\u001b[0;32m--> 527\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_get_backend_mod\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mshow\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/matplotlib_inline/backend_inline.py:90\u001b[0m, in \u001b[0;36mshow\u001b[0;34m(close, block)\u001b[0m\n\u001b[1;32m 88\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 89\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m figure_manager \u001b[38;5;129;01min\u001b[39;00m Gcf\u001b[38;5;241m.\u001b[39mget_all_fig_managers():\n\u001b[0;32m---> 90\u001b[0m \u001b[43mdisplay\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 91\u001b[0m \u001b[43m \u001b[49m\u001b[43mfigure_manager\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcanvas\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfigure\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 92\u001b[0m \u001b[43m \u001b[49m\u001b[43mmetadata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_fetch_figure_metadata\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfigure_manager\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcanvas\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfigure\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 93\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 94\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 95\u001b[0m show\u001b[38;5;241m.\u001b[39m_to_draw \u001b[38;5;241m=\u001b[39m []\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/IPython/core/display_functions.py:298\u001b[0m, in \u001b[0;36mdisplay\u001b[0;34m(include, exclude, metadata, transient, display_id, raw, clear, *objs, **kwargs)\u001b[0m\n\u001b[1;32m 296\u001b[0m publish_display_data(data\u001b[38;5;241m=\u001b[39mobj, metadata\u001b[38;5;241m=\u001b[39mmetadata, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 297\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 298\u001b[0m format_dict, md_dict \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minclude\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minclude\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexclude\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mexclude\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 299\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m format_dict:\n\u001b[1;32m 300\u001b[0m \u001b[38;5;66;03m# nothing to display (e.g. _ipython_display_ took over)\u001b[39;00m\n\u001b[1;32m 301\u001b[0m \u001b[38;5;28;01mcontinue\u001b[39;00m\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/IPython/core/formatters.py:182\u001b[0m, in \u001b[0;36mDisplayFormatter.format\u001b[0;34m(self, obj, include, exclude)\u001b[0m\n\u001b[1;32m 180\u001b[0m md \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 181\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 182\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[43mformatter\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 183\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m:\n\u001b[1;32m 184\u001b[0m \u001b[38;5;66;03m# FIXME: log the exception\u001b[39;00m\n\u001b[1;32m 185\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/decorator.py:232\u001b[0m, in \u001b[0;36mdecorate..fun\u001b[0;34m(*args, **kw)\u001b[0m\n\u001b[1;32m 230\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m kwsyntax:\n\u001b[1;32m 231\u001b[0m args, kw \u001b[38;5;241m=\u001b[39m fix(args, kw, sig)\n\u001b[0;32m--> 232\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mcaller\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mextras\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkw\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/IPython/core/formatters.py:226\u001b[0m, in \u001b[0;36mcatch_format_error\u001b[0;34m(method, self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 224\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"show traceback on failed format call\"\"\"\u001b[39;00m\n\u001b[1;32m 225\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 226\u001b[0m r \u001b[38;5;241m=\u001b[39m \u001b[43mmethod\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 227\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m:\n\u001b[1;32m 228\u001b[0m \u001b[38;5;66;03m# don't warn on NotImplementedErrors\u001b[39;00m\n\u001b[1;32m 229\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_return(\u001b[38;5;28;01mNone\u001b[39;00m, args[\u001b[38;5;241m0\u001b[39m])\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/IPython/core/formatters.py:343\u001b[0m, in \u001b[0;36mBaseFormatter.__call__\u001b[0;34m(self, obj)\u001b[0m\n\u001b[1;32m 341\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n\u001b[1;32m 342\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 343\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mprinter\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 344\u001b[0m \u001b[38;5;66;03m# Finally look for special method names\u001b[39;00m\n\u001b[1;32m 345\u001b[0m method \u001b[38;5;241m=\u001b[39m get_real_method(obj, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprint_method)\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/IPython/core/pylabtools.py:170\u001b[0m, in \u001b[0;36mprint_figure\u001b[0;34m(fig, fmt, bbox_inches, base64, **kwargs)\u001b[0m\n\u001b[1;32m 167\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mmatplotlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mbackend_bases\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m FigureCanvasBase\n\u001b[1;32m 168\u001b[0m FigureCanvasBase(fig)\n\u001b[0;32m--> 170\u001b[0m \u001b[43mfig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcanvas\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mprint_figure\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbytes_io\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkw\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 171\u001b[0m data \u001b[38;5;241m=\u001b[39m bytes_io\u001b[38;5;241m.\u001b[39mgetvalue()\n\u001b[1;32m 172\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m fmt \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124msvg\u001b[39m\u001b[38;5;124m'\u001b[39m:\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/matplotlib/backend_bases.py:2164\u001b[0m, in \u001b[0;36mFigureCanvasBase.print_figure\u001b[0;34m(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs)\u001b[0m\n\u001b[1;32m 2161\u001b[0m \u001b[38;5;66;03m# we do this instead of `self.figure.draw_without_rendering`\u001b[39;00m\n\u001b[1;32m 2162\u001b[0m \u001b[38;5;66;03m# so that we can inject the orientation\u001b[39;00m\n\u001b[1;32m 2163\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mgetattr\u001b[39m(renderer, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_draw_disabled\u001b[39m\u001b[38;5;124m\"\u001b[39m, nullcontext)():\n\u001b[0;32m-> 2164\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfigure\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2165\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m bbox_inches:\n\u001b[1;32m 2166\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m bbox_inches \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtight\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/matplotlib/artist.py:95\u001b[0m, in \u001b[0;36m_finalize_rasterization..draw_wrapper\u001b[0;34m(artist, renderer, *args, **kwargs)\u001b[0m\n\u001b[1;32m 93\u001b[0m \u001b[38;5;129m@wraps\u001b[39m(draw)\n\u001b[1;32m 94\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdraw_wrapper\u001b[39m(artist, renderer, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m---> 95\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43martist\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 96\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m renderer\u001b[38;5;241m.\u001b[39m_rasterizing:\n\u001b[1;32m 97\u001b[0m renderer\u001b[38;5;241m.\u001b[39mstop_rasterizing()\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/matplotlib/artist.py:72\u001b[0m, in \u001b[0;36mallow_rasterization..draw_wrapper\u001b[0;34m(artist, renderer)\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 70\u001b[0m renderer\u001b[38;5;241m.\u001b[39mstart_filter()\n\u001b[0;32m---> 72\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43martist\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 73\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 74\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/matplotlib/figure.py:3154\u001b[0m, in \u001b[0;36mFigure.draw\u001b[0;34m(self, renderer)\u001b[0m\n\u001b[1;32m 3151\u001b[0m \u001b[38;5;66;03m# ValueError can occur when resizing a window.\u001b[39;00m\n\u001b[1;32m 3153\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpatch\u001b[38;5;241m.\u001b[39mdraw(renderer)\n\u001b[0;32m-> 3154\u001b[0m \u001b[43mmimage\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_draw_list_compositing_images\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 3155\u001b[0m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43martists\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msuppressComposite\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3157\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m sfig \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msubfigs:\n\u001b[1;32m 3158\u001b[0m sfig\u001b[38;5;241m.\u001b[39mdraw(renderer)\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/matplotlib/image.py:132\u001b[0m, in \u001b[0;36m_draw_list_compositing_images\u001b[0;34m(renderer, parent, artists, suppress_composite)\u001b[0m\n\u001b[1;32m 130\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m not_composite \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m has_images:\n\u001b[1;32m 131\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m a \u001b[38;5;129;01min\u001b[39;00m artists:\n\u001b[0;32m--> 132\u001b[0m \u001b[43ma\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 133\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 134\u001b[0m \u001b[38;5;66;03m# Composite any adjacent images together\u001b[39;00m\n\u001b[1;32m 135\u001b[0m image_group \u001b[38;5;241m=\u001b[39m []\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/matplotlib/artist.py:72\u001b[0m, in \u001b[0;36mallow_rasterization..draw_wrapper\u001b[0;34m(artist, renderer)\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 70\u001b[0m renderer\u001b[38;5;241m.\u001b[39mstart_filter()\n\u001b[0;32m---> 72\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mdraw\u001b[49m\u001b[43m(\u001b[49m\u001b[43martist\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 73\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 74\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m artist\u001b[38;5;241m.\u001b[39mget_agg_filter() \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/mpl_toolkits/mplot3d/axes3d.py:472\u001b[0m, in \u001b[0;36mAxes3D.draw\u001b[0;34m(self, renderer)\u001b[0m\n\u001b[1;32m 468\u001b[0m zorder_offset \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mmax\u001b[39m(axis\u001b[38;5;241m.\u001b[39mget_zorder()\n\u001b[1;32m 469\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m axis \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_axis_map\u001b[38;5;241m.\u001b[39mvalues()) \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[1;32m 470\u001b[0m collection_zorder \u001b[38;5;241m=\u001b[39m patch_zorder \u001b[38;5;241m=\u001b[39m zorder_offset\n\u001b[0;32m--> 472\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m artist \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28;43msorted\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcollections_and_patches\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 473\u001b[0m \u001b[43m \u001b[49m\u001b[43mkey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mlambda\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43martist\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43martist\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdo_3d_projection\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 474\u001b[0m \u001b[43m \u001b[49m\u001b[43mreverse\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m:\n\u001b[1;32m 475\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(artist, mcoll\u001b[38;5;241m.\u001b[39mCollection):\n\u001b[1;32m 476\u001b[0m artist\u001b[38;5;241m.\u001b[39mzorder \u001b[38;5;241m=\u001b[39m collection_zorder\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/mpl_toolkits/mplot3d/axes3d.py:473\u001b[0m, in \u001b[0;36mAxes3D.draw..\u001b[0;34m(artist)\u001b[0m\n\u001b[1;32m 468\u001b[0m zorder_offset \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mmax\u001b[39m(axis\u001b[38;5;241m.\u001b[39mget_zorder()\n\u001b[1;32m 469\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m axis \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_axis_map\u001b[38;5;241m.\u001b[39mvalues()) \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[1;32m 470\u001b[0m collection_zorder \u001b[38;5;241m=\u001b[39m patch_zorder \u001b[38;5;241m=\u001b[39m zorder_offset\n\u001b[1;32m 472\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m artist \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28msorted\u001b[39m(collections_and_patches,\n\u001b[0;32m--> 473\u001b[0m key\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mlambda\u001b[39;00m artist: \u001b[43martist\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdo_3d_projection\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m,\n\u001b[1;32m 474\u001b[0m reverse\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m):\n\u001b[1;32m 475\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(artist, mcoll\u001b[38;5;241m.\u001b[39mCollection):\n\u001b[1;32m 476\u001b[0m artist\u001b[38;5;241m.\u001b[39mzorder \u001b[38;5;241m=\u001b[39m collection_zorder\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/mpl_toolkits/mplot3d/art3d.py:1031\u001b[0m, in \u001b[0;36mPoly3DCollection.do_3d_projection\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1027\u001b[0m cedge \u001b[38;5;241m=\u001b[39m cedge\u001b[38;5;241m.\u001b[39mrepeat(\u001b[38;5;28mlen\u001b[39m(xyzlist), axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m)\n\u001b[1;32m 1029\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m xyzlist:\n\u001b[1;32m 1030\u001b[0m \u001b[38;5;66;03m# sort by depth (furthest drawn first)\u001b[39;00m\n\u001b[0;32m-> 1031\u001b[0m z_segments_2d \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43msorted\u001b[39;49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1032\u001b[0m \u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_zsortfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mzs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcolumn_stack\u001b[49m\u001b[43m(\u001b[49m\u001b[43m[\u001b[49m\u001b[43mxs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mys\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mec\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43midx\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1033\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43midx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43m(\u001b[49m\u001b[43mxs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mys\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mzs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mec\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1034\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43menumerate\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mzip\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mxyzlist\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcface\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcedge\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1035\u001b[0m \u001b[43m \u001b[49m\u001b[43mkey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mlambda\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mreverse\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 1037\u001b[0m _, segments_2d, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_facecolors2d, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_edgecolors2d, idxs \u001b[38;5;241m=\u001b[39m \\\n\u001b[1;32m 1038\u001b[0m \u001b[38;5;28mzip\u001b[39m(\u001b[38;5;241m*\u001b[39mz_segments_2d)\n\u001b[1;32m 1039\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/mpl_toolkits/mplot3d/art3d.py:1032\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 1027\u001b[0m cedge \u001b[38;5;241m=\u001b[39m cedge\u001b[38;5;241m.\u001b[39mrepeat(\u001b[38;5;28mlen\u001b[39m(xyzlist), axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m)\n\u001b[1;32m 1029\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m xyzlist:\n\u001b[1;32m 1030\u001b[0m \u001b[38;5;66;03m# sort by depth (furthest drawn first)\u001b[39;00m\n\u001b[1;32m 1031\u001b[0m z_segments_2d \u001b[38;5;241m=\u001b[39m \u001b[38;5;28msorted\u001b[39m(\n\u001b[0;32m-> 1032\u001b[0m ((\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_zsortfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mzs\u001b[49m\u001b[43m)\u001b[49m, np\u001b[38;5;241m.\u001b[39mcolumn_stack([xs, ys]), fc, ec, idx)\n\u001b[1;32m 1033\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m idx, ((xs, ys, zs), fc, ec)\n\u001b[1;32m 1034\u001b[0m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(\u001b[38;5;28mzip\u001b[39m(xyzlist, cface, cedge))),\n\u001b[1;32m 1035\u001b[0m key\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mlambda\u001b[39;00m x: x[\u001b[38;5;241m0\u001b[39m], reverse\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[1;32m 1037\u001b[0m _, segments_2d, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_facecolors2d, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_edgecolors2d, idxs \u001b[38;5;241m=\u001b[39m \\\n\u001b[1;32m 1038\u001b[0m \u001b[38;5;28mzip\u001b[39m(\u001b[38;5;241m*\u001b[39mz_segments_2d)\n\u001b[1;32m 1039\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", + "File \u001b[0;32m~/minecraft-copilot-ml/.venv/lib/python3.10/site-packages/numpy/lib/function_base.py:521\u001b[0m, in \u001b[0;36maverage\u001b[0;34m(a, axis, weights, returned, keepdims)\u001b[0m\n\u001b[1;32m 519\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m weights \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 520\u001b[0m avg \u001b[38;5;241m=\u001b[39m a\u001b[38;5;241m.\u001b[39mmean(axis, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkeepdims_kw)\n\u001b[0;32m--> 521\u001b[0m avg_as_array \u001b[38;5;241m=\u001b[39m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43masanyarray\u001b[49m\u001b[43m(\u001b[49m\u001b[43mavg\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 522\u001b[0m scl \u001b[38;5;241m=\u001b[39m avg_as_array\u001b[38;5;241m.\u001b[39mdtype\u001b[38;5;241m.\u001b[39mtype(a\u001b[38;5;241m.\u001b[39msize\u001b[38;5;241m/\u001b[39mavg_as_array\u001b[38;5;241m.\u001b[39msize)\n\u001b[1;32m 523\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + } + ], + "source": [ + "import numpy as np\n", + "range_linspace = np.linspace(0, 99, 10).astype(int)\n", + "for i in range_linspace:\n", + " block_map = np.load(f\"/home/mehdi/minecraft-copilot-ml/output_2/sample_unet_400_{i}.npy\")[0]\n", + " display_voxels(block_map, zero_block=\"minecraft:air\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Wloa6enp7coG72hc0WqCILQriu5U0KiU3D59DLMmZjH3n3PZltzCtn7NdGv8nKHHPiPnYALptiwmhCEsAAqV/7nG5eQw/tFHO+zc161bx80338y7774bslHvDHyNSl966SX69OnD5MmTg35GEIRIG9IJnLX5BU+7BBcuu4SJEycG/MzEiRO9tgf4+uuvg24fof0oFAq3sPjicg++6aabWL16NVVVVSxcuJAjR45w0UUXMXz4cP7whz/w008/dVjxrbq6OvLz8+nbty99+/YlMzOTkSNHMnnyZHr37k1LSws//fQT33//PQcPHqSxsbFTpu18cVUBFUWx04TFxYmmE8z951xazC3u1yrj4ZuhAv83vZFPLihida6GnSkO7AEKh+3zERY4OXLpLDZv3sx1113Hm2++ybXXXtupx2oLq9XKe++9x2233RayA2IwGMjJySE7O5u5c+eyd+/eM3iWv1zOeihyKLuEm266iaysLBYtWgQ4Q5EnT57MSy+9xKxZs/jwww/54x//GAlFPosYjUZ3TZrPP/+chIQEd02a3NzcU4rochX5GjhwYMi6Hg6Hg9raWrcNjUKhcI9oOsPvzGazsWPHDjQaDcOHD+/UaLXjjceZ93/zMJlN7dpebRHILLUy9KjMCL3IYZOFwwGqjeZeNo8733ijo08XgO+//57LL7+cP/3pT9x5551nfXpp2bJlXHfddZSVlQV9jrZu3UpxcTHDhw+nsbGRP/3pT2zevJm9e/fSvXv3M3zGvyzOeob+m2++yauvvuq2S/jrX/9Kbm4u4IxY6tmzJ0uXLnVv//HHH/Pkk09SWlpKv379eOWVV7jkkktCHmPRokWsXLmS/fv3o9PpOOecc3j55ZcZMGBA0M8sXbqUW2+91es1jUYTsszprx2TyeSuSfPpp5+6ywjMmzePc845p129fFeNmKFDh4Zlm+Fpv6LX6xEEgdTUVNLT0zvE78xVDCoqKqrTyzgfazjG5f93OSZL+4TFl6QSgb5r6wJOl5171VXc+pfFp3eCAdi2bRtz587lxRdf5P777z/rwgIwffp01Go1n376abs/Y7PZGDRoENdeey3PP/98J57dL5+zLi5nghkzZnDNNdcwbtw47HY7TzzxBHv27KGoqChoMaylS5fy4IMP+i30/Vp9gsLFarWyfv16li9fzpo1axAEgdmzZzNv3jzOO++8gJFV5eXlHDx4kOHDh5OSknLKx5YkycuGxuFwuMObk5KSwh5xWCwWduzYQUxMDEOHDu1cYak/xmX/ugyz5dQ6MTH7TFTUW7ioIPDPesC0aVz29FPtdi9uD/n5+cyZM4enn36ahx56qEsIy9GjR+nduzcrV65k7ty5YX32yiuvRKlU8t///reTzu7Xwa8iWmzt2rVefy9dupS0tDR27NjB+eefH/RzkYW+U0etVjNjxgxmzJjB22+/zaZNm/j444+56667sFgszJ49m7lz53LhhRei0Wh45ZVX6N27N1OnTiUxMfG0ji2KIklJSSQlJTFgwAB3KeP9+/djs9ncfmeuoJJQmM1mduzYQXx8PEOGDOnUhvNYw+kJS/R+p7AEqhzpIjE5GaPRyE8//YRarXaLbnx8/Cld265du7j00kt57LHHuoywACxZsoS0tLSwQ6AdDge7d+9uczYkQtv8KsTFl8ZWm4u2KhW6FvokSWL06NH88Y9/ZMiQIWfiFH9RKJVKpk6dytSpU3nrrbf47rvvWLFiBQ899BBNTU1069aN8vJyPv7449MWFl98Sxk3Nzej1+s5dOgQe/bsISUlhbS0NFJSUvxsaEwmEzt27CApKalTQq99+WD3B9h1dhQqBQ6zA8KwYIveb+JEnQVJhGD1wBKSErnumaeJio/3ci8uLCw8pbIJRUVFzJkzh4ceeojHHnusywiLJEksWbKEm2++2W8q1ncd97nnnmPChAn07duXhoYGXn31VY4ePcodd9xxNk79F8WvYlrME0mSuPTSS2loaOC7774Lul1koa/zsdvtXHfddXzxxRfEx8fT1NTkrkkzffr0Ts1nkWUZo9FIVVUVer0eo9FIcnKyu7Ki3W5nx44dpKamMmDAgDPScP5x8x9ZXrTc6xxlm4zD4gBb8M95CguA0gFTC71/1gmJiTz3/XdEBSjjEGga0bNsQqDR3YEDB5g5cya33347L7zwQpcRFoCvvvqK6dOnc+DAAfr37+/1nu867m9/+1tWrlxJZWUliYmJjBkzhhdeeIFRo0adhTP/ZfGrE5d7772XL7/8ku+++y4skYgs9HUssixz++23s2nTJr755htycnLIz89n+fLlrFy5kvLyci666CLmzp3LzJkzO72ccktLi1tompubAUhISGDo0KFnLGP7hU0vsHLfyoDvRdvUqI4ZMIsy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IqHIESJ4EMoZwIVGowkry3/x4sXceeed3HrrrQC8/fbbfP755/zrX/8KuH5xtjmVcgjdunWLlE+I4EVk5BIhQphs3LiRtLQ0BgwYwL333kttbW3QbU9l/eJscyrlECZOnOi1PcDXX38dKZ/wKyYycokQIQxmzJjBZZddRq9evSgpKeGJJ55g5syZbN26FYVC4bd9qPWL/fv3n6nTDpsFCxZw8803M3bsWMaPH89rr72G0Wh0j75uuukmsrKyWLRoEQAPPvggkydP5s9//jOzZs3iww8/ZPv27bz77rtn8zIinEUi4hIhQhhcc8017v8fNmwYw4cPp0+fPmzcuJGpU6eexTPrWK6++mqqq6t5+umnqaysZOTIkaxdu9YtkmVlZYjiyYmPc845hw8++IAnn3ySJ554gn79+rF69WqGDh16ti4hwlkmIi4RIpwGvXv3JiUlhUOHDgUUl59zOef58+e7c4R82bhxo99rV155JVdeeWUnn1WEnwuRNZcIEU6D8vJyamtrg2b5R8o5R/i1EhGXCBE8MBgMFBYWUlhYCMCRI0coLCykrKwMg8HA7373O3744QdKS0tZt24dc+fOpW/fvkyfPt29j6lTp7oz28G5fvGPf/yDf//73+zbt497773Xa/0iQoRfIpFpsQgRPNi+fTsXXHCB++8FCxYAcPPNN/P3v/+dXbt28e9//5uGhgYyMzO5+OKLef7559FoNO7P+DoDtLV+ESHCL5GIt1iECBEiROhwItNiESJEiBChw4mIS4QIESJE6HAi4hIhQoQIETqciLhEiBAhQoQOJyIuESJEiBChw4mIS4QIESJE6HAi4hIhQoQIETqciLhEiBAhQoQOJyIuESJEiBChw4mIS4QIESJE6HAi4hIhQoQIETqc/w89vSSvr+LkPgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "block_map = np.load(f\"/home/mehdi/minecraft-copilot-ml/output_2/sample_unet_3300_99.npy\")[0]\n", + "display_voxels(block_map, zero_block=\"minecraft:air\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/poetry.lock b/poetry.lock index dd49214..5800fa9 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,89 +1,99 @@ -# This file is automatically @generated by Poetry 1.4.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. + +[[package]] +name = "absl-py" +version = "2.1.0" +description = "Abseil Python Common Libraries, see https://github.com/abseil/abseil-py." +optional = false +python-versions = ">=3.7" +files = [ + {file = "absl-py-2.1.0.tar.gz", hash = "sha256:7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff"}, + {file = "absl_py-2.1.0-py3-none-any.whl", hash = "sha256:526a04eadab8b4ee719ce68f204172ead1027549089702d99b9059f129ff1308"}, +] [[package]] name = "aiohttp" -version = "3.9.3" +version = "3.9.5" description = "Async http client/server framework (asyncio)" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:939677b61f9d72a4fa2a042a5eee2a99a24001a67c13da113b2e30396567db54"}, - {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1f5cd333fcf7590a18334c90f8c9147c837a6ec8a178e88d90a9b96ea03194cc"}, - {file = "aiohttp-3.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:82e6aa28dd46374f72093eda8bcd142f7771ee1eb9d1e223ff0fa7177a96b4a5"}, - {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f56455b0c2c7cc3b0c584815264461d07b177f903a04481dfc33e08a89f0c26b"}, - {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bca77a198bb6e69795ef2f09a5f4c12758487f83f33d63acde5f0d4919815768"}, - {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e083c285857b78ee21a96ba1eb1b5339733c3563f72980728ca2b08b53826ca5"}, - {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab40e6251c3873d86ea9b30a1ac6d7478c09277b32e14745d0d3c6e76e3c7e29"}, - {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df822ee7feaaeffb99c1a9e5e608800bd8eda6e5f18f5cfb0dc7eeb2eaa6bbec"}, - {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:acef0899fea7492145d2bbaaaec7b345c87753168589cc7faf0afec9afe9b747"}, - {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cd73265a9e5ea618014802ab01babf1940cecb90c9762d8b9e7d2cc1e1969ec6"}, - {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a78ed8a53a1221393d9637c01870248a6f4ea5b214a59a92a36f18151739452c"}, - {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6b0e029353361f1746bac2e4cc19b32f972ec03f0f943b390c4ab3371840aabf"}, - {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7cf5c9458e1e90e3c390c2639f1017a0379a99a94fdfad3a1fd966a2874bba52"}, - {file = "aiohttp-3.9.3-cp310-cp310-win32.whl", hash = "sha256:3e59c23c52765951b69ec45ddbbc9403a8761ee6f57253250c6e1536cacc758b"}, - {file = "aiohttp-3.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:055ce4f74b82551678291473f66dc9fb9048a50d8324278751926ff0ae7715e5"}, - {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6b88f9386ff1ad91ace19d2a1c0225896e28815ee09fc6a8932fded8cda97c3d"}, - {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c46956ed82961e31557b6857a5ca153c67e5476972e5f7190015018760938da2"}, - {file = "aiohttp-3.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:07b837ef0d2f252f96009e9b8435ec1fef68ef8b1461933253d318748ec1acdc"}, - {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad46e6f620574b3b4801c68255492e0159d1712271cc99d8bdf35f2043ec266"}, - {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ed3e046ea7b14938112ccd53d91c1539af3e6679b222f9469981e3dac7ba1ce"}, - {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:039df344b45ae0b34ac885ab5b53940b174530d4dd8a14ed8b0e2155b9dddccb"}, - {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7943c414d3a8d9235f5f15c22ace69787c140c80b718dcd57caaade95f7cd93b"}, - {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84871a243359bb42c12728f04d181a389718710129b36b6aad0fc4655a7647d4"}, - {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5eafe2c065df5401ba06821b9a054d9cb2848867f3c59801b5d07a0be3a380ae"}, - {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9d3c9b50f19704552f23b4eaea1fc082fdd82c63429a6506446cbd8737823da3"}, - {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:f033d80bc6283092613882dfe40419c6a6a1527e04fc69350e87a9df02bbc283"}, - {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:2c895a656dd7e061b2fd6bb77d971cc38f2afc277229ce7dd3552de8313a483e"}, - {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1f5a71d25cd8106eab05f8704cd9167b6e5187bcdf8f090a66c6d88b634802b4"}, - {file = "aiohttp-3.9.3-cp311-cp311-win32.whl", hash = "sha256:50fca156d718f8ced687a373f9e140c1bb765ca16e3d6f4fe116e3df7c05b2c5"}, - {file = "aiohttp-3.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:5fe9ce6c09668063b8447f85d43b8d1c4e5d3d7e92c63173e6180b2ac5d46dd8"}, - {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:38a19bc3b686ad55804ae931012f78f7a534cce165d089a2059f658f6c91fa60"}, - {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:770d015888c2a598b377bd2f663adfd947d78c0124cfe7b959e1ef39f5b13869"}, - {file = "aiohttp-3.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ee43080e75fc92bf36219926c8e6de497f9b247301bbf88c5c7593d931426679"}, - {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52df73f14ed99cee84865b95a3d9e044f226320a87af208f068ecc33e0c35b96"}, - {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc9b311743a78043b26ffaeeb9715dc360335e5517832f5a8e339f8a43581e4d"}, - {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b955ed993491f1a5da7f92e98d5dad3c1e14dc175f74517c4e610b1f2456fb11"}, - {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:504b6981675ace64c28bf4a05a508af5cde526e36492c98916127f5a02354d53"}, - {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6fe5571784af92b6bc2fda8d1925cccdf24642d49546d3144948a6a1ed58ca5"}, - {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ba39e9c8627edc56544c8628cc180d88605df3892beeb2b94c9bc857774848ca"}, - {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e5e46b578c0e9db71d04c4b506a2121c0cb371dd89af17a0586ff6769d4c58c1"}, - {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:938a9653e1e0c592053f815f7028e41a3062e902095e5a7dc84617c87267ebd5"}, - {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:c3452ea726c76e92f3b9fae4b34a151981a9ec0a4847a627c43d71a15ac32aa6"}, - {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ff30218887e62209942f91ac1be902cc80cddb86bf00fbc6783b7a43b2bea26f"}, - {file = "aiohttp-3.9.3-cp312-cp312-win32.whl", hash = "sha256:38f307b41e0bea3294a9a2a87833191e4bcf89bb0365e83a8be3a58b31fb7f38"}, - {file = "aiohttp-3.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:b791a3143681a520c0a17e26ae7465f1b6f99461a28019d1a2f425236e6eedb5"}, - {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ed621426d961df79aa3b963ac7af0d40392956ffa9be022024cd16297b30c8c"}, - {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7f46acd6a194287b7e41e87957bfe2ad1ad88318d447caf5b090012f2c5bb528"}, - {file = "aiohttp-3.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:feeb18a801aacb098220e2c3eea59a512362eb408d4afd0c242044c33ad6d542"}, - {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f734e38fd8666f53da904c52a23ce517f1b07722118d750405af7e4123933511"}, - {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b40670ec7e2156d8e57f70aec34a7216407848dfe6c693ef131ddf6e76feb672"}, - {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdd215b7b7fd4a53994f238d0f46b7ba4ac4c0adb12452beee724ddd0743ae5d"}, - {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:017a21b0df49039c8f46ca0971b3a7fdc1f56741ab1240cb90ca408049766168"}, - {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e99abf0bba688259a496f966211c49a514e65afa9b3073a1fcee08856e04425b"}, - {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:648056db9a9fa565d3fa851880f99f45e3f9a771dd3ff3bb0c048ea83fb28194"}, - {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8aacb477dc26797ee089721536a292a664846489c49d3ef9725f992449eda5a8"}, - {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:522a11c934ea660ff8953eda090dcd2154d367dec1ae3c540aff9f8a5c109ab4"}, - {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:5bce0dc147ca85caa5d33debc4f4d65e8e8b5c97c7f9f660f215fa74fc49a321"}, - {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b4af9f25b49a7be47c0972139e59ec0e8285c371049df1a63b6ca81fdd216a2"}, - {file = "aiohttp-3.9.3-cp38-cp38-win32.whl", hash = "sha256:298abd678033b8571995650ccee753d9458dfa0377be4dba91e4491da3f2be63"}, - {file = "aiohttp-3.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:69361bfdca5468c0488d7017b9b1e5ce769d40b46a9f4a2eed26b78619e9396c"}, - {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0fa43c32d1643f518491d9d3a730f85f5bbaedcbd7fbcae27435bb8b7a061b29"}, - {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:835a55b7ca49468aaaac0b217092dfdff370e6c215c9224c52f30daaa735c1c1"}, - {file = "aiohttp-3.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:06a9b2c8837d9a94fae16c6223acc14b4dfdff216ab9b7202e07a9a09541168f"}, - {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abf151955990d23f84205286938796c55ff11bbfb4ccfada8c9c83ae6b3c89a3"}, - {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59c26c95975f26e662ca78fdf543d4eeaef70e533a672b4113dd888bd2423caa"}, - {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f95511dd5d0e05fd9728bac4096319f80615aaef4acbecb35a990afebe953b0e"}, - {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:595f105710293e76b9dc09f52e0dd896bd064a79346234b521f6b968ffdd8e58"}, - {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7c8b816c2b5af5c8a436df44ca08258fc1a13b449393a91484225fcb7545533"}, - {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f1088fa100bf46e7b398ffd9904f4808a0612e1d966b4aa43baa535d1b6341eb"}, - {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f59dfe57bb1ec82ac0698ebfcdb7bcd0e99c255bd637ff613760d5f33e7c81b3"}, - {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:361a1026c9dd4aba0109e4040e2aecf9884f5cfe1b1b1bd3d09419c205e2e53d"}, - {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:363afe77cfcbe3a36353d8ea133e904b108feea505aa4792dad6585a8192c55a"}, - {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e2c45c208c62e955e8256949eb225bd8b66a4c9b6865729a786f2aa79b72e9d"}, - {file = "aiohttp-3.9.3-cp39-cp39-win32.whl", hash = "sha256:f7217af2e14da0856e082e96ff637f14ae45c10a5714b63c77f26d8884cf1051"}, - {file = "aiohttp-3.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:27468897f628c627230dba07ec65dc8d0db566923c48f29e084ce382119802bc"}, - {file = "aiohttp-3.9.3.tar.gz", hash = "sha256:90842933e5d1ff760fae6caca4b2b3edba53ba8f4b71e95dacf2818a2aca06f7"}, + {file = "aiohttp-3.9.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fcde4c397f673fdec23e6b05ebf8d4751314fa7c24f93334bf1f1364c1c69ac7"}, + {file = "aiohttp-3.9.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d6b3f1fabe465e819aed2c421a6743d8debbde79b6a8600739300630a01bf2c"}, + {file = "aiohttp-3.9.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ae79c1bc12c34082d92bf9422764f799aee4746fd7a392db46b7fd357d4a17a"}, + {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d3ebb9e1316ec74277d19c5f482f98cc65a73ccd5430540d6d11682cd857430"}, + {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84dabd95154f43a2ea80deffec9cb44d2e301e38a0c9d331cc4aa0166fe28ae3"}, + {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c8a02fbeca6f63cb1f0475c799679057fc9268b77075ab7cf3f1c600e81dd46b"}, + {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c26959ca7b75ff768e2776d8055bf9582a6267e24556bb7f7bd29e677932be72"}, + {file = "aiohttp-3.9.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:714d4e5231fed4ba2762ed489b4aec07b2b9953cf4ee31e9871caac895a839c0"}, + {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7a6a8354f1b62e15d48e04350f13e726fa08b62c3d7b8401c0a1314f02e3558"}, + {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c413016880e03e69d166efb5a1a95d40f83d5a3a648d16486592c49ffb76d0db"}, + {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ff84aeb864e0fac81f676be9f4685f0527b660f1efdc40dcede3c251ef1e867f"}, + {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ad7f2919d7dac062f24d6f5fe95d401597fbb015a25771f85e692d043c9d7832"}, + {file = "aiohttp-3.9.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:702e2c7c187c1a498a4e2b03155d52658fdd6fda882d3d7fbb891a5cf108bb10"}, + {file = "aiohttp-3.9.5-cp310-cp310-win32.whl", hash = "sha256:67c3119f5ddc7261d47163ed86d760ddf0e625cd6246b4ed852e82159617b5fb"}, + {file = "aiohttp-3.9.5-cp310-cp310-win_amd64.whl", hash = "sha256:471f0ef53ccedec9995287f02caf0c068732f026455f07db3f01a46e49d76bbb"}, + {file = "aiohttp-3.9.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e0ae53e33ee7476dd3d1132f932eeb39bf6125083820049d06edcdca4381f342"}, + {file = "aiohttp-3.9.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c088c4d70d21f8ca5c0b8b5403fe84a7bc8e024161febdd4ef04575ef35d474d"}, + {file = "aiohttp-3.9.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:639d0042b7670222f33b0028de6b4e2fad6451462ce7df2af8aee37dcac55424"}, + {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f26383adb94da5e7fb388d441bf09c61e5e35f455a3217bfd790c6b6bc64b2ee"}, + {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66331d00fb28dc90aa606d9a54304af76b335ae204d1836f65797d6fe27f1ca2"}, + {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ff550491f5492ab5ed3533e76b8567f4b37bd2995e780a1f46bca2024223233"}, + {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f22eb3a6c1080d862befa0a89c380b4dafce29dc6cd56083f630073d102eb595"}, + {file = "aiohttp-3.9.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a81b1143d42b66ffc40a441379387076243ef7b51019204fd3ec36b9f69e77d6"}, + {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f64fd07515dad67f24b6ea4a66ae2876c01031de91c93075b8093f07c0a2d93d"}, + {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:93e22add827447d2e26d67c9ac0161756007f152fdc5210277d00a85f6c92323"}, + {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:55b39c8684a46e56ef8c8d24faf02de4a2b2ac60d26cee93bc595651ff545de9"}, + {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4715a9b778f4293b9f8ae7a0a7cef9829f02ff8d6277a39d7f40565c737d3771"}, + {file = "aiohttp-3.9.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:afc52b8d969eff14e069a710057d15ab9ac17cd4b6753042c407dcea0e40bf75"}, + {file = "aiohttp-3.9.5-cp311-cp311-win32.whl", hash = "sha256:b3df71da99c98534be076196791adca8819761f0bf6e08e07fd7da25127150d6"}, + {file = "aiohttp-3.9.5-cp311-cp311-win_amd64.whl", hash = "sha256:88e311d98cc0bf45b62fc46c66753a83445f5ab20038bcc1b8a1cc05666f428a"}, + {file = "aiohttp-3.9.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:c7a4b7a6cf5b6eb11e109a9755fd4fda7d57395f8c575e166d363b9fc3ec4678"}, + {file = "aiohttp-3.9.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0a158704edf0abcac8ac371fbb54044f3270bdbc93e254a82b6c82be1ef08f3c"}, + {file = "aiohttp-3.9.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d153f652a687a8e95ad367a86a61e8d53d528b0530ef382ec5aaf533140ed00f"}, + {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82a6a97d9771cb48ae16979c3a3a9a18b600a8505b1115cfe354dfb2054468b4"}, + {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60cdbd56f4cad9f69c35eaac0fbbdf1f77b0ff9456cebd4902f3dd1cf096464c"}, + {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8676e8fd73141ded15ea586de0b7cda1542960a7b9ad89b2b06428e97125d4fa"}, + {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da00da442a0e31f1c69d26d224e1efd3a1ca5bcbf210978a2ca7426dfcae9f58"}, + {file = "aiohttp-3.9.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18f634d540dd099c262e9f887c8bbacc959847cfe5da7a0e2e1cf3f14dbf2daf"}, + {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:320e8618eda64e19d11bdb3bd04ccc0a816c17eaecb7e4945d01deee2a22f95f"}, + {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:2faa61a904b83142747fc6a6d7ad8fccff898c849123030f8e75d5d967fd4a81"}, + {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:8c64a6dc3fe5db7b1b4d2b5cb84c4f677768bdc340611eca673afb7cf416ef5a"}, + {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:393c7aba2b55559ef7ab791c94b44f7482a07bf7640d17b341b79081f5e5cd1a"}, + {file = "aiohttp-3.9.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c671dc117c2c21a1ca10c116cfcd6e3e44da7fcde37bf83b2be485ab377b25da"}, + {file = "aiohttp-3.9.5-cp312-cp312-win32.whl", hash = "sha256:5a7ee16aab26e76add4afc45e8f8206c95d1d75540f1039b84a03c3b3800dd59"}, + {file = "aiohttp-3.9.5-cp312-cp312-win_amd64.whl", hash = "sha256:5ca51eadbd67045396bc92a4345d1790b7301c14d1848feaac1d6a6c9289e888"}, + {file = "aiohttp-3.9.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:694d828b5c41255e54bc2dddb51a9f5150b4eefa9886e38b52605a05d96566e8"}, + {file = "aiohttp-3.9.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0605cc2c0088fcaae79f01c913a38611ad09ba68ff482402d3410bf59039bfb8"}, + {file = "aiohttp-3.9.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4558e5012ee03d2638c681e156461d37b7a113fe13970d438d95d10173d25f78"}, + {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dbc053ac75ccc63dc3a3cc547b98c7258ec35a215a92bd9f983e0aac95d3d5b"}, + {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4109adee842b90671f1b689901b948f347325045c15f46b39797ae1bf17019de"}, + {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6ea1a5b409a85477fd8e5ee6ad8f0e40bf2844c270955e09360418cfd09abac"}, + {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3c2890ca8c59ee683fd09adf32321a40fe1cf164e3387799efb2acebf090c11"}, + {file = "aiohttp-3.9.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3916c8692dbd9d55c523374a3b8213e628424d19116ac4308e434dbf6d95bbdd"}, + {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8d1964eb7617907c792ca00b341b5ec3e01ae8c280825deadbbd678447b127e1"}, + {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d5ab8e1f6bee051a4bf6195e38a5c13e5e161cb7bad83d8854524798bd9fcd6e"}, + {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:52c27110f3862a1afbcb2af4281fc9fdc40327fa286c4625dfee247c3ba90156"}, + {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:7f64cbd44443e80094309875d4f9c71d0401e966d191c3d469cde4642bc2e031"}, + {file = "aiohttp-3.9.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8b4f72fbb66279624bfe83fd5eb6aea0022dad8eec62b71e7bf63ee1caadeafe"}, + {file = "aiohttp-3.9.5-cp38-cp38-win32.whl", hash = "sha256:6380c039ec52866c06d69b5c7aad5478b24ed11696f0e72f6b807cfb261453da"}, + {file = "aiohttp-3.9.5-cp38-cp38-win_amd64.whl", hash = "sha256:da22dab31d7180f8c3ac7c7635f3bcd53808f374f6aa333fe0b0b9e14b01f91a"}, + {file = "aiohttp-3.9.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1732102949ff6087589408d76cd6dea656b93c896b011ecafff418c9661dc4ed"}, + {file = "aiohttp-3.9.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c6021d296318cb6f9414b48e6a439a7f5d1f665464da507e8ff640848ee2a58a"}, + {file = "aiohttp-3.9.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:239f975589a944eeb1bad26b8b140a59a3a320067fb3cd10b75c3092405a1372"}, + {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b7b30258348082826d274504fbc7c849959f1989d86c29bc355107accec6cfb"}, + {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd2adf5c87ff6d8b277814a28a535b59e20bfea40a101db6b3bdca7e9926bc24"}, + {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9a3d838441bebcf5cf442700e3963f58b5c33f015341f9ea86dcd7d503c07e2"}, + {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e3a1ae66e3d0c17cf65c08968a5ee3180c5a95920ec2731f53343fac9bad106"}, + {file = "aiohttp-3.9.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9c69e77370cce2d6df5d12b4e12bdcca60c47ba13d1cbbc8645dd005a20b738b"}, + {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0cbf56238f4bbf49dab8c2dc2e6b1b68502b1e88d335bea59b3f5b9f4c001475"}, + {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d1469f228cd9ffddd396d9948b8c9cd8022b6d1bf1e40c6f25b0fb90b4f893ed"}, + {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:45731330e754f5811c314901cebdf19dd776a44b31927fa4b4dbecab9e457b0c"}, + {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:3fcb4046d2904378e3aeea1df51f697b0467f2aac55d232c87ba162709478c46"}, + {file = "aiohttp-3.9.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8cf142aa6c1a751fcb364158fd710b8a9be874b81889c2bd13aa8893197455e2"}, + {file = "aiohttp-3.9.5-cp39-cp39-win32.whl", hash = "sha256:7b179eea70833c8dee51ec42f3b4097bd6370892fa93f510f76762105568cf09"}, + {file = "aiohttp-3.9.5-cp39-cp39-win_amd64.whl", hash = "sha256:38d80498e2e169bc61418ff36170e0aad0cd268da8b38a17c4cf29d254a8b3f1"}, + {file = "aiohttp-3.9.5.tar.gz", hash = "sha256:edea7d15772ceeb29db4aff55e482d4bcfb6ae160ce144f2682de02f6d693551"}, ] [package.dependencies] @@ -101,7 +111,6 @@ speedups = ["Brotli", "aiodns", "brotlicffi"] name = "aiosignal" version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -112,11 +121,37 @@ files = [ [package.dependencies] frozenlist = ">=1.1.0" +[[package]] +name = "anndata" +version = "0.10.7" +description = "Annotated data." +optional = false +python-versions = ">=3.9" +files = [ + {file = "anndata-0.10.7-py3-none-any.whl", hash = "sha256:8b50af790f9a73414d0b94fd7b8e005f5cc6c53c33eb09206d2bd6720115bffc"}, + {file = "anndata-0.10.7.tar.gz", hash = "sha256:9b186bea18956fefdc35e7464d822a17e9faa456ca2d20c7a0966a4837b822a2"}, +] + +[package.dependencies] +array-api-compat = ">1.4,<1.5 || >1.5" +exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} +h5py = ">=3.1" +natsort = "*" +numpy = ">=1.23" +packaging = ">=20.0" +pandas = ">=1.4,<2.1.0rc0 || >2.1.0rc0,<2.1.2 || >2.1.2" +scipy = ">1.8" + +[package.extras] +dev = ["pytest-xdist", "setuptools-scm"] +doc = ["awkward (>=2.0.7)", "ipython", "myst-parser", "nbsphinx", "readthedocs-sphinx-search", "scanpydoc[theme,typehints] (>=0.13.4)", "sphinx (>=4.4)", "sphinx-autodoc-typehints (>=1.11.0)", "sphinx-book-theme (>=1.1.0)", "sphinx-copybutton", "sphinx-design (>=0.5.0)", "sphinx-issues", "sphinxext-opengraph", "zarr"] +gpu = ["cupy"] +test = ["awkward (>=2.3)", "boltons", "dask[array,distributed] (>=2022.09.2)", "httpx", "joblib", "loompy (>=3.0.5)", "matplotlib", "openpyxl", "pyarrow", "pytest (>=7.3)", "pytest-cov (>=2.10)", "pytest-memray", "pytest-mock", "scanpy", "scikit-learn", "zarr"] + [[package]] name = "annotated-types" version = "0.6.0" description = "Reusable constraint types to use with typing.Annotated" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -128,7 +163,6 @@ files = [ name = "appnope" version = "0.1.4" description = "Disable App Nap on macOS >= 10.9" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -136,11 +170,28 @@ files = [ {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, ] +[[package]] +name = "array-api-compat" +version = "1.6" +description = "A wrapper around NumPy and other array libraries to make them compatible with the Array API standard" +optional = false +python-versions = "*" +files = [ + {file = "array_api_compat-1.6-py3-none-any.whl", hash = "sha256:0f132e698952bcebccfa941b4fc02cbc754802474b13a564208cf6cdbffb51e1"}, + {file = "array_api_compat-1.6.tar.gz", hash = "sha256:74a1e355cdabb9cf6c48922a5d07976d9230025d65731bef17174151b64876af"}, +] + +[package.extras] +cupy = ["cupy"] +dask = ["dask"] +jax = ["jax"] +numpy = ["numpy"] +pytorch = ["pytorch"] + [[package]] name = "asttokens" version = "2.4.1" description = "Annotate AST trees with source code positions" -category = "dev" optional = false python-versions = "*" files = [ @@ -159,7 +210,6 @@ test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] name = "async-timeout" version = "4.0.3" description = "Timeout context manager for asyncio programs" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -171,7 +221,6 @@ files = [ name = "attrs" version = "23.2.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -187,58 +236,35 @@ tests = ["attrs[tests-no-zope]", "zope-interface"] tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] -[[package]] -name = "beautifulsoup4" -version = "4.12.3" -description = "Screen-scraping library" -category = "main" -optional = false -python-versions = ">=3.6.0" -files = [ - {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, - {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, -] - -[package.dependencies] -soupsieve = ">1.2" - -[package.extras] -cchardet = ["cchardet"] -chardet = ["chardet"] -charset-normalizer = ["charset-normalizer"] -html5lib = ["html5lib"] -lxml = ["lxml"] - [[package]] name = "black" -version = "24.2.0" +version = "24.4.2" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "black-24.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6981eae48b3b33399c8757036c7f5d48a535b962a7c2310d19361edeef64ce29"}, - {file = "black-24.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d533d5e3259720fdbc1b37444491b024003e012c5173f7d06825a77508085430"}, - {file = "black-24.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61a0391772490ddfb8a693c067df1ef5227257e72b0e4108482b8d41b5aee13f"}, - {file = "black-24.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:992e451b04667116680cb88f63449267c13e1ad134f30087dec8527242e9862a"}, - {file = "black-24.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:163baf4ef40e6897a2a9b83890e59141cc8c2a98f2dda5080dc15c00ee1e62cd"}, - {file = "black-24.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e37c99f89929af50ffaf912454b3e3b47fd64109659026b678c091a4cd450fb2"}, - {file = "black-24.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9de21bafcba9683853f6c96c2d515e364aee631b178eaa5145fc1c61a3cc92"}, - {file = "black-24.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:9db528bccb9e8e20c08e716b3b09c6bdd64da0dd129b11e160bf082d4642ac23"}, - {file = "black-24.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d84f29eb3ee44859052073b7636533ec995bd0f64e2fb43aeceefc70090e752b"}, - {file = "black-24.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e08fb9a15c914b81dd734ddd7fb10513016e5ce7e6704bdd5e1251ceee51ac9"}, - {file = "black-24.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:810d445ae6069ce64030c78ff6127cd9cd178a9ac3361435708b907d8a04c693"}, - {file = "black-24.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:ba15742a13de85e9b8f3239c8f807723991fbfae24bad92d34a2b12e81904982"}, - {file = "black-24.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7e53a8c630f71db01b28cd9602a1ada68c937cbf2c333e6ed041390d6968faf4"}, - {file = "black-24.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:93601c2deb321b4bad8f95df408e3fb3943d85012dddb6121336b8e24a0d1218"}, - {file = "black-24.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0057f800de6acc4407fe75bb147b0c2b5cbb7c3ed110d3e5999cd01184d53b0"}, - {file = "black-24.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:faf2ee02e6612577ba0181f4347bcbcf591eb122f7841ae5ba233d12c39dcb4d"}, - {file = "black-24.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:057c3dc602eaa6fdc451069bd027a1b2635028b575a6c3acfd63193ced20d9c8"}, - {file = "black-24.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:08654d0797e65f2423f850fc8e16a0ce50925f9337fb4a4a176a7aa4026e63f8"}, - {file = "black-24.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca610d29415ee1a30a3f30fab7a8f4144e9d34c89a235d81292a1edb2b55f540"}, - {file = "black-24.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:4dd76e9468d5536abd40ffbc7a247f83b2324f0c050556d9c371c2b9a9a95e31"}, - {file = "black-24.2.0-py3-none-any.whl", hash = "sha256:e8a6ae970537e67830776488bca52000eaa37fa63b9988e8c487458d9cd5ace6"}, - {file = "black-24.2.0.tar.gz", hash = "sha256:bce4f25c27c3435e4dace4815bcb2008b87e167e3bf4ee47ccdc5ce906eb4894"}, + {file = "black-24.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce"}, + {file = "black-24.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021"}, + {file = "black-24.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063"}, + {file = "black-24.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96"}, + {file = "black-24.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474"}, + {file = "black-24.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c"}, + {file = "black-24.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb"}, + {file = "black-24.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1"}, + {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"}, + {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"}, + {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"}, + {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"}, + {file = "black-24.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7"}, + {file = "black-24.4.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94"}, + {file = "black-24.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8"}, + {file = "black-24.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c"}, + {file = "black-24.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1"}, + {file = "black-24.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741"}, + {file = "black-24.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"}, + {file = "black-24.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7"}, + {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"}, + {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, ] [package.dependencies] @@ -256,20 +282,36 @@ d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] +[[package]] +name = "blobfile" +version = "2.1.1" +description = "Read GCS, ABS and local paths with the same interface, clone of tensorflow.io.gfile" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "blobfile-2.1.1-py3-none-any.whl", hash = "sha256:fde52ebfaac236a52e61b0da34e5cff27e8afdedc4b6b732d30ed19187128434"}, + {file = "blobfile-2.1.1.tar.gz", hash = "sha256:37a77de8c6ded9e1d97265c4d9b1c2145337a12b8eac1a4203fc895fb696e261"}, +] + +[package.dependencies] +filelock = ">=3.0,<4.0" +lxml = ">=4.9,<5.0" +pycryptodomex = ">=3.8,<4.0" +urllib3 = ">=1.25.3,<3" + [[package]] name = "boto3" -version = "1.34.55" +version = "1.34.101" description = "The AWS SDK for Python" -category = "main" optional = false -python-versions = ">= 3.8" +python-versions = ">=3.8" files = [ - {file = "boto3-1.34.55-py3-none-any.whl", hash = "sha256:ee2c96e8a4a741ecb3380e0a406baa67bfea6186be99b75bdeca3e1b5044c088"}, - {file = "boto3-1.34.55.tar.gz", hash = "sha256:9a6d59e035fac4366dbdaf909c4f66fc817dfbec044fa71564dcf036ad46bb19"}, + {file = "boto3-1.34.101-py3-none-any.whl", hash = "sha256:79b93f3370ea96ce838042bc2eac0c996aee204b01e7e6452eb77abcbe697d6a"}, + {file = "boto3-1.34.101.tar.gz", hash = "sha256:1d854b5880e185db546b4c759fcb664bf3326275064d2b44229cc217e8be9d7e"}, ] [package.dependencies] -botocore = ">=1.34.55,<1.35.0" +botocore = ">=1.34.101,<1.35.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -278,14 +320,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "boto3-stubs" -version = "1.34.55" -description = "Type annotations for boto3 1.34.55 generated with mypy-boto3-builder 7.23.2" -category = "main" +version = "1.34.101" +description = "Type annotations for boto3 1.34.101 generated with mypy-boto3-builder 7.24.0" optional = false python-versions = ">=3.8" files = [ - {file = "boto3-stubs-1.34.55.tar.gz", hash = "sha256:cbbae1b811b97e4e1f1d00eba237ff987678e652502226b87e6276f7963935b4"}, - {file = "boto3_stubs-1.34.55-py3-none-any.whl", hash = "sha256:5ee40bdfba94fcdba26f36869339c849e918827ed1fb2f8e470474e6b1e923ff"}, + {file = "boto3_stubs-1.34.101-py3-none-any.whl", hash = "sha256:a924324af8340f0876906ca29ddbb877cfa85a6769f4045f37cd2c81f7e2a24f"}, + {file = "boto3_stubs-1.34.101.tar.gz", hash = "sha256:19ec4e37e935165319203ded50b70a2cbc6b554b1c54ccd2f5f64d803fab0785"}, ] [package.dependencies] @@ -306,7 +347,7 @@ account = ["mypy-boto3-account (>=1.34.0,<1.35.0)"] acm = ["mypy-boto3-acm (>=1.34.0,<1.35.0)"] acm-pca = ["mypy-boto3-acm-pca (>=1.34.0,<1.35.0)"] alexaforbusiness = ["mypy-boto3-alexaforbusiness (>=1.34.0,<1.35.0)"] -all = ["mypy-boto3-accessanalyzer (>=1.34.0,<1.35.0)", "mypy-boto3-account (>=1.34.0,<1.35.0)", "mypy-boto3-acm (>=1.34.0,<1.35.0)", "mypy-boto3-acm-pca (>=1.34.0,<1.35.0)", "mypy-boto3-alexaforbusiness (>=1.34.0,<1.35.0)", "mypy-boto3-amp (>=1.34.0,<1.35.0)", "mypy-boto3-amplify (>=1.34.0,<1.35.0)", "mypy-boto3-amplifybackend (>=1.34.0,<1.35.0)", "mypy-boto3-amplifyuibuilder (>=1.34.0,<1.35.0)", "mypy-boto3-apigateway (>=1.34.0,<1.35.0)", "mypy-boto3-apigatewaymanagementapi (>=1.34.0,<1.35.0)", "mypy-boto3-apigatewayv2 (>=1.34.0,<1.35.0)", "mypy-boto3-appconfig (>=1.34.0,<1.35.0)", "mypy-boto3-appconfigdata (>=1.34.0,<1.35.0)", "mypy-boto3-appfabric (>=1.34.0,<1.35.0)", "mypy-boto3-appflow (>=1.34.0,<1.35.0)", "mypy-boto3-appintegrations (>=1.34.0,<1.35.0)", "mypy-boto3-application-autoscaling (>=1.34.0,<1.35.0)", "mypy-boto3-application-insights (>=1.34.0,<1.35.0)", "mypy-boto3-applicationcostprofiler (>=1.34.0,<1.35.0)", "mypy-boto3-appmesh (>=1.34.0,<1.35.0)", "mypy-boto3-apprunner (>=1.34.0,<1.35.0)", "mypy-boto3-appstream (>=1.34.0,<1.35.0)", "mypy-boto3-appsync (>=1.34.0,<1.35.0)", "mypy-boto3-arc-zonal-shift (>=1.34.0,<1.35.0)", "mypy-boto3-artifact (>=1.34.0,<1.35.0)", "mypy-boto3-athena (>=1.34.0,<1.35.0)", "mypy-boto3-auditmanager (>=1.34.0,<1.35.0)", "mypy-boto3-autoscaling (>=1.34.0,<1.35.0)", "mypy-boto3-autoscaling-plans (>=1.34.0,<1.35.0)", "mypy-boto3-b2bi (>=1.34.0,<1.35.0)", "mypy-boto3-backup (>=1.34.0,<1.35.0)", "mypy-boto3-backup-gateway (>=1.34.0,<1.35.0)", "mypy-boto3-backupstorage (>=1.34.0,<1.35.0)", "mypy-boto3-batch (>=1.34.0,<1.35.0)", "mypy-boto3-bcm-data-exports (>=1.34.0,<1.35.0)", "mypy-boto3-bedrock (>=1.34.0,<1.35.0)", "mypy-boto3-bedrock-agent (>=1.34.0,<1.35.0)", "mypy-boto3-bedrock-agent-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-bedrock-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-billingconductor (>=1.34.0,<1.35.0)", "mypy-boto3-braket (>=1.34.0,<1.35.0)", "mypy-boto3-budgets (>=1.34.0,<1.35.0)", "mypy-boto3-ce (>=1.34.0,<1.35.0)", "mypy-boto3-chatbot (>=1.34.0,<1.35.0)", "mypy-boto3-chime (>=1.34.0,<1.35.0)", "mypy-boto3-chime-sdk-identity (>=1.34.0,<1.35.0)", "mypy-boto3-chime-sdk-media-pipelines (>=1.34.0,<1.35.0)", "mypy-boto3-chime-sdk-meetings (>=1.34.0,<1.35.0)", "mypy-boto3-chime-sdk-messaging (>=1.34.0,<1.35.0)", "mypy-boto3-chime-sdk-voice (>=1.34.0,<1.35.0)", "mypy-boto3-cleanrooms (>=1.34.0,<1.35.0)", "mypy-boto3-cleanroomsml (>=1.34.0,<1.35.0)", "mypy-boto3-cloud9 (>=1.34.0,<1.35.0)", "mypy-boto3-cloudcontrol (>=1.34.0,<1.35.0)", "mypy-boto3-clouddirectory (>=1.34.0,<1.35.0)", "mypy-boto3-cloudformation (>=1.34.0,<1.35.0)", "mypy-boto3-cloudfront (>=1.34.0,<1.35.0)", "mypy-boto3-cloudfront-keyvaluestore (>=1.34.0,<1.35.0)", "mypy-boto3-cloudhsm (>=1.34.0,<1.35.0)", "mypy-boto3-cloudhsmv2 (>=1.34.0,<1.35.0)", "mypy-boto3-cloudsearch (>=1.34.0,<1.35.0)", "mypy-boto3-cloudsearchdomain (>=1.34.0,<1.35.0)", "mypy-boto3-cloudtrail (>=1.34.0,<1.35.0)", "mypy-boto3-cloudtrail-data (>=1.34.0,<1.35.0)", "mypy-boto3-cloudwatch (>=1.34.0,<1.35.0)", "mypy-boto3-codeartifact (>=1.34.0,<1.35.0)", "mypy-boto3-codebuild (>=1.34.0,<1.35.0)", "mypy-boto3-codecatalyst (>=1.34.0,<1.35.0)", "mypy-boto3-codecommit (>=1.34.0,<1.35.0)", "mypy-boto3-codedeploy (>=1.34.0,<1.35.0)", "mypy-boto3-codeguru-reviewer (>=1.34.0,<1.35.0)", "mypy-boto3-codeguru-security (>=1.34.0,<1.35.0)", "mypy-boto3-codeguruprofiler (>=1.34.0,<1.35.0)", "mypy-boto3-codepipeline (>=1.34.0,<1.35.0)", "mypy-boto3-codestar (>=1.34.0,<1.35.0)", "mypy-boto3-codestar-connections (>=1.34.0,<1.35.0)", "mypy-boto3-codestar-notifications (>=1.34.0,<1.35.0)", "mypy-boto3-cognito-identity (>=1.34.0,<1.35.0)", "mypy-boto3-cognito-idp (>=1.34.0,<1.35.0)", "mypy-boto3-cognito-sync (>=1.34.0,<1.35.0)", "mypy-boto3-comprehend (>=1.34.0,<1.35.0)", "mypy-boto3-comprehendmedical (>=1.34.0,<1.35.0)", "mypy-boto3-compute-optimizer (>=1.34.0,<1.35.0)", "mypy-boto3-config (>=1.34.0,<1.35.0)", "mypy-boto3-connect (>=1.34.0,<1.35.0)", "mypy-boto3-connect-contact-lens (>=1.34.0,<1.35.0)", "mypy-boto3-connectcampaigns (>=1.34.0,<1.35.0)", "mypy-boto3-connectcases (>=1.34.0,<1.35.0)", "mypy-boto3-connectparticipant (>=1.34.0,<1.35.0)", "mypy-boto3-controltower (>=1.34.0,<1.35.0)", "mypy-boto3-cost-optimization-hub (>=1.34.0,<1.35.0)", "mypy-boto3-cur (>=1.34.0,<1.35.0)", "mypy-boto3-customer-profiles (>=1.34.0,<1.35.0)", "mypy-boto3-databrew (>=1.34.0,<1.35.0)", "mypy-boto3-dataexchange (>=1.34.0,<1.35.0)", "mypy-boto3-datapipeline (>=1.34.0,<1.35.0)", "mypy-boto3-datasync (>=1.34.0,<1.35.0)", "mypy-boto3-datazone (>=1.34.0,<1.35.0)", "mypy-boto3-dax (>=1.34.0,<1.35.0)", "mypy-boto3-detective (>=1.34.0,<1.35.0)", "mypy-boto3-devicefarm (>=1.34.0,<1.35.0)", "mypy-boto3-devops-guru (>=1.34.0,<1.35.0)", "mypy-boto3-directconnect (>=1.34.0,<1.35.0)", "mypy-boto3-discovery (>=1.34.0,<1.35.0)", "mypy-boto3-dlm (>=1.34.0,<1.35.0)", "mypy-boto3-dms (>=1.34.0,<1.35.0)", "mypy-boto3-docdb (>=1.34.0,<1.35.0)", "mypy-boto3-docdb-elastic (>=1.34.0,<1.35.0)", "mypy-boto3-drs (>=1.34.0,<1.35.0)", "mypy-boto3-ds (>=1.34.0,<1.35.0)", "mypy-boto3-dynamodb (>=1.34.0,<1.35.0)", "mypy-boto3-dynamodbstreams (>=1.34.0,<1.35.0)", "mypy-boto3-ebs (>=1.34.0,<1.35.0)", "mypy-boto3-ec2 (>=1.34.0,<1.35.0)", "mypy-boto3-ec2-instance-connect (>=1.34.0,<1.35.0)", "mypy-boto3-ecr (>=1.34.0,<1.35.0)", "mypy-boto3-ecr-public (>=1.34.0,<1.35.0)", "mypy-boto3-ecs (>=1.34.0,<1.35.0)", "mypy-boto3-efs (>=1.34.0,<1.35.0)", "mypy-boto3-eks (>=1.34.0,<1.35.0)", "mypy-boto3-eks-auth (>=1.34.0,<1.35.0)", "mypy-boto3-elastic-inference (>=1.34.0,<1.35.0)", "mypy-boto3-elasticache (>=1.34.0,<1.35.0)", "mypy-boto3-elasticbeanstalk (>=1.34.0,<1.35.0)", "mypy-boto3-elastictranscoder (>=1.34.0,<1.35.0)", "mypy-boto3-elb (>=1.34.0,<1.35.0)", "mypy-boto3-elbv2 (>=1.34.0,<1.35.0)", "mypy-boto3-emr (>=1.34.0,<1.35.0)", "mypy-boto3-emr-containers (>=1.34.0,<1.35.0)", "mypy-boto3-emr-serverless (>=1.34.0,<1.35.0)", "mypy-boto3-entityresolution (>=1.34.0,<1.35.0)", "mypy-boto3-es (>=1.34.0,<1.35.0)", "mypy-boto3-events (>=1.34.0,<1.35.0)", "mypy-boto3-evidently (>=1.34.0,<1.35.0)", "mypy-boto3-finspace (>=1.34.0,<1.35.0)", "mypy-boto3-finspace-data (>=1.34.0,<1.35.0)", "mypy-boto3-firehose (>=1.34.0,<1.35.0)", "mypy-boto3-fis (>=1.34.0,<1.35.0)", "mypy-boto3-fms (>=1.34.0,<1.35.0)", "mypy-boto3-forecast (>=1.34.0,<1.35.0)", "mypy-boto3-forecastquery (>=1.34.0,<1.35.0)", "mypy-boto3-frauddetector (>=1.34.0,<1.35.0)", "mypy-boto3-freetier (>=1.34.0,<1.35.0)", "mypy-boto3-fsx (>=1.34.0,<1.35.0)", "mypy-boto3-gamelift (>=1.34.0,<1.35.0)", "mypy-boto3-glacier (>=1.34.0,<1.35.0)", "mypy-boto3-globalaccelerator (>=1.34.0,<1.35.0)", "mypy-boto3-glue (>=1.34.0,<1.35.0)", "mypy-boto3-grafana (>=1.34.0,<1.35.0)", "mypy-boto3-greengrass (>=1.34.0,<1.35.0)", "mypy-boto3-greengrassv2 (>=1.34.0,<1.35.0)", "mypy-boto3-groundstation (>=1.34.0,<1.35.0)", "mypy-boto3-guardduty (>=1.34.0,<1.35.0)", "mypy-boto3-health (>=1.34.0,<1.35.0)", "mypy-boto3-healthlake (>=1.34.0,<1.35.0)", "mypy-boto3-honeycode (>=1.34.0,<1.35.0)", "mypy-boto3-iam (>=1.34.0,<1.35.0)", "mypy-boto3-identitystore (>=1.34.0,<1.35.0)", "mypy-boto3-imagebuilder (>=1.34.0,<1.35.0)", "mypy-boto3-importexport (>=1.34.0,<1.35.0)", "mypy-boto3-inspector (>=1.34.0,<1.35.0)", "mypy-boto3-inspector-scan (>=1.34.0,<1.35.0)", "mypy-boto3-inspector2 (>=1.34.0,<1.35.0)", "mypy-boto3-internetmonitor (>=1.34.0,<1.35.0)", "mypy-boto3-iot (>=1.34.0,<1.35.0)", "mypy-boto3-iot-data (>=1.34.0,<1.35.0)", "mypy-boto3-iot-jobs-data (>=1.34.0,<1.35.0)", "mypy-boto3-iot-roborunner (>=1.34.0,<1.35.0)", "mypy-boto3-iot1click-devices (>=1.34.0,<1.35.0)", "mypy-boto3-iot1click-projects (>=1.34.0,<1.35.0)", "mypy-boto3-iotanalytics (>=1.34.0,<1.35.0)", "mypy-boto3-iotdeviceadvisor (>=1.34.0,<1.35.0)", "mypy-boto3-iotevents (>=1.34.0,<1.35.0)", "mypy-boto3-iotevents-data (>=1.34.0,<1.35.0)", "mypy-boto3-iotfleethub (>=1.34.0,<1.35.0)", "mypy-boto3-iotfleetwise (>=1.34.0,<1.35.0)", "mypy-boto3-iotsecuretunneling (>=1.34.0,<1.35.0)", "mypy-boto3-iotsitewise (>=1.34.0,<1.35.0)", "mypy-boto3-iotthingsgraph (>=1.34.0,<1.35.0)", "mypy-boto3-iottwinmaker (>=1.34.0,<1.35.0)", "mypy-boto3-iotwireless (>=1.34.0,<1.35.0)", "mypy-boto3-ivs (>=1.34.0,<1.35.0)", "mypy-boto3-ivs-realtime (>=1.34.0,<1.35.0)", "mypy-boto3-ivschat (>=1.34.0,<1.35.0)", "mypy-boto3-kafka (>=1.34.0,<1.35.0)", "mypy-boto3-kafkaconnect (>=1.34.0,<1.35.0)", "mypy-boto3-kendra (>=1.34.0,<1.35.0)", "mypy-boto3-kendra-ranking (>=1.34.0,<1.35.0)", "mypy-boto3-keyspaces (>=1.34.0,<1.35.0)", "mypy-boto3-kinesis (>=1.34.0,<1.35.0)", "mypy-boto3-kinesis-video-archived-media (>=1.34.0,<1.35.0)", "mypy-boto3-kinesis-video-media (>=1.34.0,<1.35.0)", "mypy-boto3-kinesis-video-signaling (>=1.34.0,<1.35.0)", "mypy-boto3-kinesis-video-webrtc-storage (>=1.34.0,<1.35.0)", "mypy-boto3-kinesisanalytics (>=1.34.0,<1.35.0)", "mypy-boto3-kinesisanalyticsv2 (>=1.34.0,<1.35.0)", "mypy-boto3-kinesisvideo (>=1.34.0,<1.35.0)", "mypy-boto3-kms (>=1.34.0,<1.35.0)", "mypy-boto3-lakeformation (>=1.34.0,<1.35.0)", "mypy-boto3-lambda (>=1.34.0,<1.35.0)", "mypy-boto3-launch-wizard (>=1.34.0,<1.35.0)", "mypy-boto3-lex-models (>=1.34.0,<1.35.0)", "mypy-boto3-lex-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-lexv2-models (>=1.34.0,<1.35.0)", "mypy-boto3-lexv2-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-license-manager (>=1.34.0,<1.35.0)", "mypy-boto3-license-manager-linux-subscriptions (>=1.34.0,<1.35.0)", "mypy-boto3-license-manager-user-subscriptions (>=1.34.0,<1.35.0)", "mypy-boto3-lightsail (>=1.34.0,<1.35.0)", "mypy-boto3-location (>=1.34.0,<1.35.0)", "mypy-boto3-logs (>=1.34.0,<1.35.0)", "mypy-boto3-lookoutequipment (>=1.34.0,<1.35.0)", "mypy-boto3-lookoutmetrics (>=1.34.0,<1.35.0)", "mypy-boto3-lookoutvision (>=1.34.0,<1.35.0)", "mypy-boto3-m2 (>=1.34.0,<1.35.0)", "mypy-boto3-machinelearning (>=1.34.0,<1.35.0)", "mypy-boto3-macie2 (>=1.34.0,<1.35.0)", "mypy-boto3-managedblockchain (>=1.34.0,<1.35.0)", "mypy-boto3-managedblockchain-query (>=1.34.0,<1.35.0)", "mypy-boto3-marketplace-agreement (>=1.34.0,<1.35.0)", "mypy-boto3-marketplace-catalog (>=1.34.0,<1.35.0)", "mypy-boto3-marketplace-deployment (>=1.34.0,<1.35.0)", "mypy-boto3-marketplace-entitlement (>=1.34.0,<1.35.0)", "mypy-boto3-marketplacecommerceanalytics (>=1.34.0,<1.35.0)", "mypy-boto3-mediaconnect (>=1.34.0,<1.35.0)", "mypy-boto3-mediaconvert (>=1.34.0,<1.35.0)", "mypy-boto3-medialive (>=1.34.0,<1.35.0)", "mypy-boto3-mediapackage (>=1.34.0,<1.35.0)", "mypy-boto3-mediapackage-vod (>=1.34.0,<1.35.0)", "mypy-boto3-mediapackagev2 (>=1.34.0,<1.35.0)", "mypy-boto3-mediastore (>=1.34.0,<1.35.0)", "mypy-boto3-mediastore-data (>=1.34.0,<1.35.0)", "mypy-boto3-mediatailor (>=1.34.0,<1.35.0)", "mypy-boto3-medical-imaging (>=1.34.0,<1.35.0)", "mypy-boto3-memorydb (>=1.34.0,<1.35.0)", "mypy-boto3-meteringmarketplace (>=1.34.0,<1.35.0)", "mypy-boto3-mgh (>=1.34.0,<1.35.0)", "mypy-boto3-mgn (>=1.34.0,<1.35.0)", "mypy-boto3-migration-hub-refactor-spaces (>=1.34.0,<1.35.0)", "mypy-boto3-migrationhub-config (>=1.34.0,<1.35.0)", "mypy-boto3-migrationhuborchestrator (>=1.34.0,<1.35.0)", "mypy-boto3-migrationhubstrategy (>=1.34.0,<1.35.0)", "mypy-boto3-mobile (>=1.34.0,<1.35.0)", "mypy-boto3-mq (>=1.34.0,<1.35.0)", "mypy-boto3-mturk (>=1.34.0,<1.35.0)", "mypy-boto3-mwaa (>=1.34.0,<1.35.0)", "mypy-boto3-neptune (>=1.34.0,<1.35.0)", "mypy-boto3-neptune-graph (>=1.34.0,<1.35.0)", "mypy-boto3-neptunedata (>=1.34.0,<1.35.0)", "mypy-boto3-network-firewall (>=1.34.0,<1.35.0)", "mypy-boto3-networkmanager (>=1.34.0,<1.35.0)", "mypy-boto3-networkmonitor (>=1.34.0,<1.35.0)", "mypy-boto3-nimble (>=1.34.0,<1.35.0)", "mypy-boto3-oam (>=1.34.0,<1.35.0)", "mypy-boto3-omics (>=1.34.0,<1.35.0)", "mypy-boto3-opensearch (>=1.34.0,<1.35.0)", "mypy-boto3-opensearchserverless (>=1.34.0,<1.35.0)", "mypy-boto3-opsworks (>=1.34.0,<1.35.0)", "mypy-boto3-opsworkscm (>=1.34.0,<1.35.0)", "mypy-boto3-organizations (>=1.34.0,<1.35.0)", "mypy-boto3-osis (>=1.34.0,<1.35.0)", "mypy-boto3-outposts (>=1.34.0,<1.35.0)", "mypy-boto3-panorama (>=1.34.0,<1.35.0)", "mypy-boto3-payment-cryptography (>=1.34.0,<1.35.0)", "mypy-boto3-payment-cryptography-data (>=1.34.0,<1.35.0)", "mypy-boto3-pca-connector-ad (>=1.34.0,<1.35.0)", "mypy-boto3-personalize (>=1.34.0,<1.35.0)", "mypy-boto3-personalize-events (>=1.34.0,<1.35.0)", "mypy-boto3-personalize-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-pi (>=1.34.0,<1.35.0)", "mypy-boto3-pinpoint (>=1.34.0,<1.35.0)", "mypy-boto3-pinpoint-email (>=1.34.0,<1.35.0)", "mypy-boto3-pinpoint-sms-voice (>=1.34.0,<1.35.0)", "mypy-boto3-pinpoint-sms-voice-v2 (>=1.34.0,<1.35.0)", "mypy-boto3-pipes (>=1.34.0,<1.35.0)", "mypy-boto3-polly (>=1.34.0,<1.35.0)", "mypy-boto3-pricing (>=1.34.0,<1.35.0)", "mypy-boto3-privatenetworks (>=1.34.0,<1.35.0)", "mypy-boto3-proton (>=1.34.0,<1.35.0)", "mypy-boto3-qbusiness (>=1.34.0,<1.35.0)", "mypy-boto3-qconnect (>=1.34.0,<1.35.0)", "mypy-boto3-qldb (>=1.34.0,<1.35.0)", "mypy-boto3-qldb-session (>=1.34.0,<1.35.0)", "mypy-boto3-quicksight (>=1.34.0,<1.35.0)", "mypy-boto3-ram (>=1.34.0,<1.35.0)", "mypy-boto3-rbin (>=1.34.0,<1.35.0)", "mypy-boto3-rds (>=1.34.0,<1.35.0)", "mypy-boto3-rds-data (>=1.34.0,<1.35.0)", "mypy-boto3-redshift (>=1.34.0,<1.35.0)", "mypy-boto3-redshift-data (>=1.34.0,<1.35.0)", "mypy-boto3-redshift-serverless (>=1.34.0,<1.35.0)", "mypy-boto3-rekognition (>=1.34.0,<1.35.0)", "mypy-boto3-repostspace (>=1.34.0,<1.35.0)", "mypy-boto3-resiliencehub (>=1.34.0,<1.35.0)", "mypy-boto3-resource-explorer-2 (>=1.34.0,<1.35.0)", "mypy-boto3-resource-groups (>=1.34.0,<1.35.0)", "mypy-boto3-resourcegroupstaggingapi (>=1.34.0,<1.35.0)", "mypy-boto3-robomaker (>=1.34.0,<1.35.0)", "mypy-boto3-rolesanywhere (>=1.34.0,<1.35.0)", "mypy-boto3-route53 (>=1.34.0,<1.35.0)", "mypy-boto3-route53-recovery-cluster (>=1.34.0,<1.35.0)", "mypy-boto3-route53-recovery-control-config (>=1.34.0,<1.35.0)", "mypy-boto3-route53-recovery-readiness (>=1.34.0,<1.35.0)", "mypy-boto3-route53domains (>=1.34.0,<1.35.0)", "mypy-boto3-route53resolver (>=1.34.0,<1.35.0)", "mypy-boto3-rum (>=1.34.0,<1.35.0)", "mypy-boto3-s3 (>=1.34.0,<1.35.0)", "mypy-boto3-s3control (>=1.34.0,<1.35.0)", "mypy-boto3-s3outposts (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-a2i-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-edge (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-featurestore-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-geospatial (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-metrics (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-savingsplans (>=1.34.0,<1.35.0)", "mypy-boto3-scheduler (>=1.34.0,<1.35.0)", "mypy-boto3-schemas (>=1.34.0,<1.35.0)", "mypy-boto3-sdb (>=1.34.0,<1.35.0)", "mypy-boto3-secretsmanager (>=1.34.0,<1.35.0)", "mypy-boto3-securityhub (>=1.34.0,<1.35.0)", "mypy-boto3-securitylake (>=1.34.0,<1.35.0)", "mypy-boto3-serverlessrepo (>=1.34.0,<1.35.0)", "mypy-boto3-service-quotas (>=1.34.0,<1.35.0)", "mypy-boto3-servicecatalog (>=1.34.0,<1.35.0)", "mypy-boto3-servicecatalog-appregistry (>=1.34.0,<1.35.0)", "mypy-boto3-servicediscovery (>=1.34.0,<1.35.0)", "mypy-boto3-ses (>=1.34.0,<1.35.0)", "mypy-boto3-sesv2 (>=1.34.0,<1.35.0)", "mypy-boto3-shield (>=1.34.0,<1.35.0)", "mypy-boto3-signer (>=1.34.0,<1.35.0)", "mypy-boto3-simspaceweaver (>=1.34.0,<1.35.0)", "mypy-boto3-sms (>=1.34.0,<1.35.0)", "mypy-boto3-sms-voice (>=1.34.0,<1.35.0)", "mypy-boto3-snow-device-management (>=1.34.0,<1.35.0)", "mypy-boto3-snowball (>=1.34.0,<1.35.0)", "mypy-boto3-sns (>=1.34.0,<1.35.0)", "mypy-boto3-sqs (>=1.34.0,<1.35.0)", "mypy-boto3-ssm (>=1.34.0,<1.35.0)", "mypy-boto3-ssm-contacts (>=1.34.0,<1.35.0)", "mypy-boto3-ssm-incidents (>=1.34.0,<1.35.0)", "mypy-boto3-ssm-sap (>=1.34.0,<1.35.0)", "mypy-boto3-sso (>=1.34.0,<1.35.0)", "mypy-boto3-sso-admin (>=1.34.0,<1.35.0)", "mypy-boto3-sso-oidc (>=1.34.0,<1.35.0)", "mypy-boto3-stepfunctions (>=1.34.0,<1.35.0)", "mypy-boto3-storagegateway (>=1.34.0,<1.35.0)", "mypy-boto3-sts (>=1.34.0,<1.35.0)", "mypy-boto3-supplychain (>=1.34.0,<1.35.0)", "mypy-boto3-support (>=1.34.0,<1.35.0)", "mypy-boto3-support-app (>=1.34.0,<1.35.0)", "mypy-boto3-swf (>=1.34.0,<1.35.0)", "mypy-boto3-synthetics (>=1.34.0,<1.35.0)", "mypy-boto3-textract (>=1.34.0,<1.35.0)", "mypy-boto3-timestream-query (>=1.34.0,<1.35.0)", "mypy-boto3-timestream-write (>=1.34.0,<1.35.0)", "mypy-boto3-tnb (>=1.34.0,<1.35.0)", "mypy-boto3-transcribe (>=1.34.0,<1.35.0)", "mypy-boto3-transfer (>=1.34.0,<1.35.0)", "mypy-boto3-translate (>=1.34.0,<1.35.0)", "mypy-boto3-trustedadvisor (>=1.34.0,<1.35.0)", "mypy-boto3-verifiedpermissions (>=1.34.0,<1.35.0)", "mypy-boto3-voice-id (>=1.34.0,<1.35.0)", "mypy-boto3-vpc-lattice (>=1.34.0,<1.35.0)", "mypy-boto3-waf (>=1.34.0,<1.35.0)", "mypy-boto3-waf-regional (>=1.34.0,<1.35.0)", "mypy-boto3-wafv2 (>=1.34.0,<1.35.0)", "mypy-boto3-wellarchitected (>=1.34.0,<1.35.0)", "mypy-boto3-wisdom (>=1.34.0,<1.35.0)", "mypy-boto3-workdocs (>=1.34.0,<1.35.0)", "mypy-boto3-worklink (>=1.34.0,<1.35.0)", "mypy-boto3-workmail (>=1.34.0,<1.35.0)", "mypy-boto3-workmailmessageflow (>=1.34.0,<1.35.0)", "mypy-boto3-workspaces (>=1.34.0,<1.35.0)", "mypy-boto3-workspaces-thin-client (>=1.34.0,<1.35.0)", "mypy-boto3-workspaces-web (>=1.34.0,<1.35.0)", "mypy-boto3-xray (>=1.34.0,<1.35.0)"] +all = ["mypy-boto3-accessanalyzer (>=1.34.0,<1.35.0)", "mypy-boto3-account (>=1.34.0,<1.35.0)", "mypy-boto3-acm (>=1.34.0,<1.35.0)", "mypy-boto3-acm-pca (>=1.34.0,<1.35.0)", "mypy-boto3-alexaforbusiness (>=1.34.0,<1.35.0)", "mypy-boto3-amp (>=1.34.0,<1.35.0)", "mypy-boto3-amplify (>=1.34.0,<1.35.0)", "mypy-boto3-amplifybackend (>=1.34.0,<1.35.0)", "mypy-boto3-amplifyuibuilder (>=1.34.0,<1.35.0)", "mypy-boto3-apigateway (>=1.34.0,<1.35.0)", "mypy-boto3-apigatewaymanagementapi (>=1.34.0,<1.35.0)", "mypy-boto3-apigatewayv2 (>=1.34.0,<1.35.0)", "mypy-boto3-appconfig (>=1.34.0,<1.35.0)", "mypy-boto3-appconfigdata (>=1.34.0,<1.35.0)", "mypy-boto3-appfabric (>=1.34.0,<1.35.0)", "mypy-boto3-appflow (>=1.34.0,<1.35.0)", "mypy-boto3-appintegrations (>=1.34.0,<1.35.0)", "mypy-boto3-application-autoscaling (>=1.34.0,<1.35.0)", "mypy-boto3-application-insights (>=1.34.0,<1.35.0)", "mypy-boto3-applicationcostprofiler (>=1.34.0,<1.35.0)", "mypy-boto3-appmesh (>=1.34.0,<1.35.0)", "mypy-boto3-apprunner (>=1.34.0,<1.35.0)", "mypy-boto3-appstream (>=1.34.0,<1.35.0)", "mypy-boto3-appsync (>=1.34.0,<1.35.0)", "mypy-boto3-arc-zonal-shift (>=1.34.0,<1.35.0)", "mypy-boto3-artifact (>=1.34.0,<1.35.0)", "mypy-boto3-athena (>=1.34.0,<1.35.0)", "mypy-boto3-auditmanager (>=1.34.0,<1.35.0)", "mypy-boto3-autoscaling (>=1.34.0,<1.35.0)", "mypy-boto3-autoscaling-plans (>=1.34.0,<1.35.0)", "mypy-boto3-b2bi (>=1.34.0,<1.35.0)", "mypy-boto3-backup (>=1.34.0,<1.35.0)", "mypy-boto3-backup-gateway (>=1.34.0,<1.35.0)", "mypy-boto3-backupstorage (>=1.34.0,<1.35.0)", "mypy-boto3-batch (>=1.34.0,<1.35.0)", "mypy-boto3-bcm-data-exports (>=1.34.0,<1.35.0)", "mypy-boto3-bedrock (>=1.34.0,<1.35.0)", "mypy-boto3-bedrock-agent (>=1.34.0,<1.35.0)", "mypy-boto3-bedrock-agent-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-bedrock-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-billingconductor (>=1.34.0,<1.35.0)", "mypy-boto3-braket (>=1.34.0,<1.35.0)", "mypy-boto3-budgets (>=1.34.0,<1.35.0)", "mypy-boto3-ce (>=1.34.0,<1.35.0)", "mypy-boto3-chatbot (>=1.34.0,<1.35.0)", "mypy-boto3-chime (>=1.34.0,<1.35.0)", "mypy-boto3-chime-sdk-identity (>=1.34.0,<1.35.0)", "mypy-boto3-chime-sdk-media-pipelines (>=1.34.0,<1.35.0)", "mypy-boto3-chime-sdk-meetings (>=1.34.0,<1.35.0)", "mypy-boto3-chime-sdk-messaging (>=1.34.0,<1.35.0)", "mypy-boto3-chime-sdk-voice (>=1.34.0,<1.35.0)", "mypy-boto3-cleanrooms (>=1.34.0,<1.35.0)", "mypy-boto3-cleanroomsml (>=1.34.0,<1.35.0)", "mypy-boto3-cloud9 (>=1.34.0,<1.35.0)", "mypy-boto3-cloudcontrol (>=1.34.0,<1.35.0)", "mypy-boto3-clouddirectory (>=1.34.0,<1.35.0)", "mypy-boto3-cloudformation (>=1.34.0,<1.35.0)", "mypy-boto3-cloudfront (>=1.34.0,<1.35.0)", "mypy-boto3-cloudfront-keyvaluestore (>=1.34.0,<1.35.0)", "mypy-boto3-cloudhsm (>=1.34.0,<1.35.0)", "mypy-boto3-cloudhsmv2 (>=1.34.0,<1.35.0)", "mypy-boto3-cloudsearch (>=1.34.0,<1.35.0)", "mypy-boto3-cloudsearchdomain (>=1.34.0,<1.35.0)", "mypy-boto3-cloudtrail (>=1.34.0,<1.35.0)", "mypy-boto3-cloudtrail-data (>=1.34.0,<1.35.0)", "mypy-boto3-cloudwatch (>=1.34.0,<1.35.0)", "mypy-boto3-codeartifact (>=1.34.0,<1.35.0)", "mypy-boto3-codebuild (>=1.34.0,<1.35.0)", "mypy-boto3-codecatalyst (>=1.34.0,<1.35.0)", "mypy-boto3-codecommit (>=1.34.0,<1.35.0)", "mypy-boto3-codeconnections (>=1.34.0,<1.35.0)", "mypy-boto3-codedeploy (>=1.34.0,<1.35.0)", "mypy-boto3-codeguru-reviewer (>=1.34.0,<1.35.0)", "mypy-boto3-codeguru-security (>=1.34.0,<1.35.0)", "mypy-boto3-codeguruprofiler (>=1.34.0,<1.35.0)", "mypy-boto3-codepipeline (>=1.34.0,<1.35.0)", "mypy-boto3-codestar (>=1.34.0,<1.35.0)", "mypy-boto3-codestar-connections (>=1.34.0,<1.35.0)", "mypy-boto3-codestar-notifications (>=1.34.0,<1.35.0)", "mypy-boto3-cognito-identity (>=1.34.0,<1.35.0)", "mypy-boto3-cognito-idp (>=1.34.0,<1.35.0)", "mypy-boto3-cognito-sync (>=1.34.0,<1.35.0)", "mypy-boto3-comprehend (>=1.34.0,<1.35.0)", "mypy-boto3-comprehendmedical (>=1.34.0,<1.35.0)", "mypy-boto3-compute-optimizer (>=1.34.0,<1.35.0)", "mypy-boto3-config (>=1.34.0,<1.35.0)", "mypy-boto3-connect (>=1.34.0,<1.35.0)", "mypy-boto3-connect-contact-lens (>=1.34.0,<1.35.0)", "mypy-boto3-connectcampaigns (>=1.34.0,<1.35.0)", "mypy-boto3-connectcases (>=1.34.0,<1.35.0)", "mypy-boto3-connectparticipant (>=1.34.0,<1.35.0)", "mypy-boto3-controlcatalog (>=1.34.0,<1.35.0)", "mypy-boto3-controltower (>=1.34.0,<1.35.0)", "mypy-boto3-cost-optimization-hub (>=1.34.0,<1.35.0)", "mypy-boto3-cur (>=1.34.0,<1.35.0)", "mypy-boto3-customer-profiles (>=1.34.0,<1.35.0)", "mypy-boto3-databrew (>=1.34.0,<1.35.0)", "mypy-boto3-dataexchange (>=1.34.0,<1.35.0)", "mypy-boto3-datapipeline (>=1.34.0,<1.35.0)", "mypy-boto3-datasync (>=1.34.0,<1.35.0)", "mypy-boto3-datazone (>=1.34.0,<1.35.0)", "mypy-boto3-dax (>=1.34.0,<1.35.0)", "mypy-boto3-deadline (>=1.34.0,<1.35.0)", "mypy-boto3-detective (>=1.34.0,<1.35.0)", "mypy-boto3-devicefarm (>=1.34.0,<1.35.0)", "mypy-boto3-devops-guru (>=1.34.0,<1.35.0)", "mypy-boto3-directconnect (>=1.34.0,<1.35.0)", "mypy-boto3-discovery (>=1.34.0,<1.35.0)", "mypy-boto3-dlm (>=1.34.0,<1.35.0)", "mypy-boto3-dms (>=1.34.0,<1.35.0)", "mypy-boto3-docdb (>=1.34.0,<1.35.0)", "mypy-boto3-docdb-elastic (>=1.34.0,<1.35.0)", "mypy-boto3-drs (>=1.34.0,<1.35.0)", "mypy-boto3-ds (>=1.34.0,<1.35.0)", "mypy-boto3-dynamodb (>=1.34.0,<1.35.0)", "mypy-boto3-dynamodbstreams (>=1.34.0,<1.35.0)", "mypy-boto3-ebs (>=1.34.0,<1.35.0)", "mypy-boto3-ec2 (>=1.34.0,<1.35.0)", "mypy-boto3-ec2-instance-connect (>=1.34.0,<1.35.0)", "mypy-boto3-ecr (>=1.34.0,<1.35.0)", "mypy-boto3-ecr-public (>=1.34.0,<1.35.0)", "mypy-boto3-ecs (>=1.34.0,<1.35.0)", "mypy-boto3-efs (>=1.34.0,<1.35.0)", "mypy-boto3-eks (>=1.34.0,<1.35.0)", "mypy-boto3-eks-auth (>=1.34.0,<1.35.0)", "mypy-boto3-elastic-inference (>=1.34.0,<1.35.0)", "mypy-boto3-elasticache (>=1.34.0,<1.35.0)", "mypy-boto3-elasticbeanstalk (>=1.34.0,<1.35.0)", "mypy-boto3-elastictranscoder (>=1.34.0,<1.35.0)", "mypy-boto3-elb (>=1.34.0,<1.35.0)", "mypy-boto3-elbv2 (>=1.34.0,<1.35.0)", "mypy-boto3-emr (>=1.34.0,<1.35.0)", "mypy-boto3-emr-containers (>=1.34.0,<1.35.0)", "mypy-boto3-emr-serverless (>=1.34.0,<1.35.0)", "mypy-boto3-entityresolution (>=1.34.0,<1.35.0)", "mypy-boto3-es (>=1.34.0,<1.35.0)", "mypy-boto3-events (>=1.34.0,<1.35.0)", "mypy-boto3-evidently (>=1.34.0,<1.35.0)", "mypy-boto3-finspace (>=1.34.0,<1.35.0)", "mypy-boto3-finspace-data (>=1.34.0,<1.35.0)", "mypy-boto3-firehose (>=1.34.0,<1.35.0)", "mypy-boto3-fis (>=1.34.0,<1.35.0)", "mypy-boto3-fms (>=1.34.0,<1.35.0)", "mypy-boto3-forecast (>=1.34.0,<1.35.0)", "mypy-boto3-forecastquery (>=1.34.0,<1.35.0)", "mypy-boto3-frauddetector (>=1.34.0,<1.35.0)", "mypy-boto3-freetier (>=1.34.0,<1.35.0)", "mypy-boto3-fsx (>=1.34.0,<1.35.0)", "mypy-boto3-gamelift (>=1.34.0,<1.35.0)", "mypy-boto3-glacier (>=1.34.0,<1.35.0)", "mypy-boto3-globalaccelerator (>=1.34.0,<1.35.0)", "mypy-boto3-glue (>=1.34.0,<1.35.0)", "mypy-boto3-grafana (>=1.34.0,<1.35.0)", "mypy-boto3-greengrass (>=1.34.0,<1.35.0)", "mypy-boto3-greengrassv2 (>=1.34.0,<1.35.0)", "mypy-boto3-groundstation (>=1.34.0,<1.35.0)", "mypy-boto3-guardduty (>=1.34.0,<1.35.0)", "mypy-boto3-health (>=1.34.0,<1.35.0)", "mypy-boto3-healthlake (>=1.34.0,<1.35.0)", "mypy-boto3-honeycode (>=1.34.0,<1.35.0)", "mypy-boto3-iam (>=1.34.0,<1.35.0)", "mypy-boto3-identitystore (>=1.34.0,<1.35.0)", "mypy-boto3-imagebuilder (>=1.34.0,<1.35.0)", "mypy-boto3-importexport (>=1.34.0,<1.35.0)", "mypy-boto3-inspector (>=1.34.0,<1.35.0)", "mypy-boto3-inspector-scan (>=1.34.0,<1.35.0)", "mypy-boto3-inspector2 (>=1.34.0,<1.35.0)", "mypy-boto3-internetmonitor (>=1.34.0,<1.35.0)", "mypy-boto3-iot (>=1.34.0,<1.35.0)", "mypy-boto3-iot-data (>=1.34.0,<1.35.0)", "mypy-boto3-iot-jobs-data (>=1.34.0,<1.35.0)", "mypy-boto3-iot1click-devices (>=1.34.0,<1.35.0)", "mypy-boto3-iot1click-projects (>=1.34.0,<1.35.0)", "mypy-boto3-iotanalytics (>=1.34.0,<1.35.0)", "mypy-boto3-iotdeviceadvisor (>=1.34.0,<1.35.0)", "mypy-boto3-iotevents (>=1.34.0,<1.35.0)", "mypy-boto3-iotevents-data (>=1.34.0,<1.35.0)", "mypy-boto3-iotfleethub (>=1.34.0,<1.35.0)", "mypy-boto3-iotfleetwise (>=1.34.0,<1.35.0)", "mypy-boto3-iotsecuretunneling (>=1.34.0,<1.35.0)", "mypy-boto3-iotsitewise (>=1.34.0,<1.35.0)", "mypy-boto3-iotthingsgraph (>=1.34.0,<1.35.0)", "mypy-boto3-iottwinmaker (>=1.34.0,<1.35.0)", "mypy-boto3-iotwireless (>=1.34.0,<1.35.0)", "mypy-boto3-ivs (>=1.34.0,<1.35.0)", "mypy-boto3-ivs-realtime (>=1.34.0,<1.35.0)", "mypy-boto3-ivschat (>=1.34.0,<1.35.0)", "mypy-boto3-kafka (>=1.34.0,<1.35.0)", "mypy-boto3-kafkaconnect (>=1.34.0,<1.35.0)", "mypy-boto3-kendra (>=1.34.0,<1.35.0)", "mypy-boto3-kendra-ranking (>=1.34.0,<1.35.0)", "mypy-boto3-keyspaces (>=1.34.0,<1.35.0)", "mypy-boto3-kinesis (>=1.34.0,<1.35.0)", "mypy-boto3-kinesis-video-archived-media (>=1.34.0,<1.35.0)", "mypy-boto3-kinesis-video-media (>=1.34.0,<1.35.0)", "mypy-boto3-kinesis-video-signaling (>=1.34.0,<1.35.0)", "mypy-boto3-kinesis-video-webrtc-storage (>=1.34.0,<1.35.0)", "mypy-boto3-kinesisanalytics (>=1.34.0,<1.35.0)", "mypy-boto3-kinesisanalyticsv2 (>=1.34.0,<1.35.0)", "mypy-boto3-kinesisvideo (>=1.34.0,<1.35.0)", "mypy-boto3-kms (>=1.34.0,<1.35.0)", "mypy-boto3-lakeformation (>=1.34.0,<1.35.0)", "mypy-boto3-lambda (>=1.34.0,<1.35.0)", "mypy-boto3-launch-wizard (>=1.34.0,<1.35.0)", "mypy-boto3-lex-models (>=1.34.0,<1.35.0)", "mypy-boto3-lex-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-lexv2-models (>=1.34.0,<1.35.0)", "mypy-boto3-lexv2-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-license-manager (>=1.34.0,<1.35.0)", "mypy-boto3-license-manager-linux-subscriptions (>=1.34.0,<1.35.0)", "mypy-boto3-license-manager-user-subscriptions (>=1.34.0,<1.35.0)", "mypy-boto3-lightsail (>=1.34.0,<1.35.0)", "mypy-boto3-location (>=1.34.0,<1.35.0)", "mypy-boto3-logs (>=1.34.0,<1.35.0)", "mypy-boto3-lookoutequipment (>=1.34.0,<1.35.0)", "mypy-boto3-lookoutmetrics (>=1.34.0,<1.35.0)", "mypy-boto3-lookoutvision (>=1.34.0,<1.35.0)", "mypy-boto3-m2 (>=1.34.0,<1.35.0)", "mypy-boto3-machinelearning (>=1.34.0,<1.35.0)", "mypy-boto3-macie2 (>=1.34.0,<1.35.0)", "mypy-boto3-managedblockchain (>=1.34.0,<1.35.0)", "mypy-boto3-managedblockchain-query (>=1.34.0,<1.35.0)", "mypy-boto3-marketplace-agreement (>=1.34.0,<1.35.0)", "mypy-boto3-marketplace-catalog (>=1.34.0,<1.35.0)", "mypy-boto3-marketplace-deployment (>=1.34.0,<1.35.0)", "mypy-boto3-marketplace-entitlement (>=1.34.0,<1.35.0)", "mypy-boto3-marketplacecommerceanalytics (>=1.34.0,<1.35.0)", "mypy-boto3-mediaconnect (>=1.34.0,<1.35.0)", "mypy-boto3-mediaconvert (>=1.34.0,<1.35.0)", "mypy-boto3-medialive (>=1.34.0,<1.35.0)", "mypy-boto3-mediapackage (>=1.34.0,<1.35.0)", "mypy-boto3-mediapackage-vod (>=1.34.0,<1.35.0)", "mypy-boto3-mediapackagev2 (>=1.34.0,<1.35.0)", "mypy-boto3-mediastore (>=1.34.0,<1.35.0)", "mypy-boto3-mediastore-data (>=1.34.0,<1.35.0)", "mypy-boto3-mediatailor (>=1.34.0,<1.35.0)", "mypy-boto3-medical-imaging (>=1.34.0,<1.35.0)", "mypy-boto3-memorydb (>=1.34.0,<1.35.0)", "mypy-boto3-meteringmarketplace (>=1.34.0,<1.35.0)", "mypy-boto3-mgh (>=1.34.0,<1.35.0)", "mypy-boto3-mgn (>=1.34.0,<1.35.0)", "mypy-boto3-migration-hub-refactor-spaces (>=1.34.0,<1.35.0)", "mypy-boto3-migrationhub-config (>=1.34.0,<1.35.0)", "mypy-boto3-migrationhuborchestrator (>=1.34.0,<1.35.0)", "mypy-boto3-migrationhubstrategy (>=1.34.0,<1.35.0)", "mypy-boto3-mobile (>=1.34.0,<1.35.0)", "mypy-boto3-mq (>=1.34.0,<1.35.0)", "mypy-boto3-mturk (>=1.34.0,<1.35.0)", "mypy-boto3-mwaa (>=1.34.0,<1.35.0)", "mypy-boto3-neptune (>=1.34.0,<1.35.0)", "mypy-boto3-neptune-graph (>=1.34.0,<1.35.0)", "mypy-boto3-neptunedata (>=1.34.0,<1.35.0)", "mypy-boto3-network-firewall (>=1.34.0,<1.35.0)", "mypy-boto3-networkmanager (>=1.34.0,<1.35.0)", "mypy-boto3-networkmonitor (>=1.34.0,<1.35.0)", "mypy-boto3-nimble (>=1.34.0,<1.35.0)", "mypy-boto3-oam (>=1.34.0,<1.35.0)", "mypy-boto3-omics (>=1.34.0,<1.35.0)", "mypy-boto3-opensearch (>=1.34.0,<1.35.0)", "mypy-boto3-opensearchserverless (>=1.34.0,<1.35.0)", "mypy-boto3-opsworks (>=1.34.0,<1.35.0)", "mypy-boto3-opsworkscm (>=1.34.0,<1.35.0)", "mypy-boto3-organizations (>=1.34.0,<1.35.0)", "mypy-boto3-osis (>=1.34.0,<1.35.0)", "mypy-boto3-outposts (>=1.34.0,<1.35.0)", "mypy-boto3-panorama (>=1.34.0,<1.35.0)", "mypy-boto3-payment-cryptography (>=1.34.0,<1.35.0)", "mypy-boto3-payment-cryptography-data (>=1.34.0,<1.35.0)", "mypy-boto3-pca-connector-ad (>=1.34.0,<1.35.0)", "mypy-boto3-personalize (>=1.34.0,<1.35.0)", "mypy-boto3-personalize-events (>=1.34.0,<1.35.0)", "mypy-boto3-personalize-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-pi (>=1.34.0,<1.35.0)", "mypy-boto3-pinpoint (>=1.34.0,<1.35.0)", "mypy-boto3-pinpoint-email (>=1.34.0,<1.35.0)", "mypy-boto3-pinpoint-sms-voice (>=1.34.0,<1.35.0)", "mypy-boto3-pinpoint-sms-voice-v2 (>=1.34.0,<1.35.0)", "mypy-boto3-pipes (>=1.34.0,<1.35.0)", "mypy-boto3-polly (>=1.34.0,<1.35.0)", "mypy-boto3-pricing (>=1.34.0,<1.35.0)", "mypy-boto3-privatenetworks (>=1.34.0,<1.35.0)", "mypy-boto3-proton (>=1.34.0,<1.35.0)", "mypy-boto3-qbusiness (>=1.34.0,<1.35.0)", "mypy-boto3-qconnect (>=1.34.0,<1.35.0)", "mypy-boto3-qldb (>=1.34.0,<1.35.0)", "mypy-boto3-qldb-session (>=1.34.0,<1.35.0)", "mypy-boto3-quicksight (>=1.34.0,<1.35.0)", "mypy-boto3-ram (>=1.34.0,<1.35.0)", "mypy-boto3-rbin (>=1.34.0,<1.35.0)", "mypy-boto3-rds (>=1.34.0,<1.35.0)", "mypy-boto3-rds-data (>=1.34.0,<1.35.0)", "mypy-boto3-redshift (>=1.34.0,<1.35.0)", "mypy-boto3-redshift-data (>=1.34.0,<1.35.0)", "mypy-boto3-redshift-serverless (>=1.34.0,<1.35.0)", "mypy-boto3-rekognition (>=1.34.0,<1.35.0)", "mypy-boto3-repostspace (>=1.34.0,<1.35.0)", "mypy-boto3-resiliencehub (>=1.34.0,<1.35.0)", "mypy-boto3-resource-explorer-2 (>=1.34.0,<1.35.0)", "mypy-boto3-resource-groups (>=1.34.0,<1.35.0)", "mypy-boto3-resourcegroupstaggingapi (>=1.34.0,<1.35.0)", "mypy-boto3-robomaker (>=1.34.0,<1.35.0)", "mypy-boto3-rolesanywhere (>=1.34.0,<1.35.0)", "mypy-boto3-route53 (>=1.34.0,<1.35.0)", "mypy-boto3-route53-recovery-cluster (>=1.34.0,<1.35.0)", "mypy-boto3-route53-recovery-control-config (>=1.34.0,<1.35.0)", "mypy-boto3-route53-recovery-readiness (>=1.34.0,<1.35.0)", "mypy-boto3-route53domains (>=1.34.0,<1.35.0)", "mypy-boto3-route53profiles (>=1.34.0,<1.35.0)", "mypy-boto3-route53resolver (>=1.34.0,<1.35.0)", "mypy-boto3-rum (>=1.34.0,<1.35.0)", "mypy-boto3-s3 (>=1.34.0,<1.35.0)", "mypy-boto3-s3control (>=1.34.0,<1.35.0)", "mypy-boto3-s3outposts (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-a2i-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-edge (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-featurestore-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-geospatial (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-metrics (>=1.34.0,<1.35.0)", "mypy-boto3-sagemaker-runtime (>=1.34.0,<1.35.0)", "mypy-boto3-savingsplans (>=1.34.0,<1.35.0)", "mypy-boto3-scheduler (>=1.34.0,<1.35.0)", "mypy-boto3-schemas (>=1.34.0,<1.35.0)", "mypy-boto3-sdb (>=1.34.0,<1.35.0)", "mypy-boto3-secretsmanager (>=1.34.0,<1.35.0)", "mypy-boto3-securityhub (>=1.34.0,<1.35.0)", "mypy-boto3-securitylake (>=1.34.0,<1.35.0)", "mypy-boto3-serverlessrepo (>=1.34.0,<1.35.0)", "mypy-boto3-service-quotas (>=1.34.0,<1.35.0)", "mypy-boto3-servicecatalog (>=1.34.0,<1.35.0)", "mypy-boto3-servicecatalog-appregistry (>=1.34.0,<1.35.0)", "mypy-boto3-servicediscovery (>=1.34.0,<1.35.0)", "mypy-boto3-ses (>=1.34.0,<1.35.0)", "mypy-boto3-sesv2 (>=1.34.0,<1.35.0)", "mypy-boto3-shield (>=1.34.0,<1.35.0)", "mypy-boto3-signer (>=1.34.0,<1.35.0)", "mypy-boto3-simspaceweaver (>=1.34.0,<1.35.0)", "mypy-boto3-sms (>=1.34.0,<1.35.0)", "mypy-boto3-sms-voice (>=1.34.0,<1.35.0)", "mypy-boto3-snow-device-management (>=1.34.0,<1.35.0)", "mypy-boto3-snowball (>=1.34.0,<1.35.0)", "mypy-boto3-sns (>=1.34.0,<1.35.0)", "mypy-boto3-sqs (>=1.34.0,<1.35.0)", "mypy-boto3-ssm (>=1.34.0,<1.35.0)", "mypy-boto3-ssm-contacts (>=1.34.0,<1.35.0)", "mypy-boto3-ssm-incidents (>=1.34.0,<1.35.0)", "mypy-boto3-ssm-sap (>=1.34.0,<1.35.0)", "mypy-boto3-sso (>=1.34.0,<1.35.0)", "mypy-boto3-sso-admin (>=1.34.0,<1.35.0)", "mypy-boto3-sso-oidc (>=1.34.0,<1.35.0)", "mypy-boto3-stepfunctions (>=1.34.0,<1.35.0)", "mypy-boto3-storagegateway (>=1.34.0,<1.35.0)", "mypy-boto3-sts (>=1.34.0,<1.35.0)", "mypy-boto3-supplychain (>=1.34.0,<1.35.0)", "mypy-boto3-support (>=1.34.0,<1.35.0)", "mypy-boto3-support-app (>=1.34.0,<1.35.0)", "mypy-boto3-swf (>=1.34.0,<1.35.0)", "mypy-boto3-synthetics (>=1.34.0,<1.35.0)", "mypy-boto3-textract (>=1.34.0,<1.35.0)", "mypy-boto3-timestream-influxdb (>=1.34.0,<1.35.0)", "mypy-boto3-timestream-query (>=1.34.0,<1.35.0)", "mypy-boto3-timestream-write (>=1.34.0,<1.35.0)", "mypy-boto3-tnb (>=1.34.0,<1.35.0)", "mypy-boto3-transcribe (>=1.34.0,<1.35.0)", "mypy-boto3-transfer (>=1.34.0,<1.35.0)", "mypy-boto3-translate (>=1.34.0,<1.35.0)", "mypy-boto3-trustedadvisor (>=1.34.0,<1.35.0)", "mypy-boto3-verifiedpermissions (>=1.34.0,<1.35.0)", "mypy-boto3-voice-id (>=1.34.0,<1.35.0)", "mypy-boto3-vpc-lattice (>=1.34.0,<1.35.0)", "mypy-boto3-waf (>=1.34.0,<1.35.0)", "mypy-boto3-waf-regional (>=1.34.0,<1.35.0)", "mypy-boto3-wafv2 (>=1.34.0,<1.35.0)", "mypy-boto3-wellarchitected (>=1.34.0,<1.35.0)", "mypy-boto3-wisdom (>=1.34.0,<1.35.0)", "mypy-boto3-workdocs (>=1.34.0,<1.35.0)", "mypy-boto3-worklink (>=1.34.0,<1.35.0)", "mypy-boto3-workmail (>=1.34.0,<1.35.0)", "mypy-boto3-workmailmessageflow (>=1.34.0,<1.35.0)", "mypy-boto3-workspaces (>=1.34.0,<1.35.0)", "mypy-boto3-workspaces-thin-client (>=1.34.0,<1.35.0)", "mypy-boto3-workspaces-web (>=1.34.0,<1.35.0)", "mypy-boto3-xray (>=1.34.0,<1.35.0)"] amp = ["mypy-boto3-amp (>=1.34.0,<1.35.0)"] amplify = ["mypy-boto3-amplify (>=1.34.0,<1.35.0)"] amplifybackend = ["mypy-boto3-amplifybackend (>=1.34.0,<1.35.0)"] @@ -343,7 +384,7 @@ bedrock-agent = ["mypy-boto3-bedrock-agent (>=1.34.0,<1.35.0)"] bedrock-agent-runtime = ["mypy-boto3-bedrock-agent-runtime (>=1.34.0,<1.35.0)"] bedrock-runtime = ["mypy-boto3-bedrock-runtime (>=1.34.0,<1.35.0)"] billingconductor = ["mypy-boto3-billingconductor (>=1.34.0,<1.35.0)"] -boto3 = ["boto3 (==1.34.55)", "botocore (==1.34.55)"] +boto3 = ["boto3 (==1.34.101)", "botocore (==1.34.101)"] braket = ["mypy-boto3-braket (>=1.34.0,<1.35.0)"] budgets = ["mypy-boto3-budgets (>=1.34.0,<1.35.0)"] ce = ["mypy-boto3-ce (>=1.34.0,<1.35.0)"] @@ -373,6 +414,7 @@ codeartifact = ["mypy-boto3-codeartifact (>=1.34.0,<1.35.0)"] codebuild = ["mypy-boto3-codebuild (>=1.34.0,<1.35.0)"] codecatalyst = ["mypy-boto3-codecatalyst (>=1.34.0,<1.35.0)"] codecommit = ["mypy-boto3-codecommit (>=1.34.0,<1.35.0)"] +codeconnections = ["mypy-boto3-codeconnections (>=1.34.0,<1.35.0)"] codedeploy = ["mypy-boto3-codedeploy (>=1.34.0,<1.35.0)"] codeguru-reviewer = ["mypy-boto3-codeguru-reviewer (>=1.34.0,<1.35.0)"] codeguru-security = ["mypy-boto3-codeguru-security (>=1.34.0,<1.35.0)"] @@ -393,6 +435,7 @@ connect-contact-lens = ["mypy-boto3-connect-contact-lens (>=1.34.0,<1.35.0)"] connectcampaigns = ["mypy-boto3-connectcampaigns (>=1.34.0,<1.35.0)"] connectcases = ["mypy-boto3-connectcases (>=1.34.0,<1.35.0)"] connectparticipant = ["mypy-boto3-connectparticipant (>=1.34.0,<1.35.0)"] +controlcatalog = ["mypy-boto3-controlcatalog (>=1.34.0,<1.35.0)"] controltower = ["mypy-boto3-controltower (>=1.34.0,<1.35.0)"] cost-optimization-hub = ["mypy-boto3-cost-optimization-hub (>=1.34.0,<1.35.0)"] cur = ["mypy-boto3-cur (>=1.34.0,<1.35.0)"] @@ -403,6 +446,7 @@ datapipeline = ["mypy-boto3-datapipeline (>=1.34.0,<1.35.0)"] datasync = ["mypy-boto3-datasync (>=1.34.0,<1.35.0)"] datazone = ["mypy-boto3-datazone (>=1.34.0,<1.35.0)"] dax = ["mypy-boto3-dax (>=1.34.0,<1.35.0)"] +deadline = ["mypy-boto3-deadline (>=1.34.0,<1.35.0)"] detective = ["mypy-boto3-detective (>=1.34.0,<1.35.0)"] devicefarm = ["mypy-boto3-devicefarm (>=1.34.0,<1.35.0)"] devops-guru = ["mypy-boto3-devops-guru (>=1.34.0,<1.35.0)"] @@ -472,7 +516,6 @@ internetmonitor = ["mypy-boto3-internetmonitor (>=1.34.0,<1.35.0)"] iot = ["mypy-boto3-iot (>=1.34.0,<1.35.0)"] iot-data = ["mypy-boto3-iot-data (>=1.34.0,<1.35.0)"] iot-jobs-data = ["mypy-boto3-iot-jobs-data (>=1.34.0,<1.35.0)"] -iot-roborunner = ["mypy-boto3-iot-roborunner (>=1.34.0,<1.35.0)"] iot1click-devices = ["mypy-boto3-iot1click-devices (>=1.34.0,<1.35.0)"] iot1click-projects = ["mypy-boto3-iot1click-projects (>=1.34.0,<1.35.0)"] iotanalytics = ["mypy-boto3-iotanalytics (>=1.34.0,<1.35.0)"] @@ -609,6 +652,7 @@ route53-recovery-cluster = ["mypy-boto3-route53-recovery-cluster (>=1.34.0,<1.35 route53-recovery-control-config = ["mypy-boto3-route53-recovery-control-config (>=1.34.0,<1.35.0)"] route53-recovery-readiness = ["mypy-boto3-route53-recovery-readiness (>=1.34.0,<1.35.0)"] route53domains = ["mypy-boto3-route53domains (>=1.34.0,<1.35.0)"] +route53profiles = ["mypy-boto3-route53profiles (>=1.34.0,<1.35.0)"] route53resolver = ["mypy-boto3-route53resolver (>=1.34.0,<1.35.0)"] rum = ["mypy-boto3-rum (>=1.34.0,<1.35.0)"] s3 = ["mypy-boto3-s3 (>=1.34.0,<1.35.0)"] @@ -660,6 +704,7 @@ support-app = ["mypy-boto3-support-app (>=1.34.0,<1.35.0)"] swf = ["mypy-boto3-swf (>=1.34.0,<1.35.0)"] synthetics = ["mypy-boto3-synthetics (>=1.34.0,<1.35.0)"] textract = ["mypy-boto3-textract (>=1.34.0,<1.35.0)"] +timestream-influxdb = ["mypy-boto3-timestream-influxdb (>=1.34.0,<1.35.0)"] timestream-query = ["mypy-boto3-timestream-query (>=1.34.0,<1.35.0)"] timestream-write = ["mypy-boto3-timestream-write (>=1.34.0,<1.35.0)"] tnb = ["mypy-boto3-tnb (>=1.34.0,<1.35.0)"] @@ -686,34 +731,32 @@ xray = ["mypy-boto3-xray (>=1.34.0,<1.35.0)"] [[package]] name = "botocore" -version = "1.34.55" +version = "1.34.101" description = "Low-level, data-driven core of boto 3." -category = "main" optional = false -python-versions = ">= 3.8" +python-versions = ">=3.8" files = [ - {file = "botocore-1.34.55-py3-none-any.whl", hash = "sha256:07044c3cbfb86d0ecb9c56d887b8ad63a72eff0e4f6ab329cf335f1fd867ea0b"}, - {file = "botocore-1.34.55.tar.gz", hash = "sha256:bb333e3845bfe65600f36bf92d09668306e224fa9f4e4f87b77f6957192ae59f"}, + {file = "botocore-1.34.101-py3-none-any.whl", hash = "sha256:f145e8b4b8fc9968f5eb695bdc2fcc8e675df7fbc3c56102dc1f5471be6baf35"}, + {file = "botocore-1.34.101.tar.gz", hash = "sha256:01f3802d25558dd7945d83884bf6885e2f84e1ff27f90b5f09614966fe18c18f"}, ] [package.dependencies] jmespath = ">=0.7.1,<2.0.0" python-dateutil = ">=2.1,<3.0.0" -urllib3 = {version = ">=1.25.4,<2.1", markers = "python_version >= \"3.10\""} +urllib3 = {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version >= \"3.10\""} [package.extras] -crt = ["awscrt (==0.19.19)"] +crt = ["awscrt (==0.20.9)"] [[package]] name = "botocore-stubs" -version = "1.34.55" +version = "1.34.94" description = "Type annotations and code completion for botocore" -category = "main" optional = false -python-versions = ">=3.8,<4.0" +python-versions = "<4.0,>=3.8" files = [ - {file = "botocore_stubs-1.34.55-py3-none-any.whl", hash = "sha256:99ce54567618a2c4287b3778a9c03c23f3db1e8a836b02da7d2119059a308b74"}, - {file = "botocore_stubs-1.34.55.tar.gz", hash = "sha256:8580108ea4772a4b03bf882880a2f63bba7667477d1708f06cc6524958993471"}, + {file = "botocore_stubs-1.34.94-py3-none-any.whl", hash = "sha256:b0345f55babd8b901c53804fc5c326a4a0bd2e23e3b71f9ea5d9f7663466e6ba"}, + {file = "botocore_stubs-1.34.94.tar.gz", hash = "sha256:64d80a3467e3b19939e9c2750af33328b3087f8f524998dbdf7ed168227f507d"}, ] [package.dependencies] @@ -726,7 +769,6 @@ botocore = ["botocore"] name = "certifi" version = "2024.2.2" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -738,7 +780,6 @@ files = [ name = "cffi" version = "1.16.0" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -803,7 +844,6 @@ pycparser = "*" name = "cfgv" version = "3.4.0" description = "Validate configuration and produce human readable error messages." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -811,11 +851,128 @@ files = [ {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, ] +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "clean-fid" +version = "0.1.35" +description = "FID calculation in PyTorch with proper image resizing and quantization steps" +optional = false +python-versions = "*" +files = [ + {file = "clean_fid-0.1.35-py3-none-any.whl", hash = "sha256:757cf49d75debe9b07ab14955fe59c845a296deaf0616153b40c5e75b3cf87fb"}, +] + +[package.dependencies] +numpy = ">=1.14.3" +pillow = ">=8.1" +requests = "*" +scipy = ">=1.0.1" +torch = "*" +torchvision = "*" +tqdm = ">=4.28.1" + [[package]] name = "click" version = "8.1.7" description = "Composable command line interface toolkit" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -830,7 +987,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -838,34 +994,15 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] -[[package]] -name = "coloredlogs" -version = "15.0.1" -description = "Colored terminal output for Python's logging module" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, - {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, -] - -[package.dependencies] -humanfriendly = ">=9.1" - -[package.extras] -cron = ["capturer (>=2.4)"] - [[package]] name = "comm" -version = "0.2.1" +version = "0.2.2" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "comm-0.2.1-py3-none-any.whl", hash = "sha256:87928485c0dfc0e7976fd89fc1e187023cf587e7c353e4a9b417555b44adf021"}, - {file = "comm-0.2.1.tar.gz", hash = "sha256:0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a"}, + {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, + {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, ] [package.dependencies] @@ -876,128 +1013,126 @@ test = ["pytest"] [[package]] name = "contourpy" -version = "1.2.0" +version = "1.2.1" description = "Python library for calculating contours of 2D quadrilateral grids" -category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "contourpy-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0274c1cb63625972c0c007ab14dd9ba9e199c36ae1a231ce45d725cbcbfd10a8"}, - {file = "contourpy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ab459a1cbbf18e8698399c595a01f6dcc5c138220ca3ea9e7e6126232d102bb4"}, - {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fdd887f17c2f4572ce548461e4f96396681212d858cae7bd52ba3310bc6f00f"}, - {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d16edfc3fc09968e09ddffada434b3bf989bf4911535e04eada58469873e28e"}, - {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c203f617abc0dde5792beb586f827021069fb6d403d7f4d5c2b543d87edceb9"}, - {file = "contourpy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b69303ceb2e4d4f146bf82fda78891ef7bcd80c41bf16bfca3d0d7eb545448aa"}, - {file = "contourpy-1.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:884c3f9d42d7218304bc74a8a7693d172685c84bd7ab2bab1ee567b769696df9"}, - {file = "contourpy-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4a1b1208102be6e851f20066bf0e7a96b7d48a07c9b0cfe6d0d4545c2f6cadab"}, - {file = "contourpy-1.2.0-cp310-cp310-win32.whl", hash = "sha256:34b9071c040d6fe45d9826cbbe3727d20d83f1b6110d219b83eb0e2a01d79488"}, - {file = "contourpy-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:bd2f1ae63998da104f16a8b788f685e55d65760cd1929518fd94cd682bf03e41"}, - {file = "contourpy-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dd10c26b4eadae44783c45ad6655220426f971c61d9b239e6f7b16d5cdaaa727"}, - {file = "contourpy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5c6b28956b7b232ae801406e529ad7b350d3f09a4fde958dfdf3c0520cdde0dd"}, - {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebeac59e9e1eb4b84940d076d9f9a6cec0064e241818bcb6e32124cc5c3e377a"}, - {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:139d8d2e1c1dd52d78682f505e980f592ba53c9f73bd6be102233e358b401063"}, - {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e9dc350fb4c58adc64df3e0703ab076f60aac06e67d48b3848c23647ae4310e"}, - {file = "contourpy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18fc2b4ed8e4a8fe849d18dce4bd3c7ea637758c6343a1f2bae1e9bd4c9f4686"}, - {file = "contourpy-1.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:16a7380e943a6d52472096cb7ad5264ecee36ed60888e2a3d3814991a0107286"}, - {file = "contourpy-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8d8faf05be5ec8e02a4d86f616fc2a0322ff4a4ce26c0f09d9f7fb5330a35c95"}, - {file = "contourpy-1.2.0-cp311-cp311-win32.whl", hash = "sha256:67b7f17679fa62ec82b7e3e611c43a016b887bd64fb933b3ae8638583006c6d6"}, - {file = "contourpy-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:99ad97258985328b4f207a5e777c1b44a83bfe7cf1f87b99f9c11d4ee477c4de"}, - {file = "contourpy-1.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:575bcaf957a25d1194903a10bc9f316c136c19f24e0985a2b9b5608bdf5dbfe0"}, - {file = "contourpy-1.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9e6c93b5b2dbcedad20a2f18ec22cae47da0d705d454308063421a3b290d9ea4"}, - {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:464b423bc2a009088f19bdf1f232299e8b6917963e2b7e1d277da5041f33a779"}, - {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68ce4788b7d93e47f84edd3f1f95acdcd142ae60bc0e5493bfd120683d2d4316"}, - {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d7d1f8871998cdff5d2ff6a087e5e1780139abe2838e85b0b46b7ae6cc25399"}, - {file = "contourpy-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e739530c662a8d6d42c37c2ed52a6f0932c2d4a3e8c1f90692ad0ce1274abe0"}, - {file = "contourpy-1.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:247b9d16535acaa766d03037d8e8fb20866d054d3c7fbf6fd1f993f11fc60ca0"}, - {file = "contourpy-1.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:461e3ae84cd90b30f8d533f07d87c00379644205b1d33a5ea03381edc4b69431"}, - {file = "contourpy-1.2.0-cp312-cp312-win32.whl", hash = "sha256:1c2559d6cffc94890b0529ea7eeecc20d6fadc1539273aa27faf503eb4656d8f"}, - {file = "contourpy-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:491b1917afdd8638a05b611a56d46587d5a632cabead889a5440f7c638bc6ed9"}, - {file = "contourpy-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5fd1810973a375ca0e097dee059c407913ba35723b111df75671a1976efa04bc"}, - {file = "contourpy-1.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:999c71939aad2780f003979b25ac5b8f2df651dac7b38fb8ce6c46ba5abe6ae9"}, - {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7caf9b241464c404613512d5594a6e2ff0cc9cb5615c9475cc1d9b514218ae8"}, - {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:266270c6f6608340f6c9836a0fb9b367be61dde0c9a9a18d5ece97774105ff3e"}, - {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbd50d0a0539ae2e96e537553aff6d02c10ed165ef40c65b0e27e744a0f10af8"}, - {file = "contourpy-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11f8d2554e52f459918f7b8e6aa20ec2a3bce35ce95c1f0ef4ba36fbda306df5"}, - {file = "contourpy-1.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ce96dd400486e80ac7d195b2d800b03e3e6a787e2a522bfb83755938465a819e"}, - {file = "contourpy-1.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6d3364b999c62f539cd403f8123ae426da946e142312a514162adb2addd8d808"}, - {file = "contourpy-1.2.0-cp39-cp39-win32.whl", hash = "sha256:1c88dfb9e0c77612febebb6ac69d44a8d81e3dc60f993215425b62c1161353f4"}, - {file = "contourpy-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:78e6ad33cf2e2e80c5dfaaa0beec3d61face0fb650557100ee36db808bfa6843"}, - {file = "contourpy-1.2.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:be16975d94c320432657ad2402f6760990cb640c161ae6da1363051805fa8108"}, - {file = "contourpy-1.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b95a225d4948b26a28c08307a60ac00fb8671b14f2047fc5476613252a129776"}, - {file = "contourpy-1.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0d7e03c0f9a4f90dc18d4e77e9ef4ec7b7bbb437f7f675be8e530d65ae6ef956"}, - {file = "contourpy-1.2.0.tar.gz", hash = "sha256:171f311cb758de7da13fc53af221ae47a5877be5a0843a9fe150818c51ed276a"}, + {file = "contourpy-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bd7c23df857d488f418439686d3b10ae2fbf9bc256cd045b37a8c16575ea1040"}, + {file = "contourpy-1.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5b9eb0ca724a241683c9685a484da9d35c872fd42756574a7cfbf58af26677fd"}, + {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c75507d0a55378240f781599c30e7776674dbaf883a46d1c90f37e563453480"}, + {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11959f0ce4a6f7b76ec578576a0b61a28bdc0696194b6347ba3f1c53827178b9"}, + {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb3315a8a236ee19b6df481fc5f997436e8ade24a9f03dfdc6bd490fea20c6da"}, + {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39f3ecaf76cd98e802f094e0d4fbc6dc9c45a8d0c4d185f0f6c2234e14e5f75b"}, + {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:94b34f32646ca0414237168d68a9157cb3889f06b096612afdd296003fdd32fd"}, + {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:457499c79fa84593f22454bbd27670227874cd2ff5d6c84e60575c8b50a69619"}, + {file = "contourpy-1.2.1-cp310-cp310-win32.whl", hash = "sha256:ac58bdee53cbeba2ecad824fa8159493f0bf3b8ea4e93feb06c9a465d6c87da8"}, + {file = "contourpy-1.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9cffe0f850e89d7c0012a1fb8730f75edd4320a0a731ed0c183904fe6ecfc3a9"}, + {file = "contourpy-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6022cecf8f44e36af10bd9118ca71f371078b4c168b6e0fab43d4a889985dbb5"}, + {file = "contourpy-1.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef5adb9a3b1d0c645ff694f9bca7702ec2c70f4d734f9922ea34de02294fdf72"}, + {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6150ffa5c767bc6332df27157d95442c379b7dce3a38dff89c0f39b63275696f"}, + {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c863140fafc615c14a4bf4efd0f4425c02230eb8ef02784c9a156461e62c965"}, + {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:00e5388f71c1a0610e6fe56b5c44ab7ba14165cdd6d695429c5cd94021e390b2"}, + {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4492d82b3bc7fbb7e3610747b159869468079fe149ec5c4d771fa1f614a14df"}, + {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49e70d111fee47284d9dd867c9bb9a7058a3c617274900780c43e38d90fe1205"}, + {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b59c0ffceff8d4d3996a45f2bb6f4c207f94684a96bf3d9728dbb77428dd8cb8"}, + {file = "contourpy-1.2.1-cp311-cp311-win32.whl", hash = "sha256:7b4182299f251060996af5249c286bae9361fa8c6a9cda5efc29fe8bfd6062ec"}, + {file = "contourpy-1.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2855c8b0b55958265e8b5888d6a615ba02883b225f2227461aa9127c578a4922"}, + {file = "contourpy-1.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:62828cada4a2b850dbef89c81f5a33741898b305db244904de418cc957ff05dc"}, + {file = "contourpy-1.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:309be79c0a354afff9ff7da4aaed7c3257e77edf6c1b448a779329431ee79d7e"}, + {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e785e0f2ef0d567099b9ff92cbfb958d71c2d5b9259981cd9bee81bd194c9a4"}, + {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cac0a8f71a041aa587410424ad46dfa6a11f6149ceb219ce7dd48f6b02b87a7"}, + {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af3f4485884750dddd9c25cb7e3915d83c2db92488b38ccb77dd594eac84c4a0"}, + {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ce6889abac9a42afd07a562c2d6d4b2b7134f83f18571d859b25624a331c90b"}, + {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a1eea9aecf761c661d096d39ed9026574de8adb2ae1c5bd7b33558af884fb2ce"}, + {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:187fa1d4c6acc06adb0fae5544c59898ad781409e61a926ac7e84b8f276dcef4"}, + {file = "contourpy-1.2.1-cp312-cp312-win32.whl", hash = "sha256:c2528d60e398c7c4c799d56f907664673a807635b857df18f7ae64d3e6ce2d9f"}, + {file = "contourpy-1.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:1a07fc092a4088ee952ddae19a2b2a85757b923217b7eed584fdf25f53a6e7ce"}, + {file = "contourpy-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb6834cbd983b19f06908b45bfc2dad6ac9479ae04abe923a275b5f48f1a186b"}, + {file = "contourpy-1.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1d59e739ab0e3520e62a26c60707cc3ab0365d2f8fecea74bfe4de72dc56388f"}, + {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd3db01f59fdcbce5b22afad19e390260d6d0222f35a1023d9adc5690a889364"}, + {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a12a813949e5066148712a0626895c26b2578874e4cc63160bb007e6df3436fe"}, + {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe0ccca550bb8e5abc22f530ec0466136379c01321fd94f30a22231e8a48d985"}, + {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1d59258c3c67c865435d8fbeb35f8c59b8bef3d6f46c1f29f6123556af28445"}, + {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f32c38afb74bd98ce26de7cc74a67b40afb7b05aae7b42924ea990d51e4dac02"}, + {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d31a63bc6e6d87f77d71e1abbd7387ab817a66733734883d1fc0021ed9bfa083"}, + {file = "contourpy-1.2.1-cp39-cp39-win32.whl", hash = "sha256:ddcb8581510311e13421b1f544403c16e901c4e8f09083c881fab2be80ee31ba"}, + {file = "contourpy-1.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:10a37ae557aabf2509c79715cd20b62e4c7c28b8cd62dd7d99e5ed3ce28c3fd9"}, + {file = "contourpy-1.2.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a31f94983fecbac95e58388210427d68cd30fe8a36927980fab9c20062645609"}, + {file = "contourpy-1.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b055471c0eb466033760a521efb9d8a32b99ab907fc8358481a1dd29e3bd3"}, + {file = "contourpy-1.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b33d2bc4f69caedcd0a275329eb2198f560b325605810895627be5d4b876bf7f"}, + {file = "contourpy-1.2.1.tar.gz", hash = "sha256:4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c"}, ] [package.dependencies] -numpy = ">=1.20,<2.0" +numpy = ">=1.20" [package.extras] bokeh = ["bokeh", "selenium"] docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] -mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.6.1)", "types-Pillow"] +mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.8.0)", "types-Pillow"] test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"] [[package]] name = "coverage" -version = "7.4.3" +version = "7.5.1" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.4.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8580b827d4746d47294c0e0b92854c85a92c2227927433998f0d3320ae8a71b6"}, - {file = "coverage-7.4.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:718187eeb9849fc6cc23e0d9b092bc2348821c5e1a901c9f8975df0bc785bfd4"}, - {file = "coverage-7.4.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:767b35c3a246bcb55b8044fd3a43b8cd553dd1f9f2c1eeb87a302b1f8daa0524"}, - {file = "coverage-7.4.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae7f19afe0cce50039e2c782bff379c7e347cba335429678450b8fe81c4ef96d"}, - {file = "coverage-7.4.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba3a8aaed13770e970b3df46980cb068d1c24af1a1968b7818b69af8c4347efb"}, - {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ee866acc0861caebb4f2ab79f0b94dbfbdbfadc19f82e6e9c93930f74e11d7a0"}, - {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:506edb1dd49e13a2d4cac6a5173317b82a23c9d6e8df63efb4f0380de0fbccbc"}, - {file = "coverage-7.4.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd6545d97c98a192c5ac995d21c894b581f1fd14cf389be90724d21808b657e2"}, - {file = "coverage-7.4.3-cp310-cp310-win32.whl", hash = "sha256:f6a09b360d67e589236a44f0c39218a8efba2593b6abdccc300a8862cffc2f94"}, - {file = "coverage-7.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:18d90523ce7553dd0b7e23cbb28865db23cddfd683a38fb224115f7826de78d0"}, - {file = "coverage-7.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cbbe5e739d45a52f3200a771c6d2c7acf89eb2524890a4a3aa1a7fa0695d2a47"}, - {file = "coverage-7.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:489763b2d037b164846ebac0cbd368b8a4ca56385c4090807ff9fad817de4113"}, - {file = "coverage-7.4.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:451f433ad901b3bb00184d83fd83d135fb682d780b38af7944c9faeecb1e0bfe"}, - {file = "coverage-7.4.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcc66e222cf4c719fe7722a403888b1f5e1682d1679bd780e2b26c18bb648cdc"}, - {file = "coverage-7.4.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3ec74cfef2d985e145baae90d9b1b32f85e1741b04cd967aaf9cfa84c1334f3"}, - {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:abbbd8093c5229c72d4c2926afaee0e6e3140de69d5dcd918b2921f2f0c8baba"}, - {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:35eb581efdacf7b7422af677b92170da4ef34500467381e805944a3201df2079"}, - {file = "coverage-7.4.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8249b1c7334be8f8c3abcaaa996e1e4927b0e5a23b65f5bf6cfe3180d8ca7840"}, - {file = "coverage-7.4.3-cp311-cp311-win32.whl", hash = "sha256:cf30900aa1ba595312ae41978b95e256e419d8a823af79ce670835409fc02ad3"}, - {file = "coverage-7.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:18c7320695c949de11a351742ee001849912fd57e62a706d83dfc1581897fa2e"}, - {file = "coverage-7.4.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b51bfc348925e92a9bd9b2e48dad13431b57011fd1038f08316e6bf1df107d10"}, - {file = "coverage-7.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d6cdecaedea1ea9e033d8adf6a0ab11107b49571bbb9737175444cea6eb72328"}, - {file = "coverage-7.4.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b2eccb883368f9e972e216c7b4c7c06cabda925b5f06dde0650281cb7666a30"}, - {file = "coverage-7.4.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c00cdc8fa4e50e1cc1f941a7f2e3e0f26cb2a1233c9696f26963ff58445bac7"}, - {file = "coverage-7.4.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9a4a8dd3dcf4cbd3165737358e4d7dfbd9d59902ad11e3b15eebb6393b0446e"}, - {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:062b0a75d9261e2f9c6d071753f7eef0fc9caf3a2c82d36d76667ba7b6470003"}, - {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ebe7c9e67a2d15fa97b77ea6571ce5e1e1f6b0db71d1d5e96f8d2bf134303c1d"}, - {file = "coverage-7.4.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c0a120238dd71c68484f02562f6d446d736adcc6ca0993712289b102705a9a3a"}, - {file = "coverage-7.4.3-cp312-cp312-win32.whl", hash = "sha256:37389611ba54fd6d278fde86eb2c013c8e50232e38f5c68235d09d0a3f8aa352"}, - {file = "coverage-7.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:d25b937a5d9ffa857d41be042b4238dd61db888533b53bc76dc082cb5a15e914"}, - {file = "coverage-7.4.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:28ca2098939eabab044ad68850aac8f8db6bf0b29bc7f2887d05889b17346454"}, - {file = "coverage-7.4.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:280459f0a03cecbe8800786cdc23067a8fc64c0bd51dc614008d9c36e1659d7e"}, - {file = "coverage-7.4.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c0cdedd3500e0511eac1517bf560149764b7d8e65cb800d8bf1c63ebf39edd2"}, - {file = "coverage-7.4.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a9babb9466fe1da12417a4aed923e90124a534736de6201794a3aea9d98484e"}, - {file = "coverage-7.4.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dec9de46a33cf2dd87a5254af095a409ea3bf952d85ad339751e7de6d962cde6"}, - {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:16bae383a9cc5abab9bb05c10a3e5a52e0a788325dc9ba8499e821885928968c"}, - {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2c854ce44e1ee31bda4e318af1dbcfc929026d12c5ed030095ad98197eeeaed0"}, - {file = "coverage-7.4.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ce8c50520f57ec57aa21a63ea4f325c7b657386b3f02ccaedeccf9ebe27686e1"}, - {file = "coverage-7.4.3-cp38-cp38-win32.whl", hash = "sha256:708a3369dcf055c00ddeeaa2b20f0dd1ce664eeabde6623e516c5228b753654f"}, - {file = "coverage-7.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:1bf25fbca0c8d121a3e92a2a0555c7e5bc981aee5c3fdaf4bb7809f410f696b9"}, - {file = "coverage-7.4.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3b253094dbe1b431d3a4ac2f053b6d7ede2664ac559705a704f621742e034f1f"}, - {file = "coverage-7.4.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77fbfc5720cceac9c200054b9fab50cb2a7d79660609200ab83f5db96162d20c"}, - {file = "coverage-7.4.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6679060424faa9c11808598504c3ab472de4531c571ab2befa32f4971835788e"}, - {file = "coverage-7.4.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4af154d617c875b52651dd8dd17a31270c495082f3d55f6128e7629658d63765"}, - {file = "coverage-7.4.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8640f1fde5e1b8e3439fe482cdc2b0bb6c329f4bb161927c28d2e8879c6029ee"}, - {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:69b9f6f66c0af29642e73a520b6fed25ff9fd69a25975ebe6acb297234eda501"}, - {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:0842571634f39016a6c03e9d4aba502be652a6e4455fadb73cd3a3a49173e38f"}, - {file = "coverage-7.4.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a78ed23b08e8ab524551f52953a8a05d61c3a760781762aac49f8de6eede8c45"}, - {file = "coverage-7.4.3-cp39-cp39-win32.whl", hash = "sha256:c0524de3ff096e15fcbfe8f056fdb4ea0bf497d584454f344d59fce069d3e6e9"}, - {file = "coverage-7.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:0209a6369ccce576b43bb227dc8322d8ef9e323d089c6f3f26a597b09cb4d2aa"}, - {file = "coverage-7.4.3-pp38.pp39.pp310-none-any.whl", hash = "sha256:7cbde573904625509a3f37b6fecea974e363460b556a627c60dc2f47e2fffa51"}, - {file = "coverage-7.4.3.tar.gz", hash = "sha256:276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52"}, + {file = "coverage-7.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0884920835a033b78d1c73b6d3bbcda8161a900f38a488829a83982925f6c2e"}, + {file = "coverage-7.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:39afcd3d4339329c5f58de48a52f6e4e50f6578dd6099961cf22228feb25f38f"}, + {file = "coverage-7.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a7b0ceee8147444347da6a66be737c9d78f3353b0681715b668b72e79203e4a"}, + {file = "coverage-7.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a9ca3f2fae0088c3c71d743d85404cec8df9be818a005ea065495bedc33da35"}, + {file = "coverage-7.5.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd215c0c7d7aab005221608a3c2b46f58c0285a819565887ee0b718c052aa4e"}, + {file = "coverage-7.5.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4bf0655ab60d754491004a5efd7f9cccefcc1081a74c9ef2da4735d6ee4a6223"}, + {file = "coverage-7.5.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:61c4bf1ba021817de12b813338c9be9f0ad5b1e781b9b340a6d29fc13e7c1b5e"}, + {file = "coverage-7.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:db66fc317a046556a96b453a58eced5024af4582a8dbdc0c23ca4dbc0d5b3146"}, + {file = "coverage-7.5.1-cp310-cp310-win32.whl", hash = "sha256:b016ea6b959d3b9556cb401c55a37547135a587db0115635a443b2ce8f1c7228"}, + {file = "coverage-7.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:df4e745a81c110e7446b1cc8131bf986157770fa405fe90e15e850aaf7619bc8"}, + {file = "coverage-7.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:796a79f63eca8814ca3317a1ea443645c9ff0d18b188de470ed7ccd45ae79428"}, + {file = "coverage-7.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4fc84a37bfd98db31beae3c2748811a3fa72bf2007ff7902f68746d9757f3746"}, + {file = "coverage-7.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6175d1a0559986c6ee3f7fccfc4a90ecd12ba0a383dcc2da30c2b9918d67d8a3"}, + {file = "coverage-7.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fc81d5878cd6274ce971e0a3a18a8803c3fe25457165314271cf78e3aae3aa2"}, + {file = "coverage-7.5.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:556cf1a7cbc8028cb60e1ff0be806be2eded2daf8129b8811c63e2b9a6c43bca"}, + {file = "coverage-7.5.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9981706d300c18d8b220995ad22627647be11a4276721c10911e0e9fa44c83e8"}, + {file = "coverage-7.5.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d7fed867ee50edf1a0b4a11e8e5d0895150e572af1cd6d315d557758bfa9c057"}, + {file = "coverage-7.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ef48e2707fb320c8f139424a596f5b69955a85b178f15af261bab871873bb987"}, + {file = "coverage-7.5.1-cp311-cp311-win32.whl", hash = "sha256:9314d5678dcc665330df5b69c1e726a0e49b27df0461c08ca12674bcc19ef136"}, + {file = "coverage-7.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:5fa567e99765fe98f4e7d7394ce623e794d7cabb170f2ca2ac5a4174437e90dd"}, + {file = "coverage-7.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b6cf3764c030e5338e7f61f95bd21147963cf6aa16e09d2f74f1fa52013c1206"}, + {file = "coverage-7.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ec92012fefebee89a6b9c79bc39051a6cb3891d562b9270ab10ecfdadbc0c34"}, + {file = "coverage-7.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16db7f26000a07efcf6aea00316f6ac57e7d9a96501e990a36f40c965ec7a95d"}, + {file = "coverage-7.5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:beccf7b8a10b09c4ae543582c1319c6df47d78fd732f854ac68d518ee1fb97fa"}, + {file = "coverage-7.5.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8748731ad392d736cc9ccac03c9845b13bb07d020a33423fa5b3a36521ac6e4e"}, + {file = "coverage-7.5.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7352b9161b33fd0b643ccd1f21f3a3908daaddf414f1c6cb9d3a2fd618bf2572"}, + {file = "coverage-7.5.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7a588d39e0925f6a2bff87154752481273cdb1736270642aeb3635cb9b4cad07"}, + {file = "coverage-7.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:68f962d9b72ce69ea8621f57551b2fa9c70509af757ee3b8105d4f51b92b41a7"}, + {file = "coverage-7.5.1-cp312-cp312-win32.whl", hash = "sha256:f152cbf5b88aaeb836127d920dd0f5e7edff5a66f10c079157306c4343d86c19"}, + {file = "coverage-7.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:5a5740d1fb60ddf268a3811bcd353de34eb56dc24e8f52a7f05ee513b2d4f596"}, + {file = "coverage-7.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e2213def81a50519d7cc56ed643c9e93e0247f5bbe0d1247d15fa520814a7cd7"}, + {file = "coverage-7.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5037f8fcc2a95b1f0e80585bd9d1ec31068a9bcb157d9750a172836e98bc7a90"}, + {file = "coverage-7.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3721c2c9e4c4953a41a26c14f4cef64330392a6d2d675c8b1db3b645e31f0e"}, + {file = "coverage-7.5.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca498687ca46a62ae590253fba634a1fe9836bc56f626852fb2720f334c9e4e5"}, + {file = "coverage-7.5.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cdcbc320b14c3e5877ee79e649677cb7d89ef588852e9583e6b24c2e5072661"}, + {file = "coverage-7.5.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:57e0204b5b745594e5bc14b9b50006da722827f0b8c776949f1135677e88d0b8"}, + {file = "coverage-7.5.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8fe7502616b67b234482c3ce276ff26f39ffe88adca2acf0261df4b8454668b4"}, + {file = "coverage-7.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:9e78295f4144f9dacfed4f92935fbe1780021247c2fabf73a819b17f0ccfff8d"}, + {file = "coverage-7.5.1-cp38-cp38-win32.whl", hash = "sha256:1434e088b41594baa71188a17533083eabf5609e8e72f16ce8c186001e6b8c41"}, + {file = "coverage-7.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:0646599e9b139988b63704d704af8e8df7fa4cbc4a1f33df69d97f36cb0a38de"}, + {file = "coverage-7.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4cc37def103a2725bc672f84bd939a6fe4522310503207aae4d56351644682f1"}, + {file = "coverage-7.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fc0b4d8bfeabd25ea75e94632f5b6e047eef8adaed0c2161ada1e922e7f7cece"}, + {file = "coverage-7.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d0a0f5e06881ecedfe6f3dd2f56dcb057b6dbeb3327fd32d4b12854df36bf26"}, + {file = "coverage-7.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9735317685ba6ec7e3754798c8871c2f49aa5e687cc794a0b1d284b2389d1bd5"}, + {file = "coverage-7.5.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d21918e9ef11edf36764b93101e2ae8cc82aa5efdc7c5a4e9c6c35a48496d601"}, + {file = "coverage-7.5.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c3e757949f268364b96ca894b4c342b41dc6f8f8b66c37878aacef5930db61be"}, + {file = "coverage-7.5.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:79afb6197e2f7f60c4824dd4b2d4c2ec5801ceb6ba9ce5d2c3080e5660d51a4f"}, + {file = "coverage-7.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d1d0d98d95dd18fe29dc66808e1accf59f037d5716f86a501fc0256455219668"}, + {file = "coverage-7.5.1-cp39-cp39-win32.whl", hash = "sha256:1cc0fe9b0b3a8364093c53b0b4c0c2dd4bb23acbec4c9240b5f284095ccf7981"}, + {file = "coverage-7.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:dde0070c40ea8bb3641e811c1cfbf18e265d024deff6de52c5950677a8fb1e0f"}, + {file = "coverage-7.5.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:6537e7c10cc47c595828b8a8be04c72144725c383c4702703ff4e42e44577312"}, + {file = "coverage-7.5.1.tar.gz", hash = "sha256:54de9ef3a9da981f7af93eafde4ede199e0846cd819eb27c88e2b712aae9708c"}, ] [package.extras] @@ -1007,7 +1142,6 @@ toml = ["tomli"] name = "cycler" version = "0.12.1" description = "Composable style cycles" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1023,7 +1157,6 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] name = "debugpy" version = "1.8.1" description = "An implementation of the Debug Adapter Protocol for Python" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1055,7 +1188,6 @@ files = [ name = "decorator" version = "5.1.1" description = "Decorators for Humans" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -1067,7 +1199,6 @@ files = [ name = "distlib" version = "0.3.8" description = "Distribution utilities" -category = "dev" optional = false python-versions = "*" files = [ @@ -1079,7 +1210,6 @@ files = [ name = "docopt" version = "0.6.2" description = "Pythonic argument parser, that will make you smile" -category = "dev" optional = false python-versions = "*" files = [ @@ -1088,14 +1218,13 @@ files = [ [[package]] name = "exceptiongroup" -version = "1.2.0" +version = "1.2.1" description = "Backport of PEP 654 (exception groups)" -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, - {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, + {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, + {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, ] [package.extras] @@ -1105,7 +1234,6 @@ test = ["pytest (>=6)"] name = "executing" version = "2.0.1" description = "Get the currently executing AST node of a frame, and other information" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -1118,26 +1246,24 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth [[package]] name = "filelock" -version = "3.13.1" +version = "3.14.0" description = "A platform independent file lock." -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"}, - {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"}, + {file = "filelock-3.14.0-py3-none-any.whl", hash = "sha256:43339835842f110ca7ae60f1e1c160714c5a6afd15a2873419ab185334975c0f"}, + {file = "filelock-3.14.0.tar.gz", hash = "sha256:6ea72da3be9b8c82afd3edcf99f2fffbb5076335a5ae4d03248bb5b6c3eae78a"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] typing = ["typing-extensions (>=4.8)"] [[package]] name = "flake8" version = "6.1.0" description = "the modular source code checker: pep8 pyflakes and co" -category = "dev" optional = false python-versions = ">=3.8.1" files = [ @@ -1150,68 +1276,55 @@ mccabe = ">=0.7.0,<0.8.0" pycodestyle = ">=2.11.0,<2.12.0" pyflakes = ">=3.1.0,<3.2.0" -[[package]] -name = "flatbuffers" -version = "23.5.26" -description = "The FlatBuffers serialization format for Python" -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "flatbuffers-23.5.26-py2.py3-none-any.whl", hash = "sha256:c0ff356da363087b915fde4b8b45bdda73432fc17cddb3c8157472eab1422ad1"}, - {file = "flatbuffers-23.5.26.tar.gz", hash = "sha256:9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89"}, -] - [[package]] name = "fonttools" -version = "4.49.0" +version = "4.51.0" description = "Tools to manipulate font files" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "fonttools-4.49.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d970ecca0aac90d399e458f0b7a8a597e08f95de021f17785fb68e2dc0b99717"}, - {file = "fonttools-4.49.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac9a745b7609f489faa65e1dc842168c18530874a5f5b742ac3dd79e26bca8bc"}, - {file = "fonttools-4.49.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ba0e00620ca28d4ca11fc700806fd69144b463aa3275e1b36e56c7c09915559"}, - {file = "fonttools-4.49.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdee3ab220283057e7840d5fb768ad4c2ebe65bdba6f75d5d7bf47f4e0ed7d29"}, - {file = "fonttools-4.49.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ce7033cb61f2bb65d8849658d3786188afd80f53dad8366a7232654804529532"}, - {file = "fonttools-4.49.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:07bc5ea02bb7bc3aa40a1eb0481ce20e8d9b9642a9536cde0218290dd6085828"}, - {file = "fonttools-4.49.0-cp310-cp310-win32.whl", hash = "sha256:86eef6aab7fd7c6c8545f3ebd00fd1d6729ca1f63b0cb4d621bccb7d1d1c852b"}, - {file = "fonttools-4.49.0-cp310-cp310-win_amd64.whl", hash = "sha256:1fac1b7eebfce75ea663e860e7c5b4a8831b858c17acd68263bc156125201abf"}, - {file = "fonttools-4.49.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:edc0cce355984bb3c1d1e89d6a661934d39586bb32191ebff98c600f8957c63e"}, - {file = "fonttools-4.49.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:83a0d9336de2cba86d886507dd6e0153df333ac787377325a39a2797ec529814"}, - {file = "fonttools-4.49.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36c8865bdb5cfeec88f5028e7e592370a0657b676c6f1d84a2108e0564f90e22"}, - {file = "fonttools-4.49.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33037d9e56e2562c710c8954d0f20d25b8386b397250d65581e544edc9d6b942"}, - {file = "fonttools-4.49.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8fb022d799b96df3eaa27263e9eea306bd3d437cc9aa981820850281a02b6c9a"}, - {file = "fonttools-4.49.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33c584c0ef7dc54f5dd4f84082eabd8d09d1871a3d8ca2986b0c0c98165f8e86"}, - {file = "fonttools-4.49.0-cp311-cp311-win32.whl", hash = "sha256:cbe61b158deb09cffdd8540dc4a948d6e8f4d5b4f3bf5cd7db09bd6a61fee64e"}, - {file = "fonttools-4.49.0-cp311-cp311-win_amd64.whl", hash = "sha256:fc11e5114f3f978d0cea7e9853627935b30d451742eeb4239a81a677bdee6bf6"}, - {file = "fonttools-4.49.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d647a0e697e5daa98c87993726da8281c7233d9d4ffe410812a4896c7c57c075"}, - {file = "fonttools-4.49.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f3bbe672df03563d1f3a691ae531f2e31f84061724c319652039e5a70927167e"}, - {file = "fonttools-4.49.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bebd91041dda0d511b0d303180ed36e31f4f54b106b1259b69fade68413aa7ff"}, - {file = "fonttools-4.49.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4145f91531fd43c50f9eb893faa08399816bb0b13c425667c48475c9f3a2b9b5"}, - {file = "fonttools-4.49.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ea329dafb9670ffbdf4dbc3b0e5c264104abcd8441d56de77f06967f032943cb"}, - {file = "fonttools-4.49.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c076a9e548521ecc13d944b1d261ff3d7825048c338722a4bd126d22316087b7"}, - {file = "fonttools-4.49.0-cp312-cp312-win32.whl", hash = "sha256:b607ea1e96768d13be26d2b400d10d3ebd1456343eb5eaddd2f47d1c4bd00880"}, - {file = "fonttools-4.49.0-cp312-cp312-win_amd64.whl", hash = "sha256:a974c49a981e187381b9cc2c07c6b902d0079b88ff01aed34695ec5360767034"}, - {file = "fonttools-4.49.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b85ec0bdd7bdaa5c1946398cbb541e90a6dfc51df76dfa88e0aaa41b335940cb"}, - {file = "fonttools-4.49.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:af20acbe198a8a790618ee42db192eb128afcdcc4e96d99993aca0b60d1faeb4"}, - {file = "fonttools-4.49.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d418b1fee41a1d14931f7ab4b92dc0bc323b490e41d7a333eec82c9f1780c75"}, - {file = "fonttools-4.49.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b44a52b8e6244b6548851b03b2b377a9702b88ddc21dcaf56a15a0393d425cb9"}, - {file = "fonttools-4.49.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7c7125068e04a70739dad11857a4d47626f2b0bd54de39e8622e89701836eabd"}, - {file = "fonttools-4.49.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:29e89d0e1a7f18bc30f197cfadcbef5a13d99806447c7e245f5667579a808036"}, - {file = "fonttools-4.49.0-cp38-cp38-win32.whl", hash = "sha256:9d95fa0d22bf4f12d2fb7b07a46070cdfc19ef5a7b1c98bc172bfab5bf0d6844"}, - {file = "fonttools-4.49.0-cp38-cp38-win_amd64.whl", hash = "sha256:768947008b4dc552d02772e5ebd49e71430a466e2373008ce905f953afea755a"}, - {file = "fonttools-4.49.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:08877e355d3dde1c11973bb58d4acad1981e6d1140711230a4bfb40b2b937ccc"}, - {file = "fonttools-4.49.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fdb54b076f25d6b0f0298dc706acee5052de20c83530fa165b60d1f2e9cbe3cb"}, - {file = "fonttools-4.49.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0af65c720520710cc01c293f9c70bd69684365c6015cc3671db2b7d807fe51f2"}, - {file = "fonttools-4.49.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f255ce8ed7556658f6d23f6afd22a6d9bbc3edb9b96c96682124dc487e1bf42"}, - {file = "fonttools-4.49.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d00af0884c0e65f60dfaf9340e26658836b935052fdd0439952ae42e44fdd2be"}, - {file = "fonttools-4.49.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:263832fae27481d48dfafcc43174644b6706639661e242902ceb30553557e16c"}, - {file = "fonttools-4.49.0-cp39-cp39-win32.whl", hash = "sha256:0404faea044577a01bb82d47a8fa4bc7a54067fa7e324785dd65d200d6dd1133"}, - {file = "fonttools-4.49.0-cp39-cp39-win_amd64.whl", hash = "sha256:b050d362df50fc6e38ae3954d8c29bf2da52be384649ee8245fdb5186b620836"}, - {file = "fonttools-4.49.0-py3-none-any.whl", hash = "sha256:af281525e5dd7fa0b39fb1667b8d5ca0e2a9079967e14c4bfe90fd1cd13e0f18"}, - {file = "fonttools-4.49.0.tar.gz", hash = "sha256:ebf46e7f01b7af7861310417d7c49591a85d99146fc23a5ba82fdb28af156321"}, + {file = "fonttools-4.51.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:84d7751f4468dd8cdd03ddada18b8b0857a5beec80bce9f435742abc9a851a74"}, + {file = "fonttools-4.51.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8b4850fa2ef2cfbc1d1f689bc159ef0f45d8d83298c1425838095bf53ef46308"}, + {file = "fonttools-4.51.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5b48a1121117047d82695d276c2af2ee3a24ffe0f502ed581acc2673ecf1037"}, + {file = "fonttools-4.51.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:180194c7fe60c989bb627d7ed5011f2bef1c4d36ecf3ec64daec8302f1ae0716"}, + {file = "fonttools-4.51.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:96a48e137c36be55e68845fc4284533bda2980f8d6f835e26bca79d7e2006438"}, + {file = "fonttools-4.51.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:806e7912c32a657fa39d2d6eb1d3012d35f841387c8fc6cf349ed70b7c340039"}, + {file = "fonttools-4.51.0-cp310-cp310-win32.whl", hash = "sha256:32b17504696f605e9e960647c5f64b35704782a502cc26a37b800b4d69ff3c77"}, + {file = "fonttools-4.51.0-cp310-cp310-win_amd64.whl", hash = "sha256:c7e91abdfae1b5c9e3a543f48ce96013f9a08c6c9668f1e6be0beabf0a569c1b"}, + {file = "fonttools-4.51.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a8feca65bab31479d795b0d16c9a9852902e3a3c0630678efb0b2b7941ea9c74"}, + {file = "fonttools-4.51.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ac27f436e8af7779f0bb4d5425aa3535270494d3bc5459ed27de3f03151e4c2"}, + {file = "fonttools-4.51.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e19bd9e9964a09cd2433a4b100ca7f34e34731e0758e13ba9a1ed6e5468cc0f"}, + {file = "fonttools-4.51.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2b92381f37b39ba2fc98c3a45a9d6383bfc9916a87d66ccb6553f7bdd129097"}, + {file = "fonttools-4.51.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5f6bc991d1610f5c3bbe997b0233cbc234b8e82fa99fc0b2932dc1ca5e5afec0"}, + {file = "fonttools-4.51.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9696fe9f3f0c32e9a321d5268208a7cc9205a52f99b89479d1b035ed54c923f1"}, + {file = "fonttools-4.51.0-cp311-cp311-win32.whl", hash = "sha256:3bee3f3bd9fa1d5ee616ccfd13b27ca605c2b4270e45715bd2883e9504735034"}, + {file = "fonttools-4.51.0-cp311-cp311-win_amd64.whl", hash = "sha256:0f08c901d3866a8905363619e3741c33f0a83a680d92a9f0e575985c2634fcc1"}, + {file = "fonttools-4.51.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4060acc2bfa2d8e98117828a238889f13b6f69d59f4f2d5857eece5277b829ba"}, + {file = "fonttools-4.51.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1250e818b5f8a679ad79660855528120a8f0288f8f30ec88b83db51515411fcc"}, + {file = "fonttools-4.51.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76f1777d8b3386479ffb4a282e74318e730014d86ce60f016908d9801af9ca2a"}, + {file = "fonttools-4.51.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b5ad456813d93b9c4b7ee55302208db2b45324315129d85275c01f5cb7e61a2"}, + {file = "fonttools-4.51.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:68b3fb7775a923be73e739f92f7e8a72725fd333eab24834041365d2278c3671"}, + {file = "fonttools-4.51.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8e2f1a4499e3b5ee82c19b5ee57f0294673125c65b0a1ff3764ea1f9db2f9ef5"}, + {file = "fonttools-4.51.0-cp312-cp312-win32.whl", hash = "sha256:278e50f6b003c6aed19bae2242b364e575bcb16304b53f2b64f6551b9c000e15"}, + {file = "fonttools-4.51.0-cp312-cp312-win_amd64.whl", hash = "sha256:b3c61423f22165541b9403ee39874dcae84cd57a9078b82e1dce8cb06b07fa2e"}, + {file = "fonttools-4.51.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:1621ee57da887c17312acc4b0e7ac30d3a4fb0fec6174b2e3754a74c26bbed1e"}, + {file = "fonttools-4.51.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e9d9298be7a05bb4801f558522adbe2feea1b0b103d5294ebf24a92dd49b78e5"}, + {file = "fonttools-4.51.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee1af4be1c5afe4c96ca23badd368d8dc75f611887fb0c0dac9f71ee5d6f110e"}, + {file = "fonttools-4.51.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c18b49adc721a7d0b8dfe7c3130c89b8704baf599fb396396d07d4aa69b824a1"}, + {file = "fonttools-4.51.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:de7c29bdbdd35811f14493ffd2534b88f0ce1b9065316433b22d63ca1cd21f14"}, + {file = "fonttools-4.51.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cadf4e12a608ef1d13e039864f484c8a968840afa0258b0b843a0556497ea9ed"}, + {file = "fonttools-4.51.0-cp38-cp38-win32.whl", hash = "sha256:aefa011207ed36cd280babfaa8510b8176f1a77261833e895a9d96e57e44802f"}, + {file = "fonttools-4.51.0-cp38-cp38-win_amd64.whl", hash = "sha256:865a58b6e60b0938874af0968cd0553bcd88e0b2cb6e588727117bd099eef836"}, + {file = "fonttools-4.51.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:60a3409c9112aec02d5fb546f557bca6efa773dcb32ac147c6baf5f742e6258b"}, + {file = "fonttools-4.51.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f7e89853d8bea103c8e3514b9f9dc86b5b4120afb4583b57eb10dfa5afbe0936"}, + {file = "fonttools-4.51.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56fc244f2585d6c00b9bcc59e6593e646cf095a96fe68d62cd4da53dd1287b55"}, + {file = "fonttools-4.51.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d145976194a5242fdd22df18a1b451481a88071feadf251221af110ca8f00ce"}, + {file = "fonttools-4.51.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5b8cab0c137ca229433570151b5c1fc6af212680b58b15abd797dcdd9dd5051"}, + {file = "fonttools-4.51.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:54dcf21a2f2d06ded676e3c3f9f74b2bafded3a8ff12f0983160b13e9f2fb4a7"}, + {file = "fonttools-4.51.0-cp39-cp39-win32.whl", hash = "sha256:0118ef998a0699a96c7b28457f15546815015a2710a1b23a7bf6c1be60c01636"}, + {file = "fonttools-4.51.0-cp39-cp39-win_amd64.whl", hash = "sha256:599bdb75e220241cedc6faebfafedd7670335d2e29620d207dd0378a4e9ccc5a"}, + {file = "fonttools-4.51.0-py3-none-any.whl", hash = "sha256:15c94eeef6b095831067f72c825eb0e2d48bb4cea0647c1b05c981ecba2bf39f"}, + {file = "fonttools-4.51.0.tar.gz", hash = "sha256:dc0673361331566d7a663d7ce0f6fdcbfbdc1f59c6e3ed1165ad7202ca183c68"}, ] [package.extras] @@ -1232,7 +1345,6 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] name = "frozenlist" version = "1.4.1" description = "A list-like structure which implements collections.abc.MutableSequence" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1317,14 +1429,13 @@ files = [ [[package]] name = "fsspec" -version = "2024.2.0" +version = "2024.3.1" description = "File-system specification" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "fsspec-2024.2.0-py3-none-any.whl", hash = "sha256:817f969556fa5916bc682e02ca2045f96ff7f586d45110fcb76022063ad2c7d8"}, - {file = "fsspec-2024.2.0.tar.gz", hash = "sha256:b6ad1a679f760dda52b1168c859d01b7b80648ea6f7f7c7f5a8a91dc3f3ecb84"}, + {file = "fsspec-2024.3.1-py3-none-any.whl", hash = "sha256:918d18d41bf73f0e2b261824baeb1b124bcf771767e3a26425cd7dec3332f512"}, + {file = "fsspec-2024.3.1.tar.gz", hash = "sha256:f39780e282d7d117ffb42bb96992f8a90795e4d0fb0f661a70ca39fe9c43ded9"}, ] [package.dependencies] @@ -1358,7 +1469,6 @@ tqdm = ["tqdm"] name = "h11" version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1367,30 +1477,47 @@ files = [ ] [[package]] -name = "humanfriendly" -version = "10.0" -description = "Human friendly output for text interfaces using Python" -category = "main" +name = "h5py" +version = "3.11.0" +description = "Read and write HDF5 files from Python" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.8" files = [ - {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, - {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, + {file = "h5py-3.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1625fd24ad6cfc9c1ccd44a66dac2396e7ee74940776792772819fc69f3a3731"}, + {file = "h5py-3.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c072655ad1d5fe9ef462445d3e77a8166cbfa5e599045f8aa3c19b75315f10e5"}, + {file = "h5py-3.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77b19a40788e3e362b54af4dcf9e6fde59ca016db2c61360aa30b47c7b7cef00"}, + {file = "h5py-3.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:ef4e2f338fc763f50a8113890f455e1a70acd42a4d083370ceb80c463d803972"}, + {file = "h5py-3.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bbd732a08187a9e2a6ecf9e8af713f1d68256ee0f7c8b652a32795670fb481ba"}, + {file = "h5py-3.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75bd7b3d93fbeee40860fd70cdc88df4464e06b70a5ad9ce1446f5f32eb84007"}, + {file = "h5py-3.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52c416f8eb0daae39dabe71415cb531f95dce2d81e1f61a74537a50c63b28ab3"}, + {file = "h5py-3.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:083e0329ae534a264940d6513f47f5ada617da536d8dccbafc3026aefc33c90e"}, + {file = "h5py-3.11.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a76cae64080210389a571c7d13c94a1a6cf8cb75153044fd1f822a962c97aeab"}, + {file = "h5py-3.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f3736fe21da2b7d8a13fe8fe415f1272d2a1ccdeff4849c1421d2fb30fd533bc"}, + {file = "h5py-3.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa6ae84a14103e8dc19266ef4c3e5d7c00b68f21d07f2966f0ca7bdb6c2761fb"}, + {file = "h5py-3.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:21dbdc5343f53b2e25404673c4f00a3335aef25521bd5fa8c707ec3833934892"}, + {file = "h5py-3.11.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:754c0c2e373d13d6309f408325343b642eb0f40f1a6ad21779cfa9502209e150"}, + {file = "h5py-3.11.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:731839240c59ba219d4cb3bc5880d438248533366f102402cfa0621b71796b62"}, + {file = "h5py-3.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ec9df3dd2018904c4cc06331951e274f3f3fd091e6d6cc350aaa90fa9b42a76"}, + {file = "h5py-3.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:55106b04e2c83dfb73dc8732e9abad69d83a436b5b82b773481d95d17b9685e1"}, + {file = "h5py-3.11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f4e025e852754ca833401777c25888acb96889ee2c27e7e629a19aee288833f0"}, + {file = "h5py-3.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c4b760082626120031d7902cd983d8c1f424cdba2809f1067511ef283629d4b"}, + {file = "h5py-3.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67462d0669f8f5459529de179f7771bd697389fcb3faab54d63bf788599a48ea"}, + {file = "h5py-3.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:d9c944d364688f827dc889cf83f1fca311caf4fa50b19f009d1f2b525edd33a3"}, + {file = "h5py-3.11.0.tar.gz", hash = "sha256:7b7e8f78072a2edec87c9836f25f34203fd492a4475709a18b417a33cfb21fa9"}, ] [package.dependencies] -pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} +numpy = ">=1.17.3" [[package]] name = "identify" -version = "2.5.35" +version = "2.5.36" description = "File identification library for Python" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "identify-2.5.35-py2.py3-none-any.whl", hash = "sha256:c4de0081837b211594f8e877a6b4fad7ca32bbfc1a9307fdd61c28bfe923f13e"}, - {file = "identify-2.5.35.tar.gz", hash = "sha256:10a7ca245cfcd756a554a7288159f72ff105ad233c7c4b9c6f0f4d108f5f6791"}, + {file = "identify-2.5.36-py2.py3-none-any.whl", hash = "sha256:37d93f380f4de590500d9dba7db359d0d3da95ffe7f9de1753faa159e71e7dfa"}, + {file = "identify-2.5.36.tar.gz", hash = "sha256:e5e00f54165f9047fbebeb4a560f9acfb8af4c88232be60a488e9b68d122745d"}, ] [package.extras] @@ -1398,21 +1525,39 @@ license = ["ukkonen"] [[package]] name = "idna" -version = "3.6" +version = "3.7" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, - {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, ] +[[package]] +name = "improved-diffusion" +version = "0.1.0" +description = "" +optional = false +python-versions = "^3.10" +files = [] +develop = false + +[package.dependencies] +blobfile = ">=1.0.5" +torch = "^2.3.0" +tqdm = "^4.66.4" + +[package.source] +type = "git" +url = "ssh://git@github.com/DemyCode/improved-diffusion" +reference = "HEAD" +resolved_reference = "751e86be8a5c2451a0c30e2faa546fdae0c7dc9e" + [[package]] name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1420,16 +1565,29 @@ files = [ {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] +[[package]] +name = "intel-openmp" +version = "2021.4.0" +description = "Intel OpenMP* Runtime Library" +optional = false +python-versions = "*" +files = [ + {file = "intel_openmp-2021.4.0-py2.py3-none-macosx_10_15_x86_64.macosx_11_0_x86_64.whl", hash = "sha256:41c01e266a7fdb631a7609191709322da2bbf24b252ba763f125dd651bcc7675"}, + {file = "intel_openmp-2021.4.0-py2.py3-none-manylinux1_i686.whl", hash = "sha256:3b921236a38384e2016f0f3d65af6732cf2c12918087128a9163225451e776f2"}, + {file = "intel_openmp-2021.4.0-py2.py3-none-manylinux1_x86_64.whl", hash = "sha256:e2240ab8d01472fed04f3544a878cda5da16c26232b7ea1b59132dbfb48b186e"}, + {file = "intel_openmp-2021.4.0-py2.py3-none-win32.whl", hash = "sha256:6e863d8fd3d7e8ef389d52cf97a50fe2afe1a19247e8c0d168ce021546f96fc9"}, + {file = "intel_openmp-2021.4.0-py2.py3-none-win_amd64.whl", hash = "sha256:eef4c8bcc8acefd7f5cd3b9384dbf73d59e2c99fc56545712ded913f43c4a94f"}, +] + [[package]] name = "ipykernel" -version = "6.29.3" +version = "6.29.4" description = "IPython Kernel for Jupyter" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "ipykernel-6.29.3-py3-none-any.whl", hash = "sha256:5aa086a4175b0229d4eca211e181fb473ea78ffd9869af36ba7694c947302a21"}, - {file = "ipykernel-6.29.3.tar.gz", hash = "sha256:e14c250d1f9ea3989490225cc1a542781b095a18a19447fcf2b5eaf7d0ac5bd2"}, + {file = "ipykernel-6.29.4-py3-none-any.whl", hash = "sha256:1181e653d95c6808039c509ef8e67c4126b3b3af7781496c7cbfb5ed938a27da"}, + {file = "ipykernel-6.29.4.tar.gz", hash = "sha256:3d44070060f9475ac2092b760123fadf105d2e2493c24848b6691a7c4f42af5c"}, ] [package.dependencies] @@ -1438,7 +1596,7 @@ comm = ">=0.1.1" debugpy = ">=1.6.5" ipython = ">=7.23.1" jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" matplotlib-inline = ">=0.1" nest-asyncio = "*" packaging = "*" @@ -1456,14 +1614,13 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio [[package]] name = "ipympl" -version = "0.9.3" +version = "0.9.4" description = "Matplotlib Jupyter Extension" -category = "dev" optional = false -python-versions = "*" +python-versions = ">=3.9" files = [ - {file = "ipympl-0.9.3-py2.py3-none-any.whl", hash = "sha256:d113cd55891bafe9b27ef99b6dd111a87beb6bb2ae550c404292272103be8013"}, - {file = "ipympl-0.9.3.tar.gz", hash = "sha256:49bab75c05673a6881d1aaec5d8ac81d4624f73d292d154c5fb7096f10236a2b"}, + {file = "ipympl-0.9.4-py3-none-any.whl", hash = "sha256:5b0c08c6f4f6ea655ba58239363457c10fb921557f5038c1a46db4457d6d6b0e"}, + {file = "ipympl-0.9.4.tar.gz", hash = "sha256:cfb53c5b4fcbcee6d18f095eecfc6c6c474303d5b744e72cc66e7a2804708907"}, ] [package.dependencies] @@ -1476,18 +1633,17 @@ pillow = "*" traitlets = "<6" [package.extras] -docs = ["Sphinx (>=1.5)", "myst-nb", "sphinx-book-theme", "sphinx-copybutton", "sphinx-thebe", "sphinx-togglebutton"] +docs = ["myst-nb", "sphinx (>=1.5)", "sphinx-book-theme", "sphinx-copybutton", "sphinx-thebe", "sphinx-togglebutton"] [[package]] name = "ipython" -version = "8.22.2" +version = "8.24.0" description = "IPython: Productive Interactive Computing" -category = "dev" optional = false python-versions = ">=3.10" files = [ - {file = "ipython-8.22.2-py3-none-any.whl", hash = "sha256:3c86f284c8f3d8f2b6c662f885c4889a91df7cd52056fd02b7d8d6195d7f56e9"}, - {file = "ipython-8.22.2.tar.gz", hash = "sha256:2dcaad9049f9056f1fef63514f176c7d41f930daa78d05b82a176202818f2c14"}, + {file = "ipython-8.24.0-py3-none-any.whl", hash = "sha256:d7bf2f6c4314984e3e02393213bab8703cf163ede39672ce5918c51fe253a2a3"}, + {file = "ipython-8.24.0.tar.gz", hash = "sha256:010db3f8a728a578bb641fdd06c063b9fb8e96a9464c63aec6310fbcb5e80501"}, ] [package.dependencies] @@ -1501,25 +1657,26 @@ prompt-toolkit = ">=3.0.41,<3.1.0" pygments = ">=2.4.0" stack-data = "*" traitlets = ">=5.13.0" +typing-extensions = {version = ">=4.6", markers = "python_version < \"3.12\""} [package.extras] -all = ["ipython[black,doc,kernel,nbconvert,nbformat,notebook,parallel,qtconsole,terminal]", "ipython[test,test-extra]"] +all = ["ipython[black,doc,kernel,matplotlib,nbconvert,nbformat,notebook,parallel,qtconsole]", "ipython[test,test-extra]"] black = ["black"] doc = ["docrepr", "exceptiongroup", "ipykernel", "ipython[test]", "matplotlib", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinxcontrib-jquery", "stack-data", "typing-extensions"] kernel = ["ipykernel"] +matplotlib = ["matplotlib"] nbconvert = ["nbconvert"] nbformat = ["nbformat"] notebook = ["ipywidgets", "notebook"] parallel = ["ipyparallel"] qtconsole = ["qtconsole"] -test = ["pickleshare", "pytest (<8)", "pytest-asyncio (<0.22)", "testpath"] +test = ["pickleshare", "pytest", "pytest-asyncio (<0.22)", "testpath"] test-extra = ["curio", "ipython[test]", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] [[package]] name = "ipython-genutils" version = "0.2.0" description = "Vestigial utilities from IPython" -category = "dev" optional = false python-versions = "*" files = [ @@ -1531,7 +1688,6 @@ files = [ name = "ipywidgets" version = "8.1.2" description = "Jupyter interactive widgets" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1553,7 +1709,6 @@ test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] name = "isort" version = "5.13.2" description = "A Python utility / library to sort Python imports." -category = "dev" optional = false python-versions = ">=3.8.0" files = [ @@ -1568,7 +1723,6 @@ colors = ["colorama (>=0.4.6)"] name = "jedi" version = "0.19.1" description = "An autocompletion tool for Python that can be used for text editors." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1586,14 +1740,13 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] [[package]] name = "jinja2" -version = "3.1.3" +version = "3.1.4" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, - {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] @@ -1606,7 +1759,6 @@ i18n = ["Babel (>=2.7)"] name = "jmespath" version = "1.0.1" description = "JSON Matching Expressions" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1616,30 +1768,28 @@ files = [ [[package]] name = "joblib" -version = "1.3.2" +version = "1.4.2" description = "Lightweight pipelining with Python functions" -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "joblib-1.3.2-py3-none-any.whl", hash = "sha256:ef4331c65f239985f3f2220ecc87db222f08fd22097a3dd5698f693875f8cbb9"}, - {file = "joblib-1.3.2.tar.gz", hash = "sha256:92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1"}, + {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"}, + {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, ] [[package]] name = "jupyter-client" -version = "8.6.0" +version = "8.6.1" description = "Jupyter protocol implementation and client libraries" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_client-8.6.0-py3-none-any.whl", hash = "sha256:909c474dbe62582ae62b758bca86d6518c85234bdee2d908c778db6d72f39d99"}, - {file = "jupyter_client-8.6.0.tar.gz", hash = "sha256:0642244bb83b4764ae60d07e010e15f0e2d275ec4e918a8f7b80fbbef3ca60c7"}, + {file = "jupyter_client-8.6.1-py3-none-any.whl", hash = "sha256:3b7bd22f058434e3b9a7ea4b1500ed47de2713872288c0d511d19926f99b459f"}, + {file = "jupyter_client-8.6.1.tar.gz", hash = "sha256:e842515e2bab8e19186d89fdfea7abd15e39dd581f94e399f00e2af5a1652d3f"}, ] [package.dependencies] -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" python-dateutil = ">=2.8.2" pyzmq = ">=23.0" tornado = ">=6.2" @@ -1651,14 +1801,13 @@ test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pyt [[package]] name = "jupyter-core" -version = "5.7.1" +version = "5.7.2" description = "Jupyter core package. A base package on which Jupyter projects rely." -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_core-5.7.1-py3-none-any.whl", hash = "sha256:c65c82126453a723a2804aa52409930434598fd9d35091d63dfb919d2b765bb7"}, - {file = "jupyter_core-5.7.1.tar.gz", hash = "sha256:de61a9d7fc71240f688b2fb5ab659fbb56979458dc66a71decd098e03c79e218"}, + {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, + {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, ] [package.dependencies] @@ -1668,13 +1817,12 @@ traitlets = ">=5.3" [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] -test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] +test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"] [[package]] name = "jupyterlab-widgets" version = "3.0.10" description = "Jupyter interactive widgets for JupyterLab" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1686,7 +1834,6 @@ files = [ name = "kiwisolver" version = "1.4.5" description = "A fast implementation of the Cassowary constraint solver" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1796,16 +1943,29 @@ files = [ {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"}, ] +[[package]] +name = "legacy-api-wrap" +version = "1.4" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "legacy_api_wrap-1.4-py3-none-any.whl", hash = "sha256:bf81b8ee432d80e7203aa079c26fc3a0f228d158db808868f10c2e36a8f64dbd"}, + {file = "legacy_api_wrap-1.4.tar.gz", hash = "sha256:92dfa274cedb26d6e6f70fac85c856fbdcc05058066656d76a665fb4bf11b785"}, +] + +[package.extras] +test = ["coverage", "coverage-rich", "pytest", "toml"] + [[package]] name = "lightning" -version = "2.2.1" +version = "2.2.4" description = "The Deep Learning framework to train, deploy, and ship AI products Lightning fast." -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "lightning-2.2.1-py3-none-any.whl", hash = "sha256:fec9b49d29a6019e8fe49e825082bab8d5ea3fde8e4b36dcf5c8896c2bdb86c3"}, - {file = "lightning-2.2.1.tar.gz", hash = "sha256:b3e46d596b32cafd1fb9b21fdba1b1767df97b1af5cc702693d1c51df60b19aa"}, + {file = "lightning-2.2.4-py3-none-any.whl", hash = "sha256:b44cb8692253f2719b2f84237e94ff84451fe219922c7f04447b52524471379e"}, + {file = "lightning-2.2.4.tar.gz", hash = "sha256:4cc3fb3edf04fcd63c0ecf75087d2fa06163759fc8c1fc500b16404ac1854f77"}, ] [package.dependencies] @@ -1821,51 +1981,68 @@ tqdm = ">=4.57.0,<6.0" typing-extensions = ">=4.4.0,<6.0" [package.extras] -all = ["Jinja2 (<4.0)", "Pillow (>=9.5.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "bitsandbytes (==0.41.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "deepspeed (>=0.8.2,<=0.9.3)", "docker (>=5.0.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "filelock", "fsspec[http] (>=2022.5.0,<2024.0)", "gym[classic-control] (>=0.17.0,<1.0)", "hydra-core (>=1.0.5,<2.0)", "inquirer (>=2.10.0,<4.0)", "ipython[all] (<9.0)", "jsonargparse[signatures] (>=4.26.1,<5.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud", "lightning-cloud (==0.5.64)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "starlette", "tensorboardX (>=2.2,<3.0)", "torch (>0.14.0,<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchvision (>=0.14.0,<1.0)", "torchvision (>=0.15.2,<1.0)", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] -app = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "inquirer (>=2.10.0,<4.0)", "lightning-cloud (==0.5.64)", "lightning-utilities (>=0.8.0,<1.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "starlette", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] -app-all = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "docker (>=5.0.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "inquirer (>=2.10.0,<4.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud (==0.5.64)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "starlette", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] +all = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "bitsandbytes (==0.41.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "deepspeed (>=0.8.2,<=0.9.3)", "docker (>=5.0.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "gym[classic-control] (>=0.17.0,<1.0)", "hydra-core (>=1.0.5,<2.0)", "inquirer (>=2.10.0,<4.0)", "ipython[all] (<9.0)", "jsonargparse[signatures] (>=4.27.7,<5.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud (==0.5.68)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "starlette", "tensorboardX (>=2.2,<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchvision (>=0.14.0,<1.0)", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] +app = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "inquirer (>=2.10.0,<4.0)", "lightning-cloud (==0.5.68)", "lightning-utilities (>=0.8.0,<1.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "starlette", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] +app-all = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "docker (>=5.0.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "inquirer (>=2.10.0,<4.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud (==0.5.68)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "starlette", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] app-cloud = ["docker (>=5.0.0,<7.0)", "redis (>=4.0.1,<6.0)", "s3fs (>=2022.5.0,<2024.0)"] app-components = ["aiohttp (>=3.8.0,<4.0)", "lightning-api-access (>=0.0.3)", "lightning-fabric (>=1.9.0)", "pytorch-lightning (>=1.9.0)"] -app-dev = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "click (<9.0)", "coverage (==7.3.1)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "docker (>=5.0.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "httpx (==0.25.0)", "inquirer (>=2.10.0,<4.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud (==0.5.64)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "packaging", "pandas", "playwright (==1.38.0)", "psutil (<6.0)", "pydantic (>=1.7.4)", "pympler", "pytest (==7.4.0)", "pytest-asyncio (==0.21.1)", "pytest-cov (==4.1.0)", "pytest-doctestplus (==1.0.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "pytest-xdist (==3.3.1)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "requests-mock (==1.11.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "setuptools (<69.0)", "starlette", "traitlets (>=5.3.0,<6.0)", "trio (<0.22.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] -app-extra = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "docker (>=5.0.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "inquirer (>=2.10.0,<4.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud (==0.5.64)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "starlette", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] +app-dev = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "click (<9.0)", "coverage (==7.3.1)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "docker (>=5.0.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "httpx (==0.25.0)", "inquirer (>=2.10.0,<4.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud (==0.5.68)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "packaging", "pandas", "playwright (==1.38.0)", "psutil (<6.0)", "pydantic (>=1.7.4)", "pympler", "pytest (==7.4.0)", "pytest-asyncio (==0.21.1)", "pytest-cov (==4.1.0)", "pytest-doctestplus (==1.0.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "pytest-xdist (==3.3.1)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "requests-mock (==1.11.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "setuptools (<69.0)", "starlette", "traitlets (>=5.3.0,<6.0)", "trio (<0.22.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] +app-extra = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "docker (>=5.0.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "inquirer (>=2.10.0,<4.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud (==0.5.68)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "starlette", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] app-test = ["coverage (==7.3.1)", "httpx (==0.25.0)", "pandas", "playwright (==1.38.0)", "psutil (<6.0)", "pympler", "pytest (==7.4.0)", "pytest-asyncio (==0.21.1)", "pytest-cov (==4.1.0)", "pytest-doctestplus (==1.0.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "pytest-xdist (==3.3.1)", "requests-mock (==1.11.0)", "setuptools (<69.0)", "trio (<0.22.0)"] -cloud = ["docker (>=5.0.0,<7.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "redis (>=4.0.1,<6.0)", "s3fs (>=2022.5.0,<2024.0)"] +cloud = ["docker (>=5.0.0,<7.0)", "redis (>=4.0.1,<6.0)", "s3fs (>=2022.5.0,<2024.0)"] components = ["aiohttp (>=3.8.0,<4.0)", "lightning-api-access (>=0.0.3)", "lightning-fabric (>=1.9.0)", "pytorch-lightning (>=1.9.0)"] -data = ["filelock", "lightning-cloud", "lightning-utilities (>=0.8.0,<1.0)", "torch (>0.14.0,<3.0)"] -data-all = ["Pillow (>=9.5.0)", "filelock", "fsspec[http] (>=2022.5.0,<2024.0)", "lightning-cloud", "lightning-utilities (>=0.8.0,<1.0)", "s3fs (>=2022.5.0,<2024.0)", "torch (>0.14.0,<3.0)", "torchvision (>=0.15.2,<1.0)"] -data-cloud = ["fsspec[http] (>=2022.5.0,<2024.0)", "s3fs (>=2022.5.0,<2024.0)"] -data-dev = ["Pillow (>=9.5.0)", "coverage (==7.3.1)", "filelock", "fsspec[http] (>=2022.5.0,<2024.0)", "lightning-cloud", "lightning-utilities (>=0.8.0,<1.0)", "polars", "pyarrow", "pytest (==7.4.0)", "pytest-cov (==4.1.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "s3fs (>=2022.5.0,<2024.0)", "torch (>0.14.0,<3.0)", "torchvision (>=0.15.2,<1.0)", "viztracer"] -data-examples = ["Pillow (>=9.5.0)", "torchvision (>=0.15.2,<1.0)"] -data-test = ["coverage (==7.3.1)", "polars", "pyarrow", "pytest (==7.4.0)", "pytest-cov (==4.1.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "viztracer"] -dev = ["Jinja2 (<4.0)", "Pillow (>=9.5.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "bitsandbytes (==0.41.0)", "click (<9.0)", "click (==8.1.7)", "cloudpickle (>=1.3,<3.0)", "coverage (==7.3.1)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "deepspeed (>=0.8.2,<=0.9.3)", "docker (>=5.0.0,<7.0)", "fastapi", "fastapi (>=0.92.0,<1.0)", "filelock", "fsspec[http] (>=2022.5.0,<2024.0)", "gym[classic-control] (>=0.17.0,<1.0)", "httpx (==0.25.0)", "hydra-core (>=1.0.5,<2.0)", "inquirer (>=2.10.0,<4.0)", "ipython[all] (<9.0)", "jsonargparse[signatures] (>=4.26.1,<5.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud", "lightning-cloud (==0.5.64)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "onnx (>=0.14.0,<2.0)", "onnxruntime (>=0.15.0,<2.0)", "packaging", "pandas", "pandas (>1.0,<3.0)", "playwright (==1.38.0)", "polars", "psutil (<6.0)", "pyarrow", "pydantic (>=1.7.4)", "pympler", "pytest (==7.4.0)", "pytest-asyncio (==0.21.1)", "pytest-cov (==4.1.0)", "pytest-doctestplus (==1.0.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "pytest-xdist (==3.3.1)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "requests-mock (==1.11.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "scikit-learn (>0.22.1,<2.0)", "setuptools (<69.0)", "starlette", "tensorboard (>=2.9.1,<3.0)", "tensorboardX (>=2.2,<3.0)", "torch (>0.14.0,<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchmetrics (>=0.7.0,<2.0)", "torchvision (>=0.14.0,<1.0)", "torchvision (>=0.15.2,<1.0)", "traitlets (>=5.3.0,<6.0)", "trio (<0.22.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn", "uvicorn (<1.0)", "viztracer", "websocket-client (<2.0)", "websockets (<12.0)"] -examples = ["Pillow (>=9.5.0)", "gym[classic-control] (>=0.17.0,<1.0)", "ipython[all] (<9.0)", "lightning-utilities (>=0.8.0,<1.0)", "requests (<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchvision (>=0.14.0,<1.0)", "torchvision (>=0.15.2,<1.0)"] -extra = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "bitsandbytes (==0.41.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "docker (>=5.0.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "hydra-core (>=1.0.5,<2.0)", "inquirer (>=2.10.0,<4.0)", "jsonargparse[signatures] (>=4.26.1,<5.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud (==0.5.64)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "starlette", "tensorboardX (>=2.2,<3.0)", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] +data = ["litdata (>=0.2.0rc,<1.0)"] +dev = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "bitsandbytes (==0.41.0)", "click (<9.0)", "click (==8.1.7)", "cloudpickle (>=1.3,<3.0)", "coverage (==7.3.1)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "deepspeed (>=0.8.2,<=0.9.3)", "docker (>=5.0.0,<7.0)", "fastapi", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "gym[classic-control] (>=0.17.0,<1.0)", "httpx (==0.25.0)", "hydra-core (>=1.0.5,<2.0)", "inquirer (>=2.10.0,<4.0)", "ipython[all] (<9.0)", "jsonargparse[signatures] (>=4.27.7,<5.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud (==0.5.68)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "onnx (>=0.14.0,<2.0)", "onnxruntime (>=0.15.0,<2.0)", "packaging", "pandas", "pandas (>1.0,<3.0)", "playwright (==1.38.0)", "psutil (<6.0)", "pydantic (>=1.7.4)", "pympler", "pytest (==7.4.0)", "pytest-asyncio (==0.21.1)", "pytest-cov (==4.1.0)", "pytest-doctestplus (==1.0.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "pytest-xdist (==3.3.1)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "requests-mock (==1.11.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "scikit-learn (>0.22.1,<2.0)", "setuptools (<69.0)", "starlette", "tensorboard (>=2.9.1,<3.0)", "tensorboardX (>=2.2,<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchmetrics (>=0.7.0,<2.0)", "torchvision (>=0.14.0,<1.0)", "traitlets (>=5.3.0,<6.0)", "trio (<0.22.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] +examples = ["gym[classic-control] (>=0.17.0,<1.0)", "ipython[all] (<9.0)", "lightning-utilities (>=0.8.0,<1.0)", "requests (<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchvision (>=0.14.0,<1.0)"] +extra = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "aiohttp (>=3.8.0,<4.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "bitsandbytes (==0.41.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "docker (>=5.0.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "hydra-core (>=1.0.5,<2.0)", "inquirer (>=2.10.0,<4.0)", "jsonargparse[signatures] (>=4.27.7,<5.0)", "lightning-api-access (>=0.0.3)", "lightning-cloud (==0.5.68)", "lightning-fabric (>=1.9.0)", "lightning-utilities (>=0.8.0,<1.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "pytorch-lightning (>=1.9.0)", "redis (>=4.0.1,<6.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "s3fs (>=2022.5.0,<2024.0)", "starlette", "tensorboardX (>=2.2,<3.0)", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] fabric-all = ["bitsandbytes (==0.41.0)", "deepspeed (>=0.8.2,<=0.9.3)", "lightning-utilities (>=0.8.0,<1.0)", "torchmetrics (>=0.10.0,<2.0)", "torchvision (>=0.14.0,<1.0)"] fabric-dev = ["bitsandbytes (==0.41.0)", "click (==8.1.7)", "coverage (==7.3.1)", "deepspeed (>=0.8.2,<=0.9.3)", "lightning-utilities (>=0.8.0,<1.0)", "pytest (==7.4.0)", "pytest-cov (==4.1.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "tensorboardX (>=2.2,<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchmetrics (>=0.7.0,<2.0)", "torchvision (>=0.14.0,<1.0)"] fabric-examples = ["lightning-utilities (>=0.8.0,<1.0)", "torchmetrics (>=0.10.0,<2.0)", "torchvision (>=0.14.0,<1.0)"] fabric-strategies = ["bitsandbytes (==0.41.0)", "deepspeed (>=0.8.2,<=0.9.3)"] fabric-test = ["click (==8.1.7)", "coverage (==7.3.1)", "pytest (==7.4.0)", "pytest-cov (==4.1.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "tensorboardX (>=2.2,<3.0)", "torchmetrics (>=0.7.0,<2.0)"] -pytorch-all = ["bitsandbytes (==0.41.0)", "deepspeed (>=0.8.2,<=0.9.3)", "gym[classic-control] (>=0.17.0,<1.0)", "hydra-core (>=1.0.5,<2.0)", "ipython[all] (<9.0)", "jsonargparse[signatures] (>=4.26.1,<5.0)", "lightning-utilities (>=0.8.0,<1.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "tensorboardX (>=2.2,<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchvision (>=0.14.0,<1.0)"] -pytorch-dev = ["bitsandbytes (==0.41.0)", "cloudpickle (>=1.3,<3.0)", "coverage (==7.3.1)", "deepspeed (>=0.8.2,<=0.9.3)", "fastapi", "gym[classic-control] (>=0.17.0,<1.0)", "hydra-core (>=1.0.5,<2.0)", "ipython[all] (<9.0)", "jsonargparse[signatures] (>=4.26.1,<5.0)", "lightning-utilities (>=0.8.0,<1.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "onnx (>=0.14.0,<2.0)", "onnxruntime (>=0.15.0,<2.0)", "pandas (>1.0,<3.0)", "psutil (<6.0)", "pytest (==7.4.0)", "pytest-cov (==4.1.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "scikit-learn (>0.22.1,<2.0)", "tensorboard (>=2.9.1,<3.0)", "tensorboardX (>=2.2,<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchvision (>=0.14.0,<1.0)", "uvicorn"] +pytorch-all = ["bitsandbytes (==0.41.0)", "deepspeed (>=0.8.2,<=0.9.3)", "gym[classic-control] (>=0.17.0,<1.0)", "hydra-core (>=1.0.5,<2.0)", "ipython[all] (<9.0)", "jsonargparse[signatures] (>=4.27.7,<5.0)", "lightning-utilities (>=0.8.0,<1.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "tensorboardX (>=2.2,<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchvision (>=0.14.0,<1.0)"] +pytorch-dev = ["bitsandbytes (==0.41.0)", "cloudpickle (>=1.3,<3.0)", "coverage (==7.3.1)", "deepspeed (>=0.8.2,<=0.9.3)", "fastapi", "gym[classic-control] (>=0.17.0,<1.0)", "hydra-core (>=1.0.5,<2.0)", "ipython[all] (<9.0)", "jsonargparse[signatures] (>=4.27.7,<5.0)", "lightning-utilities (>=0.8.0,<1.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "onnx (>=0.14.0,<2.0)", "onnxruntime (>=0.15.0,<2.0)", "pandas (>1.0,<3.0)", "psutil (<6.0)", "pytest (==7.4.0)", "pytest-cov (==4.1.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "scikit-learn (>0.22.1,<2.0)", "tensorboard (>=2.9.1,<3.0)", "tensorboardX (>=2.2,<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchvision (>=0.14.0,<1.0)", "uvicorn"] pytorch-examples = ["gym[classic-control] (>=0.17.0,<1.0)", "ipython[all] (<9.0)", "lightning-utilities (>=0.8.0,<1.0)", "requests (<3.0)", "torchmetrics (>=0.10.0,<2.0)", "torchvision (>=0.14.0,<1.0)"] -pytorch-extra = ["bitsandbytes (==0.41.0)", "hydra-core (>=1.0.5,<2.0)", "jsonargparse[signatures] (>=4.26.1,<5.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "rich (>=12.3.0,<14.0)", "tensorboardX (>=2.2,<3.0)"] +pytorch-extra = ["bitsandbytes (==0.41.0)", "hydra-core (>=1.0.5,<2.0)", "jsonargparse[signatures] (>=4.27.7,<5.0)", "matplotlib (>3.1,<4.0)", "omegaconf (>=2.0.5,<3.0)", "rich (>=12.3.0,<14.0)", "tensorboardX (>=2.2,<3.0)"] pytorch-strategies = ["deepspeed (>=0.8.2,<=0.9.3)"] pytorch-test = ["cloudpickle (>=1.3,<3.0)", "coverage (==7.3.1)", "fastapi", "onnx (>=0.14.0,<2.0)", "onnxruntime (>=0.15.0,<2.0)", "pandas (>1.0,<3.0)", "psutil (<6.0)", "pytest (==7.4.0)", "pytest-cov (==4.1.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "scikit-learn (>0.22.1,<2.0)", "tensorboard (>=2.9.1,<3.0)", "uvicorn"] -store = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "inquirer (>=2.10.0,<4.0)", "lightning-cloud (==0.5.64)", "lightning-utilities (>=0.8.0,<1.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "starlette", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] +store = ["Jinja2 (<4.0)", "PyYAML (<7.0)", "arrow (>=1.2.0,<2.0)", "backoff (>=2.2.1,<3.0)", "beautifulsoup4 (>=4.8.0,<5.0)", "click (<9.0)", "croniter (>=1.3.0,<1.5.0)", "dateutils (<1.0)", "deepdiff (>=5.7.0,<7.0)", "fastapi (>=0.92.0,<1.0)", "fsspec[http] (>=2022.5.0,<2024.0)", "inquirer (>=2.10.0,<4.0)", "lightning-cloud (==0.5.68)", "lightning-utilities (>=0.8.0,<1.0)", "packaging", "psutil (<6.0)", "pydantic (>=1.7.4)", "python-multipart (>=0.0.5,<1.0)", "requests (<3.0)", "rich (>=12.3.0,<14.0)", "starlette", "traitlets (>=5.3.0,<6.0)", "typing-extensions (>=4.4.0,<5.0)", "urllib3 (<3.0)", "uvicorn (<1.0)", "websocket-client (<2.0)", "websockets (<12.0)"] store-test = ["coverage (==7.3.1)", "pytest (==7.4.0)", "pytest-cov (==4.1.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)"] strategies = ["bitsandbytes (==0.41.0)", "deepspeed (>=0.8.2,<=0.9.3)"] -test = ["click (==8.1.7)", "cloudpickle (>=1.3,<3.0)", "coverage (==7.3.1)", "fastapi", "httpx (==0.25.0)", "onnx (>=0.14.0,<2.0)", "onnxruntime (>=0.15.0,<2.0)", "pandas", "pandas (>1.0,<3.0)", "playwright (==1.38.0)", "polars", "psutil (<6.0)", "pyarrow", "pympler", "pytest (==7.4.0)", "pytest-asyncio (==0.21.1)", "pytest-cov (==4.1.0)", "pytest-doctestplus (==1.0.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "pytest-xdist (==3.3.1)", "requests-mock (==1.11.0)", "scikit-learn (>0.22.1,<2.0)", "setuptools (<69.0)", "tensorboard (>=2.9.1,<3.0)", "tensorboardX (>=2.2,<3.0)", "torchmetrics (>=0.7.0,<2.0)", "trio (<0.22.0)", "uvicorn", "viztracer"] +test = ["click (==8.1.7)", "cloudpickle (>=1.3,<3.0)", "coverage (==7.3.1)", "fastapi", "httpx (==0.25.0)", "onnx (>=0.14.0,<2.0)", "onnxruntime (>=0.15.0,<2.0)", "pandas", "pandas (>1.0,<3.0)", "playwright (==1.38.0)", "psutil (<6.0)", "pympler", "pytest (==7.4.0)", "pytest-asyncio (==0.21.1)", "pytest-cov (==4.1.0)", "pytest-doctestplus (==1.0.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "pytest-xdist (==3.3.1)", "requests-mock (==1.11.0)", "scikit-learn (>0.22.1,<2.0)", "setuptools (<69.0)", "tensorboard (>=2.9.1,<3.0)", "tensorboardX (>=2.2,<3.0)", "torchmetrics (>=0.7.0,<2.0)", "trio (<0.22.0)", "uvicorn"] + +[[package]] +name = "lightning-bolts" +version = "0.6.0.post1" +description = "Lightning Bolts is a community contribution for ML researchers." +optional = false +python-versions = ">=3.7" +files = [ + {file = "lightning-bolts-0.6.0.post1.tar.gz", hash = "sha256:09330e0998c94922b2a1471b9175b2e2a4c2d42e3c4a4de07677369b4d41bc08"}, + {file = "lightning_bolts-0.6.0.post1-py3-none-any.whl", hash = "sha256:a93496d9cdd57a48dcd2a88fffe71bb7ec1f46a43e1d29d6cd852a29663d8a49"}, +] + +[package.dependencies] +lightning-utilities = ">=0.3.0,<0.4.0 || >0.4.0" +pytorch-lightning = ">=1.7.0" +torchvision = ">=0.10.0" + +[package.extras] +dev = ["Pillow", "ale-py (>=0.7,<=0.8.0)", "atari-py (==0.2.*)", "atari-py (==0.2.9)", "box2d-py (==2.3.*)", "check-manifest", "codecov (>=2.1,<=2.1.12)", "gym[atari] (>=0.17.2,<0.20.0)", "jsonargparse[signatures]", "matplotlib", "mypy (==0.982)", "opencv-python (>=4.5.5.62)", "opencv-python-headless", "pre-commit (>=1.0)", "pytest (>=6.0,<=7.2.0)", "pytest-cov (>2.10,<=4.0.0)", "scikit-learn (>=1.0.2)", "scikit-learn (>=1.0.2,<=1.1.3)", "scipy", "sparseml (>=1.0.0,<=1.2.0)", "torchvision (>=0.10)", "wandb"] +extra = ["Pillow", "atari-py (==0.2.*)", "box2d-py (==2.3.*)", "gym[atari] (>=0.17.2,<0.20.0)", "matplotlib", "opencv-python (>=4.5.5.62)", "opencv-python-headless", "scikit-learn (>=1.0.2)", "scipy", "torchvision (>=0.10)", "wandb"] +loggers = ["matplotlib", "scipy", "wandb"] +models = ["Pillow", "atari-py (==0.2.*)", "box2d-py (==2.3.*)", "gym[atari] (>=0.17.2,<0.20.0)", "opencv-python (>=4.5.5.62)", "opencv-python-headless", "scikit-learn (>=1.0.2)", "torchvision (>=0.10)"] +test = ["ale-py (>=0.7,<=0.8.0)", "atari-py (==0.2.9)", "check-manifest", "codecov (>=2.1,<=2.1.12)", "jsonargparse[signatures]", "mypy (==0.982)", "pre-commit (>=1.0)", "pytest (>=6.0,<=7.2.0)", "pytest-cov (>2.10,<=4.0.0)", "scikit-learn (>=1.0.2,<=1.1.3)", "sparseml (>=1.0.0,<=1.2.0)"] [[package]] name = "lightning-utilities" -version = "0.10.1" +version = "0.11.2" description = "Lightning toolbox for across the our ecosystem." -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "lightning-utilities-0.10.1.tar.gz", hash = "sha256:362755023dcf93b8fa519bc002ae41794943a3ffbc5318e40804d36aa14bf1fd"}, - {file = "lightning_utilities-0.10.1-py3-none-any.whl", hash = "sha256:e67be3f328b1c14f2b36cc09e84642db5b50afeab94e7704969b2130fe6a3bda"}, + {file = "lightning-utilities-0.11.2.tar.gz", hash = "sha256:adf4cf9c5d912fe505db4729e51d1369c6927f3a8ac55a9dff895ce5c0da08d9"}, + {file = "lightning_utilities-0.11.2-py3-none-any.whl", hash = "sha256:541f471ed94e18a28d72879338c8c52e873bb46f4c47644d89228faeb6751159"}, ] [package.dependencies] @@ -1882,7 +2059,6 @@ typing = ["mypy (>=1.0.0)", "types-setuptools"] name = "litemapy" version = "0.8.1b0" description = "Read and write Litematica's Minecraft schematics files" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1893,11 +2069,40 @@ files = [ [package.dependencies] nbtlib = ">=2.0.3" +[[package]] +name = "llvmlite" +version = "0.42.0" +description = "lightweight wrapper around basic LLVM functionality" +optional = false +python-versions = ">=3.9" +files = [ + {file = "llvmlite-0.42.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3366938e1bf63d26c34fbfb4c8e8d2ded57d11e0567d5bb243d89aab1eb56098"}, + {file = "llvmlite-0.42.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c35da49666a21185d21b551fc3caf46a935d54d66969d32d72af109b5e7d2b6f"}, + {file = "llvmlite-0.42.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70f44ccc3c6220bd23e0ba698a63ec2a7d3205da0d848804807f37fc243e3f77"}, + {file = "llvmlite-0.42.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:763f8d8717a9073b9e0246998de89929071d15b47f254c10eef2310b9aac033d"}, + {file = "llvmlite-0.42.0-cp310-cp310-win_amd64.whl", hash = "sha256:8d90edf400b4ceb3a0e776b6c6e4656d05c7187c439587e06f86afceb66d2be5"}, + {file = "llvmlite-0.42.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ae511caed28beaf1252dbaf5f40e663f533b79ceb408c874c01754cafabb9cbf"}, + {file = "llvmlite-0.42.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81e674c2fe85576e6c4474e8c7e7aba7901ac0196e864fe7985492b737dbab65"}, + {file = "llvmlite-0.42.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb3975787f13eb97629052edb5017f6c170eebc1c14a0433e8089e5db43bcce6"}, + {file = "llvmlite-0.42.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5bece0cdf77f22379f19b1959ccd7aee518afa4afbd3656c6365865f84903f9"}, + {file = "llvmlite-0.42.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e0c4c11c8c2aa9b0701f91b799cb9134a6a6de51444eff5a9087fc7c1384275"}, + {file = "llvmlite-0.42.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:08fa9ab02b0d0179c688a4216b8939138266519aaa0aa94f1195a8542faedb56"}, + {file = "llvmlite-0.42.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b2fce7d355068494d1e42202c7aff25d50c462584233013eb4470c33b995e3ee"}, + {file = "llvmlite-0.42.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebe66a86dc44634b59a3bc860c7b20d26d9aaffcd30364ebe8ba79161a9121f4"}, + {file = "llvmlite-0.42.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d47494552559e00d81bfb836cf1c4d5a5062e54102cc5767d5aa1e77ccd2505c"}, + {file = "llvmlite-0.42.0-cp312-cp312-win_amd64.whl", hash = "sha256:05cb7e9b6ce69165ce4d1b994fbdedca0c62492e537b0cc86141b6e2c78d5888"}, + {file = "llvmlite-0.42.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bdd3888544538a94d7ec99e7c62a0cdd8833609c85f0c23fcb6c5c591aec60ad"}, + {file = "llvmlite-0.42.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d0936c2067a67fb8816c908d5457d63eba3e2b17e515c5fe00e5ee2bace06040"}, + {file = "llvmlite-0.42.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a78ab89f1924fc11482209f6799a7a3fc74ddc80425a7a3e0e8174af0e9e2301"}, + {file = "llvmlite-0.42.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7599b65c7af7abbc978dbf345712c60fd596aa5670496561cc10e8a71cebfb2"}, + {file = "llvmlite-0.42.0-cp39-cp39-win_amd64.whl", hash = "sha256:43d65cc4e206c2e902c1004dd5418417c4efa6c1d04df05c6c5675a27e8ca90e"}, + {file = "llvmlite-0.42.0.tar.gz", hash = "sha256:f92b09243c0cc3f457da8b983f67bd8e1295d0f5b3746c7a1861d7a99403854a"}, +] + [[package]] name = "loguru" version = "0.7.2" description = "Python logging made (stupidly) simple" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1912,11 +2117,118 @@ win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""} [package.extras] dev = ["Sphinx (==7.2.5)", "colorama (==0.4.5)", "colorama (==0.4.6)", "exceptiongroup (==1.1.3)", "freezegun (==1.1.0)", "freezegun (==1.2.2)", "mypy (==v0.910)", "mypy (==v0.971)", "mypy (==v1.4.1)", "mypy (==v1.5.1)", "pre-commit (==3.4.0)", "pytest (==6.1.2)", "pytest (==7.4.0)", "pytest-cov (==2.12.1)", "pytest-cov (==4.1.0)", "pytest-mypy-plugins (==1.9.3)", "pytest-mypy-plugins (==3.0.0)", "sphinx-autobuild (==2021.3.14)", "sphinx-rtd-theme (==1.3.0)", "tox (==3.27.1)", "tox (==4.11.0)"] +[[package]] +name = "lxml" +version = "4.9.4" +description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" +files = [ + {file = "lxml-4.9.4-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e214025e23db238805a600f1f37bf9f9a15413c7bf5f9d6ae194f84980c78722"}, + {file = "lxml-4.9.4-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:ec53a09aee61d45e7dbe7e91252ff0491b6b5fee3d85b2d45b173d8ab453efc1"}, + {file = "lxml-4.9.4-cp27-cp27m-win32.whl", hash = "sha256:7d1d6c9e74c70ddf524e3c09d9dc0522aba9370708c2cb58680ea40174800013"}, + {file = "lxml-4.9.4-cp27-cp27m-win_amd64.whl", hash = "sha256:cb53669442895763e61df5c995f0e8361b61662f26c1b04ee82899c2789c8f69"}, + {file = "lxml-4.9.4-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:647bfe88b1997d7ae8d45dabc7c868d8cb0c8412a6e730a7651050b8c7289cf2"}, + {file = "lxml-4.9.4-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:4d973729ce04784906a19108054e1fd476bc85279a403ea1a72fdb051c76fa48"}, + {file = "lxml-4.9.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:056a17eaaf3da87a05523472ae84246f87ac2f29a53306466c22e60282e54ff8"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:aaa5c173a26960fe67daa69aa93d6d6a1cd714a6eb13802d4e4bd1d24a530644"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:647459b23594f370c1c01768edaa0ba0959afc39caeeb793b43158bb9bb6a663"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:bdd9abccd0927673cffe601d2c6cdad1c9321bf3437a2f507d6b037ef91ea307"}, + {file = "lxml-4.9.4-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:00e91573183ad273e242db5585b52670eddf92bacad095ce25c1e682da14ed91"}, + {file = "lxml-4.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a602ed9bd2c7d85bd58592c28e101bd9ff9c718fbde06545a70945ffd5d11868"}, + {file = "lxml-4.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:de362ac8bc962408ad8fae28f3967ce1a262b5d63ab8cefb42662566737f1dc7"}, + {file = "lxml-4.9.4-cp310-cp310-win32.whl", hash = "sha256:33714fcf5af4ff7e70a49731a7cc8fd9ce910b9ac194f66eaa18c3cc0a4c02be"}, + {file = "lxml-4.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:d3caa09e613ece43ac292fbed513a4bce170681a447d25ffcbc1b647d45a39c5"}, + {file = "lxml-4.9.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:359a8b09d712df27849e0bcb62c6a3404e780b274b0b7e4c39a88826d1926c28"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:43498ea734ccdfb92e1886dfedaebeb81178a241d39a79d5351ba2b671bff2b2"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4855161013dfb2b762e02b3f4d4a21cc7c6aec13c69e3bffbf5022b3e708dd97"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c71b5b860c5215fdbaa56f715bc218e45a98477f816b46cfde4a84d25b13274e"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9a2b5915c333e4364367140443b59f09feae42184459b913f0f41b9fed55794a"}, + {file = "lxml-4.9.4-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d82411dbf4d3127b6cde7da0f9373e37ad3a43e89ef374965465928f01c2b979"}, + {file = "lxml-4.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:273473d34462ae6e97c0f4e517bd1bf9588aa67a1d47d93f760a1282640e24ac"}, + {file = "lxml-4.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:389d2b2e543b27962990ab529ac6720c3dded588cc6d0f6557eec153305a3622"}, + {file = "lxml-4.9.4-cp311-cp311-win32.whl", hash = "sha256:8aecb5a7f6f7f8fe9cac0bcadd39efaca8bbf8d1bf242e9f175cbe4c925116c3"}, + {file = "lxml-4.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:c7721a3ef41591341388bb2265395ce522aba52f969d33dacd822da8f018aff8"}, + {file = "lxml-4.9.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:dbcb2dc07308453db428a95a4d03259bd8caea97d7f0776842299f2d00c72fc8"}, + {file = "lxml-4.9.4-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:01bf1df1db327e748dcb152d17389cf6d0a8c5d533ef9bab781e9d5037619229"}, + {file = "lxml-4.9.4-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e8f9f93a23634cfafbad6e46ad7d09e0f4a25a2400e4a64b1b7b7c0fbaa06d9d"}, + {file = "lxml-4.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3f3f00a9061605725df1816f5713d10cd94636347ed651abdbc75828df302b20"}, + {file = "lxml-4.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:953dd5481bd6252bd480d6ec431f61d7d87fdcbbb71b0d2bdcfc6ae00bb6fb10"}, + {file = "lxml-4.9.4-cp312-cp312-win32.whl", hash = "sha256:266f655d1baff9c47b52f529b5f6bec33f66042f65f7c56adde3fcf2ed62ae8b"}, + {file = "lxml-4.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:f1faee2a831fe249e1bae9cbc68d3cd8a30f7e37851deee4d7962b17c410dd56"}, + {file = "lxml-4.9.4-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:23d891e5bdc12e2e506e7d225d6aa929e0a0368c9916c1fddefab88166e98b20"}, + {file = "lxml-4.9.4-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e96a1788f24d03e8d61679f9881a883ecdf9c445a38f9ae3f3f193ab6c591c66"}, + {file = "lxml-4.9.4-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:5557461f83bb7cc718bc9ee1f7156d50e31747e5b38d79cf40f79ab1447afd2d"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:fdb325b7fba1e2c40b9b1db407f85642e32404131c08480dd652110fc908561b"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d74d4a3c4b8f7a1f676cedf8e84bcc57705a6d7925e6daef7a1e54ae543a197"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ac7674d1638df129d9cb4503d20ffc3922bd463c865ef3cb412f2c926108e9a4"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:ddd92e18b783aeb86ad2132d84a4b795fc5ec612e3545c1b687e7747e66e2b53"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bd9ac6e44f2db368ef8986f3989a4cad3de4cd55dbdda536e253000c801bcc7"}, + {file = "lxml-4.9.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:bc354b1393dce46026ab13075f77b30e40b61b1a53e852e99d3cc5dd1af4bc85"}, + {file = "lxml-4.9.4-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:f836f39678cb47c9541f04d8ed4545719dc31ad850bf1832d6b4171e30d65d23"}, + {file = "lxml-4.9.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:9c131447768ed7bc05a02553d939e7f0e807e533441901dd504e217b76307745"}, + {file = "lxml-4.9.4-cp36-cp36m-win32.whl", hash = "sha256:bafa65e3acae612a7799ada439bd202403414ebe23f52e5b17f6ffc2eb98c2be"}, + {file = "lxml-4.9.4-cp36-cp36m-win_amd64.whl", hash = "sha256:6197c3f3c0b960ad033b9b7d611db11285bb461fc6b802c1dd50d04ad715c225"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:7b378847a09d6bd46047f5f3599cdc64fcb4cc5a5a2dd0a2af610361fbe77b16"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:1343df4e2e6e51182aad12162b23b0a4b3fd77f17527a78c53f0f23573663545"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:6dbdacf5752fbd78ccdb434698230c4f0f95df7dd956d5f205b5ed6911a1367c"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:506becdf2ecaebaf7f7995f776394fcc8bd8a78022772de66677c84fb02dd33d"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ca8e44b5ba3edb682ea4e6185b49661fc22b230cf811b9c13963c9f982d1d964"}, + {file = "lxml-4.9.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9d9d5726474cbbef279fd709008f91a49c4f758bec9c062dfbba88eab00e3ff9"}, + {file = "lxml-4.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:bbdd69e20fe2943b51e2841fc1e6a3c1de460d630f65bde12452d8c97209464d"}, + {file = "lxml-4.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8671622256a0859f5089cbe0ce4693c2af407bc053dcc99aadff7f5310b4aa02"}, + {file = "lxml-4.9.4-cp37-cp37m-win32.whl", hash = "sha256:dd4fda67f5faaef4f9ee5383435048ee3e11ad996901225ad7615bc92245bc8e"}, + {file = "lxml-4.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6bee9c2e501d835f91460b2c904bc359f8433e96799f5c2ff20feebd9bb1e590"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:1f10f250430a4caf84115b1e0f23f3615566ca2369d1962f82bef40dd99cd81a"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3b505f2bbff50d261176e67be24e8909e54b5d9d08b12d4946344066d66b3e43"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:1449f9451cd53e0fd0a7ec2ff5ede4686add13ac7a7bfa6988ff6d75cff3ebe2"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:4ece9cca4cd1c8ba889bfa67eae7f21d0d1a2e715b4d5045395113361e8c533d"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59bb5979f9941c61e907ee571732219fa4774d5a18f3fa5ff2df963f5dfaa6bc"}, + {file = "lxml-4.9.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b1980dbcaad634fe78e710c8587383e6e3f61dbe146bcbfd13a9c8ab2d7b1192"}, + {file = "lxml-4.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9ae6c3363261021144121427b1552b29e7b59de9d6a75bf51e03bc072efb3c37"}, + {file = "lxml-4.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bcee502c649fa6351b44bb014b98c09cb00982a475a1912a9881ca28ab4f9cd9"}, + {file = "lxml-4.9.4-cp38-cp38-win32.whl", hash = "sha256:a8edae5253efa75c2fc79a90068fe540b197d1c7ab5803b800fccfe240eed33c"}, + {file = "lxml-4.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:701847a7aaefef121c5c0d855b2affa5f9bd45196ef00266724a80e439220e46"}, + {file = "lxml-4.9.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:f610d980e3fccf4394ab3806de6065682982f3d27c12d4ce3ee46a8183d64a6a"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:aa9b5abd07f71b081a33115d9758ef6077924082055005808f68feccb27616bd"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:365005e8b0718ea6d64b374423e870648ab47c3a905356ab6e5a5ff03962b9a9"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:16b9ec51cc2feab009e800f2c6327338d6ee4e752c76e95a35c4465e80390ccd"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:a905affe76f1802edcac554e3ccf68188bea16546071d7583fb1b693f9cf756b"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fd814847901df6e8de13ce69b84c31fc9b3fb591224d6762d0b256d510cbf382"}, + {file = "lxml-4.9.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:91bbf398ac8bb7d65a5a52127407c05f75a18d7015a270fdd94bbcb04e65d573"}, + {file = "lxml-4.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f99768232f036b4776ce419d3244a04fe83784bce871b16d2c2e984c7fcea847"}, + {file = "lxml-4.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bb5bd6212eb0edfd1e8f254585290ea1dadc3687dd8fd5e2fd9a87c31915cdab"}, + {file = "lxml-4.9.4-cp39-cp39-win32.whl", hash = "sha256:88f7c383071981c74ec1998ba9b437659e4fd02a3c4a4d3efc16774eb108d0ec"}, + {file = "lxml-4.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:936e8880cc00f839aa4173f94466a8406a96ddce814651075f95837316369899"}, + {file = "lxml-4.9.4-pp310-pypy310_pp73-macosx_11_0_x86_64.whl", hash = "sha256:f6c35b2f87c004270fa2e703b872fcc984d714d430b305145c39d53074e1ffe0"}, + {file = "lxml-4.9.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:606d445feeb0856c2b424405236a01c71af7c97e5fe42fbc778634faef2b47e4"}, + {file = "lxml-4.9.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a1bdcbebd4e13446a14de4dd1825f1e778e099f17f79718b4aeaf2403624b0f7"}, + {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:0a08c89b23117049ba171bf51d2f9c5f3abf507d65d016d6e0fa2f37e18c0fc5"}, + {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:232fd30903d3123be4c435fb5159938c6225ee8607b635a4d3fca847003134ba"}, + {file = "lxml-4.9.4-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:231142459d32779b209aa4b4d460b175cadd604fed856f25c1571a9d78114771"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:520486f27f1d4ce9654154b4494cf9307b495527f3a2908ad4cb48e4f7ed7ef7"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:562778586949be7e0d7435fcb24aca4810913771f845d99145a6cee64d5b67ca"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a9e7c6d89c77bb2770c9491d988f26a4b161d05c8ca58f63fb1f1b6b9a74be45"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:786d6b57026e7e04d184313c1359ac3d68002c33e4b1042ca58c362f1d09ff58"}, + {file = "lxml-4.9.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95ae6c5a196e2f239150aa4a479967351df7f44800c93e5a975ec726fef005e2"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:9b556596c49fa1232b0fff4b0e69b9d4083a502e60e404b44341e2f8fb7187f5"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:cc02c06e9e320869d7d1bd323df6dd4281e78ac2e7f8526835d3d48c69060683"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:857d6565f9aa3464764c2cb6a2e3c2e75e1970e877c188f4aeae45954a314e0c"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c42ae7e010d7d6bc51875d768110c10e8a59494855c3d4c348b068f5fb81fdcd"}, + {file = "lxml-4.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f10250bb190fb0742e3e1958dd5c100524c2cc5096c67c8da51233f7448dc137"}, + {file = "lxml-4.9.4.tar.gz", hash = "sha256:b1541e50b78e15fa06a2670157a1962ef06591d4c998b998047fff5e3236880e"}, +] + +[package.extras] +cssselect = ["cssselect (>=0.7)"] +html5 = ["html5lib"] +htmlsoup = ["BeautifulSoup4"] +source = ["Cython (==0.29.37)"] + [[package]] name = "markupsafe" version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1984,40 +2296,39 @@ files = [ [[package]] name = "matplotlib" -version = "3.8.3" +version = "3.8.4" description = "Python plotting package" -category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "matplotlib-3.8.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cf60138ccc8004f117ab2a2bad513cc4d122e55864b4fe7adf4db20ca68a078f"}, - {file = "matplotlib-3.8.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5f557156f7116be3340cdeef7f128fa99b0d5d287d5f41a16e169819dcf22357"}, - {file = "matplotlib-3.8.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f386cf162b059809ecfac3bcc491a9ea17da69fa35c8ded8ad154cd4b933d5ec"}, - {file = "matplotlib-3.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3c5f96f57b0369c288bf6f9b5274ba45787f7e0589a34d24bdbaf6d3344632f"}, - {file = "matplotlib-3.8.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:83e0f72e2c116ca7e571c57aa29b0fe697d4c6425c4e87c6e994159e0c008635"}, - {file = "matplotlib-3.8.3-cp310-cp310-win_amd64.whl", hash = "sha256:1c5c8290074ba31a41db1dc332dc2b62def469ff33766cbe325d32a3ee291aea"}, - {file = "matplotlib-3.8.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5184e07c7e1d6d1481862ee361905b7059f7fe065fc837f7c3dc11eeb3f2f900"}, - {file = "matplotlib-3.8.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d7e7e0993d0758933b1a241a432b42c2db22dfa37d4108342ab4afb9557cbe3e"}, - {file = "matplotlib-3.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04b36ad07eac9740fc76c2aa16edf94e50b297d6eb4c081e3add863de4bb19a7"}, - {file = "matplotlib-3.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c42dae72a62f14982f1474f7e5c9959fc4bc70c9de11cc5244c6e766200ba65"}, - {file = "matplotlib-3.8.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bf5932eee0d428192c40b7eac1399d608f5d995f975cdb9d1e6b48539a5ad8d0"}, - {file = "matplotlib-3.8.3-cp311-cp311-win_amd64.whl", hash = "sha256:40321634e3a05ed02abf7c7b47a50be50b53ef3eaa3a573847431a545585b407"}, - {file = "matplotlib-3.8.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:09074f8057917d17ab52c242fdf4916f30e99959c1908958b1fc6032e2d0f6d4"}, - {file = "matplotlib-3.8.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5745f6d0fb5acfabbb2790318db03809a253096e98c91b9a31969df28ee604aa"}, - {file = "matplotlib-3.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b97653d869a71721b639714b42d87cda4cfee0ee74b47c569e4874c7590c55c5"}, - {file = "matplotlib-3.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:242489efdb75b690c9c2e70bb5c6550727058c8a614e4c7716f363c27e10bba1"}, - {file = "matplotlib-3.8.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:83c0653c64b73926730bd9ea14aa0f50f202ba187c307a881673bad4985967b7"}, - {file = "matplotlib-3.8.3-cp312-cp312-win_amd64.whl", hash = "sha256:ef6c1025a570354297d6c15f7d0f296d95f88bd3850066b7f1e7b4f2f4c13a39"}, - {file = "matplotlib-3.8.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c4af3f7317f8a1009bbb2d0bf23dfaba859eb7dd4ccbd604eba146dccaaaf0a4"}, - {file = "matplotlib-3.8.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4c6e00a65d017d26009bac6808f637b75ceade3e1ff91a138576f6b3065eeeba"}, - {file = "matplotlib-3.8.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7b49ab49a3bea17802df6872f8d44f664ba8f9be0632a60c99b20b6db2165b7"}, - {file = "matplotlib-3.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6728dde0a3997396b053602dbd907a9bd64ec7d5cf99e728b404083698d3ca01"}, - {file = "matplotlib-3.8.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:813925d08fb86aba139f2d31864928d67511f64e5945ca909ad5bc09a96189bb"}, - {file = "matplotlib-3.8.3-cp39-cp39-win_amd64.whl", hash = "sha256:cd3a0c2be76f4e7be03d34a14d49ded6acf22ef61f88da600a18a5cd8b3c5f3c"}, - {file = "matplotlib-3.8.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fa93695d5c08544f4a0dfd0965f378e7afc410d8672816aff1e81be1f45dbf2e"}, - {file = "matplotlib-3.8.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9764df0e8778f06414b9d281a75235c1e85071f64bb5d71564b97c1306a2afc"}, - {file = "matplotlib-3.8.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5e431a09e6fab4012b01fc155db0ce6dccacdbabe8198197f523a4ef4805eb26"}, - {file = "matplotlib-3.8.3.tar.gz", hash = "sha256:7b416239e9ae38be54b028abbf9048aff5054a9aba5416bef0bd17f9162ce161"}, + {file = "matplotlib-3.8.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:abc9d838f93583650c35eca41cfcec65b2e7cb50fd486da6f0c49b5e1ed23014"}, + {file = "matplotlib-3.8.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f65c9f002d281a6e904976007b2d46a1ee2bcea3a68a8c12dda24709ddc9106"}, + {file = "matplotlib-3.8.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce1edd9f5383b504dbc26eeea404ed0a00656c526638129028b758fd43fc5f10"}, + {file = "matplotlib-3.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecd79298550cba13a43c340581a3ec9c707bd895a6a061a78fa2524660482fc0"}, + {file = "matplotlib-3.8.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:90df07db7b599fe7035d2f74ab7e438b656528c68ba6bb59b7dc46af39ee48ef"}, + {file = "matplotlib-3.8.4-cp310-cp310-win_amd64.whl", hash = "sha256:ac24233e8f2939ac4fd2919eed1e9c0871eac8057666070e94cbf0b33dd9c338"}, + {file = "matplotlib-3.8.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:72f9322712e4562e792b2961971891b9fbbb0e525011e09ea0d1f416c4645661"}, + {file = "matplotlib-3.8.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:232ce322bfd020a434caaffbd9a95333f7c2491e59cfc014041d95e38ab90d1c"}, + {file = "matplotlib-3.8.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6addbd5b488aedb7f9bc19f91cd87ea476206f45d7116fcfe3d31416702a82fa"}, + {file = "matplotlib-3.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc4ccdc64e3039fc303defd119658148f2349239871db72cd74e2eeaa9b80b71"}, + {file = "matplotlib-3.8.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b7a2a253d3b36d90c8993b4620183b55665a429da8357a4f621e78cd48b2b30b"}, + {file = "matplotlib-3.8.4-cp311-cp311-win_amd64.whl", hash = "sha256:8080d5081a86e690d7688ffa542532e87f224c38a6ed71f8fbed34dd1d9fedae"}, + {file = "matplotlib-3.8.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:6485ac1f2e84676cff22e693eaa4fbed50ef5dc37173ce1f023daef4687df616"}, + {file = "matplotlib-3.8.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c89ee9314ef48c72fe92ce55c4e95f2f39d70208f9f1d9db4e64079420d8d732"}, + {file = "matplotlib-3.8.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50bac6e4d77e4262c4340d7a985c30912054745ec99756ce213bfbc3cb3808eb"}, + {file = "matplotlib-3.8.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f51c4c869d4b60d769f7b4406eec39596648d9d70246428745a681c327a8ad30"}, + {file = "matplotlib-3.8.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b12ba985837e4899b762b81f5b2845bd1a28f4fdd1a126d9ace64e9c4eb2fb25"}, + {file = "matplotlib-3.8.4-cp312-cp312-win_amd64.whl", hash = "sha256:7a6769f58ce51791b4cb8b4d7642489df347697cd3e23d88266aaaee93b41d9a"}, + {file = "matplotlib-3.8.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:843cbde2f0946dadd8c5c11c6d91847abd18ec76859dc319362a0964493f0ba6"}, + {file = "matplotlib-3.8.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1c13f041a7178f9780fb61cc3a2b10423d5e125480e4be51beaf62b172413b67"}, + {file = "matplotlib-3.8.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb44f53af0a62dc80bba4443d9b27f2fde6acfdac281d95bc872dc148a6509cc"}, + {file = "matplotlib-3.8.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:606e3b90897554c989b1e38a258c626d46c873523de432b1462f295db13de6f9"}, + {file = "matplotlib-3.8.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9bb0189011785ea794ee827b68777db3ca3f93f3e339ea4d920315a0e5a78d54"}, + {file = "matplotlib-3.8.4-cp39-cp39-win_amd64.whl", hash = "sha256:6209e5c9aaccc056e63b547a8152661324404dd92340a6e479b3a7f24b42a5d0"}, + {file = "matplotlib-3.8.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c7064120a59ce6f64103c9cefba8ffe6fba87f2c61d67c401186423c9a20fd35"}, + {file = "matplotlib-3.8.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0e47eda4eb2614300fc7bb4657fced3e83d6334d03da2173b09e447418d499f"}, + {file = "matplotlib-3.8.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:493e9f6aa5819156b58fce42b296ea31969f2aab71c5b680b4ea7a3cb5c07d94"}, + {file = "matplotlib-3.8.4.tar.gz", hash = "sha256:8aac397d5e9ec158960e31c381c5ffc52ddd52bd9a47717e2a694038167dffea"}, ] [package.dependencies] @@ -2025,7 +2336,7 @@ contourpy = ">=1.0.1" cycler = ">=0.10" fonttools = ">=4.22.0" kiwisolver = ">=1.3.1" -numpy = ">=1.21,<2" +numpy = ">=1.21" packaging = ">=20.0" pillow = ">=8" pyparsing = ">=2.3.1" @@ -2033,14 +2344,13 @@ python-dateutil = ">=2.7" [[package]] name = "matplotlib-inline" -version = "0.1.6" +version = "0.1.7" description = "Inline Matplotlib backend for Jupyter" -category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "matplotlib-inline-0.1.6.tar.gz", hash = "sha256:f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304"}, - {file = "matplotlib_inline-0.1.6-py3-none-any.whl", hash = "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311"}, + {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, + {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, ] [package.dependencies] @@ -2050,7 +2360,6 @@ traitlets = "*" name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -2058,11 +2367,28 @@ files = [ {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, ] +[[package]] +name = "mkl" +version = "2021.4.0" +description = "IntelĀ® oneAPI Math Kernel Library" +optional = false +python-versions = "*" +files = [ + {file = "mkl-2021.4.0-py2.py3-none-macosx_10_15_x86_64.macosx_11_0_x86_64.whl", hash = "sha256:67460f5cd7e30e405b54d70d1ed3ca78118370b65f7327d495e9c8847705e2fb"}, + {file = "mkl-2021.4.0-py2.py3-none-manylinux1_i686.whl", hash = "sha256:636d07d90e68ccc9630c654d47ce9fdeb036bb46e2b193b3a9ac8cfea683cce5"}, + {file = "mkl-2021.4.0-py2.py3-none-manylinux1_x86_64.whl", hash = "sha256:398dbf2b0d12acaf54117a5210e8f191827f373d362d796091d161f610c1ebfb"}, + {file = "mkl-2021.4.0-py2.py3-none-win32.whl", hash = "sha256:439c640b269a5668134e3dcbcea4350459c4a8bc46469669b2d67e07e3d330e8"}, + {file = "mkl-2021.4.0-py2.py3-none-win_amd64.whl", hash = "sha256:ceef3cafce4c009dd25f65d7ad0d833a0fbadc3d8903991ec92351fe5de1e718"}, +] + +[package.dependencies] +intel-openmp = "==2021.*" +tbb = "==2021.*" + [[package]] name = "mpmath" version = "1.3.0" description = "Python library for arbitrary-precision floating-point arithmetic" -category = "main" optional = false python-versions = "*" files = [ @@ -2080,7 +2406,6 @@ tests = ["pytest (>=4.6)"] name = "multidict" version = "6.0.5" description = "multidict implementation" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2178,39 +2503,38 @@ files = [ [[package]] name = "mypy" -version = "1.8.0" +version = "1.10.0" description = "Optional static typing for Python" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:485a8942f671120f76afffff70f259e1cd0f0cfe08f81c05d8816d958d4577d3"}, - {file = "mypy-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:df9824ac11deaf007443e7ed2a4a26bebff98d2bc43c6da21b2b64185da011c4"}, - {file = "mypy-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2afecd6354bbfb6e0160f4e4ad9ba6e4e003b767dd80d85516e71f2e955ab50d"}, - {file = "mypy-1.8.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8963b83d53ee733a6e4196954502b33567ad07dfd74851f32be18eb932fb1cb9"}, - {file = "mypy-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:e46f44b54ebddbeedbd3d5b289a893219065ef805d95094d16a0af6630f5d410"}, - {file = "mypy-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:855fe27b80375e5c5878492f0729540db47b186509c98dae341254c8f45f42ae"}, - {file = "mypy-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c886c6cce2d070bd7df4ec4a05a13ee20c0aa60cb587e8d1265b6c03cf91da3"}, - {file = "mypy-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d19c413b3c07cbecf1f991e2221746b0d2a9410b59cb3f4fb9557f0365a1a817"}, - {file = "mypy-1.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9261ed810972061388918c83c3f5cd46079d875026ba97380f3e3978a72f503d"}, - {file = "mypy-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:51720c776d148bad2372ca21ca29256ed483aa9a4cdefefcef49006dff2a6835"}, - {file = "mypy-1.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:52825b01f5c4c1c4eb0db253ec09c7aa17e1a7304d247c48b6f3599ef40db8bd"}, - {file = "mypy-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f5ac9a4eeb1ec0f1ccdc6f326bcdb464de5f80eb07fb38b5ddd7b0de6bc61e55"}, - {file = "mypy-1.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afe3fe972c645b4632c563d3f3eff1cdca2fa058f730df2b93a35e3b0c538218"}, - {file = "mypy-1.8.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:42c6680d256ab35637ef88891c6bd02514ccb7e1122133ac96055ff458f93fc3"}, - {file = "mypy-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:720a5ca70e136b675af3af63db533c1c8c9181314d207568bbe79051f122669e"}, - {file = "mypy-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:028cf9f2cae89e202d7b6593cd98db6759379f17a319b5faf4f9978d7084cdc6"}, - {file = "mypy-1.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4e6d97288757e1ddba10dd9549ac27982e3e74a49d8d0179fc14d4365c7add66"}, - {file = "mypy-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f1478736fcebb90f97e40aff11a5f253af890c845ee0c850fe80aa060a267c6"}, - {file = "mypy-1.8.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42419861b43e6962a649068a61f4a4839205a3ef525b858377a960b9e2de6e0d"}, - {file = "mypy-1.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:2b5b6c721bd4aabaadead3a5e6fa85c11c6c795e0c81a7215776ef8afc66de02"}, - {file = "mypy-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5c1538c38584029352878a0466f03a8ee7547d7bd9f641f57a0f3017a7c905b8"}, - {file = "mypy-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ef4be7baf08a203170f29e89d79064463b7fc7a0908b9d0d5114e8009c3a259"}, - {file = "mypy-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7178def594014aa6c35a8ff411cf37d682f428b3b5617ca79029d8ae72f5402b"}, - {file = "mypy-1.8.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ab3c84fa13c04aeeeabb2a7f67a25ef5d77ac9d6486ff33ded762ef353aa5592"}, - {file = "mypy-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:99b00bc72855812a60d253420d8a2eae839b0afa4938f09f4d2aa9bb4654263a"}, - {file = "mypy-1.8.0-py3-none-any.whl", hash = "sha256:538fd81bb5e430cc1381a443971c0475582ff9f434c16cd46d2c66763ce85d9d"}, - {file = "mypy-1.8.0.tar.gz", hash = "sha256:6ff8b244d7085a0b425b56d327b480c3b29cafbd2eff27316a004f9a7391ae07"}, + {file = "mypy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:da1cbf08fb3b851ab3b9523a884c232774008267b1f83371ace57f412fe308c2"}, + {file = "mypy-1.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:12b6bfc1b1a66095ab413160a6e520e1dc076a28f3e22f7fb25ba3b000b4ef99"}, + {file = "mypy-1.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e36fb078cce9904c7989b9693e41cb9711e0600139ce3970c6ef814b6ebc2b2"}, + {file = "mypy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2b0695d605ddcd3eb2f736cd8b4e388288c21e7de85001e9f85df9187f2b50f9"}, + {file = "mypy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:cd777b780312ddb135bceb9bc8722a73ec95e042f911cc279e2ec3c667076051"}, + {file = "mypy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3be66771aa5c97602f382230165b856c231d1277c511c9a8dd058be4784472e1"}, + {file = "mypy-1.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8b2cbaca148d0754a54d44121b5825ae71868c7592a53b7292eeb0f3fdae95ee"}, + {file = "mypy-1.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ec404a7cbe9fc0e92cb0e67f55ce0c025014e26d33e54d9e506a0f2d07fe5de"}, + {file = "mypy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e22e1527dc3d4aa94311d246b59e47f6455b8729f4968765ac1eacf9a4760bc7"}, + {file = "mypy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:a87dbfa85971e8d59c9cc1fcf534efe664d8949e4c0b6b44e8ca548e746a8d53"}, + {file = "mypy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a781f6ad4bab20eef8b65174a57e5203f4be627b46291f4589879bf4e257b97b"}, + {file = "mypy-1.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b808e12113505b97d9023b0b5e0c0705a90571c6feefc6f215c1df9381256e30"}, + {file = "mypy-1.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f55583b12156c399dce2df7d16f8a5095291354f1e839c252ec6c0611e86e2e"}, + {file = "mypy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cf18f9d0efa1b16478c4c129eabec36148032575391095f73cae2e722fcf9d5"}, + {file = "mypy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:bc6ac273b23c6b82da3bb25f4136c4fd42665f17f2cd850771cb600bdd2ebeda"}, + {file = "mypy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9fd50226364cd2737351c79807775136b0abe084433b55b2e29181a4c3c878c0"}, + {file = "mypy-1.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f90cff89eea89273727d8783fef5d4a934be2fdca11b47def50cf5d311aff727"}, + {file = "mypy-1.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fcfc70599efde5c67862a07a1aaf50e55bce629ace26bb19dc17cece5dd31ca4"}, + {file = "mypy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:075cbf81f3e134eadaf247de187bd604748171d6b79736fa9b6c9685b4083061"}, + {file = "mypy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:3f298531bca95ff615b6e9f2fc0333aae27fa48052903a0ac90215021cdcfa4f"}, + {file = "mypy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fa7ef5244615a2523b56c034becde4e9e3f9b034854c93639adb667ec9ec2976"}, + {file = "mypy-1.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3236a4c8f535a0631f85f5fcdffba71c7feeef76a6002fcba7c1a8e57c8be1ec"}, + {file = "mypy-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a2b5cdbb5dd35aa08ea9114436e0d79aceb2f38e32c21684dcf8e24e1e92821"}, + {file = "mypy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92f93b21c0fe73dc00abf91022234c79d793318b8a96faac147cd579c1671746"}, + {file = "mypy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:28d0e038361b45f099cc086d9dd99c15ff14d0188f44ac883010e172ce86c38a"}, + {file = "mypy-1.10.0-py3-none-any.whl", hash = "sha256:f8c083976eb530019175aabadb60921e73b4f45736760826aa1689dda8208aee"}, + {file = "mypy-1.10.0.tar.gz", hash = "sha256:3d087fcbec056c4ee34974da493a826ce316947485cef3901f511848e687c131"}, ] [package.dependencies] @@ -2226,14 +2550,13 @@ reports = ["lxml"] [[package]] name = "mypy-boto3-cloudformation" -version = "1.34.55" -description = "Type annotations for boto3.CloudFormation 1.34.55 service generated with mypy-boto3-builder 7.23.2" -category = "main" +version = "1.34.84" +description = "Type annotations for boto3.CloudFormation 1.34.84 service generated with mypy-boto3-builder 7.23.2" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-boto3-cloudformation-1.34.55.tar.gz", hash = "sha256:de9f4d45d0a4e57bb5ef8b8d7a03476f8ef24ffa253d636cd824cde061227439"}, - {file = "mypy_boto3_cloudformation-1.34.55-py3-none-any.whl", hash = "sha256:78c4d25ef7102bd02c8e87d32211ff60a7b474ec546e9948b46f170d341ae0a2"}, + {file = "mypy_boto3_cloudformation-1.34.84-py3-none-any.whl", hash = "sha256:580954031cb3650588b91f592e8f51855b2ff435d763ac0d69cf271c8433315f"}, + {file = "mypy_boto3_cloudformation-1.34.84.tar.gz", hash = "sha256:82d14df3757f30b5a1d34650839d415d265d4de41cf355d63e10221fcc67f177"}, ] [package.dependencies] @@ -2241,14 +2564,13 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} [[package]] name = "mypy-boto3-dynamodb" -version = "1.34.46" -description = "Type annotations for boto3.DynamoDB 1.34.46 service generated with mypy-boto3-builder 7.23.1" -category = "main" +version = "1.34.97" +description = "Type annotations for boto3.DynamoDB 1.34.97 service generated with mypy-boto3-builder 7.24.0" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-boto3-dynamodb-1.34.46.tar.gz", hash = "sha256:126da0a29ca48502cfa9a26e3024341233d8419f7e03273cea17af7d38e724bd"}, - {file = "mypy_boto3_dynamodb-1.34.46-py3-none-any.whl", hash = "sha256:1af7c80a0891edac29e5b70441122f6803eb772a3b7b498396eec30368232541"}, + {file = "mypy_boto3_dynamodb-1.34.97-py3-none-any.whl", hash = "sha256:4bb02b01506ba27cd7b63f3d2013147824c7504fa8f4f03242e51f5b78c31edf"}, + {file = "mypy_boto3_dynamodb-1.34.97.tar.gz", hash = "sha256:3f67a291157dd94bef376c5490d9d29bbacc9741dfef124f9724bc5d29b0458a"}, ] [package.dependencies] @@ -2256,14 +2578,13 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} [[package]] name = "mypy-boto3-ec2" -version = "1.34.54" -description = "Type annotations for boto3.EC2 1.34.54 service generated with mypy-boto3-builder 7.23.2" -category = "main" +version = "1.34.101" +description = "Type annotations for boto3.EC2 1.34.101 service generated with mypy-boto3-builder 7.24.0" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-boto3-ec2-1.34.54.tar.gz", hash = "sha256:ce34c2d7741be1918caf5b46cafb0cb7b1f6ac81ec6fbd8846bbe85c93d43101"}, - {file = "mypy_boto3_ec2-1.34.54-py3-none-any.whl", hash = "sha256:f36180ea33bad6626ff5302def1250eeb6612fafa15a56d269190d33d5a42093"}, + {file = "mypy_boto3_ec2-1.34.101-py3-none-any.whl", hash = "sha256:17c368d5496663f05e42d314e89acd76c4c42c6722c015f54b7ce90e0377ad9f"}, + {file = "mypy_boto3_ec2-1.34.101.tar.gz", hash = "sha256:5673e3cb6d287ca132282e8252712a721b2997d9e3fdae28e50d86ba1dc69a54"}, ] [package.dependencies] @@ -2271,14 +2592,13 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} [[package]] name = "mypy-boto3-lambda" -version = "1.34.46" -description = "Type annotations for boto3.Lambda 1.34.46 service generated with mypy-boto3-builder 7.23.1" -category = "main" +version = "1.34.77" +description = "Type annotations for boto3.Lambda 1.34.77 service generated with mypy-boto3-builder 7.23.2" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-boto3-lambda-1.34.46.tar.gz", hash = "sha256:275297944c5e36a170b37ce70229f21db6dd3561606799f18d96e36ac5df6876"}, - {file = "mypy_boto3_lambda-1.34.46-py3-none-any.whl", hash = "sha256:a12232002e04ee06b413b47068bc6bb085aeaa3693d28e9bf0efd76fa6953a0b"}, + {file = "mypy-boto3-lambda-1.34.77.tar.gz", hash = "sha256:7b81d2a5604fb592e92fe0b284ecd259de071703360a33b71c9b54df46d81c9c"}, + {file = "mypy_boto3_lambda-1.34.77-py3-none-any.whl", hash = "sha256:e21022d2eef12aa731af80790410afdba9412b056339823252813bae2adbf553"}, ] [package.dependencies] @@ -2286,14 +2606,13 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} [[package]] name = "mypy-boto3-rds" -version = "1.34.50" -description = "Type annotations for boto3.RDS 1.34.50 service generated with mypy-boto3-builder 7.23.1" -category = "main" +version = "1.34.93" +description = "Type annotations for boto3.RDS 1.34.93 service generated with mypy-boto3-builder 7.24.0" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-boto3-rds-1.34.50.tar.gz", hash = "sha256:9561dfac562ec9cd039806d5de2bc2bb8be4f9f7c03620270550a49e456fef46"}, - {file = "mypy_boto3_rds-1.34.50-py3-none-any.whl", hash = "sha256:59124bd98653c73c685b7dc0d0a9069572d340f0ecb116a9706aa3e2d40a166d"}, + {file = "mypy_boto3_rds-1.34.93-py3-none-any.whl", hash = "sha256:4c4b96eebf653ec498e8b01d6a87dd4cf1901fc3647c2fcc825b51d061370f58"}, + {file = "mypy_boto3_rds-1.34.93.tar.gz", hash = "sha256:3896edc3697e1e6e9482b312b8b982d087d68c6338ff469510b4ab49896a0b4f"}, ] [package.dependencies] @@ -2301,14 +2620,13 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} [[package]] name = "mypy-boto3-s3" -version = "1.34.14" -description = "Type annotations for boto3.S3 1.34.14 service generated with mypy-boto3-builder 7.21.0" -category = "main" +version = "1.34.91" +description = "Type annotations for boto3.S3 1.34.91 service generated with mypy-boto3-builder 7.24.0" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-boto3-s3-1.34.14.tar.gz", hash = "sha256:71c39ab0623cdb442d225b71c1783f6a513cff4c4a13505a2efbb2e3aff2e965"}, - {file = "mypy_boto3_s3-1.34.14-py3-none-any.whl", hash = "sha256:f9669ecd182d5bf3532f5f2dcc5e5237776afe157ad5a0b37b26d6bec5fcc432"}, + {file = "mypy_boto3_s3-1.34.91-py3-none-any.whl", hash = "sha256:0d37161fd0cd7ebf194cf9ccadb9101bf5c9b2426c2d00677b7e644d6f2298e4"}, + {file = "mypy_boto3_s3-1.34.91.tar.gz", hash = "sha256:70c8bad00db70704fb7ac0ee1440c7eb0587578ae9a2b00997f29f17f60f45e7"}, ] [package.dependencies] @@ -2316,14 +2634,13 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} [[package]] name = "mypy-boto3-sqs" -version = "1.34.0" -description = "Type annotations for boto3.SQS 1.34.0 service generated with mypy-boto3-builder 7.21.0" -category = "main" +version = "1.34.101" +description = "Type annotations for boto3.SQS 1.34.101 service generated with mypy-boto3-builder 7.24.0" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "mypy-boto3-sqs-1.34.0.tar.gz", hash = "sha256:0bf8995f58919ab295398100e72eaa7da898adcfd9d339a42f3c48ce473419d5"}, - {file = "mypy_boto3_sqs-1.34.0-py3-none-any.whl", hash = "sha256:94d8aea4ae75605f70e58e440d706e04d5c614101ddb2f0c73d306d776d10995"}, + {file = "mypy_boto3_sqs-1.34.101-py3-none-any.whl", hash = "sha256:3d9ce3968006838e5c8ea422c5da2b8ef0ec0d4690a3fa0c0ac1ee472a6d738c"}, + {file = "mypy_boto3_sqs-1.34.101.tar.gz", hash = "sha256:827b4a8c03107b475da6f087bc13d2eca30fd672e6edb7310332787011752806"}, ] [package.dependencies] @@ -2333,7 +2650,6 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.12\""} name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -2341,11 +2657,25 @@ files = [ {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] +[[package]] +name = "natsort" +version = "8.4.0" +description = "Simple yet flexible natural sorting in Python." +optional = false +python-versions = ">=3.7" +files = [ + {file = "natsort-8.4.0-py3-none-any.whl", hash = "sha256:4732914fb471f56b5cce04d7bae6f164a592c7712e1c85f9ef585e197299521c"}, + {file = "natsort-8.4.0.tar.gz", hash = "sha256:45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581"}, +] + +[package.extras] +fast = ["fastnumbers (>=2.0.0)"] +icu = ["PyICU (>=1.0.0)"] + [[package]] name = "nbtlib" version = "2.0.4" description = "A python package to read and edit nbt data" -category = "main" optional = false python-versions = ">=3.8,<4.0" files = [ @@ -2360,7 +2690,6 @@ numpy = "*" name = "nest-asyncio" version = "1.6.0" description = "Patch asyncio to allow nested event loops" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -2370,28 +2699,26 @@ files = [ [[package]] name = "networkx" -version = "3.2.1" +version = "3.3" description = "Python package for creating and manipulating graphs and networks" -category = "main" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "networkx-3.2.1-py3-none-any.whl", hash = "sha256:f18c69adc97877c42332c170849c96cefa91881c99a7cb3e95b7c659ebdc1ec2"}, - {file = "networkx-3.2.1.tar.gz", hash = "sha256:9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6"}, + {file = "networkx-3.3-py3-none-any.whl", hash = "sha256:28575580c6ebdaf4505b22c6256a2b9de86b316dc63ba9e93abde3d78dfdbcf2"}, + {file = "networkx-3.3.tar.gz", hash = "sha256:0c127d8b2f4865f59ae9cb8aafcd60b5c70f3241ebd66f7defad7c4ab90126c9"}, ] [package.extras] -default = ["matplotlib (>=3.5)", "numpy (>=1.22)", "pandas (>=1.4)", "scipy (>=1.9,!=1.11.0,!=1.11.1)"] -developer = ["changelist (==0.4)", "mypy (>=1.1)", "pre-commit (>=3.2)", "rtoml"] -doc = ["nb2plots (>=0.7)", "nbconvert (<7.9)", "numpydoc (>=1.6)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.14)", "sphinx (>=7)", "sphinx-gallery (>=0.14)", "texext (>=0.6.7)"] -extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.11)", "sympy (>=1.10)"] +default = ["matplotlib (>=3.6)", "numpy (>=1.23)", "pandas (>=1.4)", "scipy (>=1.9,!=1.11.0,!=1.11.1)"] +developer = ["changelist (==0.5)", "mypy (>=1.1)", "pre-commit (>=3.2)", "rtoml"] +doc = ["myst-nb (>=1.0)", "numpydoc (>=1.7)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.14)", "sphinx (>=7)", "sphinx-gallery (>=0.14)", "texext (>=0.6.7)"] +extra = ["lxml (>=4.6)", "pydot (>=2.0)", "pygraphviz (>=1.12)", "sympy (>=1.10)"] test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] [[package]] name = "nodeenv" version = "1.8.0" description = "Node.js virtual environment builder" -category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ @@ -2402,11 +2729,44 @@ files = [ [package.dependencies] setuptools = "*" +[[package]] +name = "numba" +version = "0.59.1" +description = "compiling Python code using LLVM" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numba-0.59.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:97385a7f12212c4f4bc28f648720a92514bee79d7063e40ef66c2d30600fd18e"}, + {file = "numba-0.59.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0b77aecf52040de2a1eb1d7e314497b9e56fba17466c80b457b971a25bb1576d"}, + {file = "numba-0.59.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3476a4f641bfd58f35ead42f4dcaf5f132569c4647c6f1360ccf18ee4cda3990"}, + {file = "numba-0.59.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:525ef3f820931bdae95ee5379c670d5c97289c6520726bc6937a4a7d4230ba24"}, + {file = "numba-0.59.1-cp310-cp310-win_amd64.whl", hash = "sha256:990e395e44d192a12105eca3083b61307db7da10e093972ca285c85bef0963d6"}, + {file = "numba-0.59.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:43727e7ad20b3ec23ee4fc642f5b61845c71f75dd2825b3c234390c6d8d64051"}, + {file = "numba-0.59.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:411df625372c77959570050e861981e9d196cc1da9aa62c3d6a836b5cc338966"}, + {file = "numba-0.59.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2801003caa263d1e8497fb84829a7ecfb61738a95f62bc05693fcf1733e978e4"}, + {file = "numba-0.59.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:dd2842fac03be4e5324ebbbd4d2d0c8c0fc6e0df75c09477dd45b288a0777389"}, + {file = "numba-0.59.1-cp311-cp311-win_amd64.whl", hash = "sha256:0594b3dfb369fada1f8bb2e3045cd6c61a564c62e50cf1f86b4666bc721b3450"}, + {file = "numba-0.59.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1cce206a3b92836cdf26ef39d3a3242fec25e07f020cc4feec4c4a865e340569"}, + {file = "numba-0.59.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8c8b4477763cb1fbd86a3be7050500229417bf60867c93e131fd2626edb02238"}, + {file = "numba-0.59.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d80bce4ef7e65bf895c29e3889ca75a29ee01da80266a01d34815918e365835"}, + {file = "numba-0.59.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f7ad1d217773e89a9845886401eaaab0a156a90aa2f179fdc125261fd1105096"}, + {file = "numba-0.59.1-cp312-cp312-win_amd64.whl", hash = "sha256:5bf68f4d69dd3a9f26a9b23548fa23e3bcb9042e2935257b471d2a8d3c424b7f"}, + {file = "numba-0.59.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4e0318ae729de6e5dbe64c75ead1a95eb01fabfe0e2ebed81ebf0344d32db0ae"}, + {file = "numba-0.59.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0f68589740a8c38bb7dc1b938b55d1145244c8353078eea23895d4f82c8b9ec1"}, + {file = "numba-0.59.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:649913a3758891c77c32e2d2a3bcbedf4a69f5fea276d11f9119677c45a422e8"}, + {file = "numba-0.59.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9712808e4545270291d76b9a264839ac878c5eb7d8b6e02c970dc0ac29bc8187"}, + {file = "numba-0.59.1-cp39-cp39-win_amd64.whl", hash = "sha256:8d51ccd7008a83105ad6a0082b6a2b70f1142dc7cfd76deb8c5a862367eb8c86"}, + {file = "numba-0.59.1.tar.gz", hash = "sha256:76f69132b96028d2774ed20415e8c528a34e3299a40581bae178f0994a2f370b"}, +] + +[package.dependencies] +llvmlite = "==0.42.*" +numpy = ">=1.22,<1.27" + [[package]] name = "numpy" version = "1.26.4" description = "Fundamental package for array computing in Python" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2452,7 +2812,6 @@ files = [ name = "nvidia-cublas-cu12" version = "12.1.3.1" description = "CUBLAS native runtime libraries" -category = "main" optional = false python-versions = ">=3" files = [ @@ -2464,7 +2823,6 @@ files = [ name = "nvidia-cuda-cupti-cu12" version = "12.1.105" description = "CUDA profiling tools runtime libs." -category = "main" optional = false python-versions = ">=3" files = [ @@ -2476,7 +2834,6 @@ files = [ name = "nvidia-cuda-nvrtc-cu12" version = "12.1.105" description = "NVRTC native runtime libraries" -category = "main" optional = false python-versions = ">=3" files = [ @@ -2488,7 +2845,6 @@ files = [ name = "nvidia-cuda-runtime-cu12" version = "12.1.105" description = "CUDA Runtime native Libraries" -category = "main" optional = false python-versions = ">=3" files = [ @@ -2500,7 +2856,6 @@ files = [ name = "nvidia-cudnn-cu12" version = "8.9.2.26" description = "cuDNN runtime libraries" -category = "main" optional = false python-versions = ">=3" files = [ @@ -2514,7 +2869,6 @@ nvidia-cublas-cu12 = "*" name = "nvidia-cufft-cu12" version = "11.0.2.54" description = "CUFFT native runtime libraries" -category = "main" optional = false python-versions = ">=3" files = [ @@ -2526,7 +2880,6 @@ files = [ name = "nvidia-curand-cu12" version = "10.3.2.106" description = "CURAND native runtime libraries" -category = "main" optional = false python-versions = ">=3" files = [ @@ -2538,7 +2891,6 @@ files = [ name = "nvidia-cusolver-cu12" version = "11.4.5.107" description = "CUDA solver native runtime libraries" -category = "main" optional = false python-versions = ">=3" files = [ @@ -2555,7 +2907,6 @@ nvidia-nvjitlink-cu12 = "*" name = "nvidia-cusparse-cu12" version = "12.1.0.106" description = "CUSPARSE native runtime libraries" -category = "main" optional = false python-versions = ">=3" files = [ @@ -2568,32 +2919,30 @@ nvidia-nvjitlink-cu12 = "*" [[package]] name = "nvidia-nccl-cu12" -version = "2.19.3" +version = "2.20.5" description = "NVIDIA Collective Communication Library (NCCL) Runtime" -category = "main" optional = false python-versions = ">=3" files = [ - {file = "nvidia_nccl_cu12-2.19.3-py3-none-manylinux1_x86_64.whl", hash = "sha256:a9734707a2c96443331c1e48c717024aa6678a0e2a4cb66b2c364d18cee6b48d"}, + {file = "nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_aarch64.whl", hash = "sha256:1fc150d5c3250b170b29410ba682384b14581db722b2531b0d8d33c595f33d01"}, + {file = "nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl", hash = "sha256:057f6bf9685f75215d0c53bf3ac4a10b3e6578351de307abad9e18a99182af56"}, ] [[package]] name = "nvidia-nvjitlink-cu12" -version = "12.3.101" +version = "12.4.127" description = "Nvidia JIT LTO Library" -category = "main" optional = false python-versions = ">=3" files = [ - {file = "nvidia_nvjitlink_cu12-12.3.101-py3-none-manylinux1_x86_64.whl", hash = "sha256:64335a8088e2b9d196ae8665430bc6a2b7e6ef2eb877a9c735c804bd4ff6467c"}, - {file = "nvidia_nvjitlink_cu12-12.3.101-py3-none-win_amd64.whl", hash = "sha256:1b2e317e437433753530792f13eece58f0aec21a2b05903be7bffe58a606cbd1"}, + {file = "nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl", hash = "sha256:06b3b9b25bf3f8af351d664978ca26a16d2c5127dbd53c0497e28d1fb9611d57"}, + {file = "nvidia_nvjitlink_cu12-12.4.127-py3-none-win_amd64.whl", hash = "sha256:fd9020c501d27d135f983c6d3e244b197a7ccad769e34df53a42e276b0e25fa1"}, ] [[package]] name = "nvidia-nvtx-cu12" version = "12.1.105" description = "NVIDIA Tools Extension" -category = "main" optional = false python-versions = ">=3" files = [ @@ -2601,99 +2950,10 @@ files = [ {file = "nvidia_nvtx_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:65f4d98982b31b60026e0e6de73fbdfc09d08a96f4656dd3665ca616a11e1e82"}, ] -[[package]] -name = "onnx" -version = "1.12.0" -description = "Open Neural Network Exchange" -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "onnx-1.12.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:bdbd2578424c70836f4d0f9dda16c21868ddb07cc8192f9e8a176908b43d694b"}, - {file = "onnx-1.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213e73610173f6b2e99f99a4b0636f80b379c417312079d603806e48ada4ca8b"}, - {file = "onnx-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fd2f4e23078df197bb76a59b9cd8f5a43a6ad2edc035edb3ecfb9042093e05a"}, - {file = "onnx-1.12.0-cp310-cp310-win32.whl", hash = "sha256:23781594bb8b7ee985de1005b3c601648d5b0568a81e01365c48f91d1f5648e4"}, - {file = "onnx-1.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:81a3555fd67be2518bf86096299b48fb9154652596219890abfe90bd43a9ec13"}, - {file = "onnx-1.12.0-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:5578b93dc6c918cec4dee7fb7d9dd3b09d338301ee64ca8b4f28bc217ed42dca"}, - {file = "onnx-1.12.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c11162ffc487167da140f1112f49c4f82d815824f06e58bc3095407699f05863"}, - {file = "onnx-1.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:341c7016e23273e9ffa9b6e301eee95b8c37d0f04df7cedbdb169d2c39524c96"}, - {file = "onnx-1.12.0-cp37-cp37m-win32.whl", hash = "sha256:3c6e6bcffc3f5c1e148df3837dc667fa4c51999788c1b76b0b8fbba607e02da8"}, - {file = "onnx-1.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:8a7aa61aea339bd28f310f4af4f52ce6c4b876386228760b16308efd58f95059"}, - {file = "onnx-1.12.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:56ceb7e094c43882b723cfaa107d85ad673cfdf91faeb28d7dcadacca4f43a07"}, - {file = "onnx-1.12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3629e8258db15d4e2c9b7f1be91a3186719dd94661c218c6f5fde3cc7de3d4d"}, - {file = "onnx-1.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d9a7db54e75529160337232282a4816cc50667dc7dc34be178fd6f6b79d4705"}, - {file = "onnx-1.12.0-cp38-cp38-win32.whl", hash = "sha256:fea5156a03398fe0e23248042d8651c1eaac5f6637d4dd683b4c1f1320b9f7b4"}, - {file = "onnx-1.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:f66d2996e65f490a57b3ae952e4e9189b53cc9fe3f75e601d50d4db2dc1b1cd9"}, - {file = "onnx-1.12.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c39a7a0352c856f1df30dccf527eb6cb4909052e5eaf6fa2772a637324c526aa"}, - {file = "onnx-1.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fab13feb4d94342aae6d357d480f2e47d41b9f4e584367542b21ca6defda9e0a"}, - {file = "onnx-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7a9b3ea02c30efc1d2662337e280266aca491a8e86be0d8a657f874b7cccd1e"}, - {file = "onnx-1.12.0-cp39-cp39-win32.whl", hash = "sha256:f8800f28c746ab06e51ef8449fd1215621f4ddba91be3ffc264658937d38a2af"}, - {file = "onnx-1.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:af90427ca04c6b7b8107c2021e1273227a3ef1a7a01f3073039cae7855a59833"}, - {file = "onnx-1.12.0.tar.gz", hash = "sha256:13b3e77d27523b9dbf4f30dfc9c959455859d5e34e921c44f712d69b8369eff9"}, -] - -[package.dependencies] -numpy = ">=1.16.6" -protobuf = ">=3.12.2,<=3.20.1" -typing-extensions = ">=3.6.2.1" - -[package.extras] -lint = ["clang-format (==13.0.0)", "flake8", "mypy (==0.782)", "types-protobuf (==3.18.4)"] - -[[package]] -name = "onnxruntime" -version = "1.13.1" -description = "ONNX Runtime is a runtime accelerator for Machine Learning models" -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "onnxruntime-1.13.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:3b4e8f2b915fe505ffdc99c80324130ff9da2c52d8d1326c0bce19948523bb6c"}, - {file = "onnxruntime-1.13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0f1087bc219e293194b5e3b2ea8b50bf3e9e1343a49ef51c5b06987e6269c042"}, - {file = "onnxruntime-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0df1240878f13204246453bcb645ffa759e7dd93e06d210b7fe0defe88942fd3"}, - {file = "onnxruntime-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:083ef4448790a7c1fa4efebf4c1b15db95c4e2dbd3c3984018f57fe982c30276"}, - {file = "onnxruntime-1.13.1-cp310-cp310-manylinux_2_27_aarch64.whl", hash = "sha256:b488fe1a0c3afce90d22040d898862fb24d3b331644f5e1aec8cfd6a807fc987"}, - {file = "onnxruntime-1.13.1-cp310-cp310-manylinux_2_27_x86_64.whl", hash = "sha256:f060f7883c27eaf4ed7490f90cd72cdf96c80e4d74133525c6db5ba06f71623d"}, - {file = "onnxruntime-1.13.1-cp310-cp310-win32.whl", hash = "sha256:68074af35c1a79c9ee856ef8192a72099d2b17ad240b45764e95e65f58ed71c9"}, - {file = "onnxruntime-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:f9011384e792befdcde20860ab57294b3b9de5504a85b85818a8b242600052d7"}, - {file = "onnxruntime-1.13.1-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:97e9e38bfa168f541c3996a4c4fd57f886d02958e7de97ac167fd27118334a33"}, - {file = "onnxruntime-1.13.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc491fc9a3474cbb40f3e04ea28687791d43a5eb3f55b62a803f88826aa512b3"}, - {file = "onnxruntime-1.13.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6941cd11e514b4bbc7408de13d041430ac283f2e55446d9ae85a6cc133ab002b"}, - {file = "onnxruntime-1.13.1-cp37-cp37m-manylinux_2_27_aarch64.whl", hash = "sha256:343d4205631daf3d18a251212d5a04daf1f1ea1c34323042e7fc8deae0a358da"}, - {file = "onnxruntime-1.13.1-cp37-cp37m-manylinux_2_27_x86_64.whl", hash = "sha256:d85e6c5a12c1055fec9e24023dd22506d1243417bed0ac26caa9b6123c10c242"}, - {file = "onnxruntime-1.13.1-cp37-cp37m-win32.whl", hash = "sha256:ad589c249efcba104f3147df00fbab828855783aa3748f49ee3e04ff69ddf65d"}, - {file = "onnxruntime-1.13.1-cp37-cp37m-win_amd64.whl", hash = "sha256:aaa33c79cfe2ac145d27166c59a216783951090a679d19c5b49f40f71606cf2d"}, - {file = "onnxruntime-1.13.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f19697f9846e5518ea4f6c8b78c0f3fbd7f1b9b2fdef8dfc6eb7751b8e7e1edc"}, - {file = "onnxruntime-1.13.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f523192616479b7f8a50bd02aa775e1256c90a7bc4c034bdeed9bd78a55a6e7a"}, - {file = "onnxruntime-1.13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:852d7f26da6bb060cbaedb1f92cbe3b0b6e874b3169c20f9a55e656ff2d62742"}, - {file = "onnxruntime-1.13.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a436eb49c488ef01b4bd42ecad0a363ebf32ea7af3daa3a9e1cc35fdb8a8ad01"}, - {file = "onnxruntime-1.13.1-cp38-cp38-manylinux_2_27_aarch64.whl", hash = "sha256:93d803c5e01f24a3c65434d2238093c2d10993fd96a6cfb34d67f1ccd4224dc8"}, - {file = "onnxruntime-1.13.1-cp38-cp38-manylinux_2_27_x86_64.whl", hash = "sha256:7973bb9d3dd886d6f36b6d97f434c052531cf0ec4b5c05fd5c4c90d0061f02cf"}, - {file = "onnxruntime-1.13.1-cp38-cp38-win32.whl", hash = "sha256:c19cf50f51c8e73b7c4c2978916d298b969c871bb8ea74c74c3f92c4f9811225"}, - {file = "onnxruntime-1.13.1-cp38-cp38-win_amd64.whl", hash = "sha256:d541174f3d1d4371c09242faa2d6c84a2de861f1aee771d2248cfc7f67ffb708"}, - {file = "onnxruntime-1.13.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:5336f5b9f5ba2bfb2586eb23b7346b50bb102dd8a15d0ce21b20d098da8984b0"}, - {file = "onnxruntime-1.13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b2b833c0acee7790f553a70ffa94999278886efe55f6f6bcaf57996e54a6724b"}, - {file = "onnxruntime-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:af07e43158a24c7ce6056dcd58cfa5c990193889e7bb2bea8300ce93e9c0584b"}, - {file = "onnxruntime-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4dbec4f7c9aa5b09e4c5d3e4d2231820d23660d70939136215562e3ea9d9e629"}, - {file = "onnxruntime-1.13.1-cp39-cp39-manylinux_2_27_aarch64.whl", hash = "sha256:d31681cf8e3570631ce7305e5a09babcf6362112da1f0b88031f74d46efbe18c"}, - {file = "onnxruntime-1.13.1-cp39-cp39-manylinux_2_27_x86_64.whl", hash = "sha256:67785843d393c59c4183cfd3eabbddd23620d0b56472dff679b68c8b94dd4a07"}, - {file = "onnxruntime-1.13.1-cp39-cp39-win32.whl", hash = "sha256:5f9b4533bd8d879f4cfd015a17af021825a9a0ec68e2229971605dac5f4430d3"}, - {file = "onnxruntime-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:76fda2c7c797f799b679be043612de0da51ee91319581310b65f35658d6f0c0c"}, -] - -[package.dependencies] -coloredlogs = "*" -flatbuffers = "*" -numpy = ">=1.21.6" -packaging = "*" -protobuf = "*" -sympy = "*" - [[package]] name = "outcome" version = "1.3.0.post0" description = "Capture the outcome of Python function calls." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2706,111 +2966,111 @@ attrs = ">=19.2.0" [[package]] name = "packaging" -version = "23.2" +version = "24.0" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, - {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, + {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, + {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, ] [[package]] name = "pandas" -version = "2.2.1" +version = "2.0.3" description = "Powerful data structures for data analysis, time series, and statistics" -category = "main" optional = false -python-versions = ">=3.9" +python-versions = ">=3.8" files = [ - {file = "pandas-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8df8612be9cd1c7797c93e1c5df861b2ddda0b48b08f2c3eaa0702cf88fb5f88"}, - {file = "pandas-2.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0f573ab277252ed9aaf38240f3b54cfc90fff8e5cab70411ee1d03f5d51f3944"}, - {file = "pandas-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f02a3a6c83df4026e55b63c1f06476c9aa3ed6af3d89b4f04ea656ccdaaaa359"}, - {file = "pandas-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c38ce92cb22a4bea4e3929429aa1067a454dcc9c335799af93ba9be21b6beb51"}, - {file = "pandas-2.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c2ce852e1cf2509a69e98358e8458775f89599566ac3775e70419b98615f4b06"}, - {file = "pandas-2.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:53680dc9b2519cbf609c62db3ed7c0b499077c7fefda564e330286e619ff0dd9"}, - {file = "pandas-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:94e714a1cca63e4f5939cdce5f29ba8d415d85166be3441165edd427dc9f6bc0"}, - {file = "pandas-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f821213d48f4ab353d20ebc24e4faf94ba40d76680642fb7ce2ea31a3ad94f9b"}, - {file = "pandas-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c70e00c2d894cb230e5c15e4b1e1e6b2b478e09cf27cc593a11ef955b9ecc81a"}, - {file = "pandas-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e97fbb5387c69209f134893abc788a6486dbf2f9e511070ca05eed4b930b1b02"}, - {file = "pandas-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101d0eb9c5361aa0146f500773395a03839a5e6ecde4d4b6ced88b7e5a1a6403"}, - {file = "pandas-2.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7d2ed41c319c9fb4fd454fe25372028dfa417aacb9790f68171b2e3f06eae8cd"}, - {file = "pandas-2.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:af5d3c00557d657c8773ef9ee702c61dd13b9d7426794c9dfeb1dc4a0bf0ebc7"}, - {file = "pandas-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:06cf591dbaefb6da9de8472535b185cba556d0ce2e6ed28e21d919704fef1a9e"}, - {file = "pandas-2.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:88ecb5c01bb9ca927ebc4098136038519aa5d66b44671861ffab754cae75102c"}, - {file = "pandas-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:04f6ec3baec203c13e3f8b139fb0f9f86cd8c0b94603ae3ae8ce9a422e9f5bee"}, - {file = "pandas-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a935a90a76c44fe170d01e90a3594beef9e9a6220021acfb26053d01426f7dc2"}, - {file = "pandas-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c391f594aae2fd9f679d419e9a4d5ba4bce5bb13f6a989195656e7dc4b95c8f0"}, - {file = "pandas-2.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9d1265545f579edf3f8f0cb6f89f234f5e44ba725a34d86535b1a1d38decbccc"}, - {file = "pandas-2.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:11940e9e3056576ac3244baef2fedade891977bcc1cb7e5cc8f8cc7d603edc89"}, - {file = "pandas-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:4acf681325ee1c7f950d058b05a820441075b0dd9a2adf5c4835b9bc056bf4fb"}, - {file = "pandas-2.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9bd8a40f47080825af4317d0340c656744f2bfdb6819f818e6ba3cd24c0e1397"}, - {file = "pandas-2.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:df0c37ebd19e11d089ceba66eba59a168242fc6b7155cba4ffffa6eccdfb8f16"}, - {file = "pandas-2.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:739cc70eaf17d57608639e74d63387b0d8594ce02f69e7a0b046f117974b3019"}, - {file = "pandas-2.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9d3558d263073ed95e46f4650becff0c5e1ffe0fc3a015de3c79283dfbdb3df"}, - {file = "pandas-2.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4aa1d8707812a658debf03824016bf5ea0d516afdea29b7dc14cf687bc4d4ec6"}, - {file = "pandas-2.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:76f27a809cda87e07f192f001d11adc2b930e93a2b0c4a236fde5429527423be"}, - {file = "pandas-2.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:1ba21b1d5c0e43416218db63037dbe1a01fc101dc6e6024bcad08123e48004ab"}, - {file = "pandas-2.2.1.tar.gz", hash = "sha256:0ab90f87093c13f3e8fa45b48ba9f39181046e8f3317d3aadb2fffbb1b978572"}, + {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, + {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, + {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183"}, + {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0"}, + {file = "pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210"}, + {file = "pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e"}, + {file = "pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8"}, + {file = "pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26"}, + {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d"}, + {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df"}, + {file = "pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd"}, + {file = "pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b"}, + {file = "pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061"}, + {file = "pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5"}, + {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089"}, + {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0"}, + {file = "pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02"}, + {file = "pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78"}, + {file = "pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b"}, + {file = "pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e"}, + {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b"}, + {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641"}, + {file = "pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682"}, + {file = "pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc"}, + {file = "pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c"}, ] [package.dependencies] numpy = [ - {version = ">=1.22.4,<2", markers = "python_version < \"3.11\""}, - {version = ">=1.23.2,<2", markers = "python_version == \"3.11\""}, - {version = ">=1.26.0,<2", markers = "python_version >= \"3.12\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" -tzdata = ">=2022.7" +tzdata = ">=2022.1" [package.extras] -all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] -aws = ["s3fs (>=2022.11.0)"] -clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] -compression = ["zstandard (>=0.19.0)"] -computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] -consortium-standard = ["dataframe-api-compat (>=0.1.7)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] -feather = ["pyarrow (>=10.0.1)"] -fss = ["fsspec (>=2022.11.0)"] -gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] -hdf5 = ["tables (>=3.8.0)"] -html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] -mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] -parquet = ["pyarrow (>=10.0.1)"] -performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] -plot = ["matplotlib (>=3.6.3)"] -postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] -pyarrow = ["pyarrow (>=10.0.1)"] -spss = ["pyreadstat (>=1.2.0)"] -sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] -test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.9.2)"] +all = ["PyQt5 (>=5.15.1)", "SQLAlchemy (>=1.4.16)", "beautifulsoup4 (>=4.9.3)", "bottleneck (>=1.3.2)", "brotlipy (>=0.7.0)", "fastparquet (>=0.6.3)", "fsspec (>=2021.07.0)", "gcsfs (>=2021.07.0)", "html5lib (>=1.1)", "hypothesis (>=6.34.2)", "jinja2 (>=3.0.0)", "lxml (>=4.6.3)", "matplotlib (>=3.6.1)", "numba (>=0.53.1)", "numexpr (>=2.7.3)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pandas-gbq (>=0.15.0)", "psycopg2 (>=2.8.6)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)", "python-snappy (>=0.6.0)", "pyxlsb (>=1.0.8)", "qtpy (>=2.2.0)", "s3fs (>=2021.08.0)", "scipy (>=1.7.1)", "tables (>=3.6.1)", "tabulate (>=0.8.9)", "xarray (>=0.21.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)", "zstandard (>=0.15.2)"] +aws = ["s3fs (>=2021.08.0)"] +clipboard = ["PyQt5 (>=5.15.1)", "qtpy (>=2.2.0)"] +compression = ["brotlipy (>=0.7.0)", "python-snappy (>=0.6.0)", "zstandard (>=0.15.2)"] +computation = ["scipy (>=1.7.1)", "xarray (>=0.21.0)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pyxlsb (>=1.0.8)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)"] +feather = ["pyarrow (>=7.0.0)"] +fss = ["fsspec (>=2021.07.0)"] +gcp = ["gcsfs (>=2021.07.0)", "pandas-gbq (>=0.15.0)"] +hdf5 = ["tables (>=3.6.1)"] +html = ["beautifulsoup4 (>=4.9.3)", "html5lib (>=1.1)", "lxml (>=4.6.3)"] +mysql = ["SQLAlchemy (>=1.4.16)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.0.0)", "tabulate (>=0.8.9)"] +parquet = ["pyarrow (>=7.0.0)"] +performance = ["bottleneck (>=1.3.2)", "numba (>=0.53.1)", "numexpr (>=2.7.1)"] +plot = ["matplotlib (>=3.6.1)"] +postgresql = ["SQLAlchemy (>=1.4.16)", "psycopg2 (>=2.8.6)"] +spss = ["pyreadstat (>=1.1.2)"] +sql-other = ["SQLAlchemy (>=1.4.16)"] +test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.6.3)"] [[package]] name = "parso" -version = "0.8.3" +version = "0.8.4" description = "A Python Parser" -category = "dev" optional = false python-versions = ">=3.6" files = [ - {file = "parso-0.8.3-py2.py3-none-any.whl", hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"}, - {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"}, + {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, + {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, ] [package.extras] -qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] -testing = ["docopt", "pytest (<6.0.0)"] +qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] +testing = ["docopt", "pytest"] + +[[package]] +name = "pastel" +version = "0.2.1" +description = "Bring colors to your terminal." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pastel-0.2.1-py2.py3-none-any.whl", hash = "sha256:4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364"}, + {file = "pastel-0.2.1.tar.gz", hash = "sha256:e6581ac04e973cac858828c6202c1e1e81fee1dc7de7683f3e1ffe0bfd8a573d"}, +] [[package]] name = "pathspec" version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2818,11 +3078,28 @@ files = [ {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] +[[package]] +name = "patsy" +version = "0.5.6" +description = "A Python package for describing statistical models and for building design matrices." +optional = false +python-versions = "*" +files = [ + {file = "patsy-0.5.6-py2.py3-none-any.whl", hash = "sha256:19056886fd8fa71863fa32f0eb090267f21fb74be00f19f5c70b2e9d76c883c6"}, + {file = "patsy-0.5.6.tar.gz", hash = "sha256:95c6d47a7222535f84bff7f63d7303f2e297747a598db89cf5c67f0c0c7d2cdb"}, +] + +[package.dependencies] +numpy = ">=1.4" +six = "*" + +[package.extras] +test = ["pytest", "pytest-cov", "scipy"] + [[package]] name = "pexpect" version = "4.9.0" description = "Pexpect allows easy control of interactive console applications." -category = "dev" optional = false python-versions = "*" files = [ @@ -2835,80 +3112,80 @@ ptyprocess = ">=0.5" [[package]] name = "pillow" -version = "10.2.0" +version = "10.3.0" description = "Python Imaging Library (Fork)" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, - {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, - {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"}, - {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"}, - {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"}, - {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"}, - {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"}, - {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"}, - {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"}, - {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"}, - {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"}, - {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"}, - {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"}, - {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"}, - {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"}, - {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"}, - {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"}, - {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"}, - {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"}, - {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"}, - {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"}, - {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"}, - {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"}, - {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"}, - {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"}, - {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"}, - {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"}, - {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"}, - {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"}, - {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"}, - {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"}, - {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"}, - {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"}, - {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"}, - {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"}, - {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"}, - {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"}, - {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"}, - {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"}, - {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"}, - {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"}, - {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"}, - {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"}, - {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"}, - {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"}, - {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"}, - {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"}, - {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"}, - {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"}, - {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"}, - {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"}, - {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"}, - {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"}, - {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"}, - {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"}, - {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"}, + {file = "pillow-10.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45"}, + {file = "pillow-10.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c"}, + {file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf"}, + {file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599"}, + {file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475"}, + {file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf"}, + {file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3"}, + {file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5"}, + {file = "pillow-10.3.0-cp310-cp310-win32.whl", hash = "sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2"}, + {file = "pillow-10.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f"}, + {file = "pillow-10.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b"}, + {file = "pillow-10.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:5f77cf66e96ae734717d341c145c5949c63180842a545c47a0ce7ae52ca83795"}, + {file = "pillow-10.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e4b878386c4bf293578b48fc570b84ecfe477d3b77ba39a6e87150af77f40c57"}, + {file = "pillow-10.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fdcbb4068117dfd9ce0138d068ac512843c52295ed996ae6dd1faf537b6dbc27"}, + {file = "pillow-10.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9797a6c8fe16f25749b371c02e2ade0efb51155e767a971c61734b1bf6293994"}, + {file = "pillow-10.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9e91179a242bbc99be65e139e30690e081fe6cb91a8e77faf4c409653de39451"}, + {file = "pillow-10.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:1b87bd9d81d179bd8ab871603bd80d8645729939f90b71e62914e816a76fc6bd"}, + {file = "pillow-10.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:81d09caa7b27ef4e61cb7d8fbf1714f5aec1c6b6c5270ee53504981e6e9121ad"}, + {file = "pillow-10.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:048ad577748b9fa4a99a0548c64f2cb8d672d5bf2e643a739ac8faff1164238c"}, + {file = "pillow-10.3.0-cp311-cp311-win32.whl", hash = "sha256:7161ec49ef0800947dc5570f86568a7bb36fa97dd09e9827dc02b718c5643f09"}, + {file = "pillow-10.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:8eb0908e954d093b02a543dc963984d6e99ad2b5e36503d8a0aaf040505f747d"}, + {file = "pillow-10.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:4e6f7d1c414191c1199f8996d3f2282b9ebea0945693fb67392c75a3a320941f"}, + {file = "pillow-10.3.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:e46f38133e5a060d46bd630faa4d9fa0202377495df1f068a8299fd78c84de84"}, + {file = "pillow-10.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:50b8eae8f7334ec826d6eeffaeeb00e36b5e24aa0b9df322c247539714c6df19"}, + {file = "pillow-10.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d3bea1c75f8c53ee4d505c3e67d8c158ad4df0d83170605b50b64025917f338"}, + {file = "pillow-10.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19aeb96d43902f0a783946a0a87dbdad5c84c936025b8419da0a0cd7724356b1"}, + {file = "pillow-10.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:74d28c17412d9caa1066f7a31df8403ec23d5268ba46cd0ad2c50fb82ae40462"}, + {file = "pillow-10.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ff61bfd9253c3915e6d41c651d5f962da23eda633cf02262990094a18a55371a"}, + {file = "pillow-10.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d886f5d353333b4771d21267c7ecc75b710f1a73d72d03ca06df49b09015a9ef"}, + {file = "pillow-10.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4b5ec25d8b17217d635f8935dbc1b9aa5907962fae29dff220f2659487891cd3"}, + {file = "pillow-10.3.0-cp312-cp312-win32.whl", hash = "sha256:51243f1ed5161b9945011a7360e997729776f6e5d7005ba0c6879267d4c5139d"}, + {file = "pillow-10.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:412444afb8c4c7a6cc11a47dade32982439925537e483be7c0ae0cf96c4f6a0b"}, + {file = "pillow-10.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:798232c92e7665fe82ac085f9d8e8ca98826f8e27859d9a96b41d519ecd2e49a"}, + {file = "pillow-10.3.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:4eaa22f0d22b1a7e93ff0a596d57fdede2e550aecffb5a1ef1106aaece48e96b"}, + {file = "pillow-10.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cd5e14fbf22a87321b24c88669aad3a51ec052eb145315b3da3b7e3cc105b9a2"}, + {file = "pillow-10.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1530e8f3a4b965eb6a7785cf17a426c779333eb62c9a7d1bbcf3ffd5bf77a4aa"}, + {file = "pillow-10.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d512aafa1d32efa014fa041d38868fda85028e3f930a96f85d49c7d8ddc0383"}, + {file = "pillow-10.3.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:339894035d0ede518b16073bdc2feef4c991ee991a29774b33e515f1d308e08d"}, + {file = "pillow-10.3.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:aa7e402ce11f0885305bfb6afb3434b3cd8f53b563ac065452d9d5654c7b86fd"}, + {file = "pillow-10.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0ea2a783a2bdf2a561808fe4a7a12e9aa3799b701ba305de596bc48b8bdfce9d"}, + {file = "pillow-10.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c78e1b00a87ce43bb37642c0812315b411e856a905d58d597750eb79802aaaa3"}, + {file = "pillow-10.3.0-cp38-cp38-win32.whl", hash = "sha256:72d622d262e463dfb7595202d229f5f3ab4b852289a1cd09650362db23b9eb0b"}, + {file = "pillow-10.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:2034f6759a722da3a3dbd91a81148cf884e91d1b747992ca288ab88c1de15999"}, + {file = "pillow-10.3.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:2ed854e716a89b1afcedea551cd85f2eb2a807613752ab997b9974aaa0d56936"}, + {file = "pillow-10.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dc1a390a82755a8c26c9964d457d4c9cbec5405896cba94cf51f36ea0d855002"}, + {file = "pillow-10.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4203efca580f0dd6f882ca211f923168548f7ba334c189e9eab1178ab840bf60"}, + {file = "pillow-10.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3102045a10945173d38336f6e71a8dc71bcaeed55c3123ad4af82c52807b9375"}, + {file = "pillow-10.3.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:6fb1b30043271ec92dc65f6d9f0b7a830c210b8a96423074b15c7bc999975f57"}, + {file = "pillow-10.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:1dfc94946bc60ea375cc39cff0b8da6c7e5f8fcdc1d946beb8da5c216156ddd8"}, + {file = "pillow-10.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b09b86b27a064c9624d0a6c54da01c1beaf5b6cadfa609cf63789b1d08a797b9"}, + {file = "pillow-10.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d3b2348a78bc939b4fed6552abfd2e7988e0f81443ef3911a4b8498ca084f6eb"}, + {file = "pillow-10.3.0-cp39-cp39-win32.whl", hash = "sha256:45ebc7b45406febf07fef35d856f0293a92e7417ae7933207e90bf9090b70572"}, + {file = "pillow-10.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:0ba26351b137ca4e0db0342d5d00d2e355eb29372c05afd544ebf47c0956ffeb"}, + {file = "pillow-10.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:50fd3f6b26e3441ae07b7c979309638b72abc1a25da31a81a7fbd9495713ef4f"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3"}, + {file = "pillow-10.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a"}, + {file = "pillow-10.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591"}, + {file = "pillow-10.3.0.tar.gz", hash = "sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d"}, ] [package.extras] @@ -2921,46 +3198,113 @@ xmp = ["defusedxml"] [[package]] name = "platformdirs" -version = "4.2.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" +version = "4.2.1" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, - {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, + {file = "platformdirs-4.2.1-py3-none-any.whl", hash = "sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1"}, + {file = "platformdirs-4.2.1.tar.gz", hash = "sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf"}, ] [package.extras] docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] +type = ["mypy (>=1.8)"] [[package]] name = "pluggy" -version = "1.4.0" +version = "1.5.0" description = "plugin and hook calling mechanisms for python" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"}, - {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"}, + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, ] [package.extras] dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] +[[package]] +name = "poethepoet" +version = "0.10.0" +description = "A task runner that works well with poetry." +optional = false +python-versions = ">=3.6,<4.0" +files = [ + {file = "poethepoet-0.10.0-py3-none-any.whl", hash = "sha256:6fb3021603d4421c6fcc40072bbcf150a6c52ef70ff4d3be089b8b04e015ef5a"}, + {file = "poethepoet-0.10.0.tar.gz", hash = "sha256:70b97cb194b978dc464c70793e85e6f746cddf82b84a38bfb135946ad71ae19c"}, +] + +[package.dependencies] +pastel = ">=0.2.0,<0.3.0" +tomlkit = ">=0.6.0,<1.0.0" + +[[package]] +name = "pot" +version = "0.9.3" +description = "Python Optimal Transport Library" +optional = false +python-versions = ">=3.6" +files = [ + {file = "POT-0.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:00ceb63cfc49e27fab2829646ed24f553bd7d3584eb8ba83fc856e7a757b0b8c"}, + {file = "POT-0.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:590b583e43f401435dac2b83da9ca244abbe21f606477c9b67bbc45e46103ed7"}, + {file = "POT-0.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:35b172ec33dbfbe44f66ca16fc16a77e0eb68439026ba920f73bd3602f18d92e"}, + {file = "POT-0.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88544f3811eef1f9e9e50d8e68f73a3bf3d84886fbe7be2389cf57d86101e274"}, + {file = "POT-0.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dfaf40a74c5131c1c49f5624c170cb4de24f294ddef1cff6c494321c134d6f2d"}, + {file = "POT-0.9.3-cp310-cp310-win32.whl", hash = "sha256:30df60ba279591583ce2921e0e78bdcb27337713f433ee0b7385f77e79d63a69"}, + {file = "POT-0.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:88d4d06cec340c53d1abe9369cb905fe953bd5bf126b0e589d5254e3f5d86592"}, + {file = "POT-0.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:73fc8a643ed4c95dacad4dfb8a4dd50beda3853354b923c4b442a97f5e86db03"}, + {file = "POT-0.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b1888da5458269648990c292ab5f2ad1f60d8496440af45361a1075250af58cd"}, + {file = "POT-0.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:787dae6ba7f72a927a9f8a7e9e4e844935153a09d2a0834548c1b9cb377486d9"}, + {file = "POT-0.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd434bc9659af8ed814200473bfdfc67573db08442bb924324f238903f36bb60"}, + {file = "POT-0.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34019967a47120e9460fb344162d010103e1b1fbf96aa8872b27a07dd7f51144"}, + {file = "POT-0.9.3-cp311-cp311-win32.whl", hash = "sha256:596b296d5522cd55dade5c110442281a1189dc5e5449eb948e4d7eaed2f74503"}, + {file = "POT-0.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:fd2f8fa78b364d51a4dc397d8c4f45dd74df3a904b7c03481aebaf39ebc9eafb"}, + {file = "POT-0.9.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3e12fbdf9bf6d5de0ecb56277da85036e647d1cdf57cfd087ee57d3e83c19d0d"}, + {file = "POT-0.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ee6269aa3ce7d9706e021f23aea91b932cfd4c264869ee89956ebce40cbe2cd3"}, + {file = "POT-0.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3cb28fc18fb1acc095999b80844458a5645aa5b09ea2d8647be48257d1c6dddf"}, + {file = "POT-0.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16bb37c7d20da3a6ff7b4f0c0c5ff98e1e097323e560811392e963440994e661"}, + {file = "POT-0.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b29232b6c1cca507d969a8797aef0cf87631d77e28e03cfb5b62d64d9d63044e"}, + {file = "POT-0.9.3-cp312-cp312-win32.whl", hash = "sha256:b20bf5cca6776e1d92421a14bc14307a0914d172c67e5a76acaf1a3ecfe7d02b"}, + {file = "POT-0.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:e9e419868ae64c397d932a43d98cc2d1464b6060815775037a070fd2e1d4eafa"}, + {file = "POT-0.9.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:1e401b5ae17d95d33ef48c851df7aaac4711e7af21705ba9b5fae7bf53ae9217"}, + {file = "POT-0.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db3ac04a2f272855501a7d8117969b6dff15a146986f7a5c1f0e6d9f1840fa73"}, + {file = "POT-0.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9268e48a1a43e947fdb78a89e3866b484c559681ed88bb178ac5b3dccb217579"}, + {file = "POT-0.9.3-cp37-cp37m-win32.whl", hash = "sha256:0dbe4878419ae1edbd029b2e166406f8fd1387356bd18ab2fd9a3c656bc4125a"}, + {file = "POT-0.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:6f114b5ab93039c0426afa59be6db1fa6b2e251dc3e1e7f7b348a1334f2c0061"}, + {file = "POT-0.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:aab4eb2b4bbfe01fee10bb1c2157891883cc63fa70c2bc2a8460a486c77de9f3"}, + {file = "POT-0.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:09badce0c77cdc94422e74aa81fdcf0ad8e6e826bf7eafcb8a1701bd9ff5f393"}, + {file = "POT-0.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:18f2c3905e0678bf397890f242ae196afaa25ac4dec5f06ef6ae30921adc0614"}, + {file = "POT-0.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74cc9a8ab92329c50b0df74b3be19f282860aa7f1abddf0c149fb2f5e96d18bb"}, + {file = "POT-0.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36b0377111e50a8008b29bcfb092aac8594f183716993369f2e2f3ff746dacd7"}, + {file = "POT-0.9.3-cp38-cp38-win32.whl", hash = "sha256:342161c182f3b4719c4424bf3d852b30f7cb794f17166aa64965b2408355d44a"}, + {file = "POT-0.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:a38f573bddf670dee651a6df220c18f30f71c74e4ec9ac398b7937ca9adfc0ff"}, + {file = "POT-0.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5b72b204af2d6a236dfc457767f5e9ad3cca60e2ee3cf0f909c0028be95f7b42"}, + {file = "POT-0.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ec4482888de48d17ad4d8fe905bd186a6c41f8dc907cda9d0468331a907e2419"}, + {file = "POT-0.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b19c0a8051d80e6d55e0dfd4473f7841ef30167b3013c95eedbaba7acc385dea"}, + {file = "POT-0.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aede827854d868fb4ec9e8aaeac97f13fdd2a1313c16d06d4ccae10a92e272a7"}, + {file = "POT-0.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:057246783b90936d7ce32b7bb27e1cfa59731eb95898ea5f756e4d1de6e9ae3f"}, + {file = "POT-0.9.3-cp39-cp39-win32.whl", hash = "sha256:fc7676338404001ad61050610494b7b5ab496f0533ce29f1d44cff833efd80d8"}, + {file = "POT-0.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:f391982d5b9877faabac21ec1bccfb5567b0fc8305770277bc87fdff4563bd5b"}, + {file = "POT-0.9.3.tar.gz", hash = "sha256:eecf2394390a73472e727ef75f7c801fc47509039f00c40f8fc64fdeea617c86"}, +] + +[package.dependencies] +numpy = ">=1.16" +scipy = ">=1.6" + [[package]] name = "pre-commit" -version = "3.6.2" +version = "3.7.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." -category = "dev" optional = false python-versions = ">=3.9" files = [ - {file = "pre_commit-3.6.2-py2.py3-none-any.whl", hash = "sha256:ba637c2d7a670c10daedc059f5c49b5bd0aadbccfcd7ec15592cf9665117532c"}, - {file = "pre_commit-3.6.2.tar.gz", hash = "sha256:c3ef34f463045c88658c5b99f38c1e297abdcc0ff13f98d3370055fbbfabc67e"}, + {file = "pre_commit-3.7.0-py2.py3-none-any.whl", hash = "sha256:5eae9e10c2b5ac51577c3452ec0a490455c45a0533f7960f993a0d01e59decab"}, + {file = "pre_commit-3.7.0.tar.gz", hash = "sha256:e209d61b8acdcf742404408531f0c37d49d2c734fd7cff2d6076083d191cb060"}, ] [package.dependencies] @@ -2970,11 +3314,24 @@ nodeenv = ">=0.11.1" pyyaml = ">=5.1" virtualenv = ">=20.10.0" +[[package]] +name = "pretty-errors" +version = "1.2.25" +description = "Prettifies Python exception output to make it legible." +optional = false +python-versions = "*" +files = [ + {file = "pretty_errors-1.2.25-py3-none-any.whl", hash = "sha256:8ce68ccd99e0f2a099265c8c1f1c23b7c60a15d69bb08816cb336e237d5dc983"}, + {file = "pretty_errors-1.2.25.tar.gz", hash = "sha256:a16ba5c752c87c263bf92f8b4b58624e3b1e29271a9391f564f12b86e93c6755"}, +] + +[package.dependencies] +colorama = "*" + [[package]] name = "prompt-toolkit" version = "3.0.43" description = "Library for building powerful interactive command lines in Python" -category = "dev" optional = false python-versions = ">=3.7.0" files = [ @@ -2985,45 +3342,10 @@ files = [ [package.dependencies] wcwidth = "*" -[[package]] -name = "protobuf" -version = "3.20.1" -description = "Protocol Buffers" -category = "main" -optional = false -python-versions = ">=3.7" -files = [ - {file = "protobuf-3.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3cc797c9d15d7689ed507b165cd05913acb992d78b379f6014e013f9ecb20996"}, - {file = "protobuf-3.20.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:ff8d8fa42675249bb456f5db06c00de6c2f4c27a065955917b28c4f15978b9c3"}, - {file = "protobuf-3.20.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cd68be2559e2a3b84f517fb029ee611546f7812b1fdd0aa2ecc9bc6ec0e4fdde"}, - {file = "protobuf-3.20.1-cp310-cp310-win32.whl", hash = "sha256:9016d01c91e8e625141d24ec1b20fed584703e527d28512aa8c8707f105a683c"}, - {file = "protobuf-3.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:32ca378605b41fd180dfe4e14d3226386d8d1b002ab31c969c366549e66a2bb7"}, - {file = "protobuf-3.20.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9be73ad47579abc26c12024239d3540e6b765182a91dbc88e23658ab71767153"}, - {file = "protobuf-3.20.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:097c5d8a9808302fb0da7e20edf0b8d4703274d140fd25c5edabddcde43e081f"}, - {file = "protobuf-3.20.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e250a42f15bf9d5b09fe1b293bdba2801cd520a9f5ea2d7fb7536d4441811d20"}, - {file = "protobuf-3.20.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cdee09140e1cd184ba9324ec1df410e7147242b94b5f8b0c64fc89e38a8ba531"}, - {file = "protobuf-3.20.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:af0ebadc74e281a517141daad9d0f2c5d93ab78e9d455113719a45a49da9db4e"}, - {file = "protobuf-3.20.1-cp37-cp37m-win32.whl", hash = "sha256:755f3aee41354ae395e104d62119cb223339a8f3276a0cd009ffabfcdd46bb0c"}, - {file = "protobuf-3.20.1-cp37-cp37m-win_amd64.whl", hash = "sha256:62f1b5c4cd6c5402b4e2d63804ba49a327e0c386c99b1675c8a0fefda23b2067"}, - {file = "protobuf-3.20.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:06059eb6953ff01e56a25cd02cca1a9649a75a7e65397b5b9b4e929ed71d10cf"}, - {file = "protobuf-3.20.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:cb29edb9eab15742d791e1025dd7b6a8f6fcb53802ad2f6e3adcb102051063ab"}, - {file = "protobuf-3.20.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:69ccfdf3657ba59569c64295b7d51325f91af586f8d5793b734260dfe2e94e2c"}, - {file = "protobuf-3.20.1-cp38-cp38-win32.whl", hash = "sha256:dd5789b2948ca702c17027c84c2accb552fc30f4622a98ab5c51fcfe8c50d3e7"}, - {file = "protobuf-3.20.1-cp38-cp38-win_amd64.whl", hash = "sha256:77053d28427a29987ca9caf7b72ccafee011257561259faba8dd308fda9a8739"}, - {file = "protobuf-3.20.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6f50601512a3d23625d8a85b1638d914a0970f17920ff39cec63aaef80a93fb7"}, - {file = "protobuf-3.20.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:284f86a6207c897542d7e956eb243a36bb8f9564c1742b253462386e96c6b78f"}, - {file = "protobuf-3.20.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7403941f6d0992d40161aa8bb23e12575637008a5a02283a930addc0508982f9"}, - {file = "protobuf-3.20.1-cp39-cp39-win32.whl", hash = "sha256:db977c4ca738dd9ce508557d4fce0f5aebd105e158c725beec86feb1f6bc20d8"}, - {file = "protobuf-3.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:7e371f10abe57cee5021797126c93479f59fccc9693dafd6bd5633ab67808a91"}, - {file = "protobuf-3.20.1-py2.py3-none-any.whl", hash = "sha256:adfc6cf69c7f8c50fd24c793964eef18f0ac321315439d94945820612849c388"}, - {file = "protobuf-3.20.1.tar.gz", hash = "sha256:adc31566d027f45efe3f44eeb5b1f329da43891634d61c75a5944e9be6dd42c9"}, -] - [[package]] name = "psutil" version = "5.9.8" description = "Cross-platform lib for process and system monitoring in Python." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -3052,7 +3374,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "ptyprocess" version = "0.7.0" description = "Run a subprocess in a pseudo terminal" -category = "dev" optional = false python-versions = "*" files = [ @@ -3064,7 +3385,6 @@ files = [ name = "pure-eval" version = "0.2.2" description = "Safely evaluate AST nodes without side effects" -category = "dev" optional = false python-versions = "*" files = [ @@ -3079,7 +3399,6 @@ tests = ["pytest"] name = "pycodestyle" version = "2.11.1" description = "Python style guide checker" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3089,21 +3408,60 @@ files = [ [[package]] name = "pycparser" -version = "2.21" +version = "2.22" description = "C parser in Python" -category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.8" +files = [ + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, +] + +[[package]] +name = "pycryptodomex" +version = "3.20.0" +description = "Cryptographic library for Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:645bd4ca6f543685d643dadf6a856cc382b654cc923460e3a10a49c1b3832aeb"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ff5c9a67f8a4fba4aed887216e32cbc48f2a6fb2673bb10a99e43be463e15913"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:8ee606964553c1a0bc74057dd8782a37d1c2bc0f01b83193b6f8bb14523b877b"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7805830e0c56d88f4d491fa5ac640dfc894c5ec570d1ece6ed1546e9df2e98d6"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:bc3ee1b4d97081260d92ae813a83de4d2653206967c4a0a017580f8b9548ddbc"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-win32.whl", hash = "sha256:8af1a451ff9e123d0d8bd5d5e60f8e3315c3a64f3cdd6bc853e26090e195cdc8"}, + {file = "pycryptodomex-3.20.0-cp27-cp27m-win_amd64.whl", hash = "sha256:cbe71b6712429650e3883dc81286edb94c328ffcd24849accac0a4dbcc76958a"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:76bd15bb65c14900d98835fcd10f59e5e0435077431d3a394b60b15864fddd64"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:653b29b0819605fe0898829c8ad6400a6ccde096146730c2da54eede9b7b8baa"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62a5ec91388984909bb5398ea49ee61b68ecb579123694bffa172c3b0a107079"}, + {file = "pycryptodomex-3.20.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:108e5f1c1cd70ffce0b68739c75734437c919d2eaec8e85bffc2c8b4d2794305"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:59af01efb011b0e8b686ba7758d59cf4a8263f9ad35911bfe3f416cee4f5c08c"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:82ee7696ed8eb9a82c7037f32ba9b7c59e51dda6f105b39f043b6ef293989cb3"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91852d4480a4537d169c29a9d104dda44094c78f1f5b67bca76c29a91042b623"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca649483d5ed251d06daf25957f802e44e6bb6df2e8f218ae71968ff8f8edc4"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e186342cfcc3aafaad565cbd496060e5a614b441cacc3995ef0091115c1f6c5"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:25cd61e846aaab76d5791d006497134602a9e451e954833018161befc3b5b9ed"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:9c682436c359b5ada67e882fec34689726a09c461efd75b6ea77b2403d5665b7"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:7a7a8f33a1f1fb762ede6cc9cbab8f2a9ba13b196bfaf7bc6f0b39d2ba315a43"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-win32.whl", hash = "sha256:c39778fd0548d78917b61f03c1fa8bfda6cfcf98c767decf360945fe6f97461e"}, + {file = "pycryptodomex-3.20.0-cp35-abi3-win_amd64.whl", hash = "sha256:2a47bcc478741b71273b917232f521fd5704ab4b25d301669879e7273d3586cc"}, + {file = "pycryptodomex-3.20.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:1be97461c439a6af4fe1cf8bf6ca5936d3db252737d2f379cc6b2e394e12a458"}, + {file = "pycryptodomex-3.20.0-pp27-pypy_73-win32.whl", hash = "sha256:19764605feea0df966445d46533729b645033f134baeb3ea26ad518c9fdf212c"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f2e497413560e03421484189a6b65e33fe800d3bd75590e6d78d4dfdb7accf3b"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e48217c7901edd95f9f097feaa0388da215ed14ce2ece803d3f300b4e694abea"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d00fe8596e1cc46b44bf3907354e9377aa030ec4cd04afbbf6e899fc1e2a7781"}, + {file = "pycryptodomex-3.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:88afd7a3af7ddddd42c2deda43d53d3dfc016c11327d0915f90ca34ebda91499"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d3584623e68a5064a04748fb6d76117a21a7cb5eaba20608a41c7d0c61721794"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0daad007b685db36d977f9de73f61f8da2a7104e20aca3effd30752fd56f73e1"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5dcac11031a71348faaed1f403a0debd56bf5404232284cf8c761ff918886ebc"}, + {file = "pycryptodomex-3.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:69138068268127cd605e03438312d8f271135a33140e2742b417d027a0539427"}, + {file = "pycryptodomex-3.20.0.tar.gz", hash = "sha256:7a710b79baddd65b806402e14766c721aee8fb83381769c27920f26476276c1e"}, ] [[package]] name = "pydantic" version = "2.5.3" description = "Data validation using Python type hints" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3123,7 +3481,6 @@ email = ["email-validator (>=2.0.0)"] name = "pydantic-core" version = "2.14.6" description = "" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3241,7 +3598,6 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" name = "pydantic-settings" version = "2.2.1" description = "Settings management using Pydantic" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3261,7 +3617,6 @@ yaml = ["pyyaml (>=6.0.1)"] name = "pyflakes" version = "3.1.0" description = "passive checker of Python programs" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3271,52 +3626,54 @@ files = [ [[package]] name = "pygments" -version = "2.17.2" +version = "2.18.0" description = "Pygments is a syntax highlighting package written in Python." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, - {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, ] [package.extras] -plugins = ["importlib-metadata"] windows-terminal = ["colorama (>=0.4.6)"] [[package]] -name = "pyparsing" -version = "3.1.1" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" +name = "pynndescent" +version = "0.5.12" +description = "Nearest Neighbor Descent" optional = false -python-versions = ">=3.6.8" +python-versions = "*" files = [ - {file = "pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb"}, - {file = "pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"}, + {file = "pynndescent-0.5.12-py3-none-any.whl", hash = "sha256:9023dc5fea520a4e84d0633ae735db97d2509da927bfa86c897e61f3315473c7"}, + {file = "pynndescent-0.5.12.tar.gz", hash = "sha256:0736291fcbbedfd5e0a3a280f71a63f8eb2f8bd9670d4c0b51ac1b4d081adf70"}, ] -[package.extras] -diagrams = ["jinja2", "railroad-diagrams"] +[package.dependencies] +joblib = ">=0.11" +llvmlite = ">=0.30" +numba = ">=0.51.2" +scikit-learn = ">=0.18" +scipy = ">=1.0" [[package]] -name = "pyreadline3" -version = "3.4.1" -description = "A python implementation of GNU readline." -category = "main" +name = "pyparsing" +version = "3.1.2" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false -python-versions = "*" +python-versions = ">=3.6.8" files = [ - {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, - {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, + {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"}, + {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"}, ] +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + [[package]] name = "pysocks" version = "1.7.1" description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3329,7 +3686,6 @@ files = [ name = "pytest" version = "7.4.4" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3352,7 +3708,6 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "pytest-testmon" version = "2.1.1" description = "selects tests affected by changed files and methods" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3368,7 +3723,6 @@ pytest = ">=5,<9" name = "pytest-watch" version = "4.2.0" description = "Local continuous test runner with pytest and watchdog." -category = "dev" optional = false python-versions = "*" files = [ @@ -3385,7 +3739,6 @@ watchdog = ">=0.6.0" name = "python-dateutil" version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -3400,7 +3753,6 @@ six = ">=1.5" name = "python-dotenv" version = "1.0.1" description = "Read key-value pairs from a .env file and set them as environment variables" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3413,14 +3765,13 @@ cli = ["click (>=5.0)"] [[package]] name = "pytorch-lightning" -version = "2.2.1" +version = "2.2.4" description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate." -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "pytorch-lightning-2.2.1.tar.gz", hash = "sha256:aa3be30c9109239a371748565a7f4b7b41ea1395725c30e04426cf946b3e2745"}, - {file = "pytorch_lightning-2.2.1-py3-none-any.whl", hash = "sha256:b7efdd46a7ede4d66814a6afc28d0dfadd8eea1bb8bddab4fd2ea36c099af685"}, + {file = "pytorch-lightning-2.2.4.tar.gz", hash = "sha256:525b04ebad9900c3e3c2a12b3b462fe4f61ebe11fdb694716c3209f05b9b0fa8"}, + {file = "pytorch_lightning-2.2.4-py3-none-any.whl", hash = "sha256:fd91d47e983a2cd743c5c8c3c3795bbd0f3b69d24be2172a2f9012d930701ff2"}, ] [package.dependencies] @@ -3435,11 +3786,11 @@ tqdm = ">=4.57.0" typing-extensions = ">=4.4.0" [package.extras] -all = ["bitsandbytes (==0.41.0)", "deepspeed (>=0.8.2,<=0.9.3)", "gym[classic-control] (>=0.17.0)", "hydra-core (>=1.0.5)", "ipython[all] (<8.15.0)", "jsonargparse[signatures] (>=4.26.1)", "lightning-utilities (>=0.8.0)", "matplotlib (>3.1)", "omegaconf (>=2.0.5)", "requests (<2.32.0)", "rich (>=12.3.0)", "tensorboardX (>=2.2)", "torchmetrics (>=0.10.0)", "torchvision (>=0.14.0)"] +all = ["bitsandbytes (==0.41.0)", "deepspeed (>=0.8.2,<=0.9.3)", "gym[classic-control] (>=0.17.0)", "hydra-core (>=1.0.5)", "ipython[all] (<8.15.0)", "jsonargparse[signatures] (>=4.27.7)", "lightning-utilities (>=0.8.0)", "matplotlib (>3.1)", "omegaconf (>=2.0.5)", "requests (<2.32.0)", "rich (>=12.3.0)", "tensorboardX (>=2.2)", "torchmetrics (>=0.10.0)", "torchvision (>=0.14.0)"] deepspeed = ["deepspeed (>=0.8.2,<=0.9.3)"] -dev = ["bitsandbytes (==0.41.0)", "cloudpickle (>=1.3)", "coverage (==7.3.1)", "deepspeed (>=0.8.2,<=0.9.3)", "fastapi", "gym[classic-control] (>=0.17.0)", "hydra-core (>=1.0.5)", "ipython[all] (<8.15.0)", "jsonargparse[signatures] (>=4.26.1)", "lightning-utilities (>=0.8.0)", "matplotlib (>3.1)", "omegaconf (>=2.0.5)", "onnx (>=0.14.0)", "onnxruntime (>=0.15.0)", "pandas (>1.0)", "psutil (<5.9.6)", "pytest (==7.4.0)", "pytest-cov (==4.1.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "requests (<2.32.0)", "rich (>=12.3.0)", "scikit-learn (>0.22.1)", "tensorboard (>=2.9.1)", "tensorboardX (>=2.2)", "torchmetrics (>=0.10.0)", "torchvision (>=0.14.0)", "uvicorn"] +dev = ["bitsandbytes (==0.41.0)", "cloudpickle (>=1.3)", "coverage (==7.3.1)", "deepspeed (>=0.8.2,<=0.9.3)", "fastapi", "gym[classic-control] (>=0.17.0)", "hydra-core (>=1.0.5)", "ipython[all] (<8.15.0)", "jsonargparse[signatures] (>=4.27.7)", "lightning-utilities (>=0.8.0)", "matplotlib (>3.1)", "omegaconf (>=2.0.5)", "onnx (>=0.14.0)", "onnxruntime (>=0.15.0)", "pandas (>1.0)", "psutil (<5.9.6)", "pytest (==7.4.0)", "pytest-cov (==4.1.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "requests (<2.32.0)", "rich (>=12.3.0)", "scikit-learn (>0.22.1)", "tensorboard (>=2.9.1)", "tensorboardX (>=2.2)", "torchmetrics (>=0.10.0)", "torchvision (>=0.14.0)", "uvicorn"] examples = ["gym[classic-control] (>=0.17.0)", "ipython[all] (<8.15.0)", "lightning-utilities (>=0.8.0)", "requests (<2.32.0)", "torchmetrics (>=0.10.0)", "torchvision (>=0.14.0)"] -extra = ["bitsandbytes (==0.41.0)", "hydra-core (>=1.0.5)", "jsonargparse[signatures] (>=4.26.1)", "matplotlib (>3.1)", "omegaconf (>=2.0.5)", "rich (>=12.3.0)", "tensorboardX (>=2.2)"] +extra = ["bitsandbytes (==0.41.0)", "hydra-core (>=1.0.5)", "jsonargparse[signatures] (>=4.27.7)", "matplotlib (>3.1)", "omegaconf (>=2.0.5)", "rich (>=12.3.0)", "tensorboardX (>=2.2)"] strategies = ["deepspeed (>=0.8.2,<=0.9.3)"] test = ["cloudpickle (>=1.3)", "coverage (==7.3.1)", "fastapi", "onnx (>=0.14.0)", "onnxruntime (>=0.15.0)", "pandas (>1.0)", "psutil (<5.9.6)", "pytest (==7.4.0)", "pytest-cov (==4.1.0)", "pytest-random-order (==1.1.0)", "pytest-rerunfailures (==12.0)", "pytest-timeout (==2.1.0)", "scikit-learn (>0.22.1)", "tensorboard (>=2.9.1)", "uvicorn"] @@ -3447,7 +3798,6 @@ test = ["cloudpickle (>=1.3)", "coverage (==7.3.1)", "fastapi", "onnx (>=0.14.0) name = "pytz" version = "2024.1" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -3459,7 +3809,6 @@ files = [ name = "pywin32" version = "306" description = "Python for Window Extensions" -category = "dev" optional = false python-versions = "*" files = [ @@ -3483,7 +3832,6 @@ files = [ name = "pyyaml" version = "6.0.1" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3505,7 +3853,6 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -3542,120 +3889,134 @@ files = [ [[package]] name = "pyzmq" -version = "25.1.2" +version = "26.0.3" description = "Python bindings for 0MQ" -category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:e624c789359f1a16f83f35e2c705d07663ff2b4d4479bad35621178d8f0f6ea4"}, - {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:49151b0efece79f6a79d41a461d78535356136ee70084a1c22532fc6383f4ad0"}, - {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9a5f194cf730f2b24d6af1f833c14c10f41023da46a7f736f48b6d35061e76e"}, - {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:faf79a302f834d9e8304fafdc11d0d042266667ac45209afa57e5efc998e3872"}, - {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f51a7b4ead28d3fca8dda53216314a553b0f7a91ee8fc46a72b402a78c3e43d"}, - {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0ddd6d71d4ef17ba5a87becf7ddf01b371eaba553c603477679ae817a8d84d75"}, - {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:246747b88917e4867e2367b005fc8eefbb4a54b7db363d6c92f89d69abfff4b6"}, - {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:00c48ae2fd81e2a50c3485de1b9d5c7c57cd85dc8ec55683eac16846e57ac979"}, - {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5a68d491fc20762b630e5db2191dd07ff89834086740f70e978bb2ef2668be08"}, - {file = "pyzmq-25.1.2-cp310-cp310-win32.whl", hash = "sha256:09dfe949e83087da88c4a76767df04b22304a682d6154de2c572625c62ad6886"}, - {file = "pyzmq-25.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:fa99973d2ed20417744fca0073390ad65ce225b546febb0580358e36aa90dba6"}, - {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:82544e0e2d0c1811482d37eef297020a040c32e0687c1f6fc23a75b75db8062c"}, - {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:01171fc48542348cd1a360a4b6c3e7d8f46cdcf53a8d40f84db6707a6768acc1"}, - {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc69c96735ab501419c432110016329bf0dea8898ce16fab97c6d9106dc0b348"}, - {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e124e6b1dd3dfbeb695435dff0e383256655bb18082e094a8dd1f6293114642"}, - {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7598d2ba821caa37a0f9d54c25164a4fa351ce019d64d0b44b45540950458840"}, - {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d1299d7e964c13607efd148ca1f07dcbf27c3ab9e125d1d0ae1d580a1682399d"}, - {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4e6f689880d5ad87918430957297c975203a082d9a036cc426648fcbedae769b"}, - {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cc69949484171cc961e6ecd4a8911b9ce7a0d1f738fcae717177c231bf77437b"}, - {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9880078f683466b7f567b8624bfc16cad65077be046b6e8abb53bed4eeb82dd3"}, - {file = "pyzmq-25.1.2-cp311-cp311-win32.whl", hash = "sha256:4e5837af3e5aaa99a091302df5ee001149baff06ad22b722d34e30df5f0d9097"}, - {file = "pyzmq-25.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:25c2dbb97d38b5ac9fd15586e048ec5eb1e38f3d47fe7d92167b0c77bb3584e9"}, - {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:11e70516688190e9c2db14fcf93c04192b02d457b582a1f6190b154691b4c93a"}, - {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:313c3794d650d1fccaaab2df942af9f2c01d6217c846177cfcbc693c7410839e"}, - {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b3cbba2f47062b85fe0ef9de5b987612140a9ba3a9c6d2543c6dec9f7c2ab27"}, - {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc31baa0c32a2ca660784d5af3b9487e13b61b3032cb01a115fce6588e1bed30"}, - {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c9087b109070c5ab0b383079fa1b5f797f8d43e9a66c07a4b8b8bdecfd88ee"}, - {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f8429b17cbb746c3e043cb986328da023657e79d5ed258b711c06a70c2ea7537"}, - {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5074adeacede5f810b7ef39607ee59d94e948b4fd954495bdb072f8c54558181"}, - {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7ae8f354b895cbd85212da245f1a5ad8159e7840e37d78b476bb4f4c3f32a9fe"}, - {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b264bf2cc96b5bc43ce0e852be995e400376bd87ceb363822e2cb1964fcdc737"}, - {file = "pyzmq-25.1.2-cp312-cp312-win32.whl", hash = "sha256:02bbc1a87b76e04fd780b45e7f695471ae6de747769e540da909173d50ff8e2d"}, - {file = "pyzmq-25.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:ced111c2e81506abd1dc142e6cd7b68dd53747b3b7ae5edbea4578c5eeff96b7"}, - {file = "pyzmq-25.1.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:7b6d09a8962a91151f0976008eb7b29b433a560fde056ec7a3db9ec8f1075438"}, - {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967668420f36878a3c9ecb5ab33c9d0ff8d054f9c0233d995a6d25b0e95e1b6b"}, - {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5edac3f57c7ddaacdb4d40f6ef2f9e299471fc38d112f4bc6d60ab9365445fb0"}, - {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:0dabfb10ef897f3b7e101cacba1437bd3a5032ee667b7ead32bbcdd1a8422fe7"}, - {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:2c6441e0398c2baacfe5ba30c937d274cfc2dc5b55e82e3749e333aabffde561"}, - {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:16b726c1f6c2e7625706549f9dbe9b06004dfbec30dbed4bf50cbdfc73e5b32a"}, - {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:a86c2dd76ef71a773e70551a07318b8e52379f58dafa7ae1e0a4be78efd1ff16"}, - {file = "pyzmq-25.1.2-cp36-cp36m-win32.whl", hash = "sha256:359f7f74b5d3c65dae137f33eb2bcfa7ad9ebefd1cab85c935f063f1dbb245cc"}, - {file = "pyzmq-25.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:55875492f820d0eb3417b51d96fea549cde77893ae3790fd25491c5754ea2f68"}, - {file = "pyzmq-25.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b8c8a419dfb02e91b453615c69568442e897aaf77561ee0064d789705ff37a92"}, - {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8807c87fa893527ae8a524c15fc505d9950d5e856f03dae5921b5e9aa3b8783b"}, - {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5e319ed7d6b8f5fad9b76daa0a68497bc6f129858ad956331a5835785761e003"}, - {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3c53687dde4d9d473c587ae80cc328e5b102b517447456184b485587ebd18b62"}, - {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9add2e5b33d2cd765ad96d5eb734a5e795a0755f7fc49aa04f76d7ddda73fd70"}, - {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e690145a8c0c273c28d3b89d6fb32c45e0d9605b2293c10e650265bf5c11cfec"}, - {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:00a06faa7165634f0cac1abb27e54d7a0b3b44eb9994530b8ec73cf52e15353b"}, - {file = "pyzmq-25.1.2-cp37-cp37m-win32.whl", hash = "sha256:0f97bc2f1f13cb16905a5f3e1fbdf100e712d841482b2237484360f8bc4cb3d7"}, - {file = "pyzmq-25.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6cc0020b74b2e410287e5942e1e10886ff81ac77789eb20bec13f7ae681f0fdd"}, - {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:bef02cfcbded83473bdd86dd8d3729cd82b2e569b75844fb4ea08fee3c26ae41"}, - {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e10a4b5a4b1192d74853cc71a5e9fd022594573926c2a3a4802020360aa719d8"}, - {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8c5f80e578427d4695adac6fdf4370c14a2feafdc8cb35549c219b90652536ae"}, - {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5dde6751e857910c1339890f3524de74007958557593b9e7e8c5f01cd919f8a7"}, - {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea1608dd169da230a0ad602d5b1ebd39807ac96cae1845c3ceed39af08a5c6df"}, - {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0f513130c4c361201da9bc69df25a086487250e16b5571ead521b31ff6b02220"}, - {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:019744b99da30330798bb37df33549d59d380c78e516e3bab9c9b84f87a9592f"}, - {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2e2713ef44be5d52dd8b8e2023d706bf66cb22072e97fc71b168e01d25192755"}, - {file = "pyzmq-25.1.2-cp38-cp38-win32.whl", hash = "sha256:07cd61a20a535524906595e09344505a9bd46f1da7a07e504b315d41cd42eb07"}, - {file = "pyzmq-25.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb7e49a17fb8c77d3119d41a4523e432eb0c6932187c37deb6fbb00cc3028088"}, - {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:94504ff66f278ab4b7e03e4cba7e7e400cb73bfa9d3d71f58d8972a8dc67e7a6"}, - {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6dd0d50bbf9dca1d0bdea219ae6b40f713a3fb477c06ca3714f208fd69e16fd8"}, - {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:004ff469d21e86f0ef0369717351073e0e577428e514c47c8480770d5e24a565"}, - {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c0b5ca88a8928147b7b1e2dfa09f3b6c256bc1135a1338536cbc9ea13d3b7add"}, - {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c9a79f1d2495b167119d02be7448bfba57fad2a4207c4f68abc0bab4b92925b"}, - {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:518efd91c3d8ac9f9b4f7dd0e2b7b8bf1a4fe82a308009016b07eaa48681af82"}, - {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1ec23bd7b3a893ae676d0e54ad47d18064e6c5ae1fadc2f195143fb27373f7f6"}, - {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db36c27baed588a5a8346b971477b718fdc66cf5b80cbfbd914b4d6d355e44e2"}, - {file = "pyzmq-25.1.2-cp39-cp39-win32.whl", hash = "sha256:39b1067f13aba39d794a24761e385e2eddc26295826530a8c7b6c6c341584289"}, - {file = "pyzmq-25.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:8e9f3fabc445d0ce320ea2c59a75fe3ea591fdbdeebec5db6de530dd4b09412e"}, - {file = "pyzmq-25.1.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a8c1d566344aee826b74e472e16edae0a02e2a044f14f7c24e123002dcff1c05"}, - {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:759cfd391a0996345ba94b6a5110fca9c557ad4166d86a6e81ea526c376a01e8"}, - {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c61e346ac34b74028ede1c6b4bcecf649d69b707b3ff9dc0fab453821b04d1e"}, - {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cb8fc1f8d69b411b8ec0b5f1ffbcaf14c1db95b6bccea21d83610987435f1a4"}, - {file = "pyzmq-25.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3c00c9b7d1ca8165c610437ca0c92e7b5607b2f9076f4eb4b095c85d6e680a1d"}, - {file = "pyzmq-25.1.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:df0c7a16ebb94452d2909b9a7b3337940e9a87a824c4fc1c7c36bb4404cb0cde"}, - {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:45999e7f7ed5c390f2e87ece7f6c56bf979fb213550229e711e45ecc7d42ccb8"}, - {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ac170e9e048b40c605358667aca3d94e98f604a18c44bdb4c102e67070f3ac9b"}, - {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1b604734bec94f05f81b360a272fc824334267426ae9905ff32dc2be433ab96"}, - {file = "pyzmq-25.1.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a793ac733e3d895d96f865f1806f160696422554e46d30105807fdc9841b9f7d"}, - {file = "pyzmq-25.1.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0806175f2ae5ad4b835ecd87f5f85583316b69f17e97786f7443baaf54b9bb98"}, - {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ef12e259e7bc317c7597d4f6ef59b97b913e162d83b421dd0db3d6410f17a244"}, - {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea253b368eb41116011add00f8d5726762320b1bda892f744c91997b65754d73"}, - {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b9b1f2ad6498445a941d9a4fee096d387fee436e45cc660e72e768d3d8ee611"}, - {file = "pyzmq-25.1.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:8b14c75979ce932c53b79976a395cb2a8cd3aaf14aef75e8c2cb55a330b9b49d"}, - {file = "pyzmq-25.1.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:889370d5174a741a62566c003ee8ddba4b04c3f09a97b8000092b7ca83ec9c49"}, - {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a18fff090441a40ffda8a7f4f18f03dc56ae73f148f1832e109f9bffa85df15"}, - {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99a6b36f95c98839ad98f8c553d8507644c880cf1e0a57fe5e3a3f3969040882"}, - {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4345c9a27f4310afbb9c01750e9461ff33d6fb74cd2456b107525bbeebcb5be3"}, - {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3516e0b6224cf6e43e341d56da15fd33bdc37fa0c06af4f029f7d7dfceceabbc"}, - {file = "pyzmq-25.1.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:146b9b1f29ead41255387fb07be56dc29639262c0f7344f570eecdcd8d683314"}, - {file = "pyzmq-25.1.2.tar.gz", hash = "sha256:93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226"}, + {file = "pyzmq-26.0.3-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:44dd6fc3034f1eaa72ece33588867df9e006a7303725a12d64c3dff92330f625"}, + {file = "pyzmq-26.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:acb704195a71ac5ea5ecf2811c9ee19ecdc62b91878528302dd0be1b9451cc90"}, + {file = "pyzmq-26.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dbb9c997932473a27afa93954bb77a9f9b786b4ccf718d903f35da3232317de"}, + {file = "pyzmq-26.0.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6bcb34f869d431799c3ee7d516554797f7760cb2198ecaa89c3f176f72d062be"}, + {file = "pyzmq-26.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38ece17ec5f20d7d9b442e5174ae9f020365d01ba7c112205a4d59cf19dc38ee"}, + {file = "pyzmq-26.0.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:ba6e5e6588e49139a0979d03a7deb9c734bde647b9a8808f26acf9c547cab1bf"}, + {file = "pyzmq-26.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3bf8b000a4e2967e6dfdd8656cd0757d18c7e5ce3d16339e550bd462f4857e59"}, + {file = "pyzmq-26.0.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:2136f64fbb86451dbbf70223635a468272dd20075f988a102bf8a3f194a411dc"}, + {file = "pyzmq-26.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e8918973fbd34e7814f59143c5f600ecd38b8038161239fd1a3d33d5817a38b8"}, + {file = "pyzmq-26.0.3-cp310-cp310-win32.whl", hash = "sha256:0aaf982e68a7ac284377d051c742610220fd06d330dcd4c4dbb4cdd77c22a537"}, + {file = "pyzmq-26.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:f1a9b7d00fdf60b4039f4455afd031fe85ee8305b019334b72dcf73c567edc47"}, + {file = "pyzmq-26.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:80b12f25d805a919d53efc0a5ad7c0c0326f13b4eae981a5d7b7cc343318ebb7"}, + {file = "pyzmq-26.0.3-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:a72a84570f84c374b4c287183debc776dc319d3e8ce6b6a0041ce2e400de3f32"}, + {file = "pyzmq-26.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ca684ee649b55fd8f378127ac8462fb6c85f251c2fb027eb3c887e8ee347bcd"}, + {file = "pyzmq-26.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e222562dc0f38571c8b1ffdae9d7adb866363134299264a1958d077800b193b7"}, + {file = "pyzmq-26.0.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f17cde1db0754c35a91ac00b22b25c11da6eec5746431d6e5092f0cd31a3fea9"}, + {file = "pyzmq-26.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b7c0c0b3244bb2275abe255d4a30c050d541c6cb18b870975553f1fb6f37527"}, + {file = "pyzmq-26.0.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:ac97a21de3712afe6a6c071abfad40a6224fd14fa6ff0ff8d0c6e6cd4e2f807a"}, + {file = "pyzmq-26.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:88b88282e55fa39dd556d7fc04160bcf39dea015f78e0cecec8ff4f06c1fc2b5"}, + {file = "pyzmq-26.0.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:72b67f966b57dbd18dcc7efbc1c7fc9f5f983e572db1877081f075004614fcdd"}, + {file = "pyzmq-26.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f4b6cecbbf3b7380f3b61de3a7b93cb721125dc125c854c14ddc91225ba52f83"}, + {file = "pyzmq-26.0.3-cp311-cp311-win32.whl", hash = "sha256:eed56b6a39216d31ff8cd2f1d048b5bf1700e4b32a01b14379c3b6dde9ce3aa3"}, + {file = "pyzmq-26.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:3191d312c73e3cfd0f0afdf51df8405aafeb0bad71e7ed8f68b24b63c4f36500"}, + {file = "pyzmq-26.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:b6907da3017ef55139cf0e417c5123a84c7332520e73a6902ff1f79046cd3b94"}, + {file = "pyzmq-26.0.3-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:068ca17214038ae986d68f4a7021f97e187ed278ab6dccb79f837d765a54d753"}, + {file = "pyzmq-26.0.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7821d44fe07335bea256b9f1f41474a642ca55fa671dfd9f00af8d68a920c2d4"}, + {file = "pyzmq-26.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eeb438a26d87c123bb318e5f2b3d86a36060b01f22fbdffd8cf247d52f7c9a2b"}, + {file = "pyzmq-26.0.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69ea9d6d9baa25a4dc9cef5e2b77b8537827b122214f210dd925132e34ae9b12"}, + {file = "pyzmq-26.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7daa3e1369355766dea11f1d8ef829905c3b9da886ea3152788dc25ee6079e02"}, + {file = "pyzmq-26.0.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:6ca7a9a06b52d0e38ccf6bca1aeff7be178917893f3883f37b75589d42c4ac20"}, + {file = "pyzmq-26.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1b7d0e124948daa4d9686d421ef5087c0516bc6179fdcf8828b8444f8e461a77"}, + {file = "pyzmq-26.0.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e746524418b70f38550f2190eeee834db8850088c834d4c8406fbb9bc1ae10b2"}, + {file = "pyzmq-26.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:6b3146f9ae6af82c47a5282ac8803523d381b3b21caeae0327ed2f7ecb718798"}, + {file = "pyzmq-26.0.3-cp312-cp312-win32.whl", hash = "sha256:2b291d1230845871c00c8462c50565a9cd6026fe1228e77ca934470bb7d70ea0"}, + {file = "pyzmq-26.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:926838a535c2c1ea21c903f909a9a54e675c2126728c21381a94ddf37c3cbddf"}, + {file = "pyzmq-26.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:5bf6c237f8c681dfb91b17f8435b2735951f0d1fad10cc5dfd96db110243370b"}, + {file = "pyzmq-26.0.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c0991f5a96a8e620f7691e61178cd8f457b49e17b7d9cfa2067e2a0a89fc1d5"}, + {file = "pyzmq-26.0.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:dbf012d8fcb9f2cf0643b65df3b355fdd74fc0035d70bb5c845e9e30a3a4654b"}, + {file = "pyzmq-26.0.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:01fbfbeb8249a68d257f601deb50c70c929dc2dfe683b754659569e502fbd3aa"}, + {file = "pyzmq-26.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c8eb19abe87029c18f226d42b8a2c9efdd139d08f8bf6e085dd9075446db450"}, + {file = "pyzmq-26.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:5344b896e79800af86ad643408ca9aa303a017f6ebff8cee5a3163c1e9aec987"}, + {file = "pyzmq-26.0.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:204e0f176fd1d067671157d049466869b3ae1fc51e354708b0dc41cf94e23a3a"}, + {file = "pyzmq-26.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a42db008d58530efa3b881eeee4991146de0b790e095f7ae43ba5cc612decbc5"}, + {file = "pyzmq-26.0.3-cp37-cp37m-win32.whl", hash = "sha256:8d7a498671ca87e32b54cb47c82a92b40130a26c5197d392720a1bce1b3c77cf"}, + {file = "pyzmq-26.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:3b4032a96410bdc760061b14ed6a33613ffb7f702181ba999df5d16fb96ba16a"}, + {file = "pyzmq-26.0.3-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2cc4e280098c1b192c42a849de8de2c8e0f3a84086a76ec5b07bfee29bda7d18"}, + {file = "pyzmq-26.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5bde86a2ed3ce587fa2b207424ce15b9a83a9fa14422dcc1c5356a13aed3df9d"}, + {file = "pyzmq-26.0.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:34106f68e20e6ff253c9f596ea50397dbd8699828d55e8fa18bd4323d8d966e6"}, + {file = "pyzmq-26.0.3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ebbbd0e728af5db9b04e56389e2299a57ea8b9dd15c9759153ee2455b32be6ad"}, + {file = "pyzmq-26.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6b1d1c631e5940cac5a0b22c5379c86e8df6a4ec277c7a856b714021ab6cfad"}, + {file = "pyzmq-26.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e891ce81edd463b3b4c3b885c5603c00141151dd9c6936d98a680c8c72fe5c67"}, + {file = "pyzmq-26.0.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:9b273ecfbc590a1b98f014ae41e5cf723932f3b53ba9367cfb676f838038b32c"}, + {file = "pyzmq-26.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b32bff85fb02a75ea0b68f21e2412255b5731f3f389ed9aecc13a6752f58ac97"}, + {file = "pyzmq-26.0.3-cp38-cp38-win32.whl", hash = "sha256:f6c21c00478a7bea93caaaef9e7629145d4153b15a8653e8bb4609d4bc70dbfc"}, + {file = "pyzmq-26.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:3401613148d93ef0fd9aabdbddb212de3db7a4475367f49f590c837355343972"}, + {file = "pyzmq-26.0.3-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:2ed8357f4c6e0daa4f3baf31832df8a33334e0fe5b020a61bc8b345a3db7a606"}, + {file = "pyzmq-26.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c1c8f2a2ca45292084c75bb6d3a25545cff0ed931ed228d3a1810ae3758f975f"}, + {file = "pyzmq-26.0.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:b63731993cdddcc8e087c64e9cf003f909262b359110070183d7f3025d1c56b5"}, + {file = "pyzmq-26.0.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b3cd31f859b662ac5d7f4226ec7d8bd60384fa037fc02aee6ff0b53ba29a3ba8"}, + {file = "pyzmq-26.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:115f8359402fa527cf47708d6f8a0f8234f0e9ca0cab7c18c9c189c194dbf620"}, + {file = "pyzmq-26.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:715bdf952b9533ba13dfcf1f431a8f49e63cecc31d91d007bc1deb914f47d0e4"}, + {file = "pyzmq-26.0.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e1258c639e00bf5e8a522fec6c3eaa3e30cf1c23a2f21a586be7e04d50c9acab"}, + {file = "pyzmq-26.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:15c59e780be8f30a60816a9adab900c12a58d79c1ac742b4a8df044ab2a6d920"}, + {file = "pyzmq-26.0.3-cp39-cp39-win32.whl", hash = "sha256:d0cdde3c78d8ab5b46595054e5def32a755fc028685add5ddc7403e9f6de9879"}, + {file = "pyzmq-26.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:ce828058d482ef860746bf532822842e0ff484e27f540ef5c813d516dd8896d2"}, + {file = "pyzmq-26.0.3-cp39-cp39-win_arm64.whl", hash = "sha256:788f15721c64109cf720791714dc14afd0f449d63f3a5487724f024345067381"}, + {file = "pyzmq-26.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2c18645ef6294d99b256806e34653e86236eb266278c8ec8112622b61db255de"}, + {file = "pyzmq-26.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7e6bc96ebe49604df3ec2c6389cc3876cabe475e6bfc84ced1bf4e630662cb35"}, + {file = "pyzmq-26.0.3-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:971e8990c5cc4ddcff26e149398fc7b0f6a042306e82500f5e8db3b10ce69f84"}, + {file = "pyzmq-26.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8416c23161abd94cc7da80c734ad7c9f5dbebdadfdaa77dad78244457448223"}, + {file = "pyzmq-26.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:082a2988364b60bb5de809373098361cf1dbb239623e39e46cb18bc035ed9c0c"}, + {file = "pyzmq-26.0.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d57dfbf9737763b3a60d26e6800e02e04284926329aee8fb01049635e957fe81"}, + {file = "pyzmq-26.0.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:77a85dca4c2430ac04dc2a2185c2deb3858a34fe7f403d0a946fa56970cf60a1"}, + {file = "pyzmq-26.0.3-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4c82a6d952a1d555bf4be42b6532927d2a5686dd3c3e280e5f63225ab47ac1f5"}, + {file = "pyzmq-26.0.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4496b1282c70c442809fc1b151977c3d967bfb33e4e17cedbf226d97de18f709"}, + {file = "pyzmq-26.0.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:e4946d6bdb7ba972dfda282f9127e5756d4f299028b1566d1245fa0d438847e6"}, + {file = "pyzmq-26.0.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:03c0ae165e700364b266876d712acb1ac02693acd920afa67da2ebb91a0b3c09"}, + {file = "pyzmq-26.0.3-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:3e3070e680f79887d60feeda051a58d0ac36622e1759f305a41059eff62c6da7"}, + {file = "pyzmq-26.0.3-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6ca08b840fe95d1c2bd9ab92dac5685f949fc6f9ae820ec16193e5ddf603c3b2"}, + {file = "pyzmq-26.0.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e76654e9dbfb835b3518f9938e565c7806976c07b37c33526b574cc1a1050480"}, + {file = "pyzmq-26.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:871587bdadd1075b112e697173e946a07d722459d20716ceb3d1bd6c64bd08ce"}, + {file = "pyzmq-26.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d0a2d1bd63a4ad79483049b26514e70fa618ce6115220da9efdff63688808b17"}, + {file = "pyzmq-26.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0270b49b6847f0d106d64b5086e9ad5dc8a902413b5dbbb15d12b60f9c1747a4"}, + {file = "pyzmq-26.0.3-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:703c60b9910488d3d0954ca585c34f541e506a091a41930e663a098d3b794c67"}, + {file = "pyzmq-26.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74423631b6be371edfbf7eabb02ab995c2563fee60a80a30829176842e71722a"}, + {file = "pyzmq-26.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4adfbb5451196842a88fda3612e2c0414134874bffb1c2ce83ab4242ec9e027d"}, + {file = "pyzmq-26.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3516119f4f9b8671083a70b6afaa0a070f5683e431ab3dc26e9215620d7ca1ad"}, + {file = "pyzmq-26.0.3.tar.gz", hash = "sha256:dba7d9f2e047dfa2bca3b01f4f84aa5246725203d6284e3790f2ca15fba6b40a"}, ] [package.dependencies] cffi = {version = "*", markers = "implementation_name == \"pypy\""} +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + [[package]] name = "s3transfer" -version = "0.10.0" +version = "0.10.1" description = "An Amazon S3 Transfer Manager" -category = "main" optional = false python-versions = ">= 3.8" files = [ - {file = "s3transfer-0.10.0-py3-none-any.whl", hash = "sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e"}, - {file = "s3transfer-0.10.0.tar.gz", hash = "sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b"}, + {file = "s3transfer-0.10.1-py3-none-any.whl", hash = "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d"}, + {file = "s3transfer-0.10.1.tar.gz", hash = "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19"}, ] [package.dependencies] @@ -3664,40 +4025,91 @@ botocore = ">=1.33.2,<2.0a.0" [package.extras] crt = ["botocore[crt] (>=1.33.2,<2.0a.0)"] +[[package]] +name = "scanpy" +version = "1.10.1" +description = "Single-Cell Analysis in Python." +optional = false +python-versions = ">=3.9" +files = [ + {file = "scanpy-1.10.1-py3-none-any.whl", hash = "sha256:399c6a0fc9c8b85500cfab87f79daf8684782a6bb5303eb680c0ac99da14e4d8"}, + {file = "scanpy-1.10.1.tar.gz", hash = "sha256:4a9194d94985dee41d914fc9438f0b502dfacf54796d0501e06a5978d709c7f6"}, +] + +[package.dependencies] +anndata = ">=0.8" +h5py = ">=3.1" +joblib = "*" +legacy-api-wrap = ">=1.4" +matplotlib = ">=3.6" +natsort = "*" +networkx = ">=2.7" +numba = ">=0.56" +numpy = ">=1.23" +packaging = ">=21.3" +pandas = ">=1.5" +patsy = "*" +pynndescent = ">=0.5" +scikit-learn = ">=0.24" +scipy = ">=1.8" +seaborn = ">=0.13" +session-info = "*" +statsmodels = ">=0.13" +tqdm = "*" +umap-learn = ">0.5.0" + +[package.extras] +bbknn = ["bbknn"] +dask = ["dask[array] (>=2022.09.2)"] +dask-ml = ["dask-ml", "scanpy[dask]"] +dev = ["pre-commit", "setuptools-scm"] +doc = ["dask", "ipython (>=7.20)", "matplotlib (!=3.6.1)", "myst-nb (>=1)", "myst-parser (>=2)", "nbsphinx (>=0.9)", "readthedocs-sphinx-search", "sam-algorithm", "scanpy[paga]", "scanpydoc (>=0.13.4)", "setuptools", "sphinx (>=7)", "sphinx-autodoc-typehints (>=1.25.2)", "sphinx-book-theme (>=1.1.0)", "sphinx-copybutton", "sphinx-design", "sphinxcontrib-bibtex", "sphinxext-opengraph"] +harmony = ["harmonypy"] +leiden = ["igraph (>=0.10)", "leidenalg (>=0.9.0)"] +louvain = ["igraph", "louvain (>=0.6.0,!=0.6.2)"] +magic = ["magic-impute (>=2.0)"] +paga = ["igraph"] +rapids = ["cudf (>=0.9)", "cugraph (>=0.9)", "cuml (>=0.9)"] +scanorama = ["scanorama"] +scrublet = ["scikit-image"] +skmisc = ["scikit-misc (>=0.1.3)"] +test = ["scanpy[dask]", "scanpy[leiden]", "scanpy[scrublet]", "scanpy[test-min]", "zarr"] +test-full = ["scanpy[dask-ml]", "scanpy[harmony]", "scanpy[louvain]", "scanpy[magic]", "scanpy[scanorama]", "scanpy[skmisc]", "scanpy[test]"] +test-min = ["profimp", "pytest (>=7.4.2)", "pytest-cov", "pytest-mock", "pytest-nunit"] + [[package]] name = "scikit-learn" -version = "1.4.1.post1" +version = "1.4.2" description = "A set of python modules for machine learning and data mining" -category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "scikit-learn-1.4.1.post1.tar.gz", hash = "sha256:93d3d496ff1965470f9977d05e5ec3376fb1e63b10e4fda5e39d23c2d8969a30"}, - {file = "scikit_learn-1.4.1.post1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c540aaf44729ab5cd4bd5e394f2b375e65ceaea9cdd8c195788e70433d91bbc5"}, - {file = "scikit_learn-1.4.1.post1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:4310bff71aa98b45b46cd26fa641309deb73a5d1c0461d181587ad4f30ea3c36"}, - {file = "scikit_learn-1.4.1.post1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f43dd527dabff5521af2786a2f8de5ba381e182ec7292663508901cf6ceaf6e"}, - {file = "scikit_learn-1.4.1.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c02e27d65b0c7dc32f2c5eb601aaf5530b7a02bfbe92438188624524878336f2"}, - {file = "scikit_learn-1.4.1.post1-cp310-cp310-win_amd64.whl", hash = "sha256:629e09f772ad42f657ca60a1a52342eef786218dd20cf1369a3b8d085e55ef8f"}, - {file = "scikit_learn-1.4.1.post1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6145dfd9605b0b50ae72cdf72b61a2acd87501369a763b0d73d004710ebb76b5"}, - {file = "scikit_learn-1.4.1.post1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:1afed6951bc9d2053c6ee9a518a466cbc9b07c6a3f9d43bfe734192b6125d508"}, - {file = "scikit_learn-1.4.1.post1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce03506ccf5f96b7e9030fea7eb148999b254c44c10182ac55857bc9b5d4815f"}, - {file = "scikit_learn-1.4.1.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ba516fcdc73d60e7f48cbb0bccb9acbdb21807de3651531208aac73c758e3ab"}, - {file = "scikit_learn-1.4.1.post1-cp311-cp311-win_amd64.whl", hash = "sha256:78cd27b4669513b50db4f683ef41ea35b5dddc797bd2bbd990d49897fd1c8a46"}, - {file = "scikit_learn-1.4.1.post1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a1e289f33f613cefe6707dead50db31930530dc386b6ccff176c786335a7b01c"}, - {file = "scikit_learn-1.4.1.post1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0df87de9ce1c0140f2818beef310fb2e2afdc1e66fc9ad587965577f17733649"}, - {file = "scikit_learn-1.4.1.post1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:712c1c69c45b58ef21635360b3d0a680ff7d83ac95b6f9b82cf9294070cda710"}, - {file = "scikit_learn-1.4.1.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1754b0c2409d6ed5a3380512d0adcf182a01363c669033a2b55cca429ed86a81"}, - {file = "scikit_learn-1.4.1.post1-cp312-cp312-win_amd64.whl", hash = "sha256:1d491ef66e37f4e812db7e6c8286520c2c3fc61b34bf5e59b67b4ce528de93af"}, - {file = "scikit_learn-1.4.1.post1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:aa0029b78ef59af22cfbd833e8ace8526e4df90212db7ceccbea582ebb5d6794"}, - {file = "scikit_learn-1.4.1.post1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:14e4c88436ac96bf69eb6d746ac76a574c314a23c6961b7d344b38877f20fee1"}, - {file = "scikit_learn-1.4.1.post1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7cd3a77c32879311f2aa93466d3c288c955ef71d191503cf0677c3340ae8ae0"}, - {file = "scikit_learn-1.4.1.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a3ee19211ded1a52ee37b0a7b373a8bfc66f95353af058a210b692bd4cda0dd"}, - {file = "scikit_learn-1.4.1.post1-cp39-cp39-win_amd64.whl", hash = "sha256:234b6bda70fdcae9e4abbbe028582ce99c280458665a155eed0b820599377d25"}, + {file = "scikit-learn-1.4.2.tar.gz", hash = "sha256:daa1c471d95bad080c6e44b4946c9390a4842adc3082572c20e4f8884e39e959"}, + {file = "scikit_learn-1.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8539a41b3d6d1af82eb629f9c57f37428ff1481c1e34dddb3b9d7af8ede67ac5"}, + {file = "scikit_learn-1.4.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:68b8404841f944a4a1459b07198fa2edd41a82f189b44f3e1d55c104dbc2e40c"}, + {file = "scikit_learn-1.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81bf5d8bbe87643103334032dd82f7419bc8c8d02a763643a6b9a5c7288c5054"}, + {file = "scikit_learn-1.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36f0ea5d0f693cb247a073d21a4123bdf4172e470e6d163c12b74cbb1536cf38"}, + {file = "scikit_learn-1.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:87440e2e188c87db80ea4023440923dccbd56fbc2d557b18ced00fef79da0727"}, + {file = "scikit_learn-1.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:45dee87ac5309bb82e3ea633955030df9bbcb8d2cdb30383c6cd483691c546cc"}, + {file = "scikit_learn-1.4.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:1d0b25d9c651fd050555aadd57431b53d4cf664e749069da77f3d52c5ad14b3b"}, + {file = "scikit_learn-1.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0203c368058ab92efc6168a1507d388d41469c873e96ec220ca8e74079bf62e"}, + {file = "scikit_learn-1.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44c62f2b124848a28fd695db5bc4da019287abf390bfce602ddc8aa1ec186aae"}, + {file = "scikit_learn-1.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:5cd7b524115499b18b63f0c96f4224eb885564937a0b3477531b2b63ce331904"}, + {file = "scikit_learn-1.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:90378e1747949f90c8f385898fff35d73193dfcaec3dd75d6b542f90c4e89755"}, + {file = "scikit_learn-1.4.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:ff4effe5a1d4e8fed260a83a163f7dbf4f6087b54528d8880bab1d1377bd78be"}, + {file = "scikit_learn-1.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:671e2f0c3f2c15409dae4f282a3a619601fa824d2c820e5b608d9d775f91780c"}, + {file = "scikit_learn-1.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d36d0bc983336bbc1be22f9b686b50c964f593c8a9a913a792442af9bf4f5e68"}, + {file = "scikit_learn-1.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:d762070980c17ba3e9a4a1e043ba0518ce4c55152032f1af0ca6f39b376b5928"}, + {file = "scikit_learn-1.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d9993d5e78a8148b1d0fdf5b15ed92452af5581734129998c26f481c46586d68"}, + {file = "scikit_learn-1.4.2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:426d258fddac674fdf33f3cb2d54d26f49406e2599dbf9a32b4d1696091d4256"}, + {file = "scikit_learn-1.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5460a1a5b043ae5ae4596b3126a4ec33ccba1b51e7ca2c5d36dac2169f62ab1d"}, + {file = "scikit_learn-1.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49d64ef6cb8c093d883e5a36c4766548d974898d378e395ba41a806d0e824db8"}, + {file = "scikit_learn-1.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:c97a50b05c194be9146d61fe87dbf8eac62b203d9e87a3ccc6ae9aed2dfaf361"}, ] [package.dependencies] joblib = ">=1.2.0" -numpy = ">=1.19.5,<2.0" +numpy = ">=1.19.5" scipy = ">=1.6.0" threadpoolctl = ">=2.0.0" @@ -3709,52 +4121,74 @@ tests = ["black (>=23.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.3)", "numpydoc ( [[package]] name = "scipy" -version = "1.12.0" +version = "1.13.0" description = "Fundamental algorithms for scientific computing in Python" -category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "scipy-1.12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:78e4402e140879387187f7f25d91cc592b3501a2e51dfb320f48dfb73565f10b"}, - {file = "scipy-1.12.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:f5f00ebaf8de24d14b8449981a2842d404152774c1a1d880c901bf454cb8e2a1"}, - {file = "scipy-1.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e53958531a7c695ff66c2e7bb7b79560ffdc562e2051644c5576c39ff8efb563"}, - {file = "scipy-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e32847e08da8d895ce09d108a494d9eb78974cf6de23063f93306a3e419960c"}, - {file = "scipy-1.12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4c1020cad92772bf44b8e4cdabc1df5d87376cb219742549ef69fc9fd86282dd"}, - {file = "scipy-1.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:75ea2a144096b5e39402e2ff53a36fecfd3b960d786b7efd3c180e29c39e53f2"}, - {file = "scipy-1.12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:408c68423f9de16cb9e602528be4ce0d6312b05001f3de61fe9ec8b1263cad08"}, - {file = "scipy-1.12.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5adfad5dbf0163397beb4aca679187d24aec085343755fcdbdeb32b3679f254c"}, - {file = "scipy-1.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3003652496f6e7c387b1cf63f4bb720951cfa18907e998ea551e6de51a04467"}, - {file = "scipy-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b8066bce124ee5531d12a74b617d9ac0ea59245246410e19bca549656d9a40a"}, - {file = "scipy-1.12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8bee4993817e204d761dba10dbab0774ba5a8612e57e81319ea04d84945375ba"}, - {file = "scipy-1.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:a24024d45ce9a675c1fb8494e8e5244efea1c7a09c60beb1eeb80373d0fecc70"}, - {file = "scipy-1.12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e7e76cc48638228212c747ada851ef355c2bb5e7f939e10952bc504c11f4e372"}, - {file = "scipy-1.12.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:f7ce148dffcd64ade37b2df9315541f9adad6efcaa86866ee7dd5db0c8f041c3"}, - {file = "scipy-1.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c39f92041f490422924dfdb782527a4abddf4707616e07b021de33467f917bc"}, - {file = "scipy-1.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7ebda398f86e56178c2fa94cad15bf457a218a54a35c2a7b4490b9f9cb2676c"}, - {file = "scipy-1.12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:95e5c750d55cf518c398a8240571b0e0782c2d5a703250872f36eaf737751338"}, - {file = "scipy-1.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:e646d8571804a304e1da01040d21577685ce8e2db08ac58e543eaca063453e1c"}, - {file = "scipy-1.12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:913d6e7956c3a671de3b05ccb66b11bc293f56bfdef040583a7221d9e22a2e35"}, - {file = "scipy-1.12.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba1b0c7256ad75401c73e4b3cf09d1f176e9bd4248f0d3112170fb2ec4db067"}, - {file = "scipy-1.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:730badef9b827b368f351eacae2e82da414e13cf8bd5051b4bdfd720271a5371"}, - {file = "scipy-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6546dc2c11a9df6926afcbdd8a3edec28566e4e785b915e849348c6dd9f3f490"}, - {file = "scipy-1.12.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:196ebad3a4882081f62a5bf4aeb7326aa34b110e533aab23e4374fcccb0890dc"}, - {file = "scipy-1.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:b360f1b6b2f742781299514e99ff560d1fe9bd1bff2712894b52abe528d1fd1e"}, - {file = "scipy-1.12.0.tar.gz", hash = "sha256:4bf5abab8a36d20193c698b0f1fc282c1d083c94723902c447e5d2f1780936a3"}, + {file = "scipy-1.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba419578ab343a4e0a77c0ef82f088238a93eef141b2b8017e46149776dfad4d"}, + {file = "scipy-1.13.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:22789b56a999265431c417d462e5b7f2b487e831ca7bef5edeb56efe4c93f86e"}, + {file = "scipy-1.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05f1432ba070e90d42d7fd836462c50bf98bd08bed0aa616c359eed8a04e3922"}, + {file = "scipy-1.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8434f6f3fa49f631fae84afee424e2483289dfc30a47755b4b4e6b07b2633a4"}, + {file = "scipy-1.13.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:dcbb9ea49b0167de4167c40eeee6e167caeef11effb0670b554d10b1e693a8b9"}, + {file = "scipy-1.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:1d2f7bb14c178f8b13ebae93f67e42b0a6b0fc50eba1cd8021c9b6e08e8fb1cd"}, + {file = "scipy-1.13.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fbcf8abaf5aa2dc8d6400566c1a727aed338b5fe880cde64907596a89d576fa"}, + {file = "scipy-1.13.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5e4a756355522eb60fcd61f8372ac2549073c8788f6114449b37e9e8104f15a5"}, + {file = "scipy-1.13.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5acd8e1dbd8dbe38d0004b1497019b2dbbc3d70691e65d69615f8a7292865d7"}, + {file = "scipy-1.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ff7dad5d24a8045d836671e082a490848e8639cabb3dbdacb29f943a678683d"}, + {file = "scipy-1.13.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:4dca18c3ffee287ddd3bc8f1dabaf45f5305c5afc9f8ab9cbfab855e70b2df5c"}, + {file = "scipy-1.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:a2f471de4d01200718b2b8927f7d76b5d9bde18047ea0fa8bd15c5ba3f26a1d6"}, + {file = "scipy-1.13.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0de696f589681c2802f9090fff730c218f7c51ff49bf252b6a97ec4a5d19e8b"}, + {file = "scipy-1.13.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:b2a3ff461ec4756b7e8e42e1c681077349a038f0686132d623fa404c0bee2551"}, + {file = "scipy-1.13.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf9fe63e7a4bf01d3645b13ff2aa6dea023d38993f42aaac81a18b1bda7a82a"}, + {file = "scipy-1.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e7626dfd91cdea5714f343ce1176b6c4745155d234f1033584154f60ef1ff42"}, + {file = "scipy-1.13.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:109d391d720fcebf2fbe008621952b08e52907cf4c8c7efc7376822151820820"}, + {file = "scipy-1.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:8930ae3ea371d6b91c203b1032b9600d69c568e537b7988a3073dfe4d4774f21"}, + {file = "scipy-1.13.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5407708195cb38d70fd2d6bb04b1b9dd5c92297d86e9f9daae1576bd9e06f602"}, + {file = "scipy-1.13.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:ac38c4c92951ac0f729c4c48c9e13eb3675d9986cc0c83943784d7390d540c78"}, + {file = "scipy-1.13.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c74543c4fbeb67af6ce457f6a6a28e5d3739a87f62412e4a16e46f164f0ae5"}, + {file = "scipy-1.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28e286bf9ac422d6beb559bc61312c348ca9b0f0dae0d7c5afde7f722d6ea13d"}, + {file = "scipy-1.13.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:33fde20efc380bd23a78a4d26d59fc8704e9b5fd9b08841693eb46716ba13d86"}, + {file = "scipy-1.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:45c08bec71d3546d606989ba6e7daa6f0992918171e2a6f7fbedfa7361c2de1e"}, + {file = "scipy-1.13.0.tar.gz", hash = "sha256:58569af537ea29d3f78e5abd18398459f195546bb3be23d16677fb26616cc11e"}, ] [package.dependencies] -numpy = ">=1.22.4,<1.29.0" +numpy = ">=1.22.4,<2.3" [package.extras] -dev = ["click", "cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pydevtool", "rich-click", "ruff", "types-psutil", "typing_extensions"] -doc = ["jupytext", "matplotlib (>2)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-design (>=0.2.0)"] -test = ["asv", "gmpy2", "hypothesis", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] +dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy", "pycodestyle", "pydevtool", "rich-click", "ruff", "types-psutil", "typing_extensions"] +doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.12.0)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0)", "sphinx-design (>=0.4.0)"] +test = ["array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] + +[[package]] +name = "scprep" +version = "1.2.3" +description = "scprep" +optional = false +python-versions = ">=3.6" +files = [ + {file = "scprep-1.2.3-py3-none-any.whl", hash = "sha256:31c75956baee3fc7a079957ce4e01821b36012163bd9d34e48afc74b42b5d875"}, + {file = "scprep-1.2.3.tar.gz", hash = "sha256:cc4ba4cedbba256935298f2ba6a973b4e74ea8cb9ad2632b693b6d4e6ab77c3f"}, +] + +[package.dependencies] +decorator = ">=4.3.0" +numpy = ">=1.12.0" +packaging = "*" +pandas = ">=0.25,<2.1" +scikit-learn = ">=0.19.1" +scipy = ">=0.18.1" + +[package.extras] +doc = ["autodocsumm", "ipykernel", "nbsphinx", "sphinx (>=2.2,<2.4)", "sphinxcontrib-napoleon"] +optional = ["anndata", "anndata2ri (>=1.0.6)", "fcsparser (<0.2.5)", "h5py", "tables"] +test = ["anndata", "anndata2ri (>=1.0.6)", "black", "coverage", "coveralls", "fcsparser (<0.2.5)", "h5py", "matplotlib (>=3.0)", "mock", "nose", "nose2", "packaging", "parameterized", "requests", "rpy2 (>=3.4.3)", "tables"] [[package]] name = "seaborn" version = "0.13.2" description = "Statistical data visualization" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3774,14 +4208,13 @@ stats = ["scipy (>=1.7)", "statsmodels (>=0.12)"] [[package]] name = "selenium" -version = "4.18.1" +version = "4.20.0" description = "" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "selenium-4.18.1-py3-none-any.whl", hash = "sha256:b24a3cdd2d47c29832e81345bfcde0c12bb608738013e53c781b211b418df241"}, - {file = "selenium-4.18.1.tar.gz", hash = "sha256:a11f67afa8bfac6b77e148c987b33f6b14eb1cae4d352722a75de1f26e3f0ae2"}, + {file = "selenium-4.20.0-py3-none-any.whl", hash = "sha256:b1d0c33b38ca27d0499183e48e1dd09ff26973481f5d3ef2983073813ae6588d"}, + {file = "selenium-4.20.0.tar.gz", hash = "sha256:0bd564ee166980d419a8aaf4ac00289bc152afcf2eadca5efe8c8e36711853fd"}, ] [package.dependencies] @@ -3791,28 +4224,39 @@ trio-websocket = ">=0.9,<1.0" typing_extensions = ">=4.9.0" urllib3 = {version = ">=1.26,<3", extras = ["socks"]} +[[package]] +name = "session-info" +version = "1.0.0" +description = "session_info outputs version information for modules loaded in the current session, Python, and the OS." +optional = false +python-versions = ">=3.6" +files = [ + {file = "session_info-1.0.0.tar.gz", hash = "sha256:3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7"}, +] + +[package.dependencies] +stdlib_list = "*" + [[package]] name = "setuptools" -version = "69.1.1" +version = "69.5.1" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.1.1-py3-none-any.whl", hash = "sha256:02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56"}, - {file = "setuptools-69.1.1.tar.gz", hash = "sha256:5c0806c7d9af348e6dd3777b4f4dbb42c7ad85b190104837488eab9a7c945cf8"}, + {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, + {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -3824,7 +4268,6 @@ files = [ name = "sniffio" version = "1.3.1" description = "Sniff out which async library your code is running under" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3836,7 +4279,6 @@ files = [ name = "sortedcontainers" version = "2.4.0" description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" -category = "main" optional = false python-versions = "*" files = [ @@ -3844,23 +4286,10 @@ files = [ {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, ] -[[package]] -name = "soupsieve" -version = "2.5" -description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" -optional = false -python-versions = ">=3.8" -files = [ - {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, - {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, -] - [[package]] name = "stack-data" version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" -category = "dev" optional = false python-versions = "*" files = [ @@ -3876,11 +4305,73 @@ pure-eval = "*" [package.extras] tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] +[[package]] +name = "statsmodels" +version = "0.14.2" +description = "Statistical computations and models for Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "statsmodels-0.14.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df5d6f95c46f0341da6c79ee7617e025bf2b371e190a8e60af1ae9cabbdb7a97"}, + {file = "statsmodels-0.14.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a87ef21fadb445b650f327340dde703f13aec1540f3d497afb66324499dea97a"}, + {file = "statsmodels-0.14.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5827a12e3ede2b98a784476d61d6bec43011fedb64aa815f2098e0573bece257"}, + {file = "statsmodels-0.14.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10f2b7611a61adb7d596a6d239abdf1a4d5492b931b00d5ed23d32844d40e48e"}, + {file = "statsmodels-0.14.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c254c66142f1167b4c7d031cf8db55294cc62ff3280e090fc45bd10a7f5fd029"}, + {file = "statsmodels-0.14.2-cp310-cp310-win_amd64.whl", hash = "sha256:0e46e9d59293c1af4cc1f4e5248f17e7e7bc596bfce44d327c789ac27f09111b"}, + {file = "statsmodels-0.14.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:50fcb633987779e795142f51ba49fb27648d46e8a1382b32ebe8e503aaabaa9e"}, + {file = "statsmodels-0.14.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:876794068abfaeed41df71b7887000031ecf44fbfa6b50d53ccb12ebb4ab747a"}, + {file = "statsmodels-0.14.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a91f6c4943de13e3ce2e20ee3b5d26d02bd42300616a421becd53756f5deb37"}, + {file = "statsmodels-0.14.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4864a1c4615c5ea5f2e3b078a75bdedc90dd9da210a37e0738e064b419eccee2"}, + {file = "statsmodels-0.14.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:afbd92410e0df06f3d8c4e7c0e2e71f63f4969531f280fb66059e2ecdb6e0415"}, + {file = "statsmodels-0.14.2-cp311-cp311-win_amd64.whl", hash = "sha256:8e004cfad0e46ce73fe3f3812010c746f0d4cfd48e307b45c14e9e360f3d2510"}, + {file = "statsmodels-0.14.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:eb0ba1ad3627705f5ae20af6b2982f500546d43892543b36c7bca3e2f87105e7"}, + {file = "statsmodels-0.14.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:90fd2f0110b73fc3fa5a2f21c3ca99b0e22285cccf38e56b5b8fd8ce28791b0f"}, + {file = "statsmodels-0.14.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac780ad9ff552773798829a0b9c46820b0faa10e6454891f5e49a845123758ab"}, + {file = "statsmodels-0.14.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55d1742778400ae67acb04b50a2c7f5804182f8a874bd09ca397d69ed159a751"}, + {file = "statsmodels-0.14.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f870d14a587ea58a3b596aa994c2ed889cc051f9e450e887d2c83656fc6a64bf"}, + {file = "statsmodels-0.14.2-cp312-cp312-win_amd64.whl", hash = "sha256:f450fcbae214aae66bd9d2b9af48e0f8ba1cb0e8596c6ebb34e6e3f0fec6542c"}, + {file = "statsmodels-0.14.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:201c3d00929c4a67cda1fe05b098c8dcf1b1eeefa88e80a8f963a844801ed59f"}, + {file = "statsmodels-0.14.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9edefa4ce08e40bc1d67d2f79bc686ee5e238e801312b5a029ee7786448c389a"}, + {file = "statsmodels-0.14.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29c78a7601fdae1aa32104c5ebff2e0b72c26f33e870e2f94ab1bcfd927ece9b"}, + {file = "statsmodels-0.14.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f36494df7c03d63168fccee5038a62f469469ed6a4dd6eaeb9338abedcd0d5f5"}, + {file = "statsmodels-0.14.2-cp39-cp39-win_amd64.whl", hash = "sha256:8875823bdd41806dc853333cc4e1b7ef9481bad2380a999e66ea42382cf2178d"}, + {file = "statsmodels-0.14.2.tar.gz", hash = "sha256:890550147ad3a81cda24f0ba1a5c4021adc1601080bd00e191ae7cd6feecd6ad"}, +] + +[package.dependencies] +numpy = ">=1.22.3" +packaging = ">=21.3" +pandas = ">=1.4,<2.1.0 || >2.1.0" +patsy = ">=0.5.6" +scipy = ">=1.8,<1.9.2 || >1.9.2" + +[package.extras] +build = ["cython (>=0.29.33)"] +develop = ["colorama", "cython (>=0.29.33)", "cython (>=3.0.10,<4)", "flake8", "isort", "joblib", "matplotlib (>=3)", "pytest (>=7.3.0,<8)", "pytest-cov", "pytest-randomly", "pytest-xdist", "pywinpty", "setuptools-scm[toml] (>=8.0,<9.0)"] +docs = ["ipykernel", "jupyter-client", "matplotlib", "nbconvert", "nbformat", "numpydoc", "pandas-datareader", "sphinx"] + +[[package]] +name = "stdlib-list" +version = "0.10.0" +description = "A list of Python Standard Libraries (2.7 through 3.12)." +optional = false +python-versions = ">=3.7" +files = [ + {file = "stdlib_list-0.10.0-py3-none-any.whl", hash = "sha256:b3a911bc441d03e0332dd1a9e7d0870ba3bb0a542a74d7524f54fb431256e214"}, + {file = "stdlib_list-0.10.0.tar.gz", hash = "sha256:6519c50d645513ed287657bfe856d527f277331540691ddeaf77b25459964a14"}, +] + +[package.extras] +dev = ["build", "stdlib-list[doc,lint,test]"] +doc = ["furo", "sphinx"] +lint = ["black", "mypy", "ruff"] +support = ["sphobjinv"] +test = ["coverage[toml]", "pytest", "pytest-cov"] + [[package]] name = "sympy" version = "1.12" description = "Computer algebra system (CAS) in Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3891,23 +4382,34 @@ files = [ [package.dependencies] mpmath = ">=0.19" +[[package]] +name = "tbb" +version = "2021.12.0" +description = "IntelĀ® oneAPI Threading Building Blocks (oneTBB)" +optional = false +python-versions = "*" +files = [ + {file = "tbb-2021.12.0-py2.py3-none-manylinux1_i686.whl", hash = "sha256:f2cc9a7f8ababaa506cbff796ce97c3bf91062ba521e15054394f773375d81d8"}, + {file = "tbb-2021.12.0-py2.py3-none-manylinux1_x86_64.whl", hash = "sha256:a925e9a7c77d3a46ae31c34b0bb7f801c4118e857d137b68f68a8e458fcf2bd7"}, + {file = "tbb-2021.12.0-py3-none-win32.whl", hash = "sha256:b1725b30c174048edc8be70bd43bb95473f396ce895d91151a474d0fa9f450a8"}, + {file = "tbb-2021.12.0-py3-none-win_amd64.whl", hash = "sha256:fc2772d850229f2f3df85f1109c4844c495a2db7433d38200959ee9265b34789"}, +] + [[package]] name = "threadpoolctl" -version = "3.3.0" +version = "3.5.0" description = "threadpoolctl" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "threadpoolctl-3.3.0-py3-none-any.whl", hash = "sha256:6155be1f4a39f31a18ea70f94a77e0ccd57dced08122ea61109e7da89883781e"}, - {file = "threadpoolctl-3.3.0.tar.gz", hash = "sha256:5dac632b4fa2d43f42130267929af3ba01399ef4bd1882918e92dbc30365d30c"}, + {file = "threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467"}, + {file = "threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107"}, ] [[package]] name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3915,45 +4417,51 @@ files = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] +[[package]] +name = "tomlkit" +version = "0.12.5" +description = "Style preserving TOML library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomlkit-0.12.5-py3-none-any.whl", hash = "sha256:af914f5a9c59ed9d0762c7b64d3b5d5df007448eb9cd2edc8a46b1eafead172f"}, + {file = "tomlkit-0.12.5.tar.gz", hash = "sha256:eef34fba39834d4d6b73c9ba7f3e4d1c417a4e56f89a7e96e090dd0d24b8fb3c"}, +] + [[package]] name = "torch" -version = "2.2.1" +version = "2.3.0" description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" -category = "main" optional = false python-versions = ">=3.8.0" files = [ - {file = "torch-2.2.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:8d3bad336dd2c93c6bcb3268e8e9876185bda50ebde325ef211fb565c7d15273"}, - {file = "torch-2.2.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:5297f13370fdaca05959134b26a06a7f232ae254bf2e11a50eddec62525c9006"}, - {file = "torch-2.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:5f5dee8433798888ca1415055f5e3faf28a3bad660e4c29e1014acd3275ab11a"}, - {file = "torch-2.2.1-cp310-none-macosx_10_9_x86_64.whl", hash = "sha256:b6d78338acabf1fb2e88bf4559d837d30230cf9c3e4337261f4d83200df1fcbe"}, - {file = "torch-2.2.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:6ab3ea2e29d1aac962e905142bbe50943758f55292f1b4fdfb6f4792aae3323e"}, - {file = "torch-2.2.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:d86664ec85902967d902e78272e97d1aff1d331f7619d398d3ffab1c9b8e9157"}, - {file = "torch-2.2.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:d6227060f268894f92c61af0a44c0d8212e19cb98d05c20141c73312d923bc0a"}, - {file = "torch-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:77e990af75fb1675490deb374d36e726f84732cd5677d16f19124934b2409ce9"}, - {file = "torch-2.2.1-cp311-none-macosx_10_9_x86_64.whl", hash = "sha256:46085e328d9b738c261f470231e987930f4cc9472d9ffb7087c7a1343826ac51"}, - {file = "torch-2.2.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:2d9e7e5ecbb002257cf98fae13003abbd620196c35f85c9e34c2adfb961321ec"}, - {file = "torch-2.2.1-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:ada53aebede1c89570e56861b08d12ba4518a1f8b82d467c32665ec4d1f4b3c8"}, - {file = "torch-2.2.1-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:be21d4c41ecebed9e99430dac87de1439a8c7882faf23bba7fea3fea7b906ac1"}, - {file = "torch-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:79848f46196750367dcdf1d2132b722180b9d889571e14d579ae82d2f50596c5"}, - {file = "torch-2.2.1-cp312-none-macosx_10_9_x86_64.whl", hash = "sha256:7ee804847be6be0032fbd2d1e6742fea2814c92bebccb177f0d3b8e92b2d2b18"}, - {file = "torch-2.2.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:84b2fb322ab091039fdfe74e17442ff046b258eb5e513a28093152c5b07325a7"}, - {file = "torch-2.2.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5c0c83aa7d94569997f1f474595e808072d80b04d34912ce6f1a0e1c24b0c12a"}, - {file = "torch-2.2.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:91a1b598055ba06b2c386415d2e7f6ac818545e94c5def597a74754940188513"}, - {file = "torch-2.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:8f93ddf3001ecec16568390b507652644a3a103baa72de3ad3b9c530e3277098"}, - {file = "torch-2.2.1-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:0e8bdd4c77ac2584f33ee14c6cd3b12767b4da508ec4eed109520be7212d1069"}, - {file = "torch-2.2.1-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:6a21bcd7076677c97ca7db7506d683e4e9db137e8420eb4a68fb67c3668232a7"}, - {file = "torch-2.2.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f1b90ac61f862634039265cd0f746cc9879feee03ff962c803486301b778714b"}, - {file = "torch-2.2.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:ed9e29eb94cd493b36bca9cb0b1fd7f06a0688215ad1e4b3ab4931726e0ec092"}, - {file = "torch-2.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:c47bc25744c743f3835831a20efdcfd60aeb7c3f9804a213f61e45803d16c2a5"}, - {file = "torch-2.2.1-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:0952549bcb43448c8d860d5e3e947dd18cbab491b14638e21750cb3090d5ad3e"}, - {file = "torch-2.2.1-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:26bd2272ec46fc62dcf7d24b2fb284d44fcb7be9d529ebf336b9860350d674ed"}, + {file = "torch-2.3.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:d8ea5a465dbfd8501f33c937d1f693176c9aef9d1c1b0ca1d44ed7b0a18c52ac"}, + {file = "torch-2.3.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:09c81c5859a5b819956c6925a405ef1cdda393c9d8a01ce3851453f699d3358c"}, + {file = "torch-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:1bf023aa20902586f614f7682fedfa463e773e26c58820b74158a72470259459"}, + {file = "torch-2.3.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:758ef938de87a2653bba74b91f703458c15569f1562bf4b6c63c62d9c5a0c1f5"}, + {file = "torch-2.3.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:493d54ee2f9df100b5ce1d18c96dbb8d14908721f76351e908c9d2622773a788"}, + {file = "torch-2.3.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:bce43af735c3da16cc14c7de2be7ad038e2fbf75654c2e274e575c6c05772ace"}, + {file = "torch-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:729804e97b7cf19ae9ab4181f91f5e612af07956f35c8b2c8e9d9f3596a8e877"}, + {file = "torch-2.3.0-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:d24e328226d8e2af7cf80fcb1d2f1d108e0de32777fab4aaa2b37b9765d8be73"}, + {file = "torch-2.3.0-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:b0de2bdc0486ea7b14fc47ff805172df44e421a7318b7c4d92ef589a75d27410"}, + {file = "torch-2.3.0-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:a306c87a3eead1ed47457822c01dfbd459fe2920f2d38cbdf90de18f23f72542"}, + {file = "torch-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:f9b98bf1a3c8af2d4c41f0bf1433920900896c446d1ddc128290ff146d1eb4bd"}, + {file = "torch-2.3.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:dca986214267b34065a79000cee54232e62b41dff1ec2cab9abc3fc8b3dee0ad"}, + {file = "torch-2.3.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:20572f426965dd8a04e92a473d7e445fa579e09943cc0354f3e6fef6130ce061"}, + {file = "torch-2.3.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:e65ba85ae292909cde0dde6369826d51165a3fc8823dc1854cd9432d7f79b932"}, + {file = "torch-2.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:5515503a193781fd1b3f5c474e89c9dfa2faaa782b2795cc4a7ab7e67de923f6"}, + {file = "torch-2.3.0-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:6ae9f64b09516baa4ef890af0672dc981c20b1f0d829ce115d4420a247e88fba"}, + {file = "torch-2.3.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:cd0dc498b961ab19cb3f8dbf0c6c50e244f2f37dbfa05754ab44ea057c944ef9"}, + {file = "torch-2.3.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:e05f836559251e4096f3786ee99f4a8cbe67bc7fbedba8ad5e799681e47c5e80"}, + {file = "torch-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:4fb27b35dbb32303c2927da86e27b54a92209ddfb7234afb1949ea2b3effffea"}, + {file = "torch-2.3.0-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:760f8bedff506ce9e6e103498f9b1e9e15809e008368594c3a66bf74a8a51380"}, ] [package.dependencies] filelock = "*" fsspec = "*" jinja2 = "*" +mkl = {version = ">=2021.1.1,<=2021.4.0", markers = "platform_system == \"Windows\""} networkx = "*" nvidia-cublas-cu12 = {version = "12.1.3.1", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-cuda-cupti-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} @@ -3964,50 +4472,192 @@ nvidia-cufft-cu12 = {version = "11.0.2.54", markers = "platform_system == \"Linu nvidia-curand-cu12 = {version = "10.3.2.106", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-cusolver-cu12 = {version = "11.4.5.107", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-cusparse-cu12 = {version = "12.1.0.106", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-nccl-cu12 = {version = "2.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-nccl-cu12 = {version = "2.20.5", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-nvtx-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} sympy = "*" -triton = {version = "2.2.0", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\" and python_version < \"3.12\""} +triton = {version = "2.3.0", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\" and python_version < \"3.12\""} typing-extensions = ">=4.8.0" [package.extras] opt-einsum = ["opt-einsum (>=3.3)"] optree = ["optree (>=0.9.1)"] +[[package]] +name = "torchcde" +version = "0.2.5" +description = "Differentiable controlled differential equation solvers for PyTorch with GPU support and memory-efficient adjoint backpropagation." +optional = false +python-versions = "~=3.6" +files = [ + {file = "torchcde-0.2.5-py3-none-any.whl", hash = "sha256:90ad5943d74d601400476a3cdaf6ea7aabd3967033ba6d513bc8f6a93f982ffd"}, + {file = "torchcde-0.2.5.tar.gz", hash = "sha256:6e6081192e00476314eb0d97ce54e6c6a67134d868b97b06db7b8017e60f0de6"}, +] + +[package.dependencies] +torch = ">=1.7.0" +torchdiffeq = ">=0.2.0" +torchsde = ">=0.2.5" + +[[package]] +name = "torchcfm" +version = "1.0.6" +description = "Conditional Flow Matching for Fast Continuous Normalizing Flow Training." +optional = false +python-versions = "*" +files = [] +develop = false + +[package.dependencies] +absl-py = "*" +clean-fid = "*" +lightning-bolts = "*" +matplotlib = "*" +numpy = "*" +pot = "*" +scanpy = "*" +scikit-learn = "*" +scipy = "*" +scprep = "*" +torch = ">=1.11.0" +torchdiffeq = "*" +torchdyn = "*" +torchvision = ">=0.11.0" + +[package.extras] +forest-flow = ["ForestDiffusion", "scikit-learn", "xgboost"] + +[package.source] +type = "git" +url = "ssh://git@github.com/DemyCode/conditional-flow-matching" +reference = "HEAD" +resolved_reference = "e1973e1b4caa1589d2f62679af53b8e912539189" + +[[package]] +name = "torchdiffeq" +version = "0.2.3" +description = "ODE solvers and adjoint sensitivity analysis in PyTorch." +optional = false +python-versions = "~=3.6" +files = [ + {file = "torchdiffeq-0.2.3-py3-none-any.whl", hash = "sha256:b5b01ec1294a2d8d5f77e567bf17c5de1237c0573cb94deefa88326f0e18c338"}, + {file = "torchdiffeq-0.2.3.tar.gz", hash = "sha256:fe75f434b9090ac0c27702e02bed21472b0f87035be6581f51edc5d4013ea31a"}, +] + +[package.dependencies] +scipy = ">=1.4.0" +torch = ">=1.3.0" + +[[package]] +name = "torchdyn" +version = "1.0.6" +description = "A PyTorch library entirely dedicated to neural differential equations, implicit models and related numerical methods." +optional = false +python-versions = ">=3.8,<4.0" +files = [ + {file = "torchdyn-1.0.6-py3-none-any.whl", hash = "sha256:1699db47296b14756172cd26b814bd49ce702420f8c4b049c8ae60b4ae6ac88d"}, + {file = "torchdyn-1.0.6.tar.gz", hash = "sha256:3b74d785e3d9c8a42a65dc061af11d39fb2036500ca73d32f077c9314148cdbf"}, +] + +[package.dependencies] +ipykernel = "*" +ipywidgets = "*" +matplotlib = "*" +poethepoet = ">=0.10.0,<0.11.0" +pytorch-lightning = "*" +scikit-learn = "*" +scipy = "*" +torch = ">=1.8.1" +torchcde = ">=0.2.3,<0.3.0" +torchsde = "*" +torchvision = "*" + [[package]] name = "torchmetrics" -version = "1.3.1" +version = "1.4.0" description = "PyTorch native Metrics" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "torchmetrics-1.3.1-py3-none-any.whl", hash = "sha256:a44bd1edee629bbf463eb81bfba8300b3785d8b3b8d758bdcafa862b80955b4f"}, - {file = "torchmetrics-1.3.1.tar.gz", hash = "sha256:8d371f7597a1a5eb02d5f2ed59642d6fef09093926997ce91e18b1147cc8defa"}, + {file = "torchmetrics-1.4.0-py3-none-any.whl", hash = "sha256:18599929a0fff7d4b840a3f9a7700054121850c378caaf7206f4161c0a5dc93c"}, + {file = "torchmetrics-1.4.0.tar.gz", hash = "sha256:0b1e5acdcc9beb05bfe369d3d56cfa5b143f060ebfd6079d19ccc59ba46465b3"}, ] [package.dependencies] lightning-utilities = ">=0.8.0" numpy = ">1.20.0" packaging = ">17.1" +pretty-errors = "1.2.25" torch = ">=1.10.0" [package.extras] -all = ["SciencePlots (>=2.0.0)", "ipadic (>=1.0.0)", "matplotlib (>=3.3.0)", "mecab-ko (>=1.0.0)", "mecab-ko-dic (>=1.0.0)", "mecab-python3 (>=1.0.6)", "mypy (==1.8.0)", "nltk (>=3.6)", "piq (<=0.8.0)", "pycocotools (>2.0.0)", "pystoi (>=0.3.0)", "regex (>=2021.9.24)", "scipy (>1.0.0)", "sentencepiece (>=0.1.98)", "torch (==2.2.0)", "torch-fidelity (<=0.4.0)", "torchaudio (>=0.10.0)", "torchvision (>=0.8)", "tqdm (>=4.41.0)", "transformers (>4.4.0)", "transformers (>=4.10.0)", "types-PyYAML", "types-emoji", "types-protobuf", "types-requests", "types-setuptools", "types-six", "types-tabulate"] +all = ["SciencePlots (>=2.0.0)", "ipadic (>=1.0.0)", "matplotlib (>=3.3.0)", "mecab-python3 (>=1.0.6)", "mypy (==1.9.0)", "nltk (>=3.6)", "piq (<=0.8.0)", "pycocotools (>2.0.0)", "pystoi (>=0.3.0)", "regex (>=2021.9.24)", "scipy (>1.0.0)", "sentencepiece (>=0.2.0)", "torch (==2.3.0)", "torch-fidelity (<=0.4.0)", "torchaudio (>=0.10.0)", "torchvision (>=0.8)", "tqdm (>=4.41.0)", "transformers (>4.4.0)", "transformers (>=4.10.0)", "types-PyYAML", "types-emoji", "types-protobuf", "types-requests", "types-setuptools", "types-six", "types-tabulate"] audio = ["pystoi (>=0.3.0)", "torchaudio (>=0.10.0)"] detection = ["pycocotools (>2.0.0)", "torchvision (>=0.8)"] -dev = ["SciencePlots (>=2.0.0)", "bert-score (==0.3.13)", "dython (<=0.7.5)", "fairlearn", "fast-bss-eval (>=0.1.0)", "faster-coco-eval (>=1.3.3)", "huggingface-hub (<0.21)", "ipadic (>=1.0.0)", "jiwer (>=2.3.0)", "kornia (>=0.6.7)", "lpips (<=0.1.4)", "matplotlib (>=3.3.0)", "mecab-ko (>=1.0.0)", "mecab-ko-dic (>=1.0.0)", "mecab-python3 (>=1.0.6)", "mir-eval (>=0.6)", "monai (==1.3.0)", "mypy (==1.8.0)", "netcal (>1.0.0)", "nltk (>=3.6)", "numpy (<1.25.0)", "pandas (>1.0.0)", "pandas (>=1.4.0)", "piq (<=0.8.0)", "pycocotools (>2.0.0)", "pystoi (>=0.3.0)", "pytorch-msssim (==1.0.0)", "regex (>=2021.9.24)", "rouge-score (>0.1.0)", "sacrebleu (>=2.3.0)", "scikit-image (>=0.19.0)", "scipy (>1.0.0)", "sentencepiece (>=0.1.98)", "sewar (>=0.4.4)", "statsmodels (>0.13.5)", "torch (==2.2.0)", "torch-complex (<=0.4.3)", "torch-fidelity (<=0.4.0)", "torchaudio (>=0.10.0)", "torchvision (>=0.8)", "tqdm (>=4.41.0)", "transformers (>4.4.0)", "transformers (>=4.10.0)", "types-PyYAML", "types-emoji", "types-protobuf", "types-requests", "types-setuptools", "types-six", "types-tabulate"] +dev = ["SciencePlots (>=2.0.0)", "bert-score (==0.3.13)", "dython (<=0.7.5)", "fairlearn", "fast-bss-eval (>=0.1.0)", "faster-coco-eval (>=1.3.3)", "huggingface-hub (<0.23)", "ipadic (>=1.0.0)", "jiwer (>=2.3.0)", "kornia (>=0.6.7)", "lpips (<=0.1.4)", "matplotlib (>=3.3.0)", "mecab-ko (>=1.0.0)", "mecab-ko-dic (>=1.0.0)", "mecab-python3 (>=1.0.6)", "mir-eval (>=0.6)", "monai (==1.3.0)", "mypy (==1.9.0)", "netcal (>1.0.0)", "nltk (>=3.6)", "numpy (<1.25.0)", "pandas (>1.0.0)", "pandas (>=1.4.0)", "piq (<=0.8.0)", "pycocotools (>2.0.0)", "pystoi (>=0.3.0)", "pytorch-msssim (==1.0.0)", "regex (>=2021.9.24)", "rouge-score (>0.1.0)", "sacrebleu (>=2.3.0)", "scikit-image (>=0.19.0)", "scipy (>1.0.0)", "sentencepiece (>=0.2.0)", "sewar (>=0.4.4)", "statsmodels (>0.13.5)", "torch (==2.3.0)", "torch-complex (<=0.4.3)", "torch-fidelity (<=0.4.0)", "torchaudio (>=0.10.0)", "torchvision (>=0.8)", "tqdm (>=4.41.0)", "transformers (>4.4.0)", "transformers (>=4.10.0)", "types-PyYAML", "types-emoji", "types-protobuf", "types-requests", "types-setuptools", "types-six", "types-tabulate"] image = ["scipy (>1.0.0)", "torch-fidelity (<=0.4.0)", "torchvision (>=0.8)"] multimodal = ["piq (<=0.8.0)", "transformers (>=4.10.0)"] -text = ["ipadic (>=1.0.0)", "mecab-ko (>=1.0.0)", "mecab-ko-dic (>=1.0.0)", "mecab-python3 (>=1.0.6)", "nltk (>=3.6)", "regex (>=2021.9.24)", "sentencepiece (>=0.1.98)", "tqdm (>=4.41.0)", "transformers (>4.4.0)"] -typing = ["mypy (==1.8.0)", "torch (==2.2.0)", "types-PyYAML", "types-emoji", "types-protobuf", "types-requests", "types-setuptools", "types-six", "types-tabulate"] +text = ["ipadic (>=1.0.0)", "mecab-python3 (>=1.0.6)", "nltk (>=3.6)", "regex (>=2021.9.24)", "sentencepiece (>=0.2.0)", "tqdm (>=4.41.0)", "transformers (>4.4.0)"] +typing = ["mypy (==1.9.0)", "torch (==2.3.0)", "types-PyYAML", "types-emoji", "types-protobuf", "types-requests", "types-setuptools", "types-six", "types-tabulate"] visual = ["SciencePlots (>=2.0.0)", "matplotlib (>=3.3.0)"] +[[package]] +name = "torchsde" +version = "0.2.6" +description = "SDE solvers and stochastic adjoint sensitivity analysis in PyTorch." +optional = false +python-versions = ">=3.8" +files = [ + {file = "torchsde-0.2.6-py3-none-any.whl", hash = "sha256:19bf7ff02eec7e8e46ba1cdb4aa0f9db1c51d492524a16975234b467f7fc463b"}, + {file = "torchsde-0.2.6.tar.gz", hash = "sha256:81d074d3504f9d190f1694fb526395afbe4608ee43a88adb1262a639e5b4778b"}, +] + +[package.dependencies] +numpy = ">=1.19" +scipy = ">=1.5" +torch = ">=1.6.0" +trampoline = ">=0.1.2" + +[[package]] +name = "torchvision" +version = "0.18.0" +description = "image and video datasets and models for torch deep learning" +optional = false +python-versions = ">=3.8" +files = [ + {file = "torchvision-0.18.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dd61628a3d189c6852a12dc5ed4cd2eece66d2d67f35a866cb16f1dcb06c8c62"}, + {file = "torchvision-0.18.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:493c45f9937dad37aa1b64b14da17c7a589c72b91adc4837d431009cfe29bd53"}, + {file = "torchvision-0.18.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:5337f6acfa1fe959d5cb340d01a00614d6b31ce7a4824ccb95435a85c5273b95"}, + {file = "torchvision-0.18.0-cp310-cp310-win_amd64.whl", hash = "sha256:bd8e6f3b5beb49965f15c461302488edfa3d8c2d01d3bb79b150d6fb62711e3a"}, + {file = "torchvision-0.18.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6896a52168befe1105fb3c9335287390ed227e71d1e4ec4d68b62e8a3099fc09"}, + {file = "torchvision-0.18.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:3d7955398d4ceaad77c487c2c44f6f7813112402c9bab8cd906d346005891048"}, + {file = "torchvision-0.18.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:e5a24d620cea14a4bb89f24aa2b506230c0a16a3ada57fc53ad80cfd256a2128"}, + {file = "torchvision-0.18.0-cp311-cp311-win_amd64.whl", hash = "sha256:6ad70ddfa879bda5ed886b2518fe562640e0059787cbd65cb2bffa7674541410"}, + {file = "torchvision-0.18.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:eb9d83c0e1dbb54ecb0fb04c87f786333e3a6fb8b9c400aca7c31081f9aa5707"}, + {file = "torchvision-0.18.0-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:b657d052d146f24cb3b2a78219bfc82ae70a9706671c50f632528907d10cccec"}, + {file = "torchvision-0.18.0-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:a964afbc7ddf50a46b941477f6c35729b416deedd139756befd488245e2e226d"}, + {file = "torchvision-0.18.0-cp312-cp312-win_amd64.whl", hash = "sha256:7c770f0f748e0b17f57c0297508d7254f686cdf03fc2e2949f422b20574f4c0f"}, + {file = "torchvision-0.18.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2115a1906c015f5da9ceedc40a983313b0fd6e2c8a17108a92991706f51f6987"}, + {file = "torchvision-0.18.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6323f7e5423ff2594d5891863b919deb9d0de95f01c36bf26fbd879036b6ed08"}, + {file = "torchvision-0.18.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:925d0a82cccf6f986c18b29b4392a942db65cbdb73c13a129c8493822eb9e36f"}, + {file = "torchvision-0.18.0-cp38-cp38-win_amd64.whl", hash = "sha256:95b42d0dc599b47a01530c7439a5751e67e45b85e3a67113989cf7c7c70f2039"}, + {file = "torchvision-0.18.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:75e22ecf44a13b8f95b8ad421c0261282d859c61816badaca1959e073ccdd691"}, + {file = "torchvision-0.18.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:4c334b3e719ba0a9ba6e15d4aff1178f5e6d029174f346163fed525f0ccfffd3"}, + {file = "torchvision-0.18.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:36efd87001c6bee2383e043e46a025affb03179747c8f4777b9918527ffce756"}, + {file = "torchvision-0.18.0-cp39-cp39-win_amd64.whl", hash = "sha256:ccc292e093771d5baacf5535ac4416306b6b5f15676341cd4d010d8542eace25"}, +] + +[package.dependencies] +numpy = "*" +pillow = ">=5.3.0,<8.3.dev0 || >=8.4.dev0" +torch = "2.3.0" + +[package.extras] +scipy = ["scipy"] + [[package]] name = "tornado" version = "6.4" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." -category = "dev" optional = false python-versions = ">= 3.8" files = [ @@ -4026,14 +4676,13 @@ files = [ [[package]] name = "tqdm" -version = "4.66.2" +version = "4.66.4" description = "Fast, Extensible Progress Meter" -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.66.2-py3-none-any.whl", hash = "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9"}, - {file = "tqdm-4.66.2.tar.gz", hash = "sha256:6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531"}, + {file = "tqdm-4.66.4-py3-none-any.whl", hash = "sha256:b75ca56b413b030bc3f00af51fd2c1a1a5eac6a0c1cca83cbb37a5c52abce644"}, + {file = "tqdm-4.66.4.tar.gz", hash = "sha256:e4d936c9de8727928f3be6079590e97d9abfe8d39a590be678eb5919ffc186bb"}, ] [package.dependencies] @@ -4047,34 +4696,42 @@ telegram = ["requests"] [[package]] name = "traitlets" -version = "5.14.1" +version = "5.14.3" description = "Traitlets Python configuration system" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "traitlets-5.14.1-py3-none-any.whl", hash = "sha256:2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74"}, - {file = "traitlets-5.14.1.tar.gz", hash = "sha256:8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e"}, + {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, + {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, ] [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.2)", "pytest-mock", "pytest-mypy-testing"] + +[[package]] +name = "trampoline" +version = "0.1.2" +description = "Simple and tiny yield-based trampoline implementation." +optional = false +python-versions = "*" +files = [ + {file = "trampoline-0.1.2-py3-none-any.whl", hash = "sha256:36cc9a4ff9811843d177fc0e0740efbd7da39eadfe6e50c9e2937cbc06d899d9"}, +] [[package]] name = "trio" -version = "0.24.0" +version = "0.25.0" description = "A friendly Python library for async concurrency and I/O" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "trio-0.24.0-py3-none-any.whl", hash = "sha256:c3bd3a4e3e3025cd9a2241eae75637c43fe0b9e88b4c97b9161a55b9e54cd72c"}, - {file = "trio-0.24.0.tar.gz", hash = "sha256:ffa09a74a6bf81b84f8613909fb0beaee84757450183a7a2e0b47b455c0cac5d"}, + {file = "trio-0.25.0-py3-none-any.whl", hash = "sha256:e6458efe29cc543e557a91e614e2b51710eba2961669329ce9c862d50c6e8e81"}, + {file = "trio-0.25.0.tar.gz", hash = "sha256:9b41f5993ad2c0e5f62d0acca320ec657fdb6b2a2c22b8c7aed6caf154475c4e"}, ] [package.dependencies] -attrs = ">=20.1.0" +attrs = ">=23.2.0" cffi = {version = ">=1.14", markers = "os_name == \"nt\" and implementation_name != \"pypy\""} exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} idna = "*" @@ -4086,7 +4743,6 @@ sortedcontainers = "*" name = "trio-websocket" version = "0.11.1" description = "WebSocket library for Trio" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4101,18 +4757,17 @@ wsproto = ">=0.14" [[package]] name = "triton" -version = "2.2.0" +version = "2.3.0" description = "A language and compiler for custom Deep Learning operations" -category = "main" optional = false python-versions = "*" files = [ - {file = "triton-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2294514340cfe4e8f4f9e5c66c702744c4a117d25e618bd08469d0bfed1e2e5"}, - {file = "triton-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da58a152bddb62cafa9a857dd2bc1f886dbf9f9c90a2b5da82157cd2b34392b0"}, - {file = "triton-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af58716e721460a61886668b205963dc4d1e4ac20508cc3f623aef0d70283d5"}, - {file = "triton-2.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8fe46d3ab94a8103e291bd44c741cc294b91d1d81c1a2888254cbf7ff846dab"}, - {file = "triton-2.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8ce26093e539d727e7cf6f6f0d932b1ab0574dc02567e684377630d86723ace"}, - {file = "triton-2.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:227cc6f357c5efcb357f3867ac2a8e7ecea2298cd4606a8ba1e931d1d5a947df"}, + {file = "triton-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ce4b8ff70c48e47274c66f269cce8861cf1dc347ceeb7a67414ca151b1822d8"}, + {file = "triton-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c3d9607f85103afdb279938fc1dd2a66e4f5999a58eb48a346bd42738f986dd"}, + {file = "triton-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:218d742e67480d9581bafb73ed598416cc8a56f6316152e5562ee65e33de01c0"}, + {file = "triton-2.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:381ec6b3dac06922d3e4099cfc943ef032893b25415de295e82b1a82b0359d2c"}, + {file = "triton-2.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:038e06a09c06a164fef9c48de3af1e13a63dc1ba3c792871e61a8e79720ea440"}, + {file = "triton-2.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d8f636e0341ac348899a47a057c3daea99ea7db31528a225a3ba4ded28ccc65"}, ] [package.dependencies] @@ -4125,26 +4780,24 @@ tutorials = ["matplotlib", "pandas", "tabulate", "torch"] [[package]] name = "types-awscrt" -version = "0.20.5" +version = "0.20.9" description = "Type annotations and code completion for awscrt" -category = "main" optional = false -python-versions = ">=3.7,<4.0" +python-versions = "<4.0,>=3.7" files = [ - {file = "types_awscrt-0.20.5-py3-none-any.whl", hash = "sha256:79d5bfb01f64701b6cf442e89a37d9c4dc6dbb79a46f2f611739b2418d30ecfd"}, - {file = "types_awscrt-0.20.5.tar.gz", hash = "sha256:61811bbf4de95248939f9276a434be93d2b95f6ccfe8aa94e56999e9778cfcc2"}, + {file = "types_awscrt-0.20.9-py3-none-any.whl", hash = "sha256:3ae374b553e7228ba41a528cf42bd0b2ad7303d806c73eff4aaaac1515e3ea4e"}, + {file = "types_awscrt-0.20.9.tar.gz", hash = "sha256:64898a2f4a2468f66233cb8c29c5f66de907cf80ba1ef5bb1359aef2f81bb521"}, ] [[package]] name = "types-requests" -version = "2.31.0.20240218" +version = "2.31.0.20240406" description = "Typing stubs for requests" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "types-requests-2.31.0.20240218.tar.gz", hash = "sha256:f1721dba8385958f504a5386240b92de4734e047a08a40751c1654d1ac3349c5"}, - {file = "types_requests-2.31.0.20240218-py3-none-any.whl", hash = "sha256:a82807ec6ddce8f00fe0e949da6d6bc1fbf1715420218a9640d695f70a9e5a9b"}, + {file = "types-requests-2.31.0.20240406.tar.gz", hash = "sha256:4428df33c5503945c74b3f42e82b181e86ec7b724620419a2966e2de604ce1a1"}, + {file = "types_requests-2.31.0.20240406-py3-none-any.whl", hash = "sha256:6216cdac377c6b9a040ac1c0404f7284bd13199c0e1bb235f4324627e8898cf5"}, ] [package.dependencies] @@ -4152,57 +4805,41 @@ urllib3 = ">=2" [[package]] name = "types-s3transfer" -version = "0.10.0" +version = "0.10.1" description = "Type annotations and code completion for s3transfer" -category = "main" optional = false -python-versions = ">=3.7,<4.0" +python-versions = "<4.0,>=3.8" files = [ - {file = "types_s3transfer-0.10.0-py3-none-any.whl", hash = "sha256:44fcdf0097b924a9aab1ee4baa1179081a9559ca62a88c807e2b256893ce688f"}, - {file = "types_s3transfer-0.10.0.tar.gz", hash = "sha256:35e4998c25df7f8985ad69dedc8e4860e8af3b43b7615e940d53c00d413bdc69"}, + {file = "types_s3transfer-0.10.1-py3-none-any.whl", hash = "sha256:49a7c81fa609ac1532f8de3756e64b58afcecad8767933310228002ec7adff74"}, + {file = "types_s3transfer-0.10.1.tar.gz", hash = "sha256:02154cce46528287ad76ad1a0153840e0492239a0887e8833466eccf84b98da0"}, ] [[package]] name = "types-tqdm" -version = "4.66.0.20240106" +version = "4.66.0.20240417" description = "Typing stubs for tqdm" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "types-tqdm-4.66.0.20240106.tar.gz", hash = "sha256:7acf4aade5bad3ded76eb829783f9961b1c2187948eaa6dd1ae8644dff95a938"}, - {file = "types_tqdm-4.66.0.20240106-py3-none-any.whl", hash = "sha256:7459b0f441b969735685645a5d8480f7912b10d05ab45f99a2db8a8e45cb550b"}, -] - -[[package]] -name = "types-xmltodict" -version = "0.13.0.3" -description = "Typing stubs for xmltodict" -category = "main" -optional = false -python-versions = "*" -files = [ - {file = "types-xmltodict-0.13.0.3.tar.gz", hash = "sha256:8884534bab0364c4b22d5973f3c8153ff40d413a801d9e70eb893e676909f1fc"}, - {file = "types_xmltodict-0.13.0.3-py3-none-any.whl", hash = "sha256:cb251c59e838986d8402b10d804225ade9fd6c9f66d01dc45cd6cfdf43640128"}, + {file = "types-tqdm-4.66.0.20240417.tar.gz", hash = "sha256:16dce9ef522ea8d40e4f5b8d84dd8a1166eefc13ceee7a7e158bf0f1a1421a31"}, + {file = "types_tqdm-4.66.0.20240417-py3-none-any.whl", hash = "sha256:248aef1f9986b7b8c2c12b3cb4399fc17dba0a29e7e3f3f9cd704babb879383d"}, ] [[package]] name = "typing-extensions" -version = "4.10.0" +version = "4.11.0" description = "Backported and Experimental Type Hints for Python 3.8+" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"}, - {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"}, + {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"}, + {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, ] [[package]] name = "tzdata" version = "2024.1" description = "Provider of IANA time zone data" -category = "main" optional = false python-versions = ">=2" files = [ @@ -4210,16 +4847,39 @@ files = [ {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, ] +[[package]] +name = "umap-learn" +version = "0.5.6" +description = "Uniform Manifold Approximation and Projection" +optional = false +python-versions = "*" +files = [ + {file = "umap-learn-0.5.6.tar.gz", hash = "sha256:5b3917a862c23ba0fc83bfcd67a7b719dec85b3d9c01fdc7d894cce455df4e03"}, + {file = "umap_learn-0.5.6-py3-none-any.whl", hash = "sha256:881cc0c2ee845b790bf0455aa1664f9f68b838d9d0fe12a1291b85c5a559c913"}, +] + +[package.dependencies] +numba = ">=0.51.2" +numpy = ">=1.17" +pynndescent = ">=0.5" +scikit-learn = ">=0.22" +scipy = ">=1.3.1" +tqdm = "*" + +[package.extras] +parametric-umap = ["tensorflow (>=2.1)"] +plot = ["bokeh", "colorcet", "datashader", "holoviews", "matplotlib", "pandas", "scikit-image", "seaborn"] +tbb = ["tbb (>=2019.0)"] + [[package]] name = "urllib3" -version = "2.0.7" +version = "2.2.1" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, - {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, + {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, + {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, ] [package.dependencies] @@ -4227,20 +4887,19 @@ pysocks = {version = ">=1.5.6,<1.5.7 || >1.5.7,<2.0", optional = true, markers = [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.25.1" +version = "20.26.1" description = "Virtual Python Environment builder" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.25.1-py3-none-any.whl", hash = "sha256:961c026ac520bac5f69acb8ea063e8a4f071bcc9457b9c1f28f6b085c511583a"}, - {file = "virtualenv-20.25.1.tar.gz", hash = "sha256:e08e13ecdca7a0bd53798f356d5831434afa5b07b93f0abdf0797b7a06ffe197"}, + {file = "virtualenv-20.26.1-py3-none-any.whl", hash = "sha256:7aa9982a728ae5892558bff6a2839c00b9ed145523ece2274fad6f414690ae75"}, + {file = "virtualenv-20.26.1.tar.gz", hash = "sha256:604bfdceaeece392802e6ae48e69cec49168b9c5f4a44e483963f9242eb0e78b"}, ] [package.dependencies] @@ -4249,14 +4908,13 @@ filelock = ">=3.12.2,<4" platformdirs = ">=3.9.1,<5" [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] [[package]] name = "watchdog" version = "4.0.0" description = "Filesystem events monitoring" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4298,7 +4956,6 @@ watchmedo = ["PyYAML (>=3.10)"] name = "wcwidth" version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" -category = "dev" optional = false python-versions = "*" files = [ @@ -4310,7 +4967,6 @@ files = [ name = "widgetsnbextension" version = "4.0.10" description = "Jupyter interactive widgets for Jupyter Notebook" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4322,7 +4978,6 @@ files = [ name = "win32-setctime" version = "1.1.0" description = "A small Python utility to set file creation time on Windows" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -4337,7 +4992,6 @@ dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"] name = "wsproto" version = "1.2.0" description = "WebSockets state-machine based protocol implementation" -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -4352,7 +5006,6 @@ h11 = ">=0.9.0,<1" name = "yarl" version = "1.9.4" description = "Yet another URL library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4455,4 +5108,4 @@ multidict = ">=4.0" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "11648e0aea885d5de02653ae28ebd2a0dededd14dd7acaca0e14267199532ae1" +content-hash = "1a725c31e79fe3c386fb7a6851f1ba72fdb630ace4b73a91797a60f072921fbd" diff --git a/pyproject.toml b/pyproject.toml index d4ef82a..c84b208 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,17 +18,15 @@ boto3-stubs = { extras = ["essential"], version = "^1.34.35" } types-requests = "^2.31.0.1" loguru = "^0.7.0" types-tqdm = "^4.65.0.1" -types-xmltodict = "^0.13.0.2" pydantic = "2.5.3" pydantic-settings = "^2.1.0" -beautifulsoup4 = "^4.12.3" seaborn = "^0.13.2" # https://onnxruntime.ai/docs/reference/compatibility.html -onnx = "~1.12.0" -onnxruntime = "~1.13.0" litemapy = "^0.8.1b0" lightning = "^2.2.0.post0" nbtlib = "^2.0.4" +torchcfm = { git = "ssh://git@github.com/DemyCode/conditional-flow-matching" } +improved-diffusion = { git = "ssh://git@github.com/DemyCode/improved-diffusion" } [tool.poetry.group.dev.dependencies] ipympl = "^0.9.3"