From 3699b9dfbcf2f472fb8bc1888c2d48b568a84bf3 Mon Sep 17 00:00:00 2001 From: Anton Zamyatin Date: Tue, 12 May 2026 12:52:51 +0200 Subject: [PATCH 1/8] :books: Update paper link and fix broken README navigation --- README.md | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e91fd11..9d2a98d 100755 --- a/README.md +++ b/README.md @@ -18,11 +18,11 @@ When chemtorch is on PyPI uncomment this ^^ [![Python versions](https://img.shields.io/pypi/pyversions/chemtorch.svg)](https://pypi.org/project/chemtorch) [![Downloads](https://img.shields.io/github/downloads/heid-lab/chemtorch/total.svg)](https://github.com/heid-lab/chemtorch/releases) --> -[Quick Start](#🐎-quick-start)Β | +[Quick Start](#quick-start) | [Documentation](https://heid-lab.github.io/chemtorch) | -[Contributing](#🀝-contributing) | -[White Paper](#πŸ“„-read-the-white-paper) | -[Citation](#❀️-citation) +[Contributing](#contributing) | +[White Paper](#white-paper) | +[Citation](#citation) @@ -37,12 +37,16 @@ ChemTorch is a modular research framework for deep learning of chemical reaction + + ## 🐎 Quick Start Follow the [Quick Start guide](https://heid-lab.github.io/chemtorch/getting_started/quick_start.html) to install all dependencies, download some data, and run your first experiment! For more, checkout the [official ChemTorch documentation](https://heid-lab.github.io/chemtorch)! + + ## πŸ“„ Read the white paper -For a few examples of what you can already do with ChemTorch read our [white paper](https://chemrxiv.org/engage/chemrxiv/article-details/690357d9a482cba122e366b6) on ChemRxiv. +Check out the [software/benchmarking paper](https://pubs.acs.org/doi/10.1021/acs.jcim.5c02645) published in JCIM for a few examples of what you can already do with ChemTorch! ## πŸ’¬ Support If you want to ask a question, report a bug, or suggest a feature feel free to open an issue on our [issue tracker](https://github.com/heid-lab/chemtorch/issues) and we will get back to you :) @@ -54,10 +58,14 @@ To detect breaking changes early and safeguard your workflows: - Check the [release notes](https://github.com/heid-lab/chemtorch/releases). - Add and run [Integrity & Reproducibility tests](https://heid-lab.github.io/chemtorch/advanced_guide/integration_tests.html) for your experiments to ensure reproducibility of past results with newer releases. + + ## 🀝 Contributing We welcome contributions. Please read the [contribution guide](CONTRIBUTING.md) before opening issues or PRs. + + ## ❀️ Citation If you use this code in your research, please cite the following paper: @@ -82,4 +90,4 @@ ChemTorch builds on and was inspired by many excellent open-source projects and - [PyTorch Lightning](https://www.pytorchlightning.ai/) β€” cleaner training loops and logging - [Weights & Biases](https://wandb.ai/site/models/) β€” experiment tracking and visualization in one place - [GraphGPS](https://github.com/rampasek/GraphGPS) and [GraphGym](https://github.com/snap-stanford/GraphGym) β€” modular GNN repos which inspired this framework -- [lightning-hydra-template](https://github.com/ashleve/lightning-hydra-template) β€” project structure and integration patterns \ No newline at end of file +- [lightning-hydra-template](https://github.com/ashleve/lightning-hydra-template) β€” project structure and integration patterns From 51eb3cc82b7d8f18aab71fe4c4c18fdbba41eb3e Mon Sep 17 00:00:00 2001 From: Anton Zamyatin Date: Tue, 12 May 2026 18:43:34 +0200 Subject: [PATCH 2/8] :hammer: Update LayerStack to also accept instantiated layers or layer factories --- src/chemtorch/components/layer/layer_stack.py | 42 ++++++++++--- test/test_components/test_layer_stack.py | 63 +++++++++++++++++++ 2 files changed, 98 insertions(+), 7 deletions(-) create mode 100644 test/test_components/test_layer_stack.py diff --git a/src/chemtorch/components/layer/layer_stack.py b/src/chemtorch/components/layer/layer_stack.py index b5f9411..eed76ee 100644 --- a/src/chemtorch/components/layer/layer_stack.py +++ b/src/chemtorch/components/layer/layer_stack.py @@ -1,6 +1,9 @@ +from collections.abc import Callable, Mapping +from copy import deepcopy +from typing import Generic, TypeVar + from omegaconf import DictConfig from torch import nn -from typing import Generic, TypeVar from chemtorch.utils.hydra import safe_instantiate @@ -18,25 +21,50 @@ class LayerStack(nn.Module, Generic[T]): Note, that the input and output types of the layer must be the same. """ - def __init__(self, layer: DictConfig, depth: int, share_weights: bool = False): + def __init__( + self, + layer: DictConfig | Mapping | Callable[[], nn.Module] | nn.Module, + depth: int, + share_weights: bool = False, + ): """ - Initialize the Stack using Hydra for instantiation. + Initialize the Stack using a layer config, factory, or module. Args: - layer (DictConfig): The configuration for the layer to be stacked. + layer: The layer to stack. This can be a Hydra/OmegaConf config, + a mapping config, a zero-argument factory such as + ``functools.partial(MyLayer, ...)``, or an instantiated module. depth (int): The number of times to repeat the layer. share_weights (bool): If True, share weights between the stacked layers. """ super(LayerStack, self).__init__() self.layers = nn.ModuleList() + + def make_layer() -> nn.Module: + if isinstance(layer, nn.Module): + return layer if share_weights else deepcopy(layer) + if isinstance(layer, (DictConfig, Mapping)): + return safe_instantiate(layer) + if callable(layer): + new_layer = layer() + if not isinstance(new_layer, nn.Module): + raise TypeError( + "Layer factory must return a torch.nn.Module, " + f"got {type(new_layer)}." + ) + return new_layer + raise TypeError( + "layer must be a config, a torch.nn.Module, or a zero-argument " + f"factory returning a torch.nn.Module, got {type(layer)}." + ) + if share_weights: - single_layer = safe_instantiate(layer) + single_layer = make_layer() for _ in range(depth): self.layers.append(single_layer) else: for _ in range(depth): - new_layer = safe_instantiate(layer) - self.layers.append(new_layer) + self.layers.append(make_layer()) def forward(self, x: T) -> T: for layer in self.layers: diff --git a/test/test_components/test_layer_stack.py b/test/test_components/test_layer_stack.py new file mode 100644 index 0000000..afac955 --- /dev/null +++ b/test/test_components/test_layer_stack.py @@ -0,0 +1,63 @@ +from functools import partial + +import torch +from omegaconf import OmegaConf + +from chemtorch.components.layer.layer_stack import LayerStack + + +def test_layer_stack_accepts_hydra_config(): + cfg = OmegaConf.create( + { + "_target_": "torch.nn.Linear", + "in_features": 2, + "out_features": 2, + } + ) + + stack = LayerStack(layer=cfg, depth=3) + + assert len(stack.layers) == 3 + assert all(isinstance(layer, torch.nn.Linear) for layer in stack.layers) + assert len({id(layer) for layer in stack.layers}) == 3 + + +def test_layer_stack_accepts_partial_factory(): + stack = LayerStack(layer=partial(torch.nn.Linear, 2, 2), depth=3) + + assert len(stack.layers) == 3 + assert all(isinstance(layer, torch.nn.Linear) for layer in stack.layers) + assert len({id(layer) for layer in stack.layers}) == 3 + + +def test_layer_stack_can_share_factory_layer(): + stack = LayerStack( + layer=partial(torch.nn.Linear, 2, 2), + depth=3, + share_weights=True, + ) + + assert len(stack.layers) == 3 + assert len({id(layer) for layer in stack.layers}) == 1 + + +def test_layer_stack_deepcopies_module_instances_by_default(): + layer = torch.nn.Linear(2, 2) + + stack = LayerStack(layer=layer, depth=3) + + assert len(stack.layers) == 3 + assert all(isinstance(layer, torch.nn.Linear) for layer in stack.layers) + assert len({id(layer) for layer in stack.layers}) == 3 + assert all(stacked_layer is not layer for stacked_layer in stack.layers) + + +def test_layer_stack_can_share_module_instance(): + layer = torch.nn.Linear(2, 2) + + stack = LayerStack(layer=layer, depth=3, share_weights=True) + + assert len(stack.layers) == 3 + assert len({id(stacked_layer) for stacked_layer in stack.layers}) == 1 + assert stack.layers[0] is layer + From f6c4a7587485799375fbe6255fac9840ed5ec01c Mon Sep 17 00:00:00 2001 From: Anton Zamyatin Date: Tue, 12 May 2026 18:43:59 +0200 Subject: [PATCH 3/8] :lipstick: Add module exports for cleaner imports --- .../components/augmentation/__init__.py | 3 +- .../components/data_pipeline/__init__.py | 33 ++++++++++ .../data_pipeline/column_mapper/__init__.py | 5 ++ .../data_pipeline/data_source/__init__.py | 8 ++- .../data_pipeline/data_splitter/__init__.py | 13 ++++ src/chemtorch/components/layer/__init__.py | 45 +++++++++++++ .../components/layer/gnn_layer/__init__.py | 20 +++++- .../layer/gnn_layer/gnn_block/__init__.py | 8 ++- .../layer/gnn_layer/graph_conv/__init__.py | 13 +++- src/chemtorch/components/model/__init__.py | 13 ++++ .../components/model/gnn/__init__.py | 23 +++++++ .../components/model/gnn/encoder/__init__.py | 15 +++++ .../components/model/gnn/pool/__init__.py | 11 ++++ .../components/representation/__init__.py | 16 ++++- .../representation/fingerprint/__init__.py | 4 +- .../representation/graph/__init__.py | 15 ++++- .../graph/featurizer/__init__.py | 24 ++++++- .../featurizer/atom_featurizer/__init__.py | 16 ++++- .../featurizer/bond_featurizer/__init__.py | 8 ++- .../representation/token/__init__.py | 20 ++++++ .../token/tokenizer/__init__.py | 17 +++++ .../tokenizer/molecule_tokenizer/__init__.py | 11 ++++ .../components/transform/__init__.py | 9 ++- .../transform/graph_transform/__init__.py | 8 +++ src/chemtorch/core/__init__.py | 34 ++++++++++ src/chemtorch/core/routine/__init__.py | 5 ++ src/chemtorch/core/scheduler/__init__.py | 9 +++ src/chemtorch/utils/__init__.py | 64 ++++++++++++++++++- src/chemtorch/utils/decorators/__init__.py | 3 + 29 files changed, 458 insertions(+), 15 deletions(-) create mode 100644 src/chemtorch/components/representation/token/tokenizer/__init__.py create mode 100644 src/chemtorch/components/representation/token/tokenizer/molecule_tokenizer/__init__.py create mode 100644 src/chemtorch/core/__init__.py create mode 100644 src/chemtorch/core/scheduler/__init__.py create mode 100644 src/chemtorch/utils/decorators/__init__.py diff --git a/src/chemtorch/components/augmentation/__init__.py b/src/chemtorch/components/augmentation/__init__.py index d91f117..ad5484c 100644 --- a/src/chemtorch/components/augmentation/__init__.py +++ b/src/chemtorch/components/augmentation/__init__.py @@ -1,2 +1,3 @@ from .abstract_augmentation import AbstractAugmentation -from .ts_3d_jitter import TS3DJitterAugmentation \ No newline at end of file + +__all__ = ["AbstractAugmentation"] diff --git a/src/chemtorch/components/data_pipeline/__init__.py b/src/chemtorch/components/data_pipeline/__init__.py index 5b96752..68be140 100644 --- a/src/chemtorch/components/data_pipeline/__init__.py +++ b/src/chemtorch/components/data_pipeline/__init__.py @@ -1 +1,34 @@ +from .column_mapper import AbstractColumnMapper, ColumnFilterAndRename +from .data_source import AbstractDataSource, PreSplitCSVSource, SingleCSVSource +from .data_splitter import ( + AbstractDataSplitter, + DataSplitterBase, + GroupSplitterBase, + IndexSplitter, + RatioSplitter, + ReactionCoreSplitter, + SMILESGroupSplitterBase, + ScaffoldSplitter, + SizeSplitter, + TargetSplitter, +) from .simple_data_pipeline import SimpleDataPipeline + +__all__ = [ + "AbstractColumnMapper", + "AbstractDataSource", + "AbstractDataSplitter", + "ColumnFilterAndRename", + "DataSplitterBase", + "GroupSplitterBase", + "IndexSplitter", + "PreSplitCSVSource", + "RatioSplitter", + "ReactionCoreSplitter", + "SMILESGroupSplitterBase", + "ScaffoldSplitter", + "SimpleDataPipeline", + "SingleCSVSource", + "SizeSplitter", + "TargetSplitter", +] diff --git a/src/chemtorch/components/data_pipeline/column_mapper/__init__.py b/src/chemtorch/components/data_pipeline/column_mapper/__init__.py index 378bb8a..c04c6f6 100644 --- a/src/chemtorch/components/data_pipeline/column_mapper/__init__.py +++ b/src/chemtorch/components/data_pipeline/column_mapper/__init__.py @@ -1,2 +1,7 @@ from .column_filter_rename import ColumnFilterAndRename from .abstract_column_mapper import AbstractColumnMapper + +__all__ = [ + "AbstractColumnMapper", + "ColumnFilterAndRename", +] diff --git a/src/chemtorch/components/data_pipeline/data_source/__init__.py b/src/chemtorch/components/data_pipeline/data_source/__init__.py index 939151b..5d83499 100644 --- a/src/chemtorch/components/data_pipeline/data_source/__init__.py +++ b/src/chemtorch/components/data_pipeline/data_source/__init__.py @@ -1,3 +1,9 @@ from .abstract_data_source import AbstractDataSource from .single_csv_source import SingleCSVSource -from .pre_split_csv_source import PreSplitCSVSource \ No newline at end of file +from .pre_split_csv_source import PreSplitCSVSource + +__all__ = [ + "AbstractDataSource", + "PreSplitCSVSource", + "SingleCSVSource", +] diff --git a/src/chemtorch/components/data_pipeline/data_splitter/__init__.py b/src/chemtorch/components/data_pipeline/data_splitter/__init__.py index 49189fe..a1e97a5 100644 --- a/src/chemtorch/components/data_pipeline/data_splitter/__init__.py +++ b/src/chemtorch/components/data_pipeline/data_splitter/__init__.py @@ -8,3 +8,16 @@ from .smiles_group_splitter_base import SMILESGroupSplitterBase from .scaffold_splitter import ScaffoldSplitter from .reaction_core_splitter import ReactionCoreSplitter + +__all__ = [ + "AbstractDataSplitter", + "DataSplitterBase", + "GroupSplitterBase", + "IndexSplitter", + "RatioSplitter", + "ReactionCoreSplitter", + "SMILESGroupSplitterBase", + "ScaffoldSplitter", + "SizeSplitter", + "TargetSplitter", +] diff --git a/src/chemtorch/components/layer/__init__.py b/src/chemtorch/components/layer/__init__.py index e69de29..2cfa503 100644 --- a/src/chemtorch/components/layer/__init__.py +++ b/src/chemtorch/components/layer/__init__.py @@ -0,0 +1,45 @@ +from .gnn_layer import ( + DMPNNBlock, + DMPNNConv, + DMPNNStack, + EdgeToNodeEmbedding, + GATConv, + GATv2Conv, + GCNConv, + GINEConv, + GINEConvESLapPE, + GPSBlock, + GatedGCNConv, + GNNBlock, + PNAConv, +) +from .layer_stack import LayerStack +from .utils import ( + ResidualConnection, + init_2_layer_ffn, + init_dropout, + init_norm, + normalize, +) + +__all__ = [ + "DMPNNBlock", + "DMPNNConv", + "DMPNNStack", + "EdgeToNodeEmbedding", + "GATConv", + "GATv2Conv", + "GCNConv", + "GINEConv", + "GINEConvESLapPE", + "GPSBlock", + "GatedGCNConv", + "GNNBlock", + "LayerStack", + "PNAConv", + "ResidualConnection", + "init_2_layer_ffn", + "init_dropout", + "init_norm", + "normalize", +] diff --git a/src/chemtorch/components/layer/gnn_layer/__init__.py b/src/chemtorch/components/layer/gnn_layer/__init__.py index b511195..d92c29b 100644 --- a/src/chemtorch/components/layer/gnn_layer/__init__.py +++ b/src/chemtorch/components/layer/gnn_layer/__init__.py @@ -1,4 +1,4 @@ -from .dmpnn_stack import DMPNNStack +from .dmpnn_stack import DMPNNStack, EdgeToNodeEmbedding from .gnn_block import GNNBlock, DMPNNBlock, GPSBlock from .graph_conv import ( DMPNNConv, @@ -9,4 +9,20 @@ GINEConv, GINEConvESLapPE, PNAConv, -) \ No newline at end of file +) + +__all__ = [ + "DMPNNBlock", + "DMPNNConv", + "DMPNNStack", + "EdgeToNodeEmbedding", + "GATConv", + "GATv2Conv", + "GCNConv", + "GINEConv", + "GINEConvESLapPE", + "GPSBlock", + "GatedGCNConv", + "GNNBlock", + "PNAConv", +] diff --git a/src/chemtorch/components/layer/gnn_layer/gnn_block/__init__.py b/src/chemtorch/components/layer/gnn_layer/gnn_block/__init__.py index 3c2d77b..68f5ec6 100644 --- a/src/chemtorch/components/layer/gnn_layer/gnn_block/__init__.py +++ b/src/chemtorch/components/layer/gnn_layer/gnn_block/__init__.py @@ -1,3 +1,9 @@ from .gnn_block import GNNBlock from .dmpnn_block import DMPNNBlock -from .gps_block import GPSBlock \ No newline at end of file +from .gps_block import GPSBlock + +__all__ = [ + "DMPNNBlock", + "GNNBlock", + "GPSBlock", +] diff --git a/src/chemtorch/components/layer/gnn_layer/graph_conv/__init__.py b/src/chemtorch/components/layer/gnn_layer/graph_conv/__init__.py index ffe7741..e8073b5 100644 --- a/src/chemtorch/components/layer/gnn_layer/graph_conv/__init__.py +++ b/src/chemtorch/components/layer/gnn_layer/graph_conv/__init__.py @@ -5,4 +5,15 @@ from .gatv2_conv import GATv2Conv from .gine_conv import GINEConv from .gine_conv_eslappe import GINEConvESLapPE -from .pna_conv import PNAConv \ No newline at end of file +from .pna_conv import PNAConv + +__all__ = [ + "DMPNNConv", + "GATConv", + "GATv2Conv", + "GCNConv", + "GINEConv", + "GINEConvESLapPE", + "GatedGCNConv", + "PNAConv", +] diff --git a/src/chemtorch/components/model/__init__.py b/src/chemtorch/components/model/__init__.py index e69de29..49533ed 100644 --- a/src/chemtorch/components/model/__init__.py +++ b/src/chemtorch/components/model/__init__.py @@ -0,0 +1,13 @@ +from .dimenet import DimeNet, DimeNetPlusPlus, DimeReaction +from .gnn import GNN +from .han import HAN +from .mlp import MLP + +__all__ = [ + "DimeNet", + "DimeNetPlusPlus", + "DimeReaction", + "GNN", + "HAN", + "MLP", +] diff --git a/src/chemtorch/components/model/gnn/__init__.py b/src/chemtorch/components/model/gnn/__init__.py index e69de29..1735be2 100644 --- a/src/chemtorch/components/model/gnn/__init__.py +++ b/src/chemtorch/components/model/gnn/__init__.py @@ -0,0 +1,23 @@ +from .encoder import ( + DegreeEncoder, + DirectedEdgeEncoder, + LinearEdgeEncoder, + LinearEncoder, + LinearNodeEncoder, + RWEncoder, +) +from .gnn import GNN +from .pool import AtomTypePool, GlobalPool, PMA + +__all__ = [ + "AtomTypePool", + "DegreeEncoder", + "DirectedEdgeEncoder", + "GNN", + "GlobalPool", + "LinearEdgeEncoder", + "LinearEncoder", + "LinearNodeEncoder", + "PMA", + "RWEncoder", +] diff --git a/src/chemtorch/components/model/gnn/encoder/__init__.py b/src/chemtorch/components/model/gnn/encoder/__init__.py index e69de29..0a4f763 100644 --- a/src/chemtorch/components/model/gnn/encoder/__init__.py +++ b/src/chemtorch/components/model/gnn/encoder/__init__.py @@ -0,0 +1,15 @@ +from .deg_enc import DegreeEncoder +from .directed_edge_enc import DirectedEdgeEncoder +from .linear_edge_enc import LinearEdgeEncoder +from .linear_enc import LinearEncoder +from .linear_node_enc import LinearNodeEncoder +from .rwpe_enc import RWEncoder + +__all__ = [ + "DegreeEncoder", + "DirectedEdgeEncoder", + "LinearEdgeEncoder", + "LinearEncoder", + "LinearNodeEncoder", + "RWEncoder", +] diff --git a/src/chemtorch/components/model/gnn/pool/__init__.py b/src/chemtorch/components/model/gnn/pool/__init__.py index e69de29..4b2de42 100644 --- a/src/chemtorch/components/model/gnn/pool/__init__.py +++ b/src/chemtorch/components/model/gnn/pool/__init__.py @@ -0,0 +1,11 @@ +from .pma import MultiheadAttentionBlock, PMA, SetAttentionBlock +from .pool import AGGR_FNS, AtomTypePool, GlobalPool + +__all__ = [ + "AGGR_FNS", + "AtomTypePool", + "GlobalPool", + "MultiheadAttentionBlock", + "PMA", + "SetAttentionBlock", +] diff --git a/src/chemtorch/components/representation/__init__.py b/src/chemtorch/components/representation/__init__.py index 14e2c3b..f98e633 100644 --- a/src/chemtorch/components/representation/__init__.py +++ b/src/chemtorch/components/representation/__init__.py @@ -1 +1,15 @@ -from .abstract_representation import AbstractRepresentation \ No newline at end of file +from .abstract_representation import AbstractRepresentation +from .fingerprint import DRFP, DRFPUtil +from .graph import CGR, Reaction3DData, Reaction3DGraph +from .token import AbstractTokenRepresentation, TokenRepresentationBase + +__all__ = [ + "AbstractRepresentation", + "AbstractTokenRepresentation", + "CGR", + "DRFP", + "DRFPUtil", + "Reaction3DData", + "Reaction3DGraph", + "TokenRepresentationBase", +] diff --git a/src/chemtorch/components/representation/fingerprint/__init__.py b/src/chemtorch/components/representation/fingerprint/__init__.py index 8a07a35..9052c85 100644 --- a/src/chemtorch/components/representation/fingerprint/__init__.py +++ b/src/chemtorch/components/representation/fingerprint/__init__.py @@ -1 +1,3 @@ -from .drfp import DRFP \ No newline at end of file +from .drfp import DRFP, DRFPUtil + +__all__ = ["DRFP", "DRFPUtil"] diff --git a/src/chemtorch/components/representation/graph/__init__.py b/src/chemtorch/components/representation/graph/__init__.py index ed4070b..b146b22 100644 --- a/src/chemtorch/components/representation/graph/__init__.py +++ b/src/chemtorch/components/representation/graph/__init__.py @@ -1,2 +1,15 @@ from .cgr import CGR -from .reaction_3d_graph import Reaction3DGraph +from .reaction_3d_graph import ( + Reaction3DData, + Reaction3DGraph, + read_xyz, + symbols_to_atomic_numbers, +) + +__all__ = [ + "CGR", + "Reaction3DData", + "Reaction3DGraph", + "read_xyz", + "symbols_to_atomic_numbers", +] diff --git a/src/chemtorch/components/representation/graph/featurizer/__init__.py b/src/chemtorch/components/representation/graph/featurizer/__init__.py index c0e1404..9bde83e 100644 --- a/src/chemtorch/components/representation/graph/featurizer/__init__.py +++ b/src/chemtorch/components/representation/graph/featurizer/__init__.py @@ -1,3 +1,4 @@ +from .abstract_featurizer import AbstractFeaturizer from .atom_featurizer import ( AtomDegreeFeaturizer, AtomHasConjugatedBondFeaturizer, @@ -16,4 +17,25 @@ BondInRingFeaturizer, BondIsConjugatedFeaturizer ) -from .featurizer_compose import FeaturizerCompose \ No newline at end of file +from .featurizer_base import FeaturizerBase +from .featurizer_compose import FeaturizerCompose + +__all__ = [ + "AbstractFeaturizer", + "AtomDegreeFeaturizer", + "AtomFormalChargeFeaturizer", + "AtomHCountFeaturizer", + "AtomHasConjugatedBondFeaturizer", + "AtomHybridizationFeaturizer", + "AtomIsAromaticFeaturizer", + "AtomIsInRingFeaturizer", + "AtomicNumberFeaturizer", + "BondInRingFeaturizer", + "BondIsConjugatedFeaturizer", + "BondTypeFeaturizer", + "CentiAtomMassFeaturizer", + "FeaturizerBase", + "FeaturizerCompose", + "OrganicAtomicNumberOneHotFeaturizer", + "QMAtomFeaturizer", +] diff --git a/src/chemtorch/components/representation/graph/featurizer/atom_featurizer/__init__.py b/src/chemtorch/components/representation/graph/featurizer/atom_featurizer/__init__.py index 124191c..95de023 100644 --- a/src/chemtorch/components/representation/graph/featurizer/atom_featurizer/__init__.py +++ b/src/chemtorch/components/representation/graph/featurizer/atom_featurizer/__init__.py @@ -10,4 +10,18 @@ from .atom_hybridization import AtomHybridizationFeaturizer from .atom_is_aromatic import AtomIsAromaticFeaturizer from .atom_mass import CentiAtomMassFeaturizer -from .qm_atom import QMAtomFeaturizer \ No newline at end of file +from .qm_atom import QMAtomFeaturizer + +__all__ = [ + "AtomDegreeFeaturizer", + "AtomFormalChargeFeaturizer", + "AtomHCountFeaturizer", + "AtomHasConjugatedBondFeaturizer", + "AtomHybridizationFeaturizer", + "AtomIsAromaticFeaturizer", + "AtomIsInRingFeaturizer", + "AtomicNumberFeaturizer", + "CentiAtomMassFeaturizer", + "OrganicAtomicNumberOneHotFeaturizer", + "QMAtomFeaturizer", +] diff --git a/src/chemtorch/components/representation/graph/featurizer/bond_featurizer/__init__.py b/src/chemtorch/components/representation/graph/featurizer/bond_featurizer/__init__.py index 1c266f6..0c15722 100644 --- a/src/chemtorch/components/representation/graph/featurizer/bond_featurizer/__init__.py +++ b/src/chemtorch/components/representation/graph/featurizer/bond_featurizer/__init__.py @@ -1,3 +1,9 @@ from .bond_type import BondTypeFeaturizer from .bond_in_ring import BondInRingFeaturizer -from .bond_is_conjugated import BondIsConjugatedFeaturizer \ No newline at end of file +from .bond_is_conjugated import BondIsConjugatedFeaturizer + +__all__ = [ + "BondInRingFeaturizer", + "BondIsConjugatedFeaturizer", + "BondTypeFeaturizer", +] diff --git a/src/chemtorch/components/representation/token/__init__.py b/src/chemtorch/components/representation/token/__init__.py index 5e20a86..5c48b89 100644 --- a/src/chemtorch/components/representation/token/__init__.py +++ b/src/chemtorch/components/representation/token/__init__.py @@ -1 +1,21 @@ +from .abstract_token_representation import AbstractTokenRepresentation from .token_representation_base import TokenRepresentationBase +from .tokenizer import ( + AbstractTokenizer, + MoleculeTokenizerBase, + ReactionTokenizer, + RegexTokenizer, + SmilesSymbolTokenizer, + SubstructureTokenizer, +) + +__all__ = [ + "AbstractTokenRepresentation", + "AbstractTokenizer", + "MoleculeTokenizerBase", + "ReactionTokenizer", + "RegexTokenizer", + "SmilesSymbolTokenizer", + "SubstructureTokenizer", + "TokenRepresentationBase", +] diff --git a/src/chemtorch/components/representation/token/tokenizer/__init__.py b/src/chemtorch/components/representation/token/tokenizer/__init__.py new file mode 100644 index 0000000..1cd4587 --- /dev/null +++ b/src/chemtorch/components/representation/token/tokenizer/__init__.py @@ -0,0 +1,17 @@ +from .abstract_tokenizer import AbstractTokenizer +from .molecule_tokenizer import ( + MoleculeTokenizerBase, + RegexTokenizer, + SmilesSymbolTokenizer, + SubstructureTokenizer, +) +from .reaction_tokenizer import ReactionTokenizer + +__all__ = [ + "AbstractTokenizer", + "MoleculeTokenizerBase", + "ReactionTokenizer", + "RegexTokenizer", + "SmilesSymbolTokenizer", + "SubstructureTokenizer", +] diff --git a/src/chemtorch/components/representation/token/tokenizer/molecule_tokenizer/__init__.py b/src/chemtorch/components/representation/token/tokenizer/molecule_tokenizer/__init__.py new file mode 100644 index 0000000..c865d83 --- /dev/null +++ b/src/chemtorch/components/representation/token/tokenizer/molecule_tokenizer/__init__.py @@ -0,0 +1,11 @@ +from .molecule_tokenizer_base import MoleculeTokenizerBase +from .regex_tokenizer import RegexTokenizer +from .smiles_symbol_tokenizer import SmilesSymbolTokenizer +from .substructure_tokenizer import SubstructureTokenizer + +__all__ = [ + "MoleculeTokenizerBase", + "RegexTokenizer", + "SmilesSymbolTokenizer", + "SubstructureTokenizer", +] diff --git a/src/chemtorch/components/transform/__init__.py b/src/chemtorch/components/transform/__init__.py index 90af44c..8bfcd20 100644 --- a/src/chemtorch/components/transform/__init__.py +++ b/src/chemtorch/components/transform/__init__.py @@ -1,2 +1,9 @@ from .abstract_transform import AbstractTransform -from .graph_transform import DummyNodeTransform, RandomWalkPETransform \ No newline at end of file +from .graph_transform import DummyNodeTransform, RandomWalkPE, RandomWalkPETransform + +__all__ = [ + "AbstractTransform", + "DummyNodeTransform", + "RandomWalkPE", + "RandomWalkPETransform", +] diff --git a/src/chemtorch/components/transform/graph_transform/__init__.py b/src/chemtorch/components/transform/graph_transform/__init__.py index 8d168ef..7f1bf6c 100644 --- a/src/chemtorch/components/transform/graph_transform/__init__.py +++ b/src/chemtorch/components/transform/graph_transform/__init__.py @@ -1,2 +1,10 @@ from .dummy import DummyNodeTransform from .randomwalkpe import RandomWalkPETransform + +RandomWalkPE = RandomWalkPETransform + +__all__ = [ + "DummyNodeTransform", + "RandomWalkPE", + "RandomWalkPETransform", +] diff --git a/src/chemtorch/core/__init__.py b/src/chemtorch/core/__init__.py new file mode 100644 index 0000000..d508619 --- /dev/null +++ b/src/chemtorch/core/__init__.py @@ -0,0 +1,34 @@ +from .data_module import DataModule +from .dataset_base import DatasetBase +from .property_system import ( + DatasetProperty, + DegreeStatistics, + FingerprintLength, + LabelMean, + LabelStd, + NumEdgeFeatures, + NumNodeFeatures, + PrecomputeTime, + VocabSize, + compute_property_with_dataset_handling, + resolve_sources, +) +from .routine import RegressionRoutine, SupervisedRoutine + +__all__ = [ + "DataModule", + "DatasetBase", + "DatasetProperty", + "DegreeStatistics", + "FingerprintLength", + "LabelMean", + "LabelStd", + "NumEdgeFeatures", + "NumNodeFeatures", + "PrecomputeTime", + "RegressionRoutine", + "SupervisedRoutine", + "VocabSize", + "compute_property_with_dataset_handling", + "resolve_sources", +] diff --git a/src/chemtorch/core/routine/__init__.py b/src/chemtorch/core/routine/__init__.py index 0a69838..7fb174f 100644 --- a/src/chemtorch/core/routine/__init__.py +++ b/src/chemtorch/core/routine/__init__.py @@ -1,2 +1,7 @@ from .regression_routine import RegressionRoutine from .supervised_routine import SupervisedRoutine + +__all__ = [ + "RegressionRoutine", + "SupervisedRoutine", +] diff --git a/src/chemtorch/core/scheduler/__init__.py b/src/chemtorch/core/scheduler/__init__.py new file mode 100644 index 0000000..c18f6d5 --- /dev/null +++ b/src/chemtorch/core/scheduler/__init__.py @@ -0,0 +1,9 @@ +from .cosine_with_warmup_lr import CosineWithWarmupLR +from .graphgps_cosine_with_warmup_lr import get_cosine_scheduler_with_warmup +from .sequential_lr_wrapper import SequentialLRWrapper + +__all__ = [ + "CosineWithWarmupLR", + "SequentialLRWrapper", + "get_cosine_scheduler_with_warmup", +] diff --git a/src/chemtorch/utils/__init__.py b/src/chemtorch/utils/__init__.py index b462853..6cd2db6 100644 --- a/src/chemtorch/utils/__init__.py +++ b/src/chemtorch/utils/__init__.py @@ -1,6 +1,66 @@ +from .atom_mapping import ( + AtomOriginType, + EdgeOriginType, + make_mol, + map_reac_to_prod, + remove_atom_mapping, +) from .hydra import order_config_by_signature from .callable_compose import CallableCompose from .decorators.enforce_base_init import enforce_base_init +from .reaction_utils import ( + bondtypes, + get_atom_index_by_mapnum, + get_reaction_core, + neighbors, + neighbors_and_bondtypes, + remove_atoms_from_rxn, + smarts2smarts, + smiles2smiles, + unmap_smarts, + unmap_smiles, +) from .standardizer import Standardizer -from .types import DataSplit -from .misc import handle_prediction_saving \ No newline at end of file +from .types import ( + AugmentationType, + DataLoaderFactoryProtocol, + DataSplit, + DatasetKey, + LightningTask, + PropertySource, + RoutineFactoryProtocol, + TransformType, +) +from .misc import handle_prediction_saving, save_predictions + +__all__ = [ + "AtomOriginType", + "AugmentationType", + "CallableCompose", + "DataLoaderFactoryProtocol", + "DataSplit", + "DatasetKey", + "EdgeOriginType", + "LightningTask", + "PropertySource", + "RoutineFactoryProtocol", + "Standardizer", + "TransformType", + "bondtypes", + "enforce_base_init", + "get_atom_index_by_mapnum", + "get_reaction_core", + "handle_prediction_saving", + "make_mol", + "map_reac_to_prod", + "neighbors", + "neighbors_and_bondtypes", + "order_config_by_signature", + "remove_atom_mapping", + "remove_atoms_from_rxn", + "save_predictions", + "smarts2smarts", + "smiles2smiles", + "unmap_smarts", + "unmap_smiles", +] diff --git a/src/chemtorch/utils/decorators/__init__.py b/src/chemtorch/utils/decorators/__init__.py new file mode 100644 index 0000000..7db3f3a --- /dev/null +++ b/src/chemtorch/utils/decorators/__init__.py @@ -0,0 +1,3 @@ +from .enforce_base_init import enforce_base_init + +__all__ = ["enforce_base_init"] From 92d325254c90688585759436fc7bb4be609286d3 Mon Sep 17 00:00:00 2001 From: Anton Zamyatin Date: Tue, 12 May 2026 18:44:24 +0200 Subject: [PATCH 4/8] :books: Add updated performance curves figure --- .../source/_static/performance_curves_mae.svg | 866 +++++---- .../performance_curves_mae_outlier.svg | 1705 +++++++++++++++++ 2 files changed, 2157 insertions(+), 414 deletions(-) create mode 100644 docs/source/_static/performance_curves_mae_outlier.svg diff --git a/docs/source/_static/performance_curves_mae.svg b/docs/source/_static/performance_curves_mae.svg index 3ea85b6..cfc71bb 100644 --- a/docs/source/_static/performance_curves_mae.svg +++ b/docs/source/_static/performance_curves_mae.svg @@ -1,16 +1,16 @@ - + - 2025-09-29T09:54:48.214357 + 2025-10-07T17:41:23.922645 image/svg+xml - Matplotlib v3.10.6, https://matplotlib.org/ + Matplotlib v3.10.1, https://matplotlib.org/ @@ -21,42 +21,42 @@ - - - + - - + - + - + - + - + - + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - - - + + + + + + + + + - + - + - - - - - - + + + + + - + - + - - + + - - + + + - + - + - - + + + + - + - + - - + + + + - + - + - - + + - + + + - + - + - - + + - + + + - + - + - - - - - - - - - - - - - - - - - - - + + + + - + - + - + + - - - - - - - - - - - + + + + + + + + + + - - + + - - - - - - - - - - - + + + + + + + + + + - - + + - - - - - - - - - - - + + + + + + + + + + - - + + - - - - - - - - - - - + + + + + + + + + + - - - - - - + - + - + - + - - + - + - + - + - - + - + - - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - + + diff --git a/docs/source/_static/performance_curves_mae_outlier.svg b/docs/source/_static/performance_curves_mae_outlier.svg new file mode 100644 index 0000000..3ea85b6 --- /dev/null +++ b/docs/source/_static/performance_curves_mae_outlier.svg @@ -0,0 +1,1705 @@ + + + + + + + + 2025-09-29T09:54:48.214357 + image/svg+xml + + + Matplotlib v3.10.6, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From c8c7eb39fc7af58259ce5c4a8cbe2ce7c703d8ad Mon Sep 17 00:00:00 2001 From: Anton Zamyatin Date: Tue, 12 May 2026 19:36:33 +0200 Subject: [PATCH 5/8] :heavy_plus_sign: Add myst_nb and ipython as deps to include Jupyter notebooks in the docs and run them locally --- docs/source/conf.py | 7 +- pyproject.toml | 1 + uv.lock | 1184 ++++++++++++++++++++++++++++++++++++++----- 3 files changed, 1076 insertions(+), 116 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index bc135ba..7b9e2db 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -35,13 +35,18 @@ 'sphinx.ext.viewcode', # Add source code links 'sphinx.ext.intersphinx', # Cross-reference other projects 'sphinx.ext.autosummary', # Generate summary tables - 'myst_parser', # For markdown support + 'myst_nb', # Render Jupyter notebooks in the docs 'cli_lexer', # Custom CLI lexer ] # Allow embedding program output (we use this to include the `-h` output of scripts in the docs) extensions.append('sphinxcontrib.programoutput') +# Render notebooks as documentation pages without executing them during the docs +# build. This keeps deployed docs deterministic and avoids requiring datasets or +# long training runs in the documentation build job. +nb_execution_mode = "off" + # Napoleon settings for Google/NumPy style docstrings napoleon_google_docstring = True diff --git a/pyproject.toml b/pyproject.toml index 7398801..4e3fd42 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -58,6 +58,7 @@ test = [ docs = [ "sphinx>=8.1.3", "myst-parser>=4.0.1", + "myst-nb>=1.1.0", "sphinxcontrib-programoutput>=0.18", "sphinx-autobuild>=2024.10.3", "sphinx-autodoc-typehints>=3.0.1", diff --git a/uv.lock b/uv.lock index 5118f96..c249cdd 100644 --- a/uv.lock +++ b/uv.lock @@ -372,6 +372,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl", hash = "sha256:0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc", size = 109097, upload-time = "2025-09-23T09:19:10.601Z" }, ] +[[package]] +name = "appnope" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" }, +] + +[[package]] +name = "asttokens" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/be/a5/8e3f9b6771b0b408517c82d97aed8f2036509bc247d46114925e32fe33f0/asttokens-3.0.1.tar.gz", hash = "sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7", size = 62308, upload-time = "2025-11-15T16:43:48.578Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", hash = "sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a", size = 27047, upload-time = "2025-11-15T16:43:16.109Z" }, +] + [[package]] name = "async-timeout" version = "5.0.1" @@ -430,6 +448,88 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl", hash = "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", size = 159438, upload-time = "2025-11-12T02:54:49.735Z" }, ] +[[package]] +name = "cffi" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "implementation_name != 'PyPy' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/d7/516d984057745a6cd96575eea814fe1edd6646ee6efd552fb7b0921dec83/cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44", size = 184283, upload-time = "2025-09-08T23:22:08.01Z" }, + { url = "https://files.pythonhosted.org/packages/9e/84/ad6a0b408daa859246f57c03efd28e5dd1b33c21737c2db84cae8c237aa5/cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49", size = 180504, upload-time = "2025-09-08T23:22:10.637Z" }, + { url = "https://files.pythonhosted.org/packages/50/bd/b1a6362b80628111e6653c961f987faa55262b4002fcec42308cad1db680/cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c", size = 208811, upload-time = "2025-09-08T23:22:12.267Z" }, + { url = "https://files.pythonhosted.org/packages/4f/27/6933a8b2562d7bd1fb595074cf99cc81fc3789f6a6c05cdabb46284a3188/cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb", size = 216402, upload-time = "2025-09-08T23:22:13.455Z" }, + { url = "https://files.pythonhosted.org/packages/05/eb/b86f2a2645b62adcfff53b0dd97e8dfafb5c8aa864bd0d9a2c2049a0d551/cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0", size = 203217, upload-time = "2025-09-08T23:22:14.596Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e0/6cbe77a53acf5acc7c08cc186c9928864bd7c005f9efd0d126884858a5fe/cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4", size = 203079, upload-time = "2025-09-08T23:22:15.769Z" }, + { url = "https://files.pythonhosted.org/packages/98/29/9b366e70e243eb3d14a5cb488dfd3a0b6b2f1fb001a203f653b93ccfac88/cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453", size = 216475, upload-time = "2025-09-08T23:22:17.427Z" }, + { url = "https://files.pythonhosted.org/packages/21/7a/13b24e70d2f90a322f2900c5d8e1f14fa7e2a6b3332b7309ba7b2ba51a5a/cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495", size = 218829, upload-time = "2025-09-08T23:22:19.069Z" }, + { url = "https://files.pythonhosted.org/packages/60/99/c9dc110974c59cc981b1f5b66e1d8af8af764e00f0293266824d9c4254bc/cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5", size = 211211, upload-time = "2025-09-08T23:22:20.588Z" }, + { url = "https://files.pythonhosted.org/packages/49/72/ff2d12dbf21aca1b32a40ed792ee6b40f6dc3a9cf1644bd7ef6e95e0ac5e/cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb", size = 218036, upload-time = "2025-09-08T23:22:22.143Z" }, + { url = "https://files.pythonhosted.org/packages/e2/cc/027d7fb82e58c48ea717149b03bcadcbdc293553edb283af792bd4bcbb3f/cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a", size = 172184, upload-time = "2025-09-08T23:22:23.328Z" }, + { url = "https://files.pythonhosted.org/packages/33/fa/072dd15ae27fbb4e06b437eb6e944e75b068deb09e2a2826039e49ee2045/cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739", size = 182790, upload-time = "2025-09-08T23:22:24.752Z" }, + { url = "https://files.pythonhosted.org/packages/12/4a/3dfd5f7850cbf0d06dc84ba9aa00db766b52ca38d8b86e3a38314d52498c/cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe", size = 184344, upload-time = "2025-09-08T23:22:26.456Z" }, + { url = "https://files.pythonhosted.org/packages/4f/8b/f0e4c441227ba756aafbe78f117485b25bb26b1c059d01f137fa6d14896b/cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c", size = 180560, upload-time = "2025-09-08T23:22:28.197Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b7/1200d354378ef52ec227395d95c2576330fd22a869f7a70e88e1447eb234/cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92", size = 209613, upload-time = "2025-09-08T23:22:29.475Z" }, + { url = "https://files.pythonhosted.org/packages/b8/56/6033f5e86e8cc9bb629f0077ba71679508bdf54a9a5e112a3c0b91870332/cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93", size = 216476, upload-time = "2025-09-08T23:22:31.063Z" }, + { url = "https://files.pythonhosted.org/packages/dc/7f/55fecd70f7ece178db2f26128ec41430d8720f2d12ca97bf8f0a628207d5/cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5", size = 203374, upload-time = "2025-09-08T23:22:32.507Z" }, + { url = "https://files.pythonhosted.org/packages/84/ef/a7b77c8bdc0f77adc3b46888f1ad54be8f3b7821697a7b89126e829e676a/cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664", size = 202597, upload-time = "2025-09-08T23:22:34.132Z" }, + { url = "https://files.pythonhosted.org/packages/d7/91/500d892b2bf36529a75b77958edfcd5ad8e2ce4064ce2ecfeab2125d72d1/cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26", size = 215574, upload-time = "2025-09-08T23:22:35.443Z" }, + { url = "https://files.pythonhosted.org/packages/44/64/58f6255b62b101093d5df22dcb752596066c7e89dd725e0afaed242a61be/cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9", size = 218971, upload-time = "2025-09-08T23:22:36.805Z" }, + { url = "https://files.pythonhosted.org/packages/ab/49/fa72cebe2fd8a55fbe14956f9970fe8eb1ac59e5df042f603ef7c8ba0adc/cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414", size = 211972, upload-time = "2025-09-08T23:22:38.436Z" }, + { url = "https://files.pythonhosted.org/packages/0b/28/dd0967a76aab36731b6ebfe64dec4e981aff7e0608f60c2d46b46982607d/cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743", size = 217078, upload-time = "2025-09-08T23:22:39.776Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c0/015b25184413d7ab0a410775fdb4a50fca20f5589b5dab1dbbfa3baad8ce/cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5", size = 172076, upload-time = "2025-09-08T23:22:40.95Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8f/dc5531155e7070361eb1b7e4c1a9d896d0cb21c49f807a6c03fd63fc877e/cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5", size = 182820, upload-time = "2025-09-08T23:22:42.463Z" }, + { url = "https://files.pythonhosted.org/packages/95/5c/1b493356429f9aecfd56bc171285a4c4ac8697f76e9bbbbb105e537853a1/cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d", size = 177635, upload-time = "2025-09-08T23:22:43.623Z" }, + { url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271, upload-time = "2025-09-08T23:22:44.795Z" }, + { url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048, upload-time = "2025-09-08T23:22:45.938Z" }, + { url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529, upload-time = "2025-09-08T23:22:47.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097, upload-time = "2025-09-08T23:22:48.677Z" }, + { url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983, upload-time = "2025-09-08T23:22:50.06Z" }, + { url = "https://files.pythonhosted.org/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037", size = 206519, upload-time = "2025-09-08T23:22:51.364Z" }, + { url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572, upload-time = "2025-09-08T23:22:52.902Z" }, + { url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963, upload-time = "2025-09-08T23:22:54.518Z" }, + { url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361, upload-time = "2025-09-08T23:22:55.867Z" }, + { url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932, upload-time = "2025-09-08T23:22:57.188Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557, upload-time = "2025-09-08T23:22:58.351Z" }, + { url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762, upload-time = "2025-09-08T23:22:59.668Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, + { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, + { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, + { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, + { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, + { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, + { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, + { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, +] + [[package]] name = "charset-normalizer" version = "3.4.4" @@ -573,6 +673,7 @@ macos = [ [package.dev-dependencies] docs = [ + { name = "myst-nb" }, { name = "myst-parser" }, { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, { name = "sphinx", version = "8.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, @@ -621,6 +722,7 @@ provides-extras = ["cpu", "cu118", "cu121", "cu124", "cu126", "cu128", "cu129", [package.metadata.requires-dev] docs = [ + { name = "myst-nb", specifier = ">=1.1.0" }, { name = "myst-parser", specifier = ">=4.0.1" }, { name = "sphinx", specifier = ">=8.1.3" }, { name = "sphinx-autobuild", specifier = ">=2024.10.3" }, @@ -657,6 +759,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] +[[package]] +name = "comm" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971", size = 6319, upload-time = "2025-07-25T14:02:04.452Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" }, +] + [[package]] name = "coverage" version = "7.11.3" @@ -761,6 +872,44 @@ toml = [ { name = "tomli", marker = "python_full_version <= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, ] +[[package]] +name = "debugpy" +version = "1.8.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/b7/cd8080344452e4874aae67c40d8940e2b4d47b01601a8fd9f44786c757c7/debugpy-1.8.20.tar.gz", hash = "sha256:55bc8701714969f1ab89a6d5f2f3d40c36f91b2cbe2f65d98bf8196f6a6a2c33", size = 1645207, upload-time = "2026-01-29T23:03:28.199Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/be/8bd693a0b9d53d48c8978fa5d889e06f3b5b03e45fd1ea1e78267b4887cb/debugpy-1.8.20-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:157e96ffb7f80b3ad36d808646198c90acb46fdcfd8bb1999838f0b6f2b59c64", size = 2099192, upload-time = "2026-01-29T23:03:29.707Z" }, + { url = "https://files.pythonhosted.org/packages/77/1b/85326d07432086a06361d493d2743edd0c4fc2ef62162be7f8618441ac37/debugpy-1.8.20-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:c1178ae571aff42e61801a38b007af504ec8e05fde1c5c12e5a7efef21009642", size = 3088568, upload-time = "2026-01-29T23:03:31.467Z" }, + { url = "https://files.pythonhosted.org/packages/e8/60/3e08462ee3eccd10998853eb35947c416e446bfe2bc37dbb886b9044586c/debugpy-1.8.20-cp310-cp310-win32.whl", hash = "sha256:c29dd9d656c0fbd77906a6e6a82ae4881514aa3294b94c903ff99303e789b4a2", size = 5284399, upload-time = "2026-01-29T23:03:33.678Z" }, + { url = "https://files.pythonhosted.org/packages/72/43/09d49106e770fe558ced5e80df2e3c2ebee10e576eda155dcc5670473663/debugpy-1.8.20-cp310-cp310-win_amd64.whl", hash = "sha256:3ca85463f63b5dd0aa7aaa933d97cbc47c174896dcae8431695872969f981893", size = 5316388, upload-time = "2026-01-29T23:03:35.095Z" }, + { url = "https://files.pythonhosted.org/packages/51/56/c3baf5cbe4dd77427fd9aef99fcdade259ad128feeb8a786c246adb838e5/debugpy-1.8.20-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:eada6042ad88fa1571b74bd5402ee8b86eded7a8f7b827849761700aff171f1b", size = 2208318, upload-time = "2026-01-29T23:03:36.481Z" }, + { url = "https://files.pythonhosted.org/packages/9a/7d/4fa79a57a8e69fe0d9763e98d1110320f9ecd7f1f362572e3aafd7417c9d/debugpy-1.8.20-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:7de0b7dfeedc504421032afba845ae2a7bcc32ddfb07dae2c3ca5442f821c344", size = 3171493, upload-time = "2026-01-29T23:03:37.775Z" }, + { url = "https://files.pythonhosted.org/packages/7d/f2/1e8f8affe51e12a26f3a8a8a4277d6e60aa89d0a66512f63b1e799d424a4/debugpy-1.8.20-cp311-cp311-win32.whl", hash = "sha256:773e839380cf459caf73cc533ea45ec2737a5cc184cf1b3b796cd4fd98504fec", size = 5209240, upload-time = "2026-01-29T23:03:39.109Z" }, + { url = "https://files.pythonhosted.org/packages/d5/92/1cb532e88560cbee973396254b21bece8c5d7c2ece958a67afa08c9f10dc/debugpy-1.8.20-cp311-cp311-win_amd64.whl", hash = "sha256:1f7650546e0eded1902d0f6af28f787fa1f1dbdbc97ddabaf1cd963a405930cb", size = 5233481, upload-time = "2026-01-29T23:03:40.659Z" }, + { url = "https://files.pythonhosted.org/packages/14/57/7f34f4736bfb6e00f2e4c96351b07805d83c9a7b33d28580ae01374430f7/debugpy-1.8.20-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:4ae3135e2089905a916909ef31922b2d733d756f66d87345b3e5e52b7a55f13d", size = 2550686, upload-time = "2026-01-29T23:03:42.023Z" }, + { url = "https://files.pythonhosted.org/packages/ab/78/b193a3975ca34458f6f0e24aaf5c3e3da72f5401f6054c0dfd004b41726f/debugpy-1.8.20-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:88f47850a4284b88bd2bfee1f26132147d5d504e4e86c22485dfa44b97e19b4b", size = 4310588, upload-time = "2026-01-29T23:03:43.314Z" }, + { url = "https://files.pythonhosted.org/packages/c1/55/f14deb95eaf4f30f07ef4b90a8590fc05d9e04df85ee379712f6fb6736d7/debugpy-1.8.20-cp312-cp312-win32.whl", hash = "sha256:4057ac68f892064e5f98209ab582abfee3b543fb55d2e87610ddc133a954d390", size = 5331372, upload-time = "2026-01-29T23:03:45.526Z" }, + { url = "https://files.pythonhosted.org/packages/a1/39/2bef246368bd42f9bd7cba99844542b74b84dacbdbea0833e610f384fee8/debugpy-1.8.20-cp312-cp312-win_amd64.whl", hash = "sha256:a1a8f851e7cf171330679ef6997e9c579ef6dd33c9098458bd9986a0f4ca52e3", size = 5372835, upload-time = "2026-01-29T23:03:47.245Z" }, + { url = "https://files.pythonhosted.org/packages/15/e2/fc500524cc6f104a9d049abc85a0a8b3f0d14c0a39b9c140511c61e5b40b/debugpy-1.8.20-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:5dff4bb27027821fdfcc9e8f87309a28988231165147c31730128b1c983e282a", size = 2539560, upload-time = "2026-01-29T23:03:48.738Z" }, + { url = "https://files.pythonhosted.org/packages/90/83/fb33dcea789ed6018f8da20c5a9bc9d82adc65c0c990faed43f7c955da46/debugpy-1.8.20-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:84562982dd7cf5ebebfdea667ca20a064e096099997b175fe204e86817f64eaf", size = 4293272, upload-time = "2026-01-29T23:03:50.169Z" }, + { url = "https://files.pythonhosted.org/packages/a6/25/b1e4a01bfb824d79a6af24b99ef291e24189080c93576dfd9b1a2815cd0f/debugpy-1.8.20-cp313-cp313-win32.whl", hash = "sha256:da11dea6447b2cadbf8ce2bec59ecea87cc18d2c574980f643f2d2dfe4862393", size = 5331208, upload-time = "2026-01-29T23:03:51.547Z" }, + { url = "https://files.pythonhosted.org/packages/13/f7/a0b368ce54ffff9e9028c098bd2d28cfc5b54f9f6c186929083d4c60ba58/debugpy-1.8.20-cp313-cp313-win_amd64.whl", hash = "sha256:eb506e45943cab2efb7c6eafdd65b842f3ae779f020c82221f55aca9de135ed7", size = 5372930, upload-time = "2026-01-29T23:03:53.585Z" }, + { url = "https://files.pythonhosted.org/packages/33/2e/f6cb9a8a13f5058f0a20fe09711a7b726232cd5a78c6a7c05b2ec726cff9/debugpy-1.8.20-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:9c74df62fc064cd5e5eaca1353a3ef5a5d50da5eb8058fcef63106f7bebe6173", size = 2538066, upload-time = "2026-01-29T23:03:54.999Z" }, + { url = "https://files.pythonhosted.org/packages/c5/56/6ddca50b53624e1ca3ce1d1e49ff22db46c47ea5fb4c0cc5c9b90a616364/debugpy-1.8.20-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:077a7447589ee9bc1ff0cdf443566d0ecf540ac8aa7333b775ebcb8ce9f4ecad", size = 4269425, upload-time = "2026-01-29T23:03:56.518Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d9/d64199c14a0d4c476df46c82470a3ce45c8d183a6796cfb5e66533b3663c/debugpy-1.8.20-cp314-cp314-win32.whl", hash = "sha256:352036a99dd35053b37b7803f748efc456076f929c6a895556932eaf2d23b07f", size = 5331407, upload-time = "2026-01-29T23:03:58.481Z" }, + { url = "https://files.pythonhosted.org/packages/e0/d9/1f07395b54413432624d61524dfd98c1a7c7827d2abfdb8829ac92638205/debugpy-1.8.20-cp314-cp314-win_amd64.whl", hash = "sha256:a98eec61135465b062846112e5ecf2eebb855305acc1dfbae43b72903b8ab5be", size = 5372521, upload-time = "2026-01-29T23:03:59.864Z" }, + { url = "https://files.pythonhosted.org/packages/e0/c3/7f67dea8ccf8fdcb9c99033bbe3e90b9e7395415843accb81428c441be2d/debugpy-1.8.20-py2.py3-none-any.whl", hash = "sha256:5be9bed9ae3be00665a06acaa48f8329d2b9632f15fd09f6a9a8c8d9907e54d7", size = 5337658, upload-time = "2026-01-29T23:04:17.404Z" }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, +] + [[package]] name = "docutils" version = "0.21.2" @@ -782,6 +931,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, ] +[[package]] +name = "executing" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4", size = 1129488, upload-time = "2025-09-01T09:48:10.866Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317, upload-time = "2025-09-01T09:48:08.5Z" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/b5/23b216d9d985a956623b6bd12d4086b60f0059b27799f23016af04a74ea1/fastjsonschema-2.21.2.tar.gz", hash = "sha256:b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de", size = 374130, upload-time = "2025-08-14T18:49:36.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/a8/20d0723294217e47de6d9e2e40fd4a9d2f7c4b6ef974babd482a59743694/fastjsonschema-2.21.2-py3-none-any.whl", hash = "sha256:1c797122d0a86c5cace2e54bf4e819c36223b552017172f32c5c024a6b77e463", size = 24024, upload-time = "2025-08-14T18:49:34.776Z" }, +] + [[package]] name = "filelock" version = "3.20.0" @@ -967,6 +1134,72 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/01/61/d4b89fec821f72385526e1b9d9a3a0385dda4a72b206d28049e2c7cd39b8/gitpython-3.1.45-py3-none-any.whl", hash = "sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77", size = 208168, upload-time = "2025-07-24T03:45:52.517Z" }, ] +[[package]] +name = "greenlet" +version = "3.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3c/3f/dbf99fb14bfeb88c28f16729215478c0e265cacd6dc22270c8f31bb6892f/greenlet-3.5.0.tar.gz", hash = "sha256:d419647372241bc68e957bf38d5c1f98852155e4146bd1e4121adea81f4f01e4", size = 196995, upload-time = "2026-04-27T13:37:15.544Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/03/84359833f7e1d49a883e92777637c592306030e30cee5e2b1e6476f95c88/greenlet-3.5.0-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:29ea813b2e1f45fa9649a17853b2b5465c4072fbcb072e5af6cd3a288216574a", size = 283502, upload-time = "2026-04-27T12:20:55.213Z" }, + { url = "https://files.pythonhosted.org/packages/25/ce/6f9f008266273aa14a2e011945797ac5802b97b8b40efe7afe1ee6c1afc9/greenlet-3.5.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:804a70b328e706b785c6ef16187051c394a63dd1a906d89be24b6ad77759f13f", size = 600508, upload-time = "2026-04-27T12:52:37.876Z" }, + { url = "https://files.pythonhosted.org/packages/e0/6d/b0f3272c2368ea2c1aa19a5ad70db0be8f8dff6e6d3d1eb82efa00cbcf19/greenlet-3.5.0-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:884f649de075b84739713d41dd4dfd41e2b910bfb769c4a3ea02ec1da52cd9bb", size = 613283, upload-time = "2026-04-27T12:59:37.957Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ae/1db979ff6ae7958d80b288f63d5f6c30df96682700ea9fc340ce994d94a1/greenlet-3.5.0-cp310-cp310-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4d0eadc7e4d9ffb2af4247b606cae307be8e448911e5a0d0b16d72fc3d224cfd", size = 619894, upload-time = "2026-04-27T13:02:35.13Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ac/0b509b6fb93551ce5a01612ee1acda7f7dda4bbb66c99aeb2ab403d205dc/greenlet-3.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4b28037cb07768933c54d81bfe47a85f9f402f57d7d69743b991a713b63954eb", size = 613418, upload-time = "2026-04-27T12:25:23.852Z" }, + { url = "https://files.pythonhosted.org/packages/ce/94/b0590e3d1978f02419f30502341c40d72f77eb0a2198119fe27df47714ee/greenlet-3.5.0-cp310-cp310-manylinux_2_39_riscv64.whl", hash = "sha256:f8c30c2225f40dd76c50790f0eb3b5c7c18431efb299e2782083e1981feed243", size = 415681, upload-time = "2026-04-27T13:05:11.494Z" }, + { url = "https://files.pythonhosted.org/packages/03/03/2b2b680ec87aaa97998fb5b8d76658d4d3560386864f17efab33ba7c2e24/greenlet-3.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cda05425526240807408156b6960a17a79a0c760b813573b67027823be760977", size = 1572229, upload-time = "2026-04-27T12:53:23.509Z" }, + { url = "https://files.pythonhosted.org/packages/61/e4/42b259e7a19aff1a270a4bd82caf6353109ed6860c9454e18f37162b83ae/greenlet-3.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9c615f869163e14bb1ced20322d8038fb680b08236521ac3f30cd4c1288785a0", size = 1639886, upload-time = "2026-04-27T12:25:22.325Z" }, + { url = "https://files.pythonhosted.org/packages/6f/b4/733ca47b883b67c57f90d3ecb21055c9ec753597d10754ac201644061f9d/greenlet-3.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:ba8f0bdc2fae6ce915dfd0c16d2d00bca7e4247c1eae4416e06430e522137858", size = 237795, upload-time = "2026-04-27T12:21:40.118Z" }, + { url = "https://files.pythonhosted.org/packages/8b/0f/a91f143f356523ff682309732b175765a9bc2836fd7c081c2c67fedc1ad4/greenlet-3.5.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:8f1cc966c126639cd152fdaa52624d2655f492faa79e013fea161de3e6dda082", size = 284726, upload-time = "2026-04-27T12:20:51.402Z" }, + { url = "https://files.pythonhosted.org/packages/95/82/800646c7ffc5dbabd75ddd2f6b519bb898c0c9c969e5d0473bfe5d20bcce/greenlet-3.5.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:362624e6a8e5bca3b8233e45eef33903a100e9539a2b995c364d595dbc4018b3", size = 604264, upload-time = "2026-04-27T12:52:39.494Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ac/354867c0bba812fc33b15bc55aedafedd0aee3c7dd91dfca22444157dc0c/greenlet-3.5.0-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5ecd83806b0f4c2f53b1018e0005cd82269ea01d42befc0368730028d850ed1c", size = 616099, upload-time = "2026-04-27T12:59:39.623Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ab/192090c4a5b30df148c22bf4b8895457d739a7c7c5a7b9c41e5dd7f537f2/greenlet-3.5.0-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fa94cb2288681e3a11645958f1871d48ee9211bd2f66628fdace505927d6e564", size = 623976, upload-time = "2026-04-27T13:02:37.363Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b0/815bece7399e01cadb69014219eebd0042339875c59a59b0820a46ece356/greenlet-3.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ff251e9a0279522e62f6176412869395a64ddf2b5c5f782ff609a8216a4e662", size = 615198, upload-time = "2026-04-27T12:25:25.928Z" }, + { url = "https://files.pythonhosted.org/packages/24/11/05eb2b9b188c6df7d68a89c99134d644a7af616a40b9808e8e6ced315d5d/greenlet-3.5.0-cp311-cp311-manylinux_2_39_riscv64.whl", hash = "sha256:64d6ac45f7271f48e45f67c95b54ef73534c52ec041fcda8edf520c6d811f4bc", size = 418379, upload-time = "2026-04-27T13:05:12.755Z" }, + { url = "https://files.pythonhosted.org/packages/10/80/3b2c0a895d6698f6ddb31b07942ebfa982f3e30888bc5546a5b5990de8b2/greenlet-3.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d874e79afd41a96e11ff4c5d0bc90a80973e476fda1c2c64985667397df432b", size = 1574927, upload-time = "2026-04-27T12:53:25.81Z" }, + { url = "https://files.pythonhosted.org/packages/44/0e/f354af514a4c61454dbc68e44d47544a5a4d6317e30b77ddfa3a09f4c5f3/greenlet-3.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0ed006e4b86c59de7467eb2601cd1b77b5a7d657d1ee55e30fe30d76451edba4", size = 1642683, upload-time = "2026-04-27T12:25:23.9Z" }, + { url = "https://files.pythonhosted.org/packages/fa/6a/87f38255201e993a1915265ebb80cd7c2c78b04a45744995abbf6b259fd8/greenlet-3.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:703cb211b820dbffbbc55a16bfc6e4583a6e6e990f33a119d2cc8b83211119c8", size = 238115, upload-time = "2026-04-27T12:21:48.845Z" }, + { url = "https://files.pythonhosted.org/packages/e3/f8/450fe3c5938fa737ea4d22699772e6e34e8e24431a47bf4e8a1ceed4a98e/greenlet-3.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:6c18dfb59c70f5a94acd271c72e90128c3c776e41e5f07767908c8c1b74ad339", size = 235017, upload-time = "2026-04-27T12:22:26.768Z" }, + { url = "https://files.pythonhosted.org/packages/ef/32/f2ce6d4cac3e55bc6173f92dbe627e782e1850f89d986c3606feb63aafa7/greenlet-3.5.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:db2910d3c809444e0a20147361f343fe2798e106af8d9d8506f5305302655a9f", size = 286228, upload-time = "2026-04-27T12:20:34.421Z" }, + { url = "https://files.pythonhosted.org/packages/b7/aa/caed9e5adf742315fc7be2a84196373aab4816e540e38ba0d76cb7584d68/greenlet-3.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ec9ea74e7268ace7f9aab1b1a4e730193fc661b39a993cd91c606c32d4a3628", size = 601775, upload-time = "2026-04-27T12:52:41.045Z" }, + { url = "https://files.pythonhosted.org/packages/c7/af/90ae08497400a941595d12774447f752d3dfe0fbb012e35b76bc5c0ff37e/greenlet-3.5.0-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:54d243512da35485fc7a6bf3c178fdda6327a9d6506fcdd62b1abd1e41b2927b", size = 614436, upload-time = "2026-04-27T12:59:41.595Z" }, + { url = "https://files.pythonhosted.org/packages/3f/e9/4eeadf8cb3403ac274245ba75f07844abc7fa5f6787583fc9156ba741e0f/greenlet-3.5.0-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:41353ec2ecedf7aa8f682753a41919f8718031a6edac46b8d3dc7ed9e1ceb136", size = 620610, upload-time = "2026-04-27T13:02:39.194Z" }, + { url = "https://files.pythonhosted.org/packages/2b/e0/2e13df68f367e2f9960616927d60857dd7e56aaadd59a47c644216b2f920/greenlet-3.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d280a7f5c331622c69f97eb167f33577ff2d1df282c41cd15907fc0a3ca198c", size = 611388, upload-time = "2026-04-27T12:25:28.008Z" }, + { url = "https://files.pythonhosted.org/packages/ee/ef/f913b3c0eb7d26d86a2401c5e1546c9d46b657efee724b06f6f4ac5d8824/greenlet-3.5.0-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:58c1c374fe2b3d852f9b6b11a7dff4c85404e51b9a596fd9e89cf904eb09866d", size = 422775, upload-time = "2026-04-27T13:05:14.261Z" }, + { url = "https://files.pythonhosted.org/packages/82/f7/393c64055132ac0d488ef6be549253b7e6274194863967ddc0bc8f5b87b8/greenlet-3.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1eb67d5adefb5bd2e182d42678a328979a209e4e82eb93575708185d31d1f588", size = 1570768, upload-time = "2026-04-27T12:53:28.099Z" }, + { url = "https://files.pythonhosted.org/packages/b8/4b/eaf7735253522cf56d1b74d672a58f54fc114702ceaf05def59aae72f6e1/greenlet-3.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2628d6c86f6cb0cb45e0c3c54058bbec559f57eaae699447748cb3928150577e", size = 1635983, upload-time = "2026-04-27T12:25:26.903Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fe/4fb3a0805bd5165da5ebf858da7cc01cce8061674106d2cf5bdab32cbfde/greenlet-3.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:d4d9f0624c775f2dfc56ba54d515a8c771044346852a918b405914f6b19d7fd8", size = 238840, upload-time = "2026-04-27T12:23:54.806Z" }, + { url = "https://files.pythonhosted.org/packages/cb/cb/baa584cb00532126ffe12d9787db0a60c5a4f55c27bfe2666df5d4c30a32/greenlet-3.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:83ed9f27f1680b50e89f40f6df348a290ea234b249a4003d366663a12eab94f2", size = 235615, upload-time = "2026-04-27T12:21:38.57Z" }, + { url = "https://files.pythonhosted.org/packages/0c/58/fc576f99037ce19c5aa16628e4c3226b6d1419f72a62c79f5f40576e6eb3/greenlet-3.5.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:5a5ed18de6a0f6cc7087f1563f6bd93fc7df1c19165ca01e9bde5a5dc281d106", size = 285066, upload-time = "2026-04-27T12:23:05.033Z" }, + { url = "https://files.pythonhosted.org/packages/4a/ba/b28ddbe6bfad6a8ac196ef0e8cff37bc65b79735995b9e410923fffeeb70/greenlet-3.5.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a717fbc46d8a354fa675f7c1e813485b6ba3885f9bef0cd56e5ba27d758ff5b", size = 604414, upload-time = "2026-04-27T12:52:42.358Z" }, + { url = "https://files.pythonhosted.org/packages/09/06/4b69f8f0b67603a8be2790e55107a190b376f2627fe0eaf5695d85ffb3cd/greenlet-3.5.0-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ddc090c5c1792b10246a78e8c2163ebbe04cf877f9d785c230a7b27b39ad038e", size = 617349, upload-time = "2026-04-27T12:59:43.32Z" }, + { url = "https://files.pythonhosted.org/packages/6a/15/a643b4ecd09969e30b8a150d5919960caae0abe4f5af75ab040b1ab85e78/greenlet-3.5.0-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4964101b8585c144cbda5532b1aa644255126c08a265dae90c16e7a0e63aaa9d", size = 623234, upload-time = "2026-04-27T13:02:40.611Z" }, + { url = "https://files.pythonhosted.org/packages/8a/17/a3918541fd0ddefe024a69de6d16aa7b46d36ac19562adaa63c7fa180eff/greenlet-3.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2094acd54b272cb6eae8c03dd87b3fa1820a4cef18d6889c378d503500a1dc13", size = 613927, upload-time = "2026-04-27T12:25:30.28Z" }, + { url = "https://files.pythonhosted.org/packages/77/18/3b13d5ef1275b0ffaf933b05efa21408ac4ca95823c7411d79682e4fdcff/greenlet-3.5.0-cp313-cp313-manylinux_2_39_riscv64.whl", hash = "sha256:7022615368890680e67b9965d33f5773aade330d5343bbe25560135aaa849eae", size = 425243, upload-time = "2026-04-27T13:05:15.689Z" }, + { url = "https://files.pythonhosted.org/packages/ee/e1/bd0af6213c7dd33175d8a462d4c1fe1175124ebed4855bc1475a5b5242c2/greenlet-3.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5e05ba267789ea87b5a155cf0e810b1ab88bf18e9e8740813945ceb8ee4350ba", size = 1570893, upload-time = "2026-04-27T12:53:29.483Z" }, + { url = "https://files.pythonhosted.org/packages/9b/2a/0789702f864f5382cb476b93d7a9c823c10472658102ccd65f415747d2e2/greenlet-3.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0ecec963079cd58cbd14723582384f11f166fd58883c15dcbfb342e0bc9b5846", size = 1636060, upload-time = "2026-04-27T12:25:28.845Z" }, + { url = "https://files.pythonhosted.org/packages/b2/8f/22bf9df92bbff0eb07842b60f7e63bf7675a9742df628437a9f02d09137f/greenlet-3.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:728d9667d8f2f586644b748dbd9bb67e50d6a9381767d1357714ea6825bb3bf5", size = 238740, upload-time = "2026-04-27T12:24:01.341Z" }, + { url = "https://files.pythonhosted.org/packages/b6/b7/9c5c3d653bd4ff614277c049ac676422e2c557db47b4fe43e6313fc005dc/greenlet-3.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:47422135b1d308c14b2c6e758beedb1acd33bb91679f5670edf77bf46244722b", size = 235525, upload-time = "2026-04-27T12:23:12.308Z" }, + { url = "https://files.pythonhosted.org/packages/94/5e/a70f31e3e8d961c4ce589c15b28e4225d63704e431a23932a3808cbcc867/greenlet-3.5.0-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:f35807464c4c58c55f0d31dfa83c541a5615d825c2fe3d2b95360cf7c4e3c0a8", size = 285564, upload-time = "2026-04-27T12:23:08.555Z" }, + { url = "https://files.pythonhosted.org/packages/af/a6/046c0a28e21833e4086918218cfb3d8bed51c075a1b700f20b9d7861c0f4/greenlet-3.5.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:55fa7ea52771be44af0de27d8b80c02cd18c2c3cddde6c847ecebdf72418b6a1", size = 651166, upload-time = "2026-04-27T12:52:43.644Z" }, + { url = "https://files.pythonhosted.org/packages/47/f8/4af27f71c5ff32a7fbc516adb46370d9c4ae2bc7bd3dc7d066ac542b4b15/greenlet-3.5.0-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a97e4821aa710603f94de0da25f25096454d78ffdace5dc77f3a006bc01abba3", size = 663792, upload-time = "2026-04-27T12:59:44.93Z" }, + { url = "https://files.pythonhosted.org/packages/fb/89/2dadb89793c37ee8b4c237857188293e9060dc085f19845c292e00f8e091/greenlet-3.5.0-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bf2d8a80bec89ab46221ae45c5373d5ba0bd36c19aa8508e85c6cd7e5106cd37", size = 668086, upload-time = "2026-04-27T13:02:42.314Z" }, + { url = "https://files.pythonhosted.org/packages/a3/59/1bd6d7428d6ed9106efbb8c52310c60fd04f6672490f452aeaa3829aa436/greenlet-3.5.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8f52a464e4ed91780bdfbbdd2b97197f3accaa629b98c200f4dffada759f3ae7", size = 660933, upload-time = "2026-04-27T12:25:33.276Z" }, + { url = "https://files.pythonhosted.org/packages/82/35/75722be7e26a2af4cbd2dc35b0ed382dacf9394b7e75551f76ed1abe87f2/greenlet-3.5.0-cp314-cp314-manylinux_2_39_riscv64.whl", hash = "sha256:1bae92a1dd94c5f9d9493c3a212dd874c202442047cf96446412c862feca83a2", size = 470799, upload-time = "2026-04-27T13:05:17.094Z" }, + { url = "https://files.pythonhosted.org/packages/83/e4/b903e5a5fae1e8a28cdd32a0cfbfd560b668c25b692f67768822ddc5f40f/greenlet-3.5.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:762612baf1161ccb8437c0161c668a688223cba28e1bf038f4eb47b13e39ccdf", size = 1618401, upload-time = "2026-04-27T12:53:31.062Z" }, + { url = "https://files.pythonhosted.org/packages/0e/e3/5ec408a329acb854fb607a122e1ee5fb3ff649f9a97952948a90803c0d8e/greenlet-3.5.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:57a43c6079a89713522bc4bcb9f75070ecf5d3dbad7792bfe42239362cbf2a16", size = 1682038, upload-time = "2026-04-27T12:25:31.838Z" }, + { url = "https://files.pythonhosted.org/packages/91/20/6b165108058767ee643c55c5c4904d591a830ee2b3c7dbd359828fbc829f/greenlet-3.5.0-cp314-cp314-win_amd64.whl", hash = "sha256:3bc59be3945ae9750b9e7d45067d01ae3fe90ea5f9ade99239dabdd6e28a5033", size = 239835, upload-time = "2026-04-27T12:24:54.136Z" }, + { url = "https://files.pythonhosted.org/packages/4e/62/1c498375cee177b55d980c1db319f26470e5309e54698c8f8fc06c0fd539/greenlet-3.5.0-cp314-cp314-win_arm64.whl", hash = "sha256:a96fcee45e03fe30a62669fd16ab5c9d3c172660d3085605cb1e2d1280d3c988", size = 236862, upload-time = "2026-04-27T12:23:24.957Z" }, + { url = "https://files.pythonhosted.org/packages/78/a8/4522939255bb5409af4e87132f915446bf3622c2c292d14d3c38d128ae82/greenlet-3.5.0-cp314-cp314t-macosx_11_0_universal2.whl", hash = "sha256:a10a732421ab4fec934783ce3e54763470d0181db6e3468f9103a275c3ed1853", size = 293614, upload-time = "2026-04-27T12:24:12.874Z" }, + { url = "https://files.pythonhosted.org/packages/15/5e/8744c52e2c027b5a8772a01561934c8835f869733e101f62075c60430340/greenlet-3.5.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7fc391b1566f2907d17aaebe78f8855dc45675159a775fcf9e61f8ee0078e87f", size = 650723, upload-time = "2026-04-27T12:52:45.412Z" }, + { url = "https://files.pythonhosted.org/packages/00/ef/7b4c39c03cf46ceca512c5d3f914afd85aa30b2cc9a93015b0dd73e4be6c/greenlet-3.5.0-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:680bd0e7ad5e8daa8a4aa89f68fd6adc834b8a8036dc256533f7e08f4a4b01f7", size = 656529, upload-time = "2026-04-27T12:59:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/5f/5c/0602239503b124b70e39355cbdb39361ecfe65b87a5f2f63752c32f5286f/greenlet-3.5.0-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1aa4ce8debcd4ea7fb2e150f3036588c41493d1d52c43538924ae1819003f4ce", size = 657015, upload-time = "2026-04-27T13:02:43.973Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b5/c7768f352f5c010f92064d0063f987e7dc0cd290a6d92a34109015ce4aa1/greenlet-3.5.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ddb36c7d6c9c0a65f18c7258634e0c416c6ab59caac8c987b96f80c2ebda0112", size = 654364, upload-time = "2026-04-27T12:25:35.64Z" }, + { url = "https://files.pythonhosted.org/packages/38/51/8699f865f125dc952384cb432b0f7138aa4d8f2969a7d12d0df5b94d054d/greenlet-3.5.0-cp314-cp314t-manylinux_2_39_riscv64.whl", hash = "sha256:728a73687e39ae9ca34e4694cbf2f049d3fbc7174639468d0f67200a97d8f9e2", size = 488275, upload-time = "2026-04-27T13:05:18.28Z" }, + { url = "https://files.pythonhosted.org/packages/ef/d0/079ebe12e4b1fc758857ce5be1a5e73f06870f2101e52611d1e71925ce54/greenlet-3.5.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e5ddf316ced87539144621453c3aef229575825fe60c604e62bedc4003f372b2", size = 1614204, upload-time = "2026-04-27T12:53:32.618Z" }, + { url = "https://files.pythonhosted.org/packages/6d/89/6c2fb63df3596552d20e58fb4d96669243388cf680cff222758812c7bfaa/greenlet-3.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:4a448128607be0de65342dc9b31be7f948ef4cc0bc8832069350abefd310a8f2", size = 1675480, upload-time = "2026-04-27T12:25:34.168Z" }, + { url = "https://files.pythonhosted.org/packages/15/32/77ee8a6c1564fc345a491a4e85b3bf360e4cf26eac98c4532d2fdb96e01f/greenlet-3.5.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d60097128cb0a1cab9ea541186ea13cd7b847b8449a7787c2e2350da0cb82d86", size = 245324, upload-time = "2026-04-27T12:24:40.295Z" }, +] + [[package]] name = "h11" version = "0.16.0" @@ -1008,6 +1241,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b", size = 8769, upload-time = "2022-07-01T12:21:02.467Z" }, ] +[[package]] +name = "importlib-metadata" +version = "9.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/01/15bb152d77b21318514a96f43af312635eb2500c96b55398d020c93d86ea/importlib_metadata-9.0.0.tar.gz", hash = "sha256:a4f57ab599e6a2e3016d7595cfd72eb4661a5106e787a95bcc90c7105b831efc", size = 56405, upload-time = "2026-03-20T06:42:56.999Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/3d/2d244233ac4f76e38533cfcb2991c9eb4c7bf688ae0a036d30725b8faafe/importlib_metadata-9.0.0-py3-none-any.whl", hash = "sha256:2d21d1cc5a017bd0559e36150c21c830ab1dc304dedd1b7ea85d20f45ef3edd7", size = 27789, upload-time = "2026-03-20T06:42:55.665Z" }, +] + [[package]] name = "iniconfig" version = "2.3.0" @@ -1017,6 +1262,158 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, ] +[[package]] +name = "ipykernel" +version = "7.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython", version = "8.39.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "ipython", version = "9.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ca/8d/b68b728e2d06b9e0051019640a40a9eb7a88fcd82c2e1b5ce70bef5ff044/ipykernel-7.2.0.tar.gz", hash = "sha256:18ed160b6dee2cbb16e5f3575858bc19d8f1fe6046a9a680c708494ce31d909e", size = 176046, upload-time = "2026-02-06T16:43:27.403Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/b9/e73d5d9f405cba7706c539aa8b311b49d4c2f3d698d9c12f815231169c71/ipykernel-7.2.0-py3-none-any.whl", hash = "sha256:3bbd4420d2b3cc105cbdf3756bfc04500b1e52f090a90716851f3916c62e1661", size = 118788, upload-time = "2026-02-06T16:43:25.149Z" }, +] + +[[package]] +name = "ipython" +version = "8.39.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version < '3.11' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", +] +dependencies = [ + { name = "colorama", marker = "(python_full_version < '3.11' and sys_platform == 'win32') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "decorator", marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "jedi", marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "matplotlib-inline", marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "pexpect", marker = "(python_full_version < '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (python_full_version >= '3.11' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "prompt-toolkit", marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "pygments", marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "stack-data", marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "traitlets", marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/40/18/f8598d287006885e7136451fdea0755af4ebcbfe342836f24deefaed1164/ipython-8.39.0.tar.gz", hash = "sha256:4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624", size = 5513971, upload-time = "2026-03-27T10:02:13.94Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/56/4cc7fc9e9e3f38fd324f24f8afe0ad8bb5fa41283f37f1aaf9de0612c968/ipython-8.39.0-py3-none-any.whl", hash = "sha256:bb3c51c4fa8148ab1dea07a79584d1c854e234ea44aa1283bcb37bc75054651f", size = 831849, upload-time = "2026-03-27T10:02:07.846Z" }, +] + +[[package]] +name = "ipython" +version = "9.13.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform == 'linux' and extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform == 'linux' and extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform == 'darwin' and extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform == 'darwin' and extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and platform_machine != 'aarch64' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and platform_machine != 'aarch64' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version >= '3.12' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform == 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", + "python_full_version == '3.11.*' and sys_platform != 'linux' and extra != 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu129' and extra != 'extra-9-chemtorch-cu130' and extra != 'extra-9-chemtorch-macos'", +] +dependencies = [ + { name = "colorama", marker = "(python_full_version >= '3.11' and sys_platform == 'win32') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'win32' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "decorator", marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "jedi", marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "matplotlib-inline", marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "pexpect", marker = "(python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (python_full_version < '3.11' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'emscripten' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform == 'win32' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "prompt-toolkit", marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "psutil", marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "pygments", marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "stack-data", marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "traitlets", marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "typing-extensions", marker = "python_full_version == '3.11.*' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cd/c4/87cda5842cf5c31837c06ddb588e11c3c35d8ece89b7a0108c06b8c9b00a/ipython-9.13.0.tar.gz", hash = "sha256:7e834b6afc99f020e3f05966ced34792f40267d64cb1ea9043886dab0dde5967", size = 4430549, upload-time = "2026-04-24T12:24:55.221Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/86/3060e8029b7cc505cce9a0137431dda81d0a3fde93a8f0f50ee0bf37a795/ipython-9.13.0-py3-none-any.whl", hash = "sha256:57f9d4639e20818d328d287c7b549af3d05f12486ea8f2e7f73e52a36ec4d201", size = 627274, upload-time = "2026-04-24T12:24:53.038Z" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments", marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, +] + [[package]] name = "itsdangerous" version = "2.2.0" @@ -1026,6 +1423,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234, upload-time = "2024-04-16T21:28:14.499Z" }, ] +[[package]] +name = "jedi" +version = "0.20.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/b7/a3635f6a2d7cf5b5dd98064fc1d5fbbafcb25477bcea204a3a92145d158b/jedi-0.20.0.tar.gz", hash = "sha256:c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011", size = 3119416, upload-time = "2026-05-01T23:38:47.814Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/93/242e2eab5fe682ffcb8b0084bde703a41d51e17ee0f3a31ff0d9d813620a/jedi-0.20.0-py2.py3-none-any.whl", hash = "sha256:7bdd9c2634f56713299976f4cbd59cb3fa92165cc5e05ea811fb253480728b67", size = 4884812, upload-time = "2026-05-01T23:38:43.919Z" }, +] + [[package]] name = "jinja2" version = "3.1.6" @@ -1047,6 +1456,81 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1e/e8/685f47e0d754320684db4425a0967f7d3fa70126bffd76110b7009a0090f/joblib-1.5.2-py3-none-any.whl", hash = "sha256:4e1f0bdbb987e6d843c70cf43714cb276623def372df3c22fe5266b2670bc241", size = 308396, upload-time = "2025-08-27T12:15:45.188Z" }, ] +[[package]] +name = "jsonschema" +version = "4.26.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", size = 366583, upload-time = "2026-01-07T13:41:07.246Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", hash = "sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce", size = 90630, upload-time = "2026-01-07T13:41:05.306Z" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, +] + +[[package]] +name = "jupyter-cache" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "click" }, + { name = "importlib-metadata" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "pyyaml" }, + { name = "sqlalchemy" }, + { name = "tabulate" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/f7/3627358075f183956e8c4974603232b03afd4ddc7baf72c2bc9fff522291/jupyter_cache-1.0.1.tar.gz", hash = "sha256:16e808eb19e3fb67a223db906e131ea6e01f03aa27f49a7214ce6a5fec186fb9", size = 32048, upload-time = "2024-11-15T16:03:55.322Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/6b/67b87da9d36bff9df7d0efbd1a325fa372a43be7158effaf43ed7b22341d/jupyter_cache-1.0.1-py3-none-any.whl", hash = "sha256:9c3cafd825ba7da8b5830485343091143dff903e4d8c69db9349b728b140abf6", size = 33907, upload-time = "2024-11-15T16:03:54.021Z" }, +] + +[[package]] +name = "jupyter-client" +version = "8.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/e4/ba649102a3bc3fbca54e7239fb924fd434c766f855693d86de0b1f2bec81/jupyter_client-8.8.0.tar.gz", hash = "sha256:d556811419a4f2d96c869af34e854e3f059b7cc2d6d01a9cd9c85c267691be3e", size = 348020, upload-time = "2026-01-08T13:55:47.938Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2d/0b/ceb7694d864abc0a047649aec263878acb9f792e1fec3e676f22dc9015e3/jupyter_client-8.8.0-py3-none-any.whl", hash = "sha256:f93a5b99c5e23a507b773d3a1136bd6e16c67883ccdbd9a829b0bbdb98cd7d7a", size = 107371, upload-time = "2026-01-08T13:55:45.562Z" }, +] + +[[package]] +name = "jupyter-core" +version = "5.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "platformdirs" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", size = 29032, upload-time = "2025-10-16T19:19:16.783Z" }, +] + [[package]] name = "lightning" version = "2.5.6" @@ -1187,6 +1671,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, ] +[[package]] +name = "matplotlib-inline" +version = "0.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bd/c0/9f7c9a46090390368a4d7bcb76bb87a4a36c421e4c0792cdb53486ffac7a/matplotlib_inline-0.2.2.tar.gz", hash = "sha256:72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79", size = 8150, upload-time = "2026-05-08T17:33:33.49Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/09/5b161152e2d90f7b87f781c2e1267494aef9c32498df793f73ad0a0a494a/matplotlib_inline-0.2.2-py3-none-any.whl", hash = "sha256:3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6", size = 9534, upload-time = "2026-05-08T17:33:32.055Z" }, +] + [[package]] name = "mdit-py-plugins" version = "0.5.0" @@ -1355,6 +1851,29 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b7/da/7d22601b625e241d4f23ef1ebff8acfc60da633c9e7e7922e24d10f592b3/multidict-6.7.0-py3-none-any.whl", hash = "sha256:394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3", size = 12317, upload-time = "2025-10-06T14:52:29.272Z" }, ] +[[package]] +name = "myst-nb" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata" }, + { name = "ipykernel" }, + { name = "ipython", version = "8.39.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "ipython", version = "9.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "jupyter-cache" }, + { name = "myst-parser" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "pyyaml" }, + { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "sphinx", version = "8.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bd/b4/ff1abeea67e8cfe0a8c033389f6d1d8b0bfecfd611befb5cbdeab884fce6/myst_nb-1.4.0.tar.gz", hash = "sha256:c145598de62446a6fd009773dd071a40d3b76106ace780de1abdfc6961f614c2", size = 82285, upload-time = "2026-03-02T21:14:56.95Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/93/0a378b48488879a1d925b42a804edfc6e0cd0ef854220f2dce738a46e7e9/myst_nb-1.4.0-py3-none-any.whl", hash = "sha256:0e2c86e7d3b82c3aa51383f82d6268f7714f3b772c23a796ab09538a8e68b4e4", size = 82555, upload-time = "2026-03-02T21:14:55.652Z" }, +] + [[package]] name = "myst-parser" version = "4.0.1" @@ -1373,6 +1892,45 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5f/df/76d0321c3797b54b60fef9ec3bd6f4cfd124b9e422182156a1dd418722cf/myst_parser-4.0.1-py3-none-any.whl", hash = "sha256:9134e88959ec3b5780aedf8a99680ea242869d012e8821db3126d427edc9c95d", size = 84579, upload-time = "2025-02-12T10:53:02.078Z" }, ] +[[package]] +name = "nbclient" +version = "0.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "nbformat" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/56/91/1c1d5a4b9a9ebba2b4e32b8c852c2975c872aec1fe42ab5e516b2cecd193/nbclient-0.10.4.tar.gz", hash = "sha256:1e54091b16e6da39e297b0ece3e10f6f29f4ac4e8ee515d29f8a7099bd6553c9", size = 62554, upload-time = "2025-12-23T07:45:46.369Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/a0/5b0c2f11142ed1dddec842457d3f65eaf71a0080894eb6f018755b319c3a/nbclient-0.10.4-py3-none-any.whl", hash = "sha256:9162df5a7373d70d606527300a95a975a47c137776cd942e52d9c7e29ff83440", size = 25465, upload-time = "2025-12-23T07:45:44.51Z" }, +] + +[[package]] +name = "nbformat" +version = "5.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema" }, + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload-time = "2024-04-04T11:20:34.895Z" }, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, +] + [[package]] name = "networkx" version = "3.4.2" @@ -2084,7 +2642,7 @@ resolution-markers = [ ] dependencies = [ { name = "nvidia-cublas-cu12", version = "12.1.3.1", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, - { name = "nvidia-cublas-cu12", version = "12.4.5.8", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "nvidia-cublas-cu12", version = "12.4.5.8", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'aarch64' and sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/9f/fd/713452cd72343f682b1c7b9321e23829f00b842ceaedcda96e742ea0b0b3/nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl", hash = "sha256:165764f44ef8c61fcdfdfdbe769d687e06374059fbb388b6c89ecb0e28793a6f", size = 664752741, upload-time = "2024-04-22T15:24:15.253Z" }, @@ -2172,7 +2730,7 @@ resolution-markers = [ "python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux'", ] dependencies = [ - { name = "nvidia-nvjitlink-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "nvidia-nvjitlink-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'aarch64' and sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/7a/8a/0e728f749baca3fbeffad762738276e5df60851958be7783af121a7221e7/nvidia_cufft_cu12-11.2.1.3-py3-none-manylinux2014_aarch64.whl", hash = "sha256:5dad8008fc7f92f5ddfa2101430917ce2ffacd86824914c82e28990ad7f00399", size = 211422548, upload-time = "2024-06-18T19:33:39.396Z" }, @@ -2442,9 +3000,9 @@ resolution-markers = [ "python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux'", ] dependencies = [ - { name = "nvidia-cublas-cu12", version = "12.4.5.8", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, - { name = "nvidia-cusparse-cu12", version = "12.3.1.170", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, - { name = "nvidia-nvjitlink-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "nvidia-cublas-cu12", version = "12.4.5.8", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'aarch64' and sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "nvidia-cusparse-cu12", version = "12.3.1.170", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'aarch64' and sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "nvidia-nvjitlink-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'aarch64' and sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/46/6b/a5c33cf16af09166845345275c34ad2190944bcc6026797a39f8e0a282e0/nvidia_cusolver_cu12-11.6.1.9-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d338f155f174f90724bbde3758b7ac375a70ce8e706d70b018dd3375545fc84e", size = 127634111, upload-time = "2024-06-18T19:35:01.793Z" }, @@ -2565,7 +3123,7 @@ resolution-markers = [ "python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'linux'", ] dependencies = [ - { name = "nvidia-nvjitlink-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "nvidia-nvjitlink-cu12", version = "12.4.127", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'aarch64' and sys_platform == 'linux' and extra == 'extra-9-chemtorch-cu124') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (platform_machine == 'aarch64' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (sys_platform != 'linux' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/96/a9/c0d2f83a53d40a4a41be14cea6a0bf9e668ffcf8b004bd65633f433050c0/nvidia_cusparse_cu12-12.3.1.170-py3-none-manylinux2014_aarch64.whl", hash = "sha256:9d32f62896231ebe0480efd8a7f702e143c98cfaa0e8a76df3386c1ba2b54df3", size = 207381987, upload-time = "2024-06-18T19:35:32.989Z" }, @@ -2976,6 +3534,27 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87", size = 13202175, upload-time = "2025-09-29T23:31:59.173Z" }, ] +[[package]] +name = "parso" +version = "0.8.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/4b/90c937815137d43ce71ba043cd3566221e9df6b9c805f24b5d138c9d40a7/parso-0.8.7.tar.gz", hash = "sha256:eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1", size = 401824, upload-time = "2026-05-01T23:13:02.138Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/5d/8268b644392ee874ee82a635cd0df1773de230bde356c38de28e298392cc/parso-0.8.7-py2.py3-none-any.whl", hash = "sha256:a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c", size = 107025, upload-time = "2026-05-01T23:12:58.867Z" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, +] + [[package]] name = "pillow" version = "12.0.0" @@ -3092,6 +3671,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, ] +[[package]] +name = "prompt-toolkit" +version = "3.0.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", size = 434198, upload-time = "2025-08-27T15:24:02.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" }, +] + [[package]] name = "propcache" version = "0.4.1" @@ -3247,6 +3838,33 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c9/ad/33b2ccec09bf96c2b2ef3f9a6f66baac8253d7565d8839e024a6b905d45d/psutil-7.1.3-cp37-abi3-win_arm64.whl", hash = "sha256:bd0d69cee829226a761e92f28140bec9a5ee9d5b4fb4b0cc589068dbfff559b1", size = 244608, upload-time = "2025-11-02T12:26:36.136Z" }, ] +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, +] + +[[package]] +name = "pycparser" +version = "3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492, upload-time = "2026-01-21T14:26:51.89Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" }, +] + [[package]] name = "pydantic" version = "2.12.4" @@ -3585,6 +4203,79 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, ] +[[package]] +name = "pyzmq" +version = "27.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540", size = 281750, upload-time = "2025-09-08T23:10:18.157Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/b9/52aa9ec2867528b54f1e60846728d8b4d84726630874fee3a91e66c7df81/pyzmq-27.1.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:508e23ec9bc44c0005c4946ea013d9317ae00ac67778bd47519fdf5a0e930ff4", size = 1329850, upload-time = "2025-09-08T23:07:26.274Z" }, + { url = "https://files.pythonhosted.org/packages/99/64/5653e7b7425b169f994835a2b2abf9486264401fdef18df91ddae47ce2cc/pyzmq-27.1.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:507b6f430bdcf0ee48c0d30e734ea89ce5567fd7b8a0f0044a369c176aa44556", size = 906380, upload-time = "2025-09-08T23:07:29.78Z" }, + { url = "https://files.pythonhosted.org/packages/73/78/7d713284dbe022f6440e391bd1f3c48d9185673878034cfb3939cdf333b2/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf7b38f9fd7b81cb6d9391b2946382c8237fd814075c6aa9c3b746d53076023b", size = 666421, upload-time = "2025-09-08T23:07:31.263Z" }, + { url = "https://files.pythonhosted.org/packages/30/76/8f099f9d6482450428b17c4d6b241281af7ce6a9de8149ca8c1c649f6792/pyzmq-27.1.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03ff0b279b40d687691a6217c12242ee71f0fba28bf8626ff50e3ef0f4410e1e", size = 854149, upload-time = "2025-09-08T23:07:33.17Z" }, + { url = "https://files.pythonhosted.org/packages/59/f0/37fbfff06c68016019043897e4c969ceab18bde46cd2aca89821fcf4fb2e/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:677e744fee605753eac48198b15a2124016c009a11056f93807000ab11ce6526", size = 1655070, upload-time = "2025-09-08T23:07:35.205Z" }, + { url = "https://files.pythonhosted.org/packages/47/14/7254be73f7a8edc3587609554fcaa7bfd30649bf89cd260e4487ca70fdaa/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd2fec2b13137416a1c5648b7009499bcc8fea78154cd888855fa32514f3dad1", size = 2033441, upload-time = "2025-09-08T23:07:37.432Z" }, + { url = "https://files.pythonhosted.org/packages/22/dc/49f2be26c6f86f347e796a4d99b19167fc94503f0af3fd010ad262158822/pyzmq-27.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:08e90bb4b57603b84eab1d0ca05b3bbb10f60c1839dc471fc1c9e1507bef3386", size = 1891529, upload-time = "2025-09-08T23:07:39.047Z" }, + { url = "https://files.pythonhosted.org/packages/a3/3e/154fb963ae25be70c0064ce97776c937ecc7d8b0259f22858154a9999769/pyzmq-27.1.0-cp310-cp310-win32.whl", hash = "sha256:a5b42d7a0658b515319148875fcb782bbf118dd41c671b62dae33666c2213bda", size = 567276, upload-time = "2025-09-08T23:07:40.695Z" }, + { url = "https://files.pythonhosted.org/packages/62/b2/f4ab56c8c595abcb26b2be5fd9fa9e6899c1e5ad54964e93ae8bb35482be/pyzmq-27.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0bb87227430ee3aefcc0ade2088100e528d5d3298a0a715a64f3d04c60ba02f", size = 632208, upload-time = "2025-09-08T23:07:42.298Z" }, + { url = "https://files.pythonhosted.org/packages/3b/e3/be2cc7ab8332bdac0522fdb64c17b1b6241a795bee02e0196636ec5beb79/pyzmq-27.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:9a916f76c2ab8d045b19f2286851a38e9ac94ea91faf65bd64735924522a8b32", size = 559766, upload-time = "2025-09-08T23:07:43.869Z" }, + { url = "https://files.pythonhosted.org/packages/06/5d/305323ba86b284e6fcb0d842d6adaa2999035f70f8c38a9b6d21ad28c3d4/pyzmq-27.1.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:226b091818d461a3bef763805e75685e478ac17e9008f49fce2d3e52b3d58b86", size = 1333328, upload-time = "2025-09-08T23:07:45.946Z" }, + { url = "https://files.pythonhosted.org/packages/bd/a0/fc7e78a23748ad5443ac3275943457e8452da67fda347e05260261108cbc/pyzmq-27.1.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0790a0161c281ca9723f804871b4027f2e8b5a528d357c8952d08cd1a9c15581", size = 908803, upload-time = "2025-09-08T23:07:47.551Z" }, + { url = "https://files.pythonhosted.org/packages/7e/22/37d15eb05f3bdfa4abea6f6d96eb3bb58585fbd3e4e0ded4e743bc650c97/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c895a6f35476b0c3a54e3eb6ccf41bf3018de937016e6e18748317f25d4e925f", size = 668836, upload-time = "2025-09-08T23:07:49.436Z" }, + { url = "https://files.pythonhosted.org/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bbf8d3630bf96550b3be8e1fc0fea5cbdc8d5466c1192887bd94869da17a63e", size = 857038, upload-time = "2025-09-08T23:07:51.234Z" }, + { url = "https://files.pythonhosted.org/packages/cb/eb/bfdcb41d0db9cd233d6fb22dc131583774135505ada800ebf14dfb0a7c40/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15c8bd0fe0dabf808e2d7a681398c4e5ded70a551ab47482067a572c054c8e2e", size = 1657531, upload-time = "2025-09-08T23:07:52.795Z" }, + { url = "https://files.pythonhosted.org/packages/ab/21/e3180ca269ed4a0de5c34417dfe71a8ae80421198be83ee619a8a485b0c7/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bafcb3dd171b4ae9f19ee6380dfc71ce0390fefaf26b504c0e5f628d7c8c54f2", size = 2034786, upload-time = "2025-09-08T23:07:55.047Z" }, + { url = "https://files.pythonhosted.org/packages/3b/b1/5e21d0b517434b7f33588ff76c177c5a167858cc38ef740608898cd329f2/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e829529fcaa09937189178115c49c504e69289abd39967cd8a4c215761373394", size = 1894220, upload-time = "2025-09-08T23:07:57.172Z" }, + { url = "https://files.pythonhosted.org/packages/03/f2/44913a6ff6941905efc24a1acf3d3cb6146b636c546c7406c38c49c403d4/pyzmq-27.1.0-cp311-cp311-win32.whl", hash = "sha256:6df079c47d5902af6db298ec92151db82ecb557af663098b92f2508c398bb54f", size = 567155, upload-time = "2025-09-08T23:07:59.05Z" }, + { url = "https://files.pythonhosted.org/packages/23/6d/d8d92a0eb270a925c9b4dd039c0b4dc10abc2fcbc48331788824ef113935/pyzmq-27.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:190cbf120fbc0fc4957b56866830def56628934a9d112aec0e2507aa6a032b97", size = 633428, upload-time = "2025-09-08T23:08:00.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/14/01afebc96c5abbbd713ecfc7469cfb1bc801c819a74ed5c9fad9a48801cb/pyzmq-27.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:eca6b47df11a132d1745eb3b5b5e557a7dae2c303277aa0e69c6ba91b8736e07", size = 559497, upload-time = "2025-09-08T23:08:02.15Z" }, + { url = "https://files.pythonhosted.org/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc", size = 1306279, upload-time = "2025-09-08T23:08:03.807Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113", size = 895645, upload-time = "2025-09-08T23:08:05.301Z" }, + { url = "https://files.pythonhosted.org/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233", size = 652574, upload-time = "2025-09-08T23:08:06.828Z" }, + { url = "https://files.pythonhosted.org/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31", size = 840995, upload-time = "2025-09-08T23:08:08.396Z" }, + { url = "https://files.pythonhosted.org/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28", size = 1642070, upload-time = "2025-09-08T23:08:09.989Z" }, + { url = "https://files.pythonhosted.org/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856", size = 2021121, upload-time = "2025-09-08T23:08:11.907Z" }, + { url = "https://files.pythonhosted.org/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496", size = 1878550, upload-time = "2025-09-08T23:08:13.513Z" }, + { url = "https://files.pythonhosted.org/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd", size = 559184, upload-time = "2025-09-08T23:08:15.163Z" }, + { url = "https://files.pythonhosted.org/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf", size = 619480, upload-time = "2025-09-08T23:08:17.192Z" }, + { url = "https://files.pythonhosted.org/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f", size = 552993, upload-time = "2025-09-08T23:08:18.926Z" }, + { url = "https://files.pythonhosted.org/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5", size = 1122436, upload-time = "2025-09-08T23:08:20.801Z" }, + { url = "https://files.pythonhosted.org/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6", size = 1156301, upload-time = "2025-09-08T23:08:22.47Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7", size = 1341197, upload-time = "2025-09-08T23:08:24.286Z" }, + { url = "https://files.pythonhosted.org/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05", size = 897275, upload-time = "2025-09-08T23:08:26.063Z" }, + { url = "https://files.pythonhosted.org/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9", size = 660469, upload-time = "2025-09-08T23:08:27.623Z" }, + { url = "https://files.pythonhosted.org/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128", size = 847961, upload-time = "2025-09-08T23:08:29.672Z" }, + { url = "https://files.pythonhosted.org/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39", size = 1650282, upload-time = "2025-09-08T23:08:31.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97", size = 2024468, upload-time = "2025-09-08T23:08:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db", size = 1885394, upload-time = "2025-09-08T23:08:35.51Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c", size = 574964, upload-time = "2025-09-08T23:08:37.178Z" }, + { url = "https://files.pythonhosted.org/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2", size = 641029, upload-time = "2025-09-08T23:08:40.595Z" }, + { url = "https://files.pythonhosted.org/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e", size = 561541, upload-time = "2025-09-08T23:08:42.668Z" }, + { url = "https://files.pythonhosted.org/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a", size = 1341197, upload-time = "2025-09-08T23:08:44.973Z" }, + { url = "https://files.pythonhosted.org/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea", size = 897175, upload-time = "2025-09-08T23:08:46.601Z" }, + { url = "https://files.pythonhosted.org/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96", size = 660427, upload-time = "2025-09-08T23:08:48.187Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d", size = 847929, upload-time = "2025-09-08T23:08:49.76Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146", size = 1650193, upload-time = "2025-09-08T23:08:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd", size = 2024388, upload-time = "2025-09-08T23:08:53.393Z" }, + { url = "https://files.pythonhosted.org/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a", size = 1885316, upload-time = "2025-09-08T23:08:55.702Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92", size = 587472, upload-time = "2025-09-08T23:08:58.18Z" }, + { url = "https://files.pythonhosted.org/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0", size = 661401, upload-time = "2025-09-08T23:08:59.802Z" }, + { url = "https://files.pythonhosted.org/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7", size = 575170, upload-time = "2025-09-08T23:09:01.418Z" }, + { url = "https://files.pythonhosted.org/packages/f3/81/a65e71c1552f74dec9dff91d95bafb6e0d33338a8dfefbc88aa562a20c92/pyzmq-27.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c17e03cbc9312bee223864f1a2b13a99522e0dc9f7c5df0177cd45210ac286e6", size = 836266, upload-time = "2025-09-08T23:09:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/58/ed/0202ca350f4f2b69faa95c6d931e3c05c3a397c184cacb84cb4f8f42f287/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:f328d01128373cb6763823b2b4e7f73bdf767834268c565151eacb3b7a392f90", size = 800206, upload-time = "2025-09-08T23:09:41.902Z" }, + { url = "https://files.pythonhosted.org/packages/47/42/1ff831fa87fe8f0a840ddb399054ca0009605d820e2b44ea43114f5459f4/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c1790386614232e1b3a40a958454bdd42c6d1811837b15ddbb052a032a43f62", size = 567747, upload-time = "2025-09-08T23:09:43.741Z" }, + { url = "https://files.pythonhosted.org/packages/d1/db/5c4d6807434751e3f21231bee98109aa57b9b9b55e058e450d0aef59b70f/pyzmq-27.1.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:448f9cb54eb0cee4732b46584f2710c8bc178b0e5371d9e4fc8125201e413a74", size = 747371, upload-time = "2025-09-08T23:09:45.575Z" }, + { url = "https://files.pythonhosted.org/packages/26/af/78ce193dbf03567eb8c0dc30e3df2b9e56f12a670bf7eb20f9fb532c7e8a/pyzmq-27.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:05b12f2d32112bf8c95ef2e74ec4f1d4beb01f8b5e703b38537f8849f92cb9ba", size = 544862, upload-time = "2025-09-08T23:09:47.448Z" }, + { url = "https://files.pythonhosted.org/packages/4c/c6/c4dcdecdbaa70969ee1fdced6d7b8f60cfabe64d25361f27ac4665a70620/pyzmq-27.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:18770c8d3563715387139060d37859c02ce40718d1faf299abddcdcc6a649066", size = 836265, upload-time = "2025-09-08T23:09:49.376Z" }, + { url = "https://files.pythonhosted.org/packages/3e/79/f38c92eeaeb03a2ccc2ba9866f0439593bb08c5e3b714ac1d553e5c96e25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ac25465d42f92e990f8d8b0546b01c391ad431c3bf447683fdc40565941d0604", size = 800208, upload-time = "2025-09-08T23:09:51.073Z" }, + { url = "https://files.pythonhosted.org/packages/49/0e/3f0d0d335c6b3abb9b7b723776d0b21fa7f3a6c819a0db6097059aada160/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53b40f8ae006f2734ee7608d59ed661419f087521edbfc2149c3932e9c14808c", size = 567747, upload-time = "2025-09-08T23:09:52.698Z" }, + { url = "https://files.pythonhosted.org/packages/a1/cf/f2b3784d536250ffd4be70e049f3b60981235d70c6e8ce7e3ef21e1adb25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f605d884e7c8be8fe1aa94e0a783bf3f591b84c24e4bc4f3e7564c82ac25e271", size = 747371, upload-time = "2025-09-08T23:09:54.563Z" }, + { url = "https://files.pythonhosted.org/packages/01/1b/5dbe84eefc86f48473947e2f41711aded97eecef1231f4558f1f02713c12/pyzmq-27.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c9f7f6e13dff2e44a6afeaf2cf54cee5929ad64afaf4d40b50f93c58fc687355", size = 544862, upload-time = "2025-09-08T23:09:56.509Z" }, +] + [[package]] name = "rdkit" version = "2025.9.1" @@ -3622,6 +4313,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d5/0f/39b8fc050830146a011ed86b7c5c738b30fd22fb0532e91984ceef6d00a8/rdkit-2025.9.1-cp314-cp314-win_amd64.whl", hash = "sha256:5393ef7c40c7552d54f569057a4914159b0cd1a634f110e5a884659550f1ff0b", size = 24057571, upload-time = "2025-10-06T09:05:37.368Z" }, ] +[[package]] +name = "referencing" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" }, +] + [[package]] name = "requests" version = "2.32.5" @@ -3646,6 +4351,128 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/53/97/d2cbbaa10c9b826af0e10fdf836e1bf344d9f0abb873ebc34d1f49642d3f/roman_numerals_py-3.1.0-py3-none-any.whl", hash = "sha256:9da2ad2fb670bcf24e81070ceb3be72f6c11c440d73bd579fbeca1e9f330954c", size = 7742, upload-time = "2025-02-22T07:34:52.422Z" }, ] +[[package]] +name = "rpds-py" +version = "0.30.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz", hash = "sha256:dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84", size = 69469, upload-time = "2025-11-30T20:24:38.837Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/06/0c/0c411a0ec64ccb6d104dcabe0e713e05e153a9a2c3c2bd2b32ce412166fe/rpds_py-0.30.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:679ae98e00c0e8d68a7fda324e16b90fd5260945b45d3b824c892cec9eea3288", size = 370490, upload-time = "2025-11-30T20:21:33.256Z" }, + { url = "https://files.pythonhosted.org/packages/19/6a/4ba3d0fb7297ebae71171822554abe48d7cab29c28b8f9f2c04b79988c05/rpds_py-0.30.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4cc2206b76b4f576934f0ed374b10d7ca5f457858b157ca52064bdfc26b9fc00", size = 359751, upload-time = "2025-11-30T20:21:34.591Z" }, + { url = "https://files.pythonhosted.org/packages/cd/7c/e4933565ef7f7a0818985d87c15d9d273f1a649afa6a52ea35ad011195ea/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:389a2d49eded1896c3d48b0136ead37c48e221b391c052fba3f4055c367f60a6", size = 389696, upload-time = "2025-11-30T20:21:36.122Z" }, + { url = "https://files.pythonhosted.org/packages/5e/01/6271a2511ad0815f00f7ed4390cf2567bec1d4b1da39e2c27a41e6e3b4de/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:32c8528634e1bf7121f3de08fa85b138f4e0dc47657866630611b03967f041d7", size = 403136, upload-time = "2025-11-30T20:21:37.728Z" }, + { url = "https://files.pythonhosted.org/packages/55/64/c857eb7cd7541e9b4eee9d49c196e833128a55b89a9850a9c9ac33ccf897/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f207f69853edd6f6700b86efb84999651baf3789e78a466431df1331608e5324", size = 524699, upload-time = "2025-11-30T20:21:38.92Z" }, + { url = "https://files.pythonhosted.org/packages/9c/ed/94816543404078af9ab26159c44f9e98e20fe47e2126d5d32c9d9948d10a/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67b02ec25ba7a9e8fa74c63b6ca44cf5707f2fbfadae3ee8e7494297d56aa9df", size = 412022, upload-time = "2025-11-30T20:21:40.407Z" }, + { url = "https://files.pythonhosted.org/packages/61/b5/707f6cf0066a6412aacc11d17920ea2e19e5b2f04081c64526eb35b5c6e7/rpds_py-0.30.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0e95f6819a19965ff420f65578bacb0b00f251fefe2c8b23347c37174271f3", size = 390522, upload-time = "2025-11-30T20:21:42.17Z" }, + { url = "https://files.pythonhosted.org/packages/13/4e/57a85fda37a229ff4226f8cbcf09f2a455d1ed20e802ce5b2b4a7f5ed053/rpds_py-0.30.0-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:a452763cc5198f2f98898eb98f7569649fe5da666c2dc6b5ddb10fde5a574221", size = 404579, upload-time = "2025-11-30T20:21:43.769Z" }, + { url = "https://files.pythonhosted.org/packages/f9/da/c9339293513ec680a721e0e16bf2bac3db6e5d7e922488de471308349bba/rpds_py-0.30.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e0b65193a413ccc930671c55153a03ee57cecb49e6227204b04fae512eb657a7", size = 421305, upload-time = "2025-11-30T20:21:44.994Z" }, + { url = "https://files.pythonhosted.org/packages/f9/be/522cb84751114f4ad9d822ff5a1aa3c98006341895d5f084779b99596e5c/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:858738e9c32147f78b3ac24dc0edb6610000e56dc0f700fd5f651d0a0f0eb9ff", size = 572503, upload-time = "2025-11-30T20:21:46.91Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9b/de879f7e7ceddc973ea6e4629e9b380213a6938a249e94b0cdbcc325bb66/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:da279aa314f00acbb803da1e76fa18666778e8a8f83484fba94526da5de2cba7", size = 598322, upload-time = "2025-11-30T20:21:48.709Z" }, + { url = "https://files.pythonhosted.org/packages/48/ac/f01fc22efec3f37d8a914fc1b2fb9bcafd56a299edbe96406f3053edea5a/rpds_py-0.30.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7c64d38fb49b6cdeda16ab49e35fe0da2e1e9b34bc38bd78386530f218b37139", size = 560792, upload-time = "2025-11-30T20:21:50.024Z" }, + { url = "https://files.pythonhosted.org/packages/e2/da/4e2b19d0f131f35b6146425f846563d0ce036763e38913d917187307a671/rpds_py-0.30.0-cp310-cp310-win32.whl", hash = "sha256:6de2a32a1665b93233cde140ff8b3467bdb9e2af2b91079f0333a0974d12d464", size = 221901, upload-time = "2025-11-30T20:21:51.32Z" }, + { url = "https://files.pythonhosted.org/packages/96/cb/156d7a5cf4f78a7cc571465d8aec7a3c447c94f6749c5123f08438bcf7bc/rpds_py-0.30.0-cp310-cp310-win_amd64.whl", hash = "sha256:1726859cd0de969f88dc8673bdd954185b9104e05806be64bcd87badbe313169", size = 235823, upload-time = "2025-11-30T20:21:52.505Z" }, + { url = "https://files.pythonhosted.org/packages/4d/6e/f964e88b3d2abee2a82c1ac8366da848fce1c6d834dc2132c3fda3970290/rpds_py-0.30.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a2bffea6a4ca9f01b3f8e548302470306689684e61602aa3d141e34da06cf425", size = 370157, upload-time = "2025-11-30T20:21:53.789Z" }, + { url = "https://files.pythonhosted.org/packages/94/ba/24e5ebb7c1c82e74c4e4f33b2112a5573ddc703915b13a073737b59b86e0/rpds_py-0.30.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc4f992dfe1e2bc3ebc7444f6c7051b4bc13cd8e33e43511e8ffd13bf407010d", size = 359676, upload-time = "2025-11-30T20:21:55.475Z" }, + { url = "https://files.pythonhosted.org/packages/84/86/04dbba1b087227747d64d80c3b74df946b986c57af0a9f0c98726d4d7a3b/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:422c3cb9856d80b09d30d2eb255d0754b23e090034e1deb4083f8004bd0761e4", size = 389938, upload-time = "2025-11-30T20:21:57.079Z" }, + { url = "https://files.pythonhosted.org/packages/42/bb/1463f0b1722b7f45431bdd468301991d1328b16cffe0b1c2918eba2c4eee/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:07ae8a593e1c3c6b82ca3292efbe73c30b61332fd612e05abee07c79359f292f", size = 402932, upload-time = "2025-11-30T20:21:58.47Z" }, + { url = "https://files.pythonhosted.org/packages/99/ee/2520700a5c1f2d76631f948b0736cdf9b0acb25abd0ca8e889b5c62ac2e3/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12f90dd7557b6bd57f40abe7747e81e0c0b119bef015ea7726e69fe550e394a4", size = 525830, upload-time = "2025-11-30T20:21:59.699Z" }, + { url = "https://files.pythonhosted.org/packages/e0/ad/bd0331f740f5705cc555a5e17fdf334671262160270962e69a2bdef3bf76/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99b47d6ad9a6da00bec6aabe5a6279ecd3c06a329d4aa4771034a21e335c3a97", size = 412033, upload-time = "2025-11-30T20:22:00.991Z" }, + { url = "https://files.pythonhosted.org/packages/f8/1e/372195d326549bb51f0ba0f2ecb9874579906b97e08880e7a65c3bef1a99/rpds_py-0.30.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33f559f3104504506a44bb666b93a33f5d33133765b0c216a5bf2f1e1503af89", size = 390828, upload-time = "2025-11-30T20:22:02.723Z" }, + { url = "https://files.pythonhosted.org/packages/ab/2b/d88bb33294e3e0c76bc8f351a3721212713629ffca1700fa94979cb3eae8/rpds_py-0.30.0-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:946fe926af6e44f3697abbc305ea168c2c31d3e3ef1058cf68f379bf0335a78d", size = 404683, upload-time = "2025-11-30T20:22:04.367Z" }, + { url = "https://files.pythonhosted.org/packages/50/32/c759a8d42bcb5289c1fac697cd92f6fe01a018dd937e62ae77e0e7f15702/rpds_py-0.30.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:495aeca4b93d465efde585977365187149e75383ad2684f81519f504f5c13038", size = 421583, upload-time = "2025-11-30T20:22:05.814Z" }, + { url = "https://files.pythonhosted.org/packages/2b/81/e729761dbd55ddf5d84ec4ff1f47857f4374b0f19bdabfcf929164da3e24/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9a0ca5da0386dee0655b4ccdf46119df60e0f10da268d04fe7cc87886872ba7", size = 572496, upload-time = "2025-11-30T20:22:07.713Z" }, + { url = "https://files.pythonhosted.org/packages/14/f6/69066a924c3557c9c30baa6ec3a0aa07526305684c6f86c696b08860726c/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8d6d1cc13664ec13c1b84241204ff3b12f9bb82464b8ad6e7a5d3486975c2eed", size = 598669, upload-time = "2025-11-30T20:22:09.312Z" }, + { url = "https://files.pythonhosted.org/packages/5f/48/905896b1eb8a05630d20333d1d8ffd162394127b74ce0b0784ae04498d32/rpds_py-0.30.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3896fa1be39912cf0757753826bc8bdc8ca331a28a7c4ae46b7a21280b06bb85", size = 561011, upload-time = "2025-11-30T20:22:11.309Z" }, + { url = "https://files.pythonhosted.org/packages/22/16/cd3027c7e279d22e5eb431dd3c0fbc677bed58797fe7581e148f3f68818b/rpds_py-0.30.0-cp311-cp311-win32.whl", hash = "sha256:55f66022632205940f1827effeff17c4fa7ae1953d2b74a8581baaefb7d16f8c", size = 221406, upload-time = "2025-11-30T20:22:13.101Z" }, + { url = "https://files.pythonhosted.org/packages/fa/5b/e7b7aa136f28462b344e652ee010d4de26ee9fd16f1bfd5811f5153ccf89/rpds_py-0.30.0-cp311-cp311-win_amd64.whl", hash = "sha256:a51033ff701fca756439d641c0ad09a41d9242fa69121c7d8769604a0a629825", size = 236024, upload-time = "2025-11-30T20:22:14.853Z" }, + { url = "https://files.pythonhosted.org/packages/14/a6/364bba985e4c13658edb156640608f2c9e1d3ea3c81b27aa9d889fff0e31/rpds_py-0.30.0-cp311-cp311-win_arm64.whl", hash = "sha256:47b0ef6231c58f506ef0b74d44e330405caa8428e770fec25329ed2cb971a229", size = 229069, upload-time = "2025-11-30T20:22:16.577Z" }, + { url = "https://files.pythonhosted.org/packages/03/e7/98a2f4ac921d82f33e03f3835f5bf3a4a40aa1bfdc57975e74a97b2b4bdd/rpds_py-0.30.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a161f20d9a43006833cd7068375a94d035714d73a172b681d8881820600abfad", size = 375086, upload-time = "2025-11-30T20:22:17.93Z" }, + { url = "https://files.pythonhosted.org/packages/4d/a1/bca7fd3d452b272e13335db8d6b0b3ecde0f90ad6f16f3328c6fb150c889/rpds_py-0.30.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6abc8880d9d036ecaafe709079969f56e876fcf107f7a8e9920ba6d5a3878d05", size = 359053, upload-time = "2025-11-30T20:22:19.297Z" }, + { url = "https://files.pythonhosted.org/packages/65/1c/ae157e83a6357eceff62ba7e52113e3ec4834a84cfe07fa4b0757a7d105f/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca28829ae5f5d569bb62a79512c842a03a12576375d5ece7d2cadf8abe96ec28", size = 390763, upload-time = "2025-11-30T20:22:21.661Z" }, + { url = "https://files.pythonhosted.org/packages/d4/36/eb2eb8515e2ad24c0bd43c3ee9cd74c33f7ca6430755ccdb240fd3144c44/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a1010ed9524c73b94d15919ca4d41d8780980e1765babf85f9a2f90d247153dd", size = 408951, upload-time = "2025-11-30T20:22:23.408Z" }, + { url = "https://files.pythonhosted.org/packages/d6/65/ad8dc1784a331fabbd740ef6f71ce2198c7ed0890dab595adb9ea2d775a1/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d1736cfb49381ba528cd5baa46f82fdc65c06e843dab24dd70b63d09121b3f", size = 514622, upload-time = "2025-11-30T20:22:25.16Z" }, + { url = "https://files.pythonhosted.org/packages/63/8e/0cfa7ae158e15e143fe03993b5bcd743a59f541f5952e1546b1ac1b5fd45/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d948b135c4693daff7bc2dcfc4ec57237a29bd37e60c2fabf5aff2bbacf3e2f1", size = 414492, upload-time = "2025-11-30T20:22:26.505Z" }, + { url = "https://files.pythonhosted.org/packages/60/1b/6f8f29f3f995c7ffdde46a626ddccd7c63aefc0efae881dc13b6e5d5bb16/rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47f236970bccb2233267d89173d3ad2703cd36a0e2a6e92d0560d333871a3d23", size = 394080, upload-time = "2025-11-30T20:22:27.934Z" }, + { url = "https://files.pythonhosted.org/packages/6d/d5/a266341051a7a3ca2f4b750a3aa4abc986378431fc2da508c5034d081b70/rpds_py-0.30.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:2e6ecb5a5bcacf59c3f912155044479af1d0b6681280048b338b28e364aca1f6", size = 408680, upload-time = "2025-11-30T20:22:29.341Z" }, + { url = "https://files.pythonhosted.org/packages/10/3b/71b725851df9ab7a7a4e33cf36d241933da66040d195a84781f49c50490c/rpds_py-0.30.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a8fa71a2e078c527c3e9dc9fc5a98c9db40bcc8a92b4e8858e36d329f8684b51", size = 423589, upload-time = "2025-11-30T20:22:31.469Z" }, + { url = "https://files.pythonhosted.org/packages/00/2b/e59e58c544dc9bd8bd8384ecdb8ea91f6727f0e37a7131baeff8d6f51661/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73c67f2db7bc334e518d097c6d1e6fed021bbc9b7d678d6cc433478365d1d5f5", size = 573289, upload-time = "2025-11-30T20:22:32.997Z" }, + { url = "https://files.pythonhosted.org/packages/da/3e/a18e6f5b460893172a7d6a680e86d3b6bc87a54c1f0b03446a3c8c7b588f/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5ba103fb455be00f3b1c2076c9d4264bfcb037c976167a6047ed82f23153f02e", size = 599737, upload-time = "2025-11-30T20:22:34.419Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e2/714694e4b87b85a18e2c243614974413c60aa107fd815b8cbc42b873d1d7/rpds_py-0.30.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7cee9c752c0364588353e627da8a7e808a66873672bcb5f52890c33fd965b394", size = 563120, upload-time = "2025-11-30T20:22:35.903Z" }, + { url = "https://files.pythonhosted.org/packages/6f/ab/d5d5e3bcedb0a77f4f613706b750e50a5a3ba1c15ccd3665ecc636c968fd/rpds_py-0.30.0-cp312-cp312-win32.whl", hash = "sha256:1ab5b83dbcf55acc8b08fc62b796ef672c457b17dbd7820a11d6c52c06839bdf", size = 223782, upload-time = "2025-11-30T20:22:37.271Z" }, + { url = "https://files.pythonhosted.org/packages/39/3b/f786af9957306fdc38a74cef405b7b93180f481fb48453a114bb6465744a/rpds_py-0.30.0-cp312-cp312-win_amd64.whl", hash = "sha256:a090322ca841abd453d43456ac34db46e8b05fd9b3b4ac0c78bcde8b089f959b", size = 240463, upload-time = "2025-11-30T20:22:39.021Z" }, + { url = "https://files.pythonhosted.org/packages/f3/d2/b91dc748126c1559042cfe41990deb92c4ee3e2b415f6b5234969ffaf0cc/rpds_py-0.30.0-cp312-cp312-win_arm64.whl", hash = "sha256:669b1805bd639dd2989b281be2cfd951c6121b65e729d9b843e9639ef1fd555e", size = 230868, upload-time = "2025-11-30T20:22:40.493Z" }, + { url = "https://files.pythonhosted.org/packages/ed/dc/d61221eb88ff410de3c49143407f6f3147acf2538c86f2ab7ce65ae7d5f9/rpds_py-0.30.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2", size = 374887, upload-time = "2025-11-30T20:22:41.812Z" }, + { url = "https://files.pythonhosted.org/packages/fd/32/55fb50ae104061dbc564ef15cc43c013dc4a9f4527a1f4d99baddf56fe5f/rpds_py-0.30.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8", size = 358904, upload-time = "2025-11-30T20:22:43.479Z" }, + { url = "https://files.pythonhosted.org/packages/58/70/faed8186300e3b9bdd138d0273109784eea2396c68458ed580f885dfe7ad/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4", size = 389945, upload-time = "2025-11-30T20:22:44.819Z" }, + { url = "https://files.pythonhosted.org/packages/bd/a8/073cac3ed2c6387df38f71296d002ab43496a96b92c823e76f46b8af0543/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136", size = 407783, upload-time = "2025-11-30T20:22:46.103Z" }, + { url = "https://files.pythonhosted.org/packages/77/57/5999eb8c58671f1c11eba084115e77a8899d6e694d2a18f69f0ba471ec8b/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7", size = 515021, upload-time = "2025-11-30T20:22:47.458Z" }, + { url = "https://files.pythonhosted.org/packages/e0/af/5ab4833eadc36c0a8ed2bc5c0de0493c04f6c06de223170bd0798ff98ced/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2", size = 414589, upload-time = "2025-11-30T20:22:48.872Z" }, + { url = "https://files.pythonhosted.org/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6", size = 394025, upload-time = "2025-11-30T20:22:50.196Z" }, + { url = "https://files.pythonhosted.org/packages/91/c4/fc70cd0249496493500e7cc2de87504f5aa6509de1e88623431fec76d4b6/rpds_py-0.30.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e", size = 408895, upload-time = "2025-11-30T20:22:51.87Z" }, + { url = "https://files.pythonhosted.org/packages/58/95/d9275b05ab96556fefff73a385813eb66032e4c99f411d0795372d9abcea/rpds_py-0.30.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d", size = 422799, upload-time = "2025-11-30T20:22:53.341Z" }, + { url = "https://files.pythonhosted.org/packages/06/c1/3088fc04b6624eb12a57eb814f0d4997a44b0d208d6cace713033ff1a6ba/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7", size = 572731, upload-time = "2025-11-30T20:22:54.778Z" }, + { url = "https://files.pythonhosted.org/packages/d8/42/c612a833183b39774e8ac8fecae81263a68b9583ee343db33ab571a7ce55/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31", size = 599027, upload-time = "2025-11-30T20:22:56.212Z" }, + { url = "https://files.pythonhosted.org/packages/5f/60/525a50f45b01d70005403ae0e25f43c0384369ad24ffe46e8d9068b50086/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95", size = 563020, upload-time = "2025-11-30T20:22:58.2Z" }, + { url = "https://files.pythonhosted.org/packages/0b/5d/47c4655e9bcd5ca907148535c10e7d489044243cc9941c16ed7cd53be91d/rpds_py-0.30.0-cp313-cp313-win32.whl", hash = "sha256:b40fb160a2db369a194cb27943582b38f79fc4887291417685f3ad693c5a1d5d", size = 223139, upload-time = "2025-11-30T20:23:00.209Z" }, + { url = "https://files.pythonhosted.org/packages/f2/e1/485132437d20aa4d3e1d8b3fb5a5e65aa8139f1e097080c2a8443201742c/rpds_py-0.30.0-cp313-cp313-win_amd64.whl", hash = "sha256:806f36b1b605e2d6a72716f321f20036b9489d29c51c91f4dd29a3e3afb73b15", size = 240224, upload-time = "2025-11-30T20:23:02.008Z" }, + { url = "https://files.pythonhosted.org/packages/24/95/ffd128ed1146a153d928617b0ef673960130be0009c77d8fbf0abe306713/rpds_py-0.30.0-cp313-cp313-win_arm64.whl", hash = "sha256:d96c2086587c7c30d44f31f42eae4eac89b60dabbac18c7669be3700f13c3ce1", size = 230645, upload-time = "2025-11-30T20:23:03.43Z" }, + { url = "https://files.pythonhosted.org/packages/ff/1b/b10de890a0def2a319a2626334a7f0ae388215eb60914dbac8a3bae54435/rpds_py-0.30.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a", size = 364443, upload-time = "2025-11-30T20:23:04.878Z" }, + { url = "https://files.pythonhosted.org/packages/0d/bf/27e39f5971dc4f305a4fb9c672ca06f290f7c4e261c568f3dea16a410d47/rpds_py-0.30.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e", size = 353375, upload-time = "2025-11-30T20:23:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/40/58/442ada3bba6e8e6615fc00483135c14a7538d2ffac30e2d933ccf6852232/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000", size = 383850, upload-time = "2025-11-30T20:23:07.825Z" }, + { url = "https://files.pythonhosted.org/packages/14/14/f59b0127409a33c6ef6f5c1ebd5ad8e32d7861c9c7adfa9a624fc3889f6c/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db", size = 392812, upload-time = "2025-11-30T20:23:09.228Z" }, + { url = "https://files.pythonhosted.org/packages/b3/66/e0be3e162ac299b3a22527e8913767d869e6cc75c46bd844aa43fb81ab62/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2", size = 517841, upload-time = "2025-11-30T20:23:11.186Z" }, + { url = "https://files.pythonhosted.org/packages/3d/55/fa3b9cf31d0c963ecf1ba777f7cf4b2a2c976795ac430d24a1f43d25a6ba/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa", size = 408149, upload-time = "2025-11-30T20:23:12.864Z" }, + { url = "https://files.pythonhosted.org/packages/60/ca/780cf3b1a32b18c0f05c441958d3758f02544f1d613abf9488cd78876378/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083", size = 383843, upload-time = "2025-11-30T20:23:14.638Z" }, + { url = "https://files.pythonhosted.org/packages/82/86/d5f2e04f2aa6247c613da0c1dd87fcd08fa17107e858193566048a1e2f0a/rpds_py-0.30.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9", size = 396507, upload-time = "2025-11-30T20:23:16.105Z" }, + { url = "https://files.pythonhosted.org/packages/4b/9a/453255d2f769fe44e07ea9785c8347edaf867f7026872e76c1ad9f7bed92/rpds_py-0.30.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0", size = 414949, upload-time = "2025-11-30T20:23:17.539Z" }, + { url = "https://files.pythonhosted.org/packages/a3/31/622a86cdc0c45d6df0e9ccb6becdba5074735e7033c20e401a6d9d0e2ca0/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94", size = 565790, upload-time = "2025-11-30T20:23:19.029Z" }, + { url = "https://files.pythonhosted.org/packages/1c/5d/15bbf0fb4a3f58a3b1c67855ec1efcc4ceaef4e86644665fff03e1b66d8d/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08", size = 590217, upload-time = "2025-11-30T20:23:20.885Z" }, + { url = "https://files.pythonhosted.org/packages/6d/61/21b8c41f68e60c8cc3b2e25644f0e3681926020f11d06ab0b78e3c6bbff1/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27", size = 555806, upload-time = "2025-11-30T20:23:22.488Z" }, + { url = "https://files.pythonhosted.org/packages/f9/39/7e067bb06c31de48de3eb200f9fc7c58982a4d3db44b07e73963e10d3be9/rpds_py-0.30.0-cp313-cp313t-win32.whl", hash = "sha256:3d4a69de7a3e50ffc214ae16d79d8fbb0922972da0356dcf4d0fdca2878559c6", size = 211341, upload-time = "2025-11-30T20:23:24.449Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4d/222ef0b46443cf4cf46764d9c630f3fe4abaa7245be9417e56e9f52b8f65/rpds_py-0.30.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f14fc5df50a716f7ece6a80b6c78bb35ea2ca47c499e422aa4463455dd96d56d", size = 225768, upload-time = "2025-11-30T20:23:25.908Z" }, + { url = "https://files.pythonhosted.org/packages/86/81/dad16382ebbd3d0e0328776d8fd7ca94220e4fa0798d1dc5e7da48cb3201/rpds_py-0.30.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:68f19c879420aa08f61203801423f6cd5ac5f0ac4ac82a2368a9fcd6a9a075e0", size = 362099, upload-time = "2025-11-30T20:23:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/2b/60/19f7884db5d5603edf3c6bce35408f45ad3e97e10007df0e17dd57af18f8/rpds_py-0.30.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ec7c4490c672c1a0389d319b3a9cfcd098dcdc4783991553c332a15acf7249be", size = 353192, upload-time = "2025-11-30T20:23:29.151Z" }, + { url = "https://files.pythonhosted.org/packages/bf/c4/76eb0e1e72d1a9c4703c69607cec123c29028bff28ce41588792417098ac/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f251c812357a3fed308d684a5079ddfb9d933860fc6de89f2b7ab00da481e65f", size = 384080, upload-time = "2025-11-30T20:23:30.785Z" }, + { url = "https://files.pythonhosted.org/packages/72/87/87ea665e92f3298d1b26d78814721dc39ed8d2c74b86e83348d6b48a6f31/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac98b175585ecf4c0348fd7b29c3864bda53b805c773cbf7bfdaffc8070c976f", size = 394841, upload-time = "2025-11-30T20:23:32.209Z" }, + { url = "https://files.pythonhosted.org/packages/77/ad/7783a89ca0587c15dcbf139b4a8364a872a25f861bdb88ed99f9b0dec985/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3e62880792319dbeb7eb866547f2e35973289e7d5696c6e295476448f5b63c87", size = 516670, upload-time = "2025-11-30T20:23:33.742Z" }, + { url = "https://files.pythonhosted.org/packages/5b/3c/2882bdac942bd2172f3da574eab16f309ae10a3925644e969536553cb4ee/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4e7fc54e0900ab35d041b0601431b0a0eb495f0851a0639b6ef90f7741b39a18", size = 408005, upload-time = "2025-11-30T20:23:35.253Z" }, + { url = "https://files.pythonhosted.org/packages/ce/81/9a91c0111ce1758c92516a3e44776920b579d9a7c09b2b06b642d4de3f0f/rpds_py-0.30.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47e77dc9822d3ad616c3d5759ea5631a75e5809d5a28707744ef79d7a1bcfcad", size = 382112, upload-time = "2025-11-30T20:23:36.842Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8e/1da49d4a107027e5fbc64daeab96a0706361a2918da10cb41769244b805d/rpds_py-0.30.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:b4dc1a6ff022ff85ecafef7979a2c6eb423430e05f1165d6688234e62ba99a07", size = 399049, upload-time = "2025-11-30T20:23:38.343Z" }, + { url = "https://files.pythonhosted.org/packages/df/5a/7ee239b1aa48a127570ec03becbb29c9d5a9eb092febbd1699d567cae859/rpds_py-0.30.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4559c972db3a360808309e06a74628b95eaccbf961c335c8fe0d590cf587456f", size = 415661, upload-time = "2025-11-30T20:23:40.263Z" }, + { url = "https://files.pythonhosted.org/packages/70/ea/caa143cf6b772f823bc7929a45da1fa83569ee49b11d18d0ada7f5ee6fd6/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0ed177ed9bded28f8deb6ab40c183cd1192aa0de40c12f38be4d59cd33cb5c65", size = 565606, upload-time = "2025-11-30T20:23:42.186Z" }, + { url = "https://files.pythonhosted.org/packages/64/91/ac20ba2d69303f961ad8cf55bf7dbdb4763f627291ba3d0d7d67333cced9/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ad1fa8db769b76ea911cb4e10f049d80bf518c104f15b3edb2371cc65375c46f", size = 591126, upload-time = "2025-11-30T20:23:44.086Z" }, + { url = "https://files.pythonhosted.org/packages/21/20/7ff5f3c8b00c8a95f75985128c26ba44503fb35b8e0259d812766ea966c7/rpds_py-0.30.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:46e83c697b1f1c72b50e5ee5adb4353eef7406fb3f2043d64c33f20ad1c2fc53", size = 553371, upload-time = "2025-11-30T20:23:46.004Z" }, + { url = "https://files.pythonhosted.org/packages/72/c7/81dadd7b27c8ee391c132a6b192111ca58d866577ce2d9b0ca157552cce0/rpds_py-0.30.0-cp314-cp314-win32.whl", hash = "sha256:ee454b2a007d57363c2dfd5b6ca4a5d7e2c518938f8ed3b706e37e5d470801ed", size = 215298, upload-time = "2025-11-30T20:23:47.696Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d2/1aaac33287e8cfb07aab2e6b8ac1deca62f6f65411344f1433c55e6f3eb8/rpds_py-0.30.0-cp314-cp314-win_amd64.whl", hash = "sha256:95f0802447ac2d10bcc69f6dc28fe95fdf17940367b21d34e34c737870758950", size = 228604, upload-time = "2025-11-30T20:23:49.501Z" }, + { url = "https://files.pythonhosted.org/packages/e8/95/ab005315818cc519ad074cb7784dae60d939163108bd2b394e60dc7b5461/rpds_py-0.30.0-cp314-cp314-win_arm64.whl", hash = "sha256:613aa4771c99f03346e54c3f038e4cc574ac09a3ddfb0e8878487335e96dead6", size = 222391, upload-time = "2025-11-30T20:23:50.96Z" }, + { url = "https://files.pythonhosted.org/packages/9e/68/154fe0194d83b973cdedcdcc88947a2752411165930182ae41d983dcefa6/rpds_py-0.30.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7e6ecfcb62edfd632e56983964e6884851786443739dbfe3582947e87274f7cb", size = 364868, upload-time = "2025-11-30T20:23:52.494Z" }, + { url = "https://files.pythonhosted.org/packages/83/69/8bbc8b07ec854d92a8b75668c24d2abcb1719ebf890f5604c61c9369a16f/rpds_py-0.30.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a1d0bc22a7cdc173fedebb73ef81e07faef93692b8c1ad3733b67e31e1b6e1b8", size = 353747, upload-time = "2025-11-30T20:23:54.036Z" }, + { url = "https://files.pythonhosted.org/packages/ab/00/ba2e50183dbd9abcce9497fa5149c62b4ff3e22d338a30d690f9af970561/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d08f00679177226c4cb8c5265012eea897c8ca3b93f429e546600c971bcbae7", size = 383795, upload-time = "2025-11-30T20:23:55.556Z" }, + { url = "https://files.pythonhosted.org/packages/05/6f/86f0272b84926bcb0e4c972262f54223e8ecc556b3224d281e6598fc9268/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5965af57d5848192c13534f90f9dd16464f3c37aaf166cc1da1cae1fd5a34898", size = 393330, upload-time = "2025-11-30T20:23:57.033Z" }, + { url = "https://files.pythonhosted.org/packages/cb/e9/0e02bb2e6dc63d212641da45df2b0bf29699d01715913e0d0f017ee29438/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a4e86e34e9ab6b667c27f3211ca48f73dba7cd3d90f8d5b11be56e5dbc3fb4e", size = 518194, upload-time = "2025-11-30T20:23:58.637Z" }, + { url = "https://files.pythonhosted.org/packages/ee/ca/be7bca14cf21513bdf9c0606aba17d1f389ea2b6987035eb4f62bd923f25/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d3e6b26f2c785d65cc25ef1e5267ccbe1b069c5c21b8cc724efee290554419", size = 408340, upload-time = "2025-11-30T20:24:00.2Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c7/736e00ebf39ed81d75544c0da6ef7b0998f8201b369acf842f9a90dc8fce/rpds_py-0.30.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:626a7433c34566535b6e56a1b39a7b17ba961e97ce3b80ec62e6f1312c025551", size = 383765, upload-time = "2025-11-30T20:24:01.759Z" }, + { url = "https://files.pythonhosted.org/packages/4a/3f/da50dfde9956aaf365c4adc9533b100008ed31aea635f2b8d7b627e25b49/rpds_py-0.30.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:acd7eb3f4471577b9b5a41baf02a978e8bdeb08b4b355273994f8b87032000a8", size = 396834, upload-time = "2025-11-30T20:24:03.687Z" }, + { url = "https://files.pythonhosted.org/packages/4e/00/34bcc2565b6020eab2623349efbdec810676ad571995911f1abdae62a3a0/rpds_py-0.30.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fe5fa731a1fa8a0a56b0977413f8cacac1768dad38d16b3a296712709476fbd5", size = 415470, upload-time = "2025-11-30T20:24:05.232Z" }, + { url = "https://files.pythonhosted.org/packages/8c/28/882e72b5b3e6f718d5453bd4d0d9cf8df36fddeb4ddbbab17869d5868616/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:74a3243a411126362712ee1524dfc90c650a503502f135d54d1b352bd01f2404", size = 565630, upload-time = "2025-11-30T20:24:06.878Z" }, + { url = "https://files.pythonhosted.org/packages/3b/97/04a65539c17692de5b85c6e293520fd01317fd878ea1995f0367d4532fb1/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:3e8eeb0544f2eb0d2581774be4c3410356eba189529a6b3e36bbbf9696175856", size = 591148, upload-time = "2025-11-30T20:24:08.445Z" }, + { url = "https://files.pythonhosted.org/packages/85/70/92482ccffb96f5441aab93e26c4d66489eb599efdcf96fad90c14bbfb976/rpds_py-0.30.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dbd936cde57abfee19ab3213cf9c26be06d60750e60a8e4dd85d1ab12c8b1f40", size = 556030, upload-time = "2025-11-30T20:24:10.956Z" }, + { url = "https://files.pythonhosted.org/packages/20/53/7c7e784abfa500a2b6b583b147ee4bb5a2b3747a9166bab52fec4b5b5e7d/rpds_py-0.30.0-cp314-cp314t-win32.whl", hash = "sha256:dc824125c72246d924f7f796b4f63c1e9dc810c7d9e2355864b3c3a73d59ade0", size = 211570, upload-time = "2025-11-30T20:24:12.735Z" }, + { url = "https://files.pythonhosted.org/packages/d0/02/fa464cdfbe6b26e0600b62c528b72d8608f5cc49f96b8d6e38c95d60c676/rpds_py-0.30.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27f4b0e92de5bfbc6f86e43959e6edd1425c33b5e69aab0984a72047f2bcf1e3", size = 226532, upload-time = "2025-11-30T20:24:14.634Z" }, + { url = "https://files.pythonhosted.org/packages/69/71/3f34339ee70521864411f8b6992e7ab13ac30d8e4e3309e07c7361767d91/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c2262bdba0ad4fc6fb5545660673925c2d2a5d9e2e0fb603aad545427be0fc58", size = 372292, upload-time = "2025-11-30T20:24:16.537Z" }, + { url = "https://files.pythonhosted.org/packages/57/09/f183df9b8f2d66720d2ef71075c59f7e1b336bec7ee4c48f0a2b06857653/rpds_py-0.30.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ee6af14263f25eedc3bb918a3c04245106a42dfd4f5c2285ea6f997b1fc3f89a", size = 362128, upload-time = "2025-11-30T20:24:18.086Z" }, + { url = "https://files.pythonhosted.org/packages/7a/68/5c2594e937253457342e078f0cc1ded3dd7b2ad59afdbf2d354869110a02/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3adbb8179ce342d235c31ab8ec511e66c73faa27a47e076ccc92421add53e2bb", size = 391542, upload-time = "2025-11-30T20:24:20.092Z" }, + { url = "https://files.pythonhosted.org/packages/49/5c/31ef1afd70b4b4fbdb2800249f34c57c64beb687495b10aec0365f53dfc4/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:250fa00e9543ac9b97ac258bd37367ff5256666122c2d0f2bc97577c60a1818c", size = 404004, upload-time = "2025-11-30T20:24:22.231Z" }, + { url = "https://files.pythonhosted.org/packages/e3/63/0cfbea38d05756f3440ce6534d51a491d26176ac045e2707adc99bb6e60a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9854cf4f488b3d57b9aaeb105f06d78e5529d3145b1e4a41750167e8c213c6d3", size = 527063, upload-time = "2025-11-30T20:24:24.302Z" }, + { url = "https://files.pythonhosted.org/packages/42/e6/01e1f72a2456678b0f618fc9a1a13f882061690893c192fcad9f2926553a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:993914b8e560023bc0a8bf742c5f303551992dcb85e247b1e5c7f4a7d145bda5", size = 413099, upload-time = "2025-11-30T20:24:25.916Z" }, + { url = "https://files.pythonhosted.org/packages/b8/25/8df56677f209003dcbb180765520c544525e3ef21ea72279c98b9aa7c7fb/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58edca431fb9b29950807e301826586e5bbf24163677732429770a697ffe6738", size = 392177, upload-time = "2025-11-30T20:24:27.834Z" }, + { url = "https://files.pythonhosted.org/packages/4a/b4/0a771378c5f16f8115f796d1f437950158679bcd2a7c68cf251cfb00ed5b/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:dea5b552272a944763b34394d04577cf0f9bd013207bc32323b5a89a53cf9c2f", size = 406015, upload-time = "2025-11-30T20:24:29.457Z" }, + { url = "https://files.pythonhosted.org/packages/36/d8/456dbba0af75049dc6f63ff295a2f92766b9d521fa00de67a2bd6427d57a/rpds_py-0.30.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ba3af48635eb83d03f6c9735dfb21785303e73d22ad03d489e88adae6eab8877", size = 423736, upload-time = "2025-11-30T20:24:31.22Z" }, + { url = "https://files.pythonhosted.org/packages/13/64/b4d76f227d5c45a7e0b796c674fd81b0a6c4fbd48dc29271857d8219571c/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:dff13836529b921e22f15cb099751209a60009731a68519630a24d61f0b1b30a", size = 573981, upload-time = "2025-11-30T20:24:32.934Z" }, + { url = "https://files.pythonhosted.org/packages/20/91/092bacadeda3edf92bf743cc96a7be133e13a39cdbfd7b5082e7ab638406/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1b151685b23929ab7beec71080a8889d4d6d9fa9a983d213f07121205d48e2c4", size = 599782, upload-time = "2025-11-30T20:24:35.169Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b7/b95708304cd49b7b6f82fdd039f1748b66ec2b21d6a45180910802f1abf1/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e", size = 562191, upload-time = "2025-11-30T20:24:36.853Z" }, +] + [[package]] name = "scikit-learn" version = "1.7.2" @@ -4389,6 +5216,80 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331", size = 92072, upload-time = "2024-07-29T01:10:08.203Z" }, ] +[[package]] +name = "sqlalchemy" +version = "2.0.49" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "greenlet", marker = "platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/09/45/461788f35e0364a8da7bda51a1fe1b09762d0c32f12f63727998d85a873b/sqlalchemy-2.0.49.tar.gz", hash = "sha256:d15950a57a210e36dd4cec1aac22787e2a4d57ba9318233e2ef8b2daf9ff2d5f", size = 9898221, upload-time = "2026-04-03T16:38:11.704Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/96/76/f908955139842c362aa877848f42f9249642d5b69e06cee9eae5111da1bd/sqlalchemy-2.0.49-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:42e8804962f9e6f4be2cbaedc0c3718f08f60a16910fa3d86da5a1e3b1bfe60f", size = 2159321, upload-time = "2026-04-03T16:50:11.8Z" }, + { url = "https://files.pythonhosted.org/packages/24/e2/17ba0b7bfbd8de67196889b6d951de269e8a46057d92baca162889beb16d/sqlalchemy-2.0.49-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc992c6ed024c8c3c592c5fc9846a03dd68a425674900c70122c77ea16c5fb0b", size = 3238937, upload-time = "2026-04-03T16:54:45.731Z" }, + { url = "https://files.pythonhosted.org/packages/90/1e/410dd499c039deacff395eec01a9da057125fcd0c97e3badc252c6a2d6a7/sqlalchemy-2.0.49-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6eb188b84269f357669b62cb576b5b918de10fb7c728a005fa0ebb0b758adce1", size = 3237188, upload-time = "2026-04-03T16:56:53.217Z" }, + { url = "https://files.pythonhosted.org/packages/ab/06/e797a8b98a3993ac4bc785309b9b6d005457fc70238ee6cefa7c8867a92e/sqlalchemy-2.0.49-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:62557958002b69699bdb7f5137c6714ca1133f045f97b3903964f47db97ea339", size = 3190061, upload-time = "2026-04-03T16:54:47.489Z" }, + { url = "https://files.pythonhosted.org/packages/44/d3/5a9f7ef580af1031184b38235da6ac58c3b571df01c9ec061c44b2b0c5a6/sqlalchemy-2.0.49-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da9b91bca419dc9b9267ffadde24eae9b1a6bffcd09d0a207e5e3af99a03ce0d", size = 3211477, upload-time = "2026-04-03T16:56:55.056Z" }, + { url = "https://files.pythonhosted.org/packages/69/ec/7be8c8cb35f038e963a203e4fe5a028989167cc7299927b7cf297c271e37/sqlalchemy-2.0.49-cp310-cp310-win32.whl", hash = "sha256:5e61abbec255be7b122aa461021daa7c3f310f3e743411a67079f9b3cc91ece3", size = 2119965, upload-time = "2026-04-03T17:00:50.009Z" }, + { url = "https://files.pythonhosted.org/packages/b5/31/0defb93e3a10b0cf7d1271aedd87251a08c3a597ee4f353281769b547b5a/sqlalchemy-2.0.49-cp310-cp310-win_amd64.whl", hash = "sha256:0c98c59075b890df8abfcc6ad632879540f5791c68baebacb4f833713b510e75", size = 2142935, upload-time = "2026-04-03T17:00:51.675Z" }, + { url = "https://files.pythonhosted.org/packages/60/b5/e3617cc67420f8f403efebd7b043128f94775e57e5b84e7255203390ceae/sqlalchemy-2.0.49-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c5070135e1b7409c4161133aa525419b0062088ed77c92b1da95366ec5cbebbe", size = 2159126, upload-time = "2026-04-03T16:50:13.242Z" }, + { url = "https://files.pythonhosted.org/packages/20/9b/91ca80403b17cd389622a642699e5f6564096b698e7cdcbcbb6409898bc4/sqlalchemy-2.0.49-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9ac7a3e245fd0310fd31495eb61af772e637bdf7d88ee81e7f10a3f271bff014", size = 3315509, upload-time = "2026-04-03T16:54:49.332Z" }, + { url = "https://files.pythonhosted.org/packages/b1/61/0722511d98c54de95acb327824cb759e8653789af2b1944ab1cc69d32565/sqlalchemy-2.0.49-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d4e5a0ceba319942fa6b585cf82539288a61e314ef006c1209f734551ab9536", size = 3315014, upload-time = "2026-04-03T16:56:56.376Z" }, + { url = "https://files.pythonhosted.org/packages/46/55/d514a653ffeb4cebf4b54c47bec32ee28ad89d39fafba16eeed1d81dccd5/sqlalchemy-2.0.49-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3ddcb27fb39171de36e207600116ac9dfd4ae46f86c82a9bf3934043e80ebb88", size = 3267388, upload-time = "2026-04-03T16:54:51.272Z" }, + { url = "https://files.pythonhosted.org/packages/2f/16/0dcc56cb6d3335c1671a2258f5d2cb8267c9a2260e27fde53cbfb1b3540a/sqlalchemy-2.0.49-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:32fe6a41ad97302db2931f05bb91abbcc65b5ce4c675cd44b972428dd2947700", size = 3289602, upload-time = "2026-04-03T16:56:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/51/6c/f8ab6fb04470a133cd80608db40aa292e6bae5f162c3a3d4ab19544a67af/sqlalchemy-2.0.49-cp311-cp311-win32.whl", hash = "sha256:46d51518d53edfbe0563662c96954dc8fcace9832332b914375f45a99b77cc9a", size = 2119044, upload-time = "2026-04-03T17:00:53.455Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/55a6d627d04b6ebb290693681d7683c7da001eddf90b60cfcc41ee907978/sqlalchemy-2.0.49-cp311-cp311-win_amd64.whl", hash = "sha256:951d4a210744813be63019f3df343bf233b7432aadf0db54c75802247330d3af", size = 2143642, upload-time = "2026-04-03T17:00:54.769Z" }, + { url = "https://files.pythonhosted.org/packages/49/b3/2de412451330756aaaa72d27131db6dde23995efe62c941184e15242a5fa/sqlalchemy-2.0.49-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4bbccb45260e4ff1b7db0be80a9025bb1e6698bdb808b83fff0000f7a90b2c0b", size = 2157681, upload-time = "2026-04-03T16:53:07.132Z" }, + { url = "https://files.pythonhosted.org/packages/50/84/b2a56e2105bd11ebf9f0b93abddd748e1a78d592819099359aa98134a8bf/sqlalchemy-2.0.49-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb37f15714ec2652d574f021d479e78cd4eb9d04396dca36568fdfffb3487982", size = 3338976, upload-time = "2026-04-03T17:07:40Z" }, + { url = "https://files.pythonhosted.org/packages/2c/fa/65fcae2ed62f84ab72cf89536c7c3217a156e71a2c111b1305ab6f0690e2/sqlalchemy-2.0.49-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3bb9ec6436a820a4c006aad1ac351f12de2f2dbdaad171692ee457a02429b672", size = 3351937, upload-time = "2026-04-03T17:12:23.374Z" }, + { url = "https://files.pythonhosted.org/packages/f8/2f/6fd118563572a7fe475925742eb6b3443b2250e346a0cc27d8d408e73773/sqlalchemy-2.0.49-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8d6efc136f44a7e8bc8088507eaabbb8c2b55b3dbb63fe102c690da0ddebe55e", size = 3281646, upload-time = "2026-04-03T17:07:41.949Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d7/410f4a007c65275b9cf82354adb4bb8ba587b176d0a6ee99caa16fe638f8/sqlalchemy-2.0.49-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e06e617e3d4fd9e51d385dfe45b077a41e9d1b033a7702551e3278ac597dc750", size = 3316695, upload-time = "2026-04-03T17:12:25.642Z" }, + { url = "https://files.pythonhosted.org/packages/d9/95/81f594aa60ded13273a844539041ccf1e66c5a7bed0a8e27810a3b52d522/sqlalchemy-2.0.49-cp312-cp312-win32.whl", hash = "sha256:83101a6930332b87653886c01d1ee7e294b1fe46a07dd9a2d2b4f91bcc88eec0", size = 2117483, upload-time = "2026-04-03T17:05:40.896Z" }, + { url = "https://files.pythonhosted.org/packages/47/9e/fd90114059175cac64e4fafa9bf3ac20584384d66de40793ae2e2f26f3bb/sqlalchemy-2.0.49-cp312-cp312-win_amd64.whl", hash = "sha256:618a308215b6cececb6240b9abde545e3acdabac7ae3e1d4e666896bf5ba44b4", size = 2144494, upload-time = "2026-04-03T17:05:42.282Z" }, + { url = "https://files.pythonhosted.org/packages/ae/81/81755f50eb2478eaf2049728491d4ea4f416c1eb013338682173259efa09/sqlalchemy-2.0.49-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df2d441bacf97022e81ad047e1597552eb3f83ca8a8f1a1fdd43cd7fe3898120", size = 2154547, upload-time = "2026-04-03T16:53:08.64Z" }, + { url = "https://files.pythonhosted.org/packages/a2/bc/3494270da80811d08bcfa247404292428c4fe16294932bce5593f215cad9/sqlalchemy-2.0.49-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8e20e511dc15265fb433571391ba313e10dd8ea7e509d51686a51313b4ac01a2", size = 3280782, upload-time = "2026-04-03T17:07:43.508Z" }, + { url = "https://files.pythonhosted.org/packages/cd/f5/038741f5e747a5f6ea3e72487211579d8cbea5eb9827a9cbd61d0108c4bd/sqlalchemy-2.0.49-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:47604cb2159f8bbd5a1ab48a714557156320f20871ee64d550d8bf2683d980d3", size = 3297156, upload-time = "2026-04-03T17:12:27.697Z" }, + { url = "https://files.pythonhosted.org/packages/88/50/a6af0ff9dc954b43a65ca9b5367334e45d99684c90a3d3413fc19a02d43c/sqlalchemy-2.0.49-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:22d8798819f86720bc646ab015baff5ea4c971d68121cb36e2ebc2ee43ead2b7", size = 3228832, upload-time = "2026-04-03T17:07:45.38Z" }, + { url = "https://files.pythonhosted.org/packages/bc/d1/5f6bdad8de0bf546fc74370939621396515e0cdb9067402d6ba1b8afbe9a/sqlalchemy-2.0.49-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9b1c058c171b739e7c330760044803099c7fff11511e3ab3573e5327116a9c33", size = 3267000, upload-time = "2026-04-03T17:12:29.657Z" }, + { url = "https://files.pythonhosted.org/packages/f7/30/ad62227b4a9819a5e1c6abff77c0f614fa7c9326e5a3bdbee90f7139382b/sqlalchemy-2.0.49-cp313-cp313-win32.whl", hash = "sha256:a143af2ea6672f2af3f44ed8f9cd020e9cc34c56f0e8db12019d5d9ecf41cb3b", size = 2115641, upload-time = "2026-04-03T17:05:43.989Z" }, + { url = "https://files.pythonhosted.org/packages/17/3a/7215b1b7d6d49dc9a87211be44562077f5f04f9bb5a59552c1c8e2d98173/sqlalchemy-2.0.49-cp313-cp313-win_amd64.whl", hash = "sha256:12b04d1db2663b421fe072d638a138460a51d5a862403295671c4f3987fb9148", size = 2141498, upload-time = "2026-04-03T17:05:45.7Z" }, + { url = "https://files.pythonhosted.org/packages/28/4b/52a0cb2687a9cd1648252bb257be5a1ba2c2ded20ba695c65756a55a15a4/sqlalchemy-2.0.49-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:24bd94bb301ec672d8f0623eba9226cc90d775d25a0c92b5f8e4965d7f3a1518", size = 3560807, upload-time = "2026-04-03T16:58:31.666Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d8/fda95459204877eed0458550d6c7c64c98cc50c2d8d618026737de9ed41a/sqlalchemy-2.0.49-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a51d3db74ba489266ef55c7a4534eb0b8db9a326553df481c11e5d7660c8364d", size = 3527481, upload-time = "2026-04-03T17:06:00.155Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0a/2aac8b78ac6487240cf7afef8f203ca783e8796002dc0cf65c4ee99ff8bb/sqlalchemy-2.0.49-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:55250fe61d6ebfd6934a272ee16ef1244e0f16b7af6cd18ab5b1fc9f08631db0", size = 3468565, upload-time = "2026-04-03T16:58:33.414Z" }, + { url = "https://files.pythonhosted.org/packages/a5/3d/ce71cfa82c50a373fd2148b3c870be05027155ce791dc9a5dcf439790b8b/sqlalchemy-2.0.49-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:46796877b47034b559a593d7e4b549aba151dae73f9e78212a3478161c12ab08", size = 3477769, upload-time = "2026-04-03T17:06:02.787Z" }, + { url = "https://files.pythonhosted.org/packages/d5/e8/0a9f5c1f7c6f9ca480319bf57c2d7423f08d31445974167a27d14483c948/sqlalchemy-2.0.49-cp313-cp313t-win32.whl", hash = "sha256:9c4969a86e41454f2858256c39bdfb966a20961e9b58bf8749b65abf447e9a8d", size = 2143319, upload-time = "2026-04-03T17:02:04.328Z" }, + { url = "https://files.pythonhosted.org/packages/0e/51/fb5240729fbec73006e137c4f7a7918ffd583ab08921e6ff81a999d6517a/sqlalchemy-2.0.49-cp313-cp313t-win_amd64.whl", hash = "sha256:b9870d15ef00e4d0559ae10ee5bc71b654d1f20076dbe8bc7ed19b4c0625ceba", size = 2175104, upload-time = "2026-04-03T17:02:05.989Z" }, + { url = "https://files.pythonhosted.org/packages/55/33/bf28f618c0a9597d14e0b9ee7d1e0622faff738d44fe986ee287cdf1b8d0/sqlalchemy-2.0.49-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:233088b4b99ebcbc5258c755a097aa52fbf90727a03a5a80781c4b9c54347a2e", size = 2156356, upload-time = "2026-04-03T16:53:09.914Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a7/5f476227576cb8644650eff68cc35fa837d3802b997465c96b8340ced1e2/sqlalchemy-2.0.49-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:57ca426a48eb2c682dae8204cd89ea8ab7031e2675120a47924fabc7caacbc2a", size = 3276486, upload-time = "2026-04-03T17:07:46.9Z" }, + { url = "https://files.pythonhosted.org/packages/2e/84/efc7c0bf3a1c5eef81d397f6fddac855becdbb11cb38ff957888603014a7/sqlalchemy-2.0.49-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:685e93e9c8f399b0c96a624799820176312f5ceef958c0f88215af4013d29066", size = 3281479, upload-time = "2026-04-03T17:12:32.226Z" }, + { url = "https://files.pythonhosted.org/packages/91/68/bb406fa4257099c67bd75f3f2261b129c63204b9155de0d450b37f004698/sqlalchemy-2.0.49-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9e0400fa22f79acc334d9a6b185dc00a44a8e6578aa7e12d0ddcd8434152b187", size = 3226269, upload-time = "2026-04-03T17:07:48.678Z" }, + { url = "https://files.pythonhosted.org/packages/67/84/acb56c00cca9f251f437cb49e718e14f7687505749ea9255d7bd8158a6df/sqlalchemy-2.0.49-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a05977bffe9bffd2229f477fa75eabe3192b1b05f408961d1bebff8d1cd4d401", size = 3248260, upload-time = "2026-04-03T17:12:34.381Z" }, + { url = "https://files.pythonhosted.org/packages/56/19/6a20ea25606d1efd7bd1862149bb2a22d1451c3f851d23d887969201633f/sqlalchemy-2.0.49-cp314-cp314-win32.whl", hash = "sha256:0f2fa354ba106eafff2c14b0cc51f22801d1e8b2e4149342023bd6f0955de5f5", size = 2118463, upload-time = "2026-04-03T17:05:47.093Z" }, + { url = "https://files.pythonhosted.org/packages/cf/4f/8297e4ed88e80baa1f5aa3c484a0ee29ef3c69c7582f206c916973b75057/sqlalchemy-2.0.49-cp314-cp314-win_amd64.whl", hash = "sha256:77641d299179c37b89cf2343ca9972c88bb6eef0d5fc504a2f86afd15cd5adf5", size = 2144204, upload-time = "2026-04-03T17:05:48.694Z" }, + { url = "https://files.pythonhosted.org/packages/1f/33/95e7216df810c706e0cd3655a778604bbd319ed4f43333127d465a46862d/sqlalchemy-2.0.49-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c1dc3368794d522f43914e03312202523cc89692f5389c32bea0233924f8d977", size = 3565474, upload-time = "2026-04-03T16:58:35.128Z" }, + { url = "https://files.pythonhosted.org/packages/0c/a4/ed7b18d8ccf7f954a83af6bb73866f5bc6f5636f44c7731fbb741f72cc4f/sqlalchemy-2.0.49-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7c821c47ecfe05cc32140dcf8dc6fd5d21971c86dbd56eabfe5ba07a64910c01", size = 3530567, upload-time = "2026-04-03T17:06:04.587Z" }, + { url = "https://files.pythonhosted.org/packages/73/a3/20faa869c7e21a827c4a2a42b41353a54b0f9f5e96df5087629c306df71e/sqlalchemy-2.0.49-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:9c04bff9a5335eb95c6ecf1c117576a0aa560def274876fd156cfe5510fccc61", size = 3474282, upload-time = "2026-04-03T16:58:37.131Z" }, + { url = "https://files.pythonhosted.org/packages/b7/50/276b9a007aa0764304ad467eceb70b04822dc32092492ee5f322d559a4dc/sqlalchemy-2.0.49-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:7f605a456948c35260e7b2a39f8952a26f077fd25653c37740ed186b90aaa68a", size = 3480406, upload-time = "2026-04-03T17:06:07.176Z" }, + { url = "https://files.pythonhosted.org/packages/e5/c3/c80fcdb41905a2df650c2a3e0337198b6848876e63d66fe9188ef9003d24/sqlalchemy-2.0.49-cp314-cp314t-win32.whl", hash = "sha256:6270d717b11c5476b0cbb21eedc8d4dbb7d1a956fd6c15a23e96f197a6193158", size = 2149151, upload-time = "2026-04-03T17:02:07.281Z" }, + { url = "https://files.pythonhosted.org/packages/05/52/9f1a62feab6ed368aff068524ff414f26a6daebc7361861035ae00b05530/sqlalchemy-2.0.49-cp314-cp314t-win_amd64.whl", hash = "sha256:275424295f4256fd301744b8f335cff367825d270f155d522b30c7bf49903ee7", size = 2184178, upload-time = "2026-04-03T17:02:08.623Z" }, + { url = "https://files.pythonhosted.org/packages/e5/30/8519fdde58a7bdf155b714359791ad1dc018b47d60269d5d160d311fdc36/sqlalchemy-2.0.49-py3-none-any.whl", hash = "sha256:ec44cfa7ef1a728e88ad41674de50f6db8cfdb3e2af84af86e0041aaf02d43d0", size = 1942158, upload-time = "2026-04-03T16:53:44.135Z" }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, +] + [[package]] name = "starlette" version = "0.50.0" @@ -4496,6 +5397,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload-time = "2025-04-27T18:04:59.103Z" }, ] +[[package]] +name = "tabulate" +version = "0.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/46/58/8c37dea7bbf769b20d58e7ace7e5edfe65b849442b00ffcdd56be88697c6/tabulate-0.10.0.tar.gz", hash = "sha256:e2cfde8f79420f6deeffdeda9aaec3b6bc5abce947655d17ac662b126e48a60d", size = 91754, upload-time = "2026-03-04T18:55:34.402Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/55/db07de81b5c630da5cbf5c7df646580ca26dfaefa593667fc6f2fe016d2e/tabulate-0.10.0-py3-none-any.whl", hash = "sha256:f0b0622e567335c8fabaaa659f1b33bcb6ddfe2e496071b743aa113f8774f2d3", size = 39814, upload-time = "2026-03-04T18:55:31.284Z" }, +] + [[package]] name = "threadpoolctl" version = "3.6.0" @@ -4589,13 +5499,13 @@ dependencies = [ { name = "typing-extensions", marker = "extra == 'extra-9-chemtorch-cu121' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp310-cp310-linux_x86_64.whl", hash = "sha256:92af92c569de5da937dd1afb45ecfdd598ec1254cf2e49e3d698cb24d71aae14" }, - { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp310-cp310-win_amd64.whl", hash = "sha256:9b22d6d98aa56f9317902dec0e066814a6edba1aada90110ceea2bb0678df22f" }, - { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp311-cp311-linux_x86_64.whl", hash = "sha256:c8ab8c92eab928a93c483f83ca8c63f13dafc10fc93ad90ed2dcb7c82ea50410" }, - { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp311-cp311-win_amd64.whl", hash = "sha256:4bcee18f00c43c815efad8efaa3bca584ffdc8d2cd35ef4c44c814f2739d9191" }, - { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp312-cp312-linux_x86_64.whl", hash = "sha256:222be02548c2e74a21a8fbc8e5b8d2eef9f9faee865d70385d2eb1b9aabcbc76" }, - { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp312-cp312-win_amd64.whl", hash = "sha256:473d76257636c66b22cbfac6f616d6b522ef3d3473c13decb1afda22a7b059eb" }, - { url = "https://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp313-cp313-linux_x86_64.whl", hash = "sha256:1bfe18b79b0ff9be9383257a66c3f84621ce5f384f02c0a7c79503583d6ffd4b" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp310-cp310-linux_x86_64.whl", hash = "sha256:92af92c569de5da937dd1afb45ecfdd598ec1254cf2e49e3d698cb24d71aae14", upload-time = "2024-10-29T23:15:46Z" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp310-cp310-win_amd64.whl", hash = "sha256:9b22d6d98aa56f9317902dec0e066814a6edba1aada90110ceea2bb0678df22f", upload-time = "2024-10-29T23:16:21Z" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp311-cp311-linux_x86_64.whl", hash = "sha256:c8ab8c92eab928a93c483f83ca8c63f13dafc10fc93ad90ed2dcb7c82ea50410", upload-time = "2024-10-29T23:18:06Z" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp311-cp311-win_amd64.whl", hash = "sha256:4bcee18f00c43c815efad8efaa3bca584ffdc8d2cd35ef4c44c814f2739d9191", upload-time = "2024-10-29T23:18:42Z" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp312-cp312-linux_x86_64.whl", hash = "sha256:222be02548c2e74a21a8fbc8e5b8d2eef9f9faee865d70385d2eb1b9aabcbc76", upload-time = "2024-10-29T23:20:25Z" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp312-cp312-win_amd64.whl", hash = "sha256:473d76257636c66b22cbfac6f616d6b522ef3d3473c13decb1afda22a7b059eb", upload-time = "2024-10-29T23:20:59Z" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp313-cp313-linux_x86_64.whl", hash = "sha256:1bfe18b79b0ff9be9383257a66c3f84621ce5f384f02c0a7c79503583d6ffd4b", upload-time = "2024-10-29T23:22:42Z" }, ] [[package]] @@ -4638,15 +5548,15 @@ dependencies = [ { name = "typing-extensions", marker = "extra == 'extra-9-chemtorch-cu124' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp310-cp310-linux_x86_64.whl", hash = "sha256:7f2ba7f7c0459320a521696f6b5bccc187f59890b23c9dfb6c49b0b87c6bfc97" }, - { url = "https://download.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp310-cp310-win_amd64.whl", hash = "sha256:7cc45c5b39d74875cfafe908b7f55c544147cc16b01e795feb2fe766583efe78" }, - { url = "https://download.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp311-cp311-linux_x86_64.whl", hash = "sha256:d4c3e9a8d31a7c0fcbb9da17c31a1917e1fac26c566a4cfbd8c9568ad7cade79" }, - { url = "https://download.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp311-cp311-win_amd64.whl", hash = "sha256:6a1fb2714e9323f11edb6e8abf7aad5f79e45ad25c081cde87681a18d99c29eb" }, - { url = "https://download.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp312-cp312-linux_x86_64.whl", hash = "sha256:a393b506844035c0dac2f30ea8478c343b8e95a429f06f3b3cadfc7f53adb597" }, - { url = "https://download.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp312-cp312-win_amd64.whl", hash = "sha256:3313061c1fec4c7310cf47944e84513dcd27b6173b72a349bb7ca68d0ee6e9c0" }, - { url = "https://download.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp313-cp313-linux_x86_64.whl", hash = "sha256:0f3bc53c988ce9568cd876a2a5316761e84a8704135ec8068f5f81b4417979cb" }, - { url = "https://download.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp313-cp313-win_amd64.whl", hash = "sha256:519330eef09534acad8110b6f423d2fe58c1d8e9ada999ed077a637a0021f908" }, - { url = "https://download.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp313-cp313t-linux_x86_64.whl", hash = "sha256:35cba404c0d742406cdcba1609085874bc60facdfbc50e910c47a92405fef44c" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp310-cp310-linux_x86_64.whl", hash = "sha256:7f2ba7f7c0459320a521696f6b5bccc187f59890b23c9dfb6c49b0b87c6bfc97", upload-time = "2025-01-30T00:53:02Z" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp310-cp310-win_amd64.whl", hash = "sha256:7cc45c5b39d74875cfafe908b7f55c544147cc16b01e795feb2fe766583efe78", upload-time = "2025-01-30T00:53:32Z" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp311-cp311-linux_x86_64.whl", hash = "sha256:d4c3e9a8d31a7c0fcbb9da17c31a1917e1fac26c566a4cfbd8c9568ad7cade79", upload-time = "2025-01-30T00:55:01Z" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp311-cp311-win_amd64.whl", hash = "sha256:6a1fb2714e9323f11edb6e8abf7aad5f79e45ad25c081cde87681a18d99c29eb", upload-time = "2025-01-30T00:55:31Z" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp312-cp312-linux_x86_64.whl", hash = "sha256:a393b506844035c0dac2f30ea8478c343b8e95a429f06f3b3cadfc7f53adb597", upload-time = "2025-01-30T00:57:08Z" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp312-cp312-win_amd64.whl", hash = "sha256:3313061c1fec4c7310cf47944e84513dcd27b6173b72a349bb7ca68d0ee6e9c0", upload-time = "2025-01-30T00:57:40Z" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp313-cp313-linux_x86_64.whl", hash = "sha256:0f3bc53c988ce9568cd876a2a5316761e84a8704135ec8068f5f81b4417979cb", upload-time = "2025-01-30T00:59:14Z" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp313-cp313-win_amd64.whl", hash = "sha256:519330eef09534acad8110b6f423d2fe58c1d8e9ada999ed077a637a0021f908", upload-time = "2025-01-30T00:59:45Z" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp313-cp313t-linux_x86_64.whl", hash = "sha256:35cba404c0d742406cdcba1609085874bc60facdfbc50e910c47a92405fef44c", upload-time = "2025-01-30T01:01:25Z" }, ] [[package]] @@ -4684,16 +5594,16 @@ dependencies = [ { name = "typing-extensions", marker = "extra == 'extra-9-chemtorch-cu118' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:89433c62b02ec802d4c0887c867d935887ae8f00d7cc549ecf1c2640d096bd4c" }, - { url = "https://download.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp310-cp310-win_amd64.whl", hash = "sha256:af4833e36a8e964681a4dad7775f559cf043bd42c9d0c0b5e0619f9d0e44cb56" }, - { url = "https://download.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a596d91c747d1fa601724e85b9c8797c8d7c62140aa1acf245773e911254bc45" }, - { url = "https://download.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp311-cp311-win_amd64.whl", hash = "sha256:584e5ee99d29286b93be2fba3b3f1f5b9d7a4b9055a288eb31b33100a1f09ed9" }, - { url = "https://download.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:91454dcfdb81f181fdf216d6d6d9912fbd8795578b90384b3b8b8132737072bb" }, - { url = "https://download.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp312-cp312-win_amd64.whl", hash = "sha256:80855ec840b7b06372ff43535d01393a8ec101842618d1f9ed629572b52aed71" }, - { url = "https://download.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:a3f02b2795165eaf6dfe18c963519049a45a9c588488795cebc5015dac77ab46" }, - { url = "https://download.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp313-cp313-win_amd64.whl", hash = "sha256:3122e59a5fe4e9ee991e7ad4e7002afa549b2873e421759df6454f20f53a6c74" }, - { url = "https://download.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:627b7248b429d97b3955f1d0375aad1192b8f20f37556384848b6c622e491eb5" }, - { url = "https://download.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp313-cp313t-win_amd64.whl", hash = "sha256:e06a205f15b3a045924d72f788af0664ca5f20e610eaac7162189721cf31a771" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:89433c62b02ec802d4c0887c867d935887ae8f00d7cc549ecf1c2640d096bd4c", upload-time = "2025-06-03T18:28:22Z" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp310-cp310-win_amd64.whl", hash = "sha256:af4833e36a8e964681a4dad7775f559cf043bd42c9d0c0b5e0619f9d0e44cb56", upload-time = "2025-06-03T18:28:07Z" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a596d91c747d1fa601724e85b9c8797c8d7c62140aa1acf245773e911254bc45", upload-time = "2025-06-03T18:28:14Z" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp311-cp311-win_amd64.whl", hash = "sha256:584e5ee99d29286b93be2fba3b3f1f5b9d7a4b9055a288eb31b33100a1f09ed9", upload-time = "2025-06-03T18:28:22Z" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:91454dcfdb81f181fdf216d6d6d9912fbd8795578b90384b3b8b8132737072bb", upload-time = "2025-06-03T18:28:21Z" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp312-cp312-win_amd64.whl", hash = "sha256:80855ec840b7b06372ff43535d01393a8ec101842618d1f9ed629572b52aed71", upload-time = "2025-06-03T18:28:23Z" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:a3f02b2795165eaf6dfe18c963519049a45a9c588488795cebc5015dac77ab46", upload-time = "2025-06-03T18:28:23Z" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp313-cp313-win_amd64.whl", hash = "sha256:3122e59a5fe4e9ee991e7ad4e7002afa549b2873e421759df6454f20f53a6c74", upload-time = "2025-06-03T18:28:31Z" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:627b7248b429d97b3955f1d0375aad1192b8f20f37556384848b6c622e491eb5", upload-time = "2025-06-03T18:28:38Z" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torch-2.7.1%2Bcu118-cp313-cp313t-win_amd64.whl", hash = "sha256:e06a205f15b3a045924d72f788af0664ca5f20e610eaac7162189721cf31a771", upload-time = "2025-06-03T18:28:39Z" }, ] [[package]] @@ -4716,11 +5626,11 @@ dependencies = [ { name = "typing-extensions", marker = "(sys_platform == 'darwin' and extra == 'extra-9-chemtorch-cpu') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:a467b49fe893a6a6cce89e3aee556edfdc64a722d7195fdfdd75cec9dea13779" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:3d05017d19bc99741288e458888283a44b0ee881d53f05f72f8b1cfea8998122" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:a47b7986bee3f61ad217d8a8ce24605809ab425baf349f97de758815edd2ef54" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:fbe2e149c5174ef90d29a5f84a554dfaf28e003cb4f61fa2c8c024c17ec7ca58" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:057efd30a6778d2ee5e2374cd63a63f63311aa6f33321e627c655df60abdd390" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:a467b49fe893a6a6cce89e3aee556edfdc64a722d7195fdfdd75cec9dea13779", upload-time = "2025-10-01T23:35:46Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:3d05017d19bc99741288e458888283a44b0ee881d53f05f72f8b1cfea8998122", upload-time = "2025-10-01T23:35:48Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:a47b7986bee3f61ad217d8a8ce24605809ab425baf349f97de758815edd2ef54", upload-time = "2025-10-01T23:35:50Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:fbe2e149c5174ef90d29a5f84a554dfaf28e003cb4f61fa2c8c024c17ec7ca58", upload-time = "2025-10-01T23:35:52Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:057efd30a6778d2ee5e2374cd63a63f63311aa6f33321e627c655df60abdd390", upload-time = "2025-10-01T23:35:55Z" }, ] [[package]] @@ -4791,28 +5701,28 @@ dependencies = [ { name = "typing-extensions", marker = "(sys_platform != 'darwin' and extra == 'extra-9-chemtorch-cpu') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-linux_s390x.whl", hash = "sha256:5d255d259fbc65439b671580e40fdb8faea4644761b64fed90d6904ffe71bbc1" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:b2149858b8340aeeb1f3056e0bff5b82b96e43b596fe49a9dba3184522261213" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:16d75fa4e96ea28a785dfd66083ca55eb1058b6d6c5413f01656ca965ee2077e" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-win_amd64.whl", hash = "sha256:7cc4af6ba954f36c2163eab98cf113c137fc25aa8bbf1b06ef155968627beed2" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-linux_s390x.whl", hash = "sha256:2bfc013dd6efdc8f8223a0241d3529af9f315dffefb53ffa3bf14d3f10127da6" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:680129efdeeec3db5da3f88ee5d28c1b1e103b774aef40f9d638e2cce8f8d8d8" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cb06175284673a581dd91fb1965662ae4ecaba6e5c357aa0ea7bb8b84b6b7eeb" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-win_amd64.whl", hash = "sha256:7631ef49fbd38d382909525b83696dc12a55d68492ade4ace3883c62b9fc140f" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-win_arm64.whl", hash = "sha256:41e6fc5ec0914fcdce44ccf338b1d19a441b55cafdd741fd0bf1af3f9e4cfd14" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-linux_s390x.whl", hash = "sha256:0e34e276722ab7dd0dffa9e12fe2135a9b34a0e300c456ed7ad6430229404eb5" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:610f600c102386e581327d5efc18c0d6edecb9820b4140d26163354a99cd800d" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:cb9a8ba8137ab24e36bf1742cb79a1294bd374db570f09fc15a5e1318160db4e" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-win_amd64.whl", hash = "sha256:2be20b2c05a0cce10430cc25f32b689259640d273232b2de357c35729132256d" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-win_arm64.whl", hash = "sha256:99fc421a5d234580e45957a7b02effbf3e1c884a5dd077afc85352c77bf41434" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-linux_s390x.whl", hash = "sha256:8b5882276633cf91fe3d2d7246c743b94d44a7e660b27f1308007fdb1bb89f7d" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:a5064b5e23772c8d164068cc7c12e01a75faf7b948ecd95a0d4007d7487e5f25" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:8f81dedb4c6076ec325acc3b47525f9c550e5284a18eae1d9061c543f7b6e7de" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-win_amd64.whl", hash = "sha256:e1ee1b2346ade3ea90306dfbec7e8ff17bc220d344109d189ae09078333b0856" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-win_arm64.whl", hash = "sha256:64c187345509f2b1bb334feed4666e2c781ca381874bde589182f81247e61f88" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:af81283ac671f434b1b25c95ba295f270e72db1fad48831eb5e4748ff9840041" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:a9dbb6f64f63258bc811e2c0c99640a81e5af93c531ad96e95c5ec777ea46dab" }, - { url = "https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-win_amd64.whl", hash = "sha256:6d93a7165419bc4b2b907e859ccab0dea5deeab261448ae9a5ec5431f14c0e64" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-linux_s390x.whl", hash = "sha256:5d255d259fbc65439b671580e40fdb8faea4644761b64fed90d6904ffe71bbc1", upload-time = "2025-10-01T23:32:36Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:b2149858b8340aeeb1f3056e0bff5b82b96e43b596fe49a9dba3184522261213", upload-time = "2025-10-01T23:32:40Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:16d75fa4e96ea28a785dfd66083ca55eb1058b6d6c5413f01656ca965ee2077e", upload-time = "2025-10-01T23:32:44Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-win_amd64.whl", hash = "sha256:7cc4af6ba954f36c2163eab98cf113c137fc25aa8bbf1b06ef155968627beed2", upload-time = "2025-10-01T23:32:49Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-linux_s390x.whl", hash = "sha256:2bfc013dd6efdc8f8223a0241d3529af9f315dffefb53ffa3bf14d3f10127da6", upload-time = "2025-10-01T23:33:07Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:680129efdeeec3db5da3f88ee5d28c1b1e103b774aef40f9d638e2cce8f8d8d8", upload-time = "2025-10-01T23:33:11Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cb06175284673a581dd91fb1965662ae4ecaba6e5c357aa0ea7bb8b84b6b7eeb", upload-time = "2025-10-01T23:33:14Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-win_amd64.whl", hash = "sha256:7631ef49fbd38d382909525b83696dc12a55d68492ade4ace3883c62b9fc140f", upload-time = "2025-10-01T23:33:20Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-win_arm64.whl", hash = "sha256:41e6fc5ec0914fcdce44ccf338b1d19a441b55cafdd741fd0bf1af3f9e4cfd14", upload-time = "2025-10-01T23:33:36Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-linux_s390x.whl", hash = "sha256:0e34e276722ab7dd0dffa9e12fe2135a9b34a0e300c456ed7ad6430229404eb5", upload-time = "2025-10-01T23:33:41Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:610f600c102386e581327d5efc18c0d6edecb9820b4140d26163354a99cd800d", upload-time = "2025-10-01T23:33:45Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:cb9a8ba8137ab24e36bf1742cb79a1294bd374db570f09fc15a5e1318160db4e", upload-time = "2025-10-01T23:33:48Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-win_amd64.whl", hash = "sha256:2be20b2c05a0cce10430cc25f32b689259640d273232b2de357c35729132256d", upload-time = "2025-10-01T23:33:52Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-win_arm64.whl", hash = "sha256:99fc421a5d234580e45957a7b02effbf3e1c884a5dd077afc85352c77bf41434", upload-time = "2025-10-01T23:34:10Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-linux_s390x.whl", hash = "sha256:8b5882276633cf91fe3d2d7246c743b94d44a7e660b27f1308007fdb1bb89f7d", upload-time = "2025-10-01T23:34:15Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:a5064b5e23772c8d164068cc7c12e01a75faf7b948ecd95a0d4007d7487e5f25", upload-time = "2025-10-01T23:34:19Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:8f81dedb4c6076ec325acc3b47525f9c550e5284a18eae1d9061c543f7b6e7de", upload-time = "2025-10-01T23:34:23Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-win_amd64.whl", hash = "sha256:e1ee1b2346ade3ea90306dfbec7e8ff17bc220d344109d189ae09078333b0856", upload-time = "2025-10-01T23:34:28Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-win_arm64.whl", hash = "sha256:64c187345509f2b1bb334feed4666e2c781ca381874bde589182f81247e61f88", upload-time = "2025-10-01T23:34:45Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:af81283ac671f434b1b25c95ba295f270e72db1fad48831eb5e4748ff9840041", upload-time = "2025-10-01T23:34:50Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:a9dbb6f64f63258bc811e2c0c99640a81e5af93c531ad96e95c5ec777ea46dab", upload-time = "2025-10-01T23:34:53Z" }, + { url = "https://download-r2.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313t-win_amd64.whl", hash = "sha256:6d93a7165419bc4b2b907e859ccab0dea5deeab261448ae9a5ec5431f14c0e64", upload-time = "2025-10-01T23:34:58Z" }, ] [[package]] @@ -4853,16 +5763,16 @@ dependencies = [ { name = "typing-extensions", marker = "extra == 'extra-9-chemtorch-cu126' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:6bf3c0085af4176137f216c39995dede9beda9af1307fd1dee2305f4f351eb42" }, - { url = "https://download.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp310-cp310-win_amd64.whl", hash = "sha256:3b43acaa40ac87495d858bb1dbe574aaaff4e60e9da6221825ece694fd1d2b80" }, - { url = "https://download.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:542cdbf042aaf5d6ddbed43cb8cd8c4df1e586bebb1338f5dcba14fa52830d3c" }, - { url = "https://download.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp311-cp311-win_amd64.whl", hash = "sha256:cfb2c640a8955fbd8686c056802f53a512b610c098960d6dad5800cbc16c02b6" }, - { url = "https://download.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ce6e6a1f4803ad62d1fe51cec3fe5ca14bcd8bc7cace7b09d5590f8147fa16ad" }, - { url = "https://download.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp312-cp312-win_amd64.whl", hash = "sha256:f6c79eac0018f9d131479ee1b7a68edb030619a316bfbc69275043aa4f338e4c" }, - { url = "https://download.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:d08144011e410b9d15914e7256e1b1708a90484cb2c03712199e0291856d4177" }, - { url = "https://download.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp313-cp313-win_amd64.whl", hash = "sha256:3aa7da5cc6b7df0e8c0754dea339bd31cd21b5620e84f53b2ac4be47e8bb2179" }, - { url = "https://download.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:637bdbd510920abce9370c4ff8b44bce6ace48dc1672e1ed42ff14e1e67497b9" }, - { url = "https://download.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp313-cp313t-win_amd64.whl", hash = "sha256:6b6a2baf405f6c7069f38658bd6f70dced6a06ee044102d05e0bd7310611fce3" }, + { url = "https://download-r2.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:6bf3c0085af4176137f216c39995dede9beda9af1307fd1dee2305f4f351eb42", upload-time = "2025-10-01T23:35:59Z" }, + { url = "https://download-r2.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp310-cp310-win_amd64.whl", hash = "sha256:3b43acaa40ac87495d858bb1dbe574aaaff4e60e9da6221825ece694fd1d2b80", upload-time = "2025-10-01T23:36:22Z" }, + { url = "https://download-r2.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:542cdbf042aaf5d6ddbed43cb8cd8c4df1e586bebb1338f5dcba14fa52830d3c", upload-time = "2025-10-01T23:37:42Z" }, + { url = "https://download-r2.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp311-cp311-win_amd64.whl", hash = "sha256:cfb2c640a8955fbd8686c056802f53a512b610c098960d6dad5800cbc16c02b6", upload-time = "2025-10-01T23:38:13Z" }, + { url = "https://download-r2.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ce6e6a1f4803ad62d1fe51cec3fe5ca14bcd8bc7cace7b09d5590f8147fa16ad", upload-time = "2025-10-01T23:40:02Z" }, + { url = "https://download-r2.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp312-cp312-win_amd64.whl", hash = "sha256:f6c79eac0018f9d131479ee1b7a68edb030619a316bfbc69275043aa4f338e4c", upload-time = "2025-10-01T23:40:33Z" }, + { url = "https://download-r2.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:d08144011e410b9d15914e7256e1b1708a90484cb2c03712199e0291856d4177", upload-time = "2025-10-01T23:42:07Z" }, + { url = "https://download-r2.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp313-cp313-win_amd64.whl", hash = "sha256:3aa7da5cc6b7df0e8c0754dea339bd31cd21b5620e84f53b2ac4be47e8bb2179", upload-time = "2025-10-01T23:42:30Z" }, + { url = "https://download-r2.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:637bdbd510920abce9370c4ff8b44bce6ace48dc1672e1ed42ff14e1e67497b9", upload-time = "2025-10-01T23:43:47Z" }, + { url = "https://download-r2.pytorch.org/whl/cu126/torch-2.8.0%2Bcu126-cp313-cp313t-win_amd64.whl", hash = "sha256:6b6a2baf405f6c7069f38658bd6f70dced6a06ee044102d05e0bd7310611fce3", upload-time = "2025-10-01T23:44:09Z" }, ] [[package]] @@ -4903,16 +5813,16 @@ dependencies = [ { name = "typing-extensions", marker = "extra == 'extra-9-chemtorch-cu128' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0c96999d15cf1f13dd7c913e0b21a9a355538e6cfc10861a17158320292f5954" }, - { url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp310-cp310-win_amd64.whl", hash = "sha256:43938e9a174c90e5eb9e906532b2f1e21532bbfa5a61b65193b4f54714d34f9e" }, - { url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:039b9dcdd6bdbaa10a8a5cd6be22c4cb3e3589a341e5f904cbb571ca28f55bed" }, - { url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp311-cp311-win_amd64.whl", hash = "sha256:34c55443aafd31046a7963b63d30bc3b628ee4a704f826796c865fdfd05bb596" }, - { url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4354fc05bb79b208d6995a04ca1ceef6a9547b1c4334435574353d381c55087c" }, - { url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp312-cp312-win_amd64.whl", hash = "sha256:0ad925202387f4e7314302a1b4f8860fa824357f9b1466d7992bf276370ebcff" }, - { url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:3a852369a38dec343d45ecd0bc3660f79b88a23e0c878d18707f7c13bf49538f" }, - { url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp313-cp313-win_amd64.whl", hash = "sha256:9e20646802b7fc295c1f8b45fefcfc9fb2e4ec9cbe8593443cd2b9cc307c8405" }, - { url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:4295a22d69408e93d25f51e8d5d579345b6b802383e9414b0f3853ed433d53ae" }, - { url = "https://download.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp313-cp313t-win_amd64.whl", hash = "sha256:970b4f4661fa7b44f6a7e6df65de7fc4a6fff2af610dc415c1d695ca5f1f37d2" }, + { url = "https://download-r2.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0c96999d15cf1f13dd7c913e0b21a9a355538e6cfc10861a17158320292f5954", upload-time = "2025-10-01T23:47:19Z" }, + { url = "https://download-r2.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp310-cp310-win_amd64.whl", hash = "sha256:43938e9a174c90e5eb9e906532b2f1e21532bbfa5a61b65193b4f54714d34f9e", upload-time = "2025-10-01T23:47:42Z" }, + { url = "https://download-r2.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:039b9dcdd6bdbaa10a8a5cd6be22c4cb3e3589a341e5f904cbb571ca28f55bed", upload-time = "2025-10-01T23:49:06Z" }, + { url = "https://download-r2.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp311-cp311-win_amd64.whl", hash = "sha256:34c55443aafd31046a7963b63d30bc3b628ee4a704f826796c865fdfd05bb596", upload-time = "2025-10-01T23:49:30Z" }, + { url = "https://download-r2.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4354fc05bb79b208d6995a04ca1ceef6a9547b1c4334435574353d381c55087c", upload-time = "2025-10-01T23:51:02Z" }, + { url = "https://download-r2.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp312-cp312-win_amd64.whl", hash = "sha256:0ad925202387f4e7314302a1b4f8860fa824357f9b1466d7992bf276370ebcff", upload-time = "2025-10-01T23:51:26Z" }, + { url = "https://download-r2.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:3a852369a38dec343d45ecd0bc3660f79b88a23e0c878d18707f7c13bf49538f", upload-time = "2025-10-01T23:52:56Z" }, + { url = "https://download-r2.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp313-cp313-win_amd64.whl", hash = "sha256:9e20646802b7fc295c1f8b45fefcfc9fb2e4ec9cbe8593443cd2b9cc307c8405", upload-time = "2025-10-01T23:53:20Z" }, + { url = "https://download-r2.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:4295a22d69408e93d25f51e8d5d579345b6b802383e9414b0f3853ed433d53ae", upload-time = "2025-10-01T23:54:56Z" }, + { url = "https://download-r2.pytorch.org/whl/cu128/torch-2.8.0%2Bcu128-cp313-cp313t-win_amd64.whl", hash = "sha256:970b4f4661fa7b44f6a7e6df65de7fc4a6fff2af610dc415c1d695ca5f1f37d2", upload-time = "2025-10-01T23:55:23Z" }, ] [[package]] @@ -4953,21 +5863,21 @@ dependencies = [ { name = "typing-extensions", marker = "extra == 'extra-9-chemtorch-cu129' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-cu130') or (extra == 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:72156354c39c08f3451acb50a6ecd4178d745670ad8651b5c796eaace558ff0f" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:54d240b5d3b1f9075d4ee6179675a22c1974f7bef1885d134c582678d5180cd3" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp310-cp310-win_amd64.whl", hash = "sha256:e4adcc3d44089d4a696e6a2ca4233d1ddad7614adc1d48ec8a8cfb95ba235ea1" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:d5a210e351ab0c3acbac18c7397bc66ffd897d5000351e8ce9a21badf7f56b85" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:da19696fd75c4a2d5bc945242619143dfc4cbc3e3deead407f2946d1395c3608" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp311-cp311-win_amd64.whl", hash = "sha256:8a92b6ac49be932a8e4f70282d0d396a95a0fc877a9fbe0bd36be5f765707c84" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:692fe6e513b667f789a543fa9b1baba58e77a46d5c8629764ca0c00a56823e1f" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:02c7258e917f3043c978b53acf6f02b818db0d0d85db0e58ae578af333b9b4e2" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp312-cp312-win_amd64.whl", hash = "sha256:2bc729898e422b9f3da54349eed98f2f0b5dd415434508ee2ab2a13fb021815d" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:ad2d64316635e7ab06f6c973a252526d59a92a2045825c102f876914a72304d0" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:563740167be2189b71530b503f0c8a8d7a8267dd49d4de6f9c5f1d23fbe237df" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313-win_amd64.whl", hash = "sha256:2cef066f9759ff4d7868a8c3695aa60d9a878598acb3685bb1ef2fdac29dcd68" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:2982bf34249cbb38f1090e71ad7097a214a21023ccdc0413961986ab7d0396e6" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:6344260959ebcfa6dae458e1c4365195bcfdf00f4f1f1ad438cbaf50756829ed" }, - { url = "https://download.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313t-win_amd64.whl", hash = "sha256:9c0cd89e54ce44ce3208c5cf4163773b9cda0067e4b48cfcac56a4e04af52040" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:72156354c39c08f3451acb50a6ecd4178d745670ad8651b5c796eaace558ff0f", upload-time = "2025-10-01T23:59:26Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:54d240b5d3b1f9075d4ee6179675a22c1974f7bef1885d134c582678d5180cd3", upload-time = "2025-10-02T00:01:15Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp310-cp310-win_amd64.whl", hash = "sha256:e4adcc3d44089d4a696e6a2ca4233d1ddad7614adc1d48ec8a8cfb95ba235ea1", upload-time = "2025-10-02T00:01:56Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:d5a210e351ab0c3acbac18c7397bc66ffd897d5000351e8ce9a21badf7f56b85", upload-time = "2025-10-02T00:03:54Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:da19696fd75c4a2d5bc945242619143dfc4cbc3e3deead407f2946d1395c3608", upload-time = "2025-10-02T00:05:56Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp311-cp311-win_amd64.whl", hash = "sha256:8a92b6ac49be932a8e4f70282d0d396a95a0fc877a9fbe0bd36be5f765707c84", upload-time = "2025-10-02T00:06:41Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:692fe6e513b667f789a543fa9b1baba58e77a46d5c8629764ca0c00a56823e1f", upload-time = "2025-10-02T00:08:10Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:02c7258e917f3043c978b53acf6f02b818db0d0d85db0e58ae578af333b9b4e2", upload-time = "2025-10-02T00:10:15Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp312-cp312-win_amd64.whl", hash = "sha256:2bc729898e422b9f3da54349eed98f2f0b5dd415434508ee2ab2a13fb021815d", upload-time = "2025-10-02T00:11:01Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:ad2d64316635e7ab06f6c973a252526d59a92a2045825c102f876914a72304d0", upload-time = "2025-10-02T00:13:03Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:563740167be2189b71530b503f0c8a8d7a8267dd49d4de6f9c5f1d23fbe237df", upload-time = "2025-10-02T00:15:14Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313-win_amd64.whl", hash = "sha256:2cef066f9759ff4d7868a8c3695aa60d9a878598acb3685bb1ef2fdac29dcd68", upload-time = "2025-10-02T00:16:01Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:2982bf34249cbb38f1090e71ad7097a214a21023ccdc0413961986ab7d0396e6", upload-time = "2025-10-02T00:18:14Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:6344260959ebcfa6dae458e1c4365195bcfdf00f4f1f1ad438cbaf50756829ed", upload-time = "2025-10-02T00:20:23Z" }, + { url = "https://download-r2.pytorch.org/whl/cu129/torch-2.8.0%2Bcu129-cp313-cp313t-win_amd64.whl", hash = "sha256:9c0cd89e54ce44ce3208c5cf4163773b9cda0067e4b48cfcac56a4e04af52040", upload-time = "2025-10-02T00:21:11Z" }, ] [[package]] @@ -5009,27 +5919,27 @@ dependencies = [ { name = "typing-extensions", marker = "extra == 'extra-9-chemtorch-cu130' or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu118') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cpu' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu121') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu118' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu124') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu121' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu126') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu124' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu128') or (extra == 'extra-9-chemtorch-cu126' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu128' and extra == 'extra-9-chemtorch-cu129') or (extra == 'extra-9-chemtorch-cu129' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cpu' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu118' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu121' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu124' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu126' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos') or (extra == 'extra-9-chemtorch-cu128' and extra != 'extra-9-chemtorch-cu130' and extra == 'extra-9-chemtorch-macos')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp310-cp310-manylinux_2_28_aarch64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp310-cp310-manylinux_2_28_x86_64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp310-cp310-win_amd64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp311-cp311-manylinux_2_28_aarch64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp311-cp311-manylinux_2_28_x86_64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp311-cp311-win_amd64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp312-cp312-manylinux_2_28_aarch64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp312-cp312-manylinux_2_28_x86_64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp312-cp312-win_amd64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313-manylinux_2_28_aarch64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313-manylinux_2_28_x86_64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313-win_amd64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313t-manylinux_2_28_aarch64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313t-manylinux_2_28_x86_64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313t-win_amd64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314-manylinux_2_28_aarch64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314-manylinux_2_28_x86_64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314-win_amd64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314t-manylinux_2_28_aarch64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314t-manylinux_2_28_x86_64.whl" }, - { url = "https://download.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314t-win_amd64.whl" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:a4dd4fd6ee07f15e825348608aba5a2815674624d450af4a413f928b0d80fb4d", upload-time = "2026-01-26T16:37:16Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:3a86534a97179758a1a10eb0ca3197bb484a3c4f865e89702c47300af440ba85", upload-time = "2026-01-26T16:37:16Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp310-cp310-win_amd64.whl", hash = "sha256:542907f2679e38956d0bbdbdc279b482974609d45603cd27547ee696250d2ff0", upload-time = "2026-01-26T16:37:16Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:fd6c7d297e21758a7fa07624f2b5bb15607ee3b1dcc52519e8e796c6d4fcf960", upload-time = "2026-01-26T16:37:18Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:f40778951ca1533dc634b3842392641fa0b641181ff2f71d62728ef33cc36a5c", upload-time = "2026-01-26T16:37:22Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp311-cp311-win_amd64.whl", hash = "sha256:8db2814e63f2b365bda88526587ca75a6083a0b957a24b2b0d45ddc5ee350176", upload-time = "2026-01-26T16:37:38Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:6e7f84cb10c7e7d9f862c318f056d64840544ab4f0bcbf8cf7ed6047fe04051f", upload-time = "2026-01-26T16:37:40Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e70e1b18881e6b3c1ce402d0a989da39f956a3a057526e03c354df23d704ce9b", upload-time = "2026-01-26T16:37:43Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp312-cp312-win_amd64.whl", hash = "sha256:cd3232a562ad2a2699d48130255e1b24c07dfe694a40dcd24fad683c752de121", upload-time = "2026-01-26T16:37:50Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:32b47b951a9f4e8dc7e132bc2e2f60ac6dd236c5786c07320185bc5062ce5b92", upload-time = "2026-01-26T16:38:04Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bdec3d5e26a472d292ec48d9d56e3feda86f3e60744cb49c92603502ba34d331", upload-time = "2026-01-26T16:38:10Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313-win_amd64.whl", hash = "sha256:47cae56331fdec7f7082aad967b25868cc5f94b203fc273e40346a852aa009dd", upload-time = "2026-01-26T16:38:27Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:4444e1e23b083e3dc0591e53d3a3f7ba45500a6e24071ffc8df2dc319cbd6302", upload-time = "2026-01-26T16:38:31Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:5270e343fc4b1d21308a30656ea922a23d85f3afbf12abd2481672fa94953fd6", upload-time = "2026-01-26T16:38:38Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp313-cp313t-win_amd64.whl", hash = "sha256:c0bb31481c3f505cb5baa630f2b975f07f77be557bbafe5cfc695ac911ea325c", upload-time = "2026-01-26T16:38:52Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:3951834ec2f6daf67e33c940a341dcde7173629202b7e72f247f42621ce088bc", upload-time = "2026-01-26T16:38:55Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:59a98c01784f7b795ac3532513199ac54e3464ccc0f1dda44c940cc0afb426f8", upload-time = "2026-01-26T16:39:03Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314-win_amd64.whl", hash = "sha256:a80fe3b0467b6986741f28e88fcff0054a6a806616946f28f5f601bd95632ba0", upload-time = "2026-01-26T16:39:05Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:a7b6c5c619d0ecf0613668d54aaea4d9fea0ef72bcd325b13e1ea64a43bf6775", upload-time = "2026-01-26T16:39:19Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:f760a8ae4a6cff10f29db09e4ab372e4b8d1f704daf07b4ac39f6f590decc05c", upload-time = "2026-01-26T16:39:29Z" }, + { url = "https://download-r2.pytorch.org/whl/cu130/torch-2.9.1%2Bcu130-cp314-cp314t-win_amd64.whl", hash = "sha256:59c74f9d2b49778b146f23bcfebc35f051d64f10ff0dbdfd22387a7bd1d9ed71", upload-time = "2026-01-26T16:39:39Z" }, ] [[package]] @@ -5078,6 +5988,23 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/02/21/aa0f434434c48490f91b65962b1ce863fdcce63febc166ca9fe9d706c2b6/torchmetrics-1.8.2-py3-none-any.whl", hash = "sha256:08382fd96b923e39e904c4d570f3d49e2cc71ccabd2a94e0f895d1f0dac86242", size = 983161, upload-time = "2025-09-03T14:00:51.921Z" }, ] +[[package]] +name = "tornado" +version = "6.5.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/f1/3173dfa4a18db4a9b03e5d55325559dab51ee653763bb8745a75af491286/tornado-6.5.5.tar.gz", hash = "sha256:192b8f3ea91bd7f1f50c06955416ed76c6b72f96779b962f07f911b91e8d30e9", size = 516006, upload-time = "2026-03-10T21:31:02.067Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/59/8c/77f5097695f4dd8255ecbd08b2a1ed8ba8b953d337804dd7080f199e12bf/tornado-6.5.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:487dc9cc380e29f58c7ab88f9e27cdeef04b2140862e5076a66fb6bb68bb1bfa", size = 445983, upload-time = "2026-03-10T21:30:44.28Z" }, + { url = "https://files.pythonhosted.org/packages/ab/5e/7625b76cd10f98f1516c36ce0346de62061156352353ef2da44e5c21523c/tornado-6.5.5-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:65a7f1d46d4bb41df1ac99f5fcb685fb25c7e61613742d5108b010975a9a6521", size = 444246, upload-time = "2026-03-10T21:30:46.571Z" }, + { url = "https://files.pythonhosted.org/packages/b2/04/7b5705d5b3c0fab088f434f9c83edac1573830ca49ccf29fb83bf7178eec/tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e74c92e8e65086b338fd56333fb9a68b9f6f2fe7ad532645a290a464bcf46be5", size = 447229, upload-time = "2026-03-10T21:30:48.273Z" }, + { url = "https://files.pythonhosted.org/packages/34/01/74e034a30ef59afb4097ef8659515e96a39d910b712a89af76f5e4e1f93c/tornado-6.5.5-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:435319e9e340276428bbdb4e7fa732c2d399386d1de5686cb331ec8eee754f07", size = 448192, upload-time = "2026-03-10T21:30:51.22Z" }, + { url = "https://files.pythonhosted.org/packages/be/00/fe9e02c5a96429fce1a1d15a517f5d8444f9c412e0bb9eadfbe3b0fc55bf/tornado-6.5.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3f54aa540bdbfee7b9eb268ead60e7d199de5021facd276819c193c0fb28ea4e", size = 448039, upload-time = "2026-03-10T21:30:53.52Z" }, + { url = "https://files.pythonhosted.org/packages/82/9e/656ee4cec0398b1d18d0f1eb6372c41c6b889722641d84948351ae19556d/tornado-6.5.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:36abed1754faeb80fbd6e64db2758091e1320f6bba74a4cf8c09cd18ccce8aca", size = 447445, upload-time = "2026-03-10T21:30:55.541Z" }, + { url = "https://files.pythonhosted.org/packages/5a/76/4921c00511f88af86a33de770d64141170f1cfd9c00311aea689949e274e/tornado-6.5.5-cp39-abi3-win32.whl", hash = "sha256:dd3eafaaeec1c7f2f8fdcd5f964e8907ad788fe8a5a32c4426fbbdda621223b7", size = 448582, upload-time = "2026-03-10T21:30:57.142Z" }, + { url = "https://files.pythonhosted.org/packages/2c/23/f6c6112a04d28eed765e374435fb1a9198f73e1ec4b4024184f21faeb1ad/tornado-6.5.5-cp39-abi3-win_amd64.whl", hash = "sha256:6443a794ba961a9f619b1ae926a2e900ac20c34483eea67be4ed8f1e58d3ef7b", size = 448990, upload-time = "2026-03-10T21:30:58.857Z" }, + { url = "https://files.pythonhosted.org/packages/b7/c8/876602cbc96469911f0939f703453c1157b0c826ecb05bdd32e023397d4e/tornado-6.5.5-cp39-abi3-win_arm64.whl", hash = "sha256:2c9a876e094109333f888539ddb2de4361743e5d21eece20688e3e351e4990a6", size = 448016, upload-time = "2026-03-10T21:31:00.43Z" }, +] + [[package]] name = "tqdm" version = "4.67.1" @@ -5090,6 +6017,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, ] +[[package]] +name = "traitlets" +version = "5.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1b/22/40f55b26baeab80c2d7b3f1db0682f8954e4617fee7d90ce634022ef05c6/traitlets-5.15.0.tar.gz", hash = "sha256:4fead733f81cf1c4c938e06f8ca4633896833c9d89eff878159457f4d4392971", size = 163197, upload-time = "2026-05-06T08:05:58.016Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/98/a9937a969d018a23badfea0b381f66783649d48e0ea6c41923265c3cbeb3/traitlets-5.15.0-py3-none-any.whl", hash = "sha256:fb36a18867a6803deab09f3c5e0fa81bb7b26a5c9e82501c9933f759166eff40", size = 85877, upload-time = "2026-05-06T08:05:55.853Z" }, +] + [[package]] name = "triton" version = "3.1.0" @@ -5375,6 +6311,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6e/d4/ed38dd3b1767193de971e694aa544356e63353c33a85d948166b5ff58b9e/watchfiles-1.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e6f39af2eab0118338902798b5aa6664f46ff66bc0280de76fca67a7f262a49", size = 457546, upload-time = "2025-10-14T15:06:13.372Z" }, ] +[[package]] +name = "wcwidth" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2c/ee/afaf0f85a9a18fe47a67f1e4422ed6cf1fe642f0ae0a2f81166231303c52/wcwidth-0.7.0.tar.gz", hash = "sha256:90e3a7ea092341c44b99562e75d09e4d5160fe7a3974c6fb842a101a95e7eed0", size = 182132, upload-time = "2026-05-02T16:04:12.653Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/52/e465037f5375f43533d1a80b6923955201596a99142ed524d77b571a1418/wcwidth-0.7.0-py3-none-any.whl", hash = "sha256:5d69154c429a82910e241c738cd0e2976fac8a2dd47a1a805f4afed1c0f136f2", size = 110825, upload-time = "2026-05-02T16:04:11.033Z" }, +] + [[package]] name = "websockets" version = "15.0.1" @@ -5689,3 +6634,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/48/b7/503c98092fb3b344a179579f55814b613c1fbb1c23b3ec14a7b008a66a6e/yarl-1.22.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9f6d73c1436b934e3f01df1e1b21ff765cd1d28c77dfb9ace207f746d4610ee1", size = 85171, upload-time = "2025-10-06T14:12:16.935Z" }, { url = "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", size = 46814, upload-time = "2025-10-06T14:12:53.872Z" }, ] + +[[package]] +name = "zipp" +version = "3.23.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/21/093488dfc7cc8964ded15ab726fad40f25fd3d788fd741cc1c5a17d78ee8/zipp-3.23.1.tar.gz", hash = "sha256:32120e378d32cd9714ad503c1d024619063ec28aad2248dc6672ad13edfa5110", size = 25965, upload-time = "2026-04-13T23:21:46.6Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/8a/0861bec20485572fbddf3dfba2910e38fe249796cb73ecdeb74e07eeb8d3/zipp-3.23.1-py3-none-any.whl", hash = "sha256:0b3596c50a5c700c9cb40ba8d86d9f2cc4807e9bedb06bcdf7fac85633e444dc", size = 10378, upload-time = "2026-04-13T23:21:45.386Z" }, +] From 6cf83838438a97e3c19edac63d50da3d1c1119d1 Mon Sep 17 00:00:00 2001 From: Anton Zamyatin Date: Tue, 12 May 2026 19:37:43 +0200 Subject: [PATCH 6/8] :books: Add chemtorch pipeline tutorial and update overview page --- docs/source/api_autodoc/index.rst | 16 +- .../examples/pipeline_from_scratch.ipynb | 926 ++++++++++++++++++ docs/source/getting_started/overview.rst | 209 ++-- docs/source/index.rst | 8 +- 4 files changed, 1068 insertions(+), 91 deletions(-) create mode 100644 docs/source/examples/pipeline_from_scratch.ipynb diff --git a/docs/source/api_autodoc/index.rst b/docs/source/api_autodoc/index.rst index 6a6397a..e05e00f 100644 --- a/docs/source/api_autodoc/index.rst +++ b/docs/source/api_autodoc/index.rst @@ -6,6 +6,11 @@ API Reference This section contains auto-generated API documentation from docstrings in the source code. +.. _api-module-links: + +Module Links +============ + .. toctree:: :maxdepth: 2 :caption: Modules @@ -13,14 +18,3 @@ This section contains auto-generated API documentation from docstrings in the so components core utils - -Overview -======== - -ChemTorch is organized into three main packages: - -- **components**: Modular building blocks (data pipeline, representations, transforms, models, layers) -- **core**: PyTorch Lightning modules (DataModule, Routine, Trainer integration) -- **utils**: Helper functions and utilities - -All public APIs follow consistent patterns and are designed for composability. diff --git a/docs/source/examples/pipeline_from_scratch.ipynb b/docs/source/examples/pipeline_from_scratch.ipynb new file mode 100644 index 0000000..99821ee --- /dev/null +++ b/docs/source/examples/pipeline_from_scratch.ipynb @@ -0,0 +1,926 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Building a ChemTorch Pipeline from Scratch\n", + "\n", + "In ChemTorch's [quick start guide](https://heid-lab.github.io/chemtorch/getting_started/quick_start.html#) we saw that you can train a model using a single command: \n", + "\n", + "```bash\n", + "chemtorch +experiment=graph data_module.subsample=0.05 log=false\n", + "```\n", + "In this tutorial we will rebuild this exact ChemTorch pipeline from scarch! πŸ‘€\n", + "\n", + "The goal is to give you a tour of the ChemTorch components and how they fit together.\n", + "\n", + "
\n", + " \"ChemTorch\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "1. Install ChemTorch as described in the [quick start guide](https://heid-lab.github.io/chemtorch/getting_started/quick_start.html#)\n", + "2. Run this notebook from the `docs/source/examples/` folder" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Barrier Height Prediction\n", + "\n", + "We will train a **directed message passing neural network (D-MPNN) [1]** to predict reaction barrier heights of small organic reactions in gas phase.\n", + "\n", + "We will use the **RDB7 dataset [2]** which contains the barrier heights of nearly 12,000 unimolecular organic reactions (expressed in kcal/mol). \n", + "To keep training fast we will only use 5% of the data (as in the quick start command).\n", + "\n", + "> *Thoughout the notebook we will use hyperparameters similar to those obtained from our sweeps. The exact hyperparameters can be found at* `conf/saved_configs/chemtorch_benchmark/optimal_model_configs/cgr_dmpnn.yaml`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Imports" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/anton/chemtorch/.venv/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + } + ], + "source": [ + "import os\n", + "from copy import deepcopy\n", + "from functools import partial\n", + "\n", + "import torch\n", + "from lightning import Trainer, seed_everything\n", + "from torch_geometric.loader import DataLoader\n", + "from torchmetrics import MeanAbsoluteError, MeanSquaredError, MetricCollection\n", + "\n", + "from chemtorch.components.data_pipeline import SimpleDataPipeline\n", + "from chemtorch.components.data_pipeline.column_mapper import ColumnFilterAndRename\n", + "from chemtorch.components.data_pipeline.data_source import SingleCSVSource\n", + "from chemtorch.components.data_pipeline.data_splitter import RatioSplitter\n", + "\n", + "from chemtorch.components.representation.graph import CGR\n", + "from chemtorch.components.representation.graph.featurizer import (\n", + " AtomDegreeFeaturizer,\n", + " AtomFormalChargeFeaturizer,\n", + " AtomHCountFeaturizer,\n", + " AtomHybridizationFeaturizer,\n", + " AtomIsAromaticFeaturizer,\n", + " AtomIsInRingFeaturizer,\n", + " BondInRingFeaturizer,\n", + " BondIsConjugatedFeaturizer,\n", + " BondTypeFeaturizer,\n", + " CentiAtomMassFeaturizer,\n", + " FeaturizerCompose,\n", + " OrganicAtomicNumberOneHotFeaturizer,\n", + ")\n", + "\n", + "from chemtorch.components.layer import LayerStack\n", + "from chemtorch.components.layer.gnn_layer import (\n", + " DMPNNBlock,\n", + " DMPNNConv,\n", + " DMPNNStack,\n", + " EdgeToNodeEmbedding,\n", + ")\n", + "\n", + "\n", + "from chemtorch.components.model import MLP\n", + "from chemtorch.components.model.gnn import (\n", + " DirectedEdgeEncoder,\n", + " GNN,\n", + " GlobalPool,\n", + ")\n", + "\n", + "from chemtorch.core import DataModule\n", + "from chemtorch.core.routine import RegressionRoutine\n", + "from chemtorch.core.scheduler import CosineWithWarmupLR\n", + "from chemtorch.utils import Standardizer\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before, we start we want to seed everything to get reproducible results :)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Seed set to 0\n" + ] + } + ], + "source": [ + "seed = 0\n", + "seed_everything(seed)\n", + "torch.use_deterministic_algorithms(True)\n", + "os.environ[\"CUBLAS_WORKSPACE_CONFIG\"] = (\":4096:8\") # https://docs.nvidia.com/cuda/cublas/index.html#results-reproducibility" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Data Pipeline\n", + "In ChemTorch, the data pipeline is responsible for loading the raw data and turning into a format that can be consumed by downstream code. \n", + "\n", + "Here is what the `SimpleDataPipeline` does:\n", + "1. it loads the raw data from a data source, e.g. a CSV file, \n", + "2. selects/renames the data columns to align with the ChemTorch API,\n", + "3. splits the data into train/validation/test sets.\n", + "\n", + "\n", + "The RDB7 CSV uses `smiles` for mapped reaction SMILES and `dE0` for the training target." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
smileslabel
5780[C:1]1([H:7])([H:8])[C:2]([H:9])=[C:3]([H:10])...38.70907
2767[o:1]1[c:2]([H:6])[n:3][n:4][c:5]1[H:7]>>[N:3]...111.43065
8214[C:1]1([H:8])([H:9])[O:2][C@@:3]2([H:10])[C:4]...86.70926
6326[O:1]=[c:2]1[o:3][c:4]([H:8])[c:5]([H:9])[c:6]...74.20804
2821[C:1]([C:2]1([C:5](=[O:6])[H:14])[C:3]([H:10])...119.79524
\n", + "
" + ], + "text/plain": [ + " smiles label\n", + "5780 [C:1]1([H:7])([H:8])[C:2]([H:9])=[C:3]([H:10])... 38.70907\n", + "2767 [o:1]1[c:2]([H:6])[n:3][n:4][c:5]1[H:7]>>[N:3]... 111.43065\n", + "8214 [C:1]1([H:8])([H:9])[O:2][C@@:3]2([H:10])[C:4]... 86.70926\n", + "6326 [O:1]=[c:2]1[o:3][c:4]([H:8])[c:5]([H:9])[c:6]... 74.20804\n", + "2821 [C:1]([C:2]1([C:5](=[O:6])[H:14])[C:3]([H:10])... 119.79524" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "DATA_PATH = \"../data/rdb7/barriers/forward/data.csv\"\n", + "\n", + "pipeline = SimpleDataPipeline(\n", + " data_source=SingleCSVSource(data_path=DATA_PATH),\n", + " column_mapper=ColumnFilterAndRename(smiles=\"smiles\", label=\"dE0\"),\n", + " data_splitter=RatioSplitter(train_ratio=0.8, val_ratio=0.1, test_ratio=0.1),\n", + ")\n", + "\n", + "data_split = pipeline()\n", + "data_split.train.head()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Reaction Representation\n", + "One of the most important questions in chemical deep learning is how to represent your molecules/reactions for your desired task.\n", + "One simple way to represent a molecule by its connectivity.\n", + "For machine learning, a particular convenient representation is a graph, analogous to the traditional Lewis formula or SMILES strings in chemoinformatics.\n", + "\n", + "For reactions, a special kind of graph is needed to encorporate both reactant and product connectivity, as well as information about bond forming and breaking.\n", + "This graph is known as the **Condensed Graph of Reaction (CGR) [3]**. \n", + "It it a graph overlay of reactant and product graphs where forming/breaking bonds carry special annotations.\n", + "\n", + "As shown in the **[ChemTorch paper](https://pubs.acs.org/doi/10.1021/acs.jcim.5c02645) [4]**, the CGR provides a strong baseline for barrier height prediction but it requires **atom mapping**." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### CGR\n", + "In ChemTorch, each representation takes in a SMILES string and returns some kind of data object compatible with your model.\n", + "For reference see thr `AbstractRepresentation` interface.\n", + "\n", + "The `CGR` representation is initilized with atom and bond featurizers which can be composed.\n", + "The following featurizers are simple RDKit featurizers preconfigured for organic molecules. \n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "atom_featurizer = FeaturizerCompose(\n", + " [\n", + " OrganicAtomicNumberOneHotFeaturizer(),\n", + " AtomDegreeFeaturizer(),\n", + " AtomFormalChargeFeaturizer(),\n", + " AtomHCountFeaturizer(),\n", + " AtomHybridizationFeaturizer(),\n", + " AtomIsAromaticFeaturizer(),\n", + " CentiAtomMassFeaturizer(),\n", + " AtomIsInRingFeaturizer(),\n", + " ]\n", + ")\n", + "\n", + "bond_featurizer = FeaturizerCompose(\n", + " [\n", + " BondTypeFeaturizer(),\n", + " BondIsConjugatedFeaturizer(),\n", + " BondInRingFeaturizer(),\n", + " ]\n", + ")\n", + "\n", + "representation = CGR(\n", + " atom_featurizer=atom_featurizer,\n", + " bond_featurizer=bond_featurizer,\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `CGR` representation takes in atom mapped SMILES and turns them into featuriuzed graphs saved as `torch_geometric.Data` objects." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Data(x=[12, 88], edge_index=[2, 26], edge_attr=[26, 22], edge_origin_type=[26], smiles='[C:1]1([H:7])([H:8])[C:2]([H:9])=[C:3]([H:10])[C@@:4]2([H:11])[O:5][C@@:6]12[H:12]>>[C:1](=[C:2](/[C:3](=[C:4](\\[C:6](=[O:5])[H:12])[H:11])[H:10])[H:9])([H:7])[H:8]', atom_origin_type=[12], num_nodes=12)\n", + "node feature dimension: 88\n", + "edge feature dimension: 22\n" + ] + } + ], + "source": [ + "example_smiles = data_split.train.iloc[0][\"smiles\"]\n", + "example_graph = representation.construct(example_smiles)\n", + "\n", + "print(example_graph)\n", + "print(\"node feature dimension:\", example_graph.x.shape[-1])\n", + "print(\"edge feature dimension:\", example_graph.edge_attr.shape[-1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our featurization results in 88 node features and 22 edge features." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " ## 3. DataModule\n", + "One of the heart pieces in the ChemTorch pipeline is the `DataModule` which extends PyTorch Lightning's `lightning.DataModule`.\n", + "The data module manages data object creation and batching for training/inference.\n", + "\n", + "It is initialized with\n", + "- our data pipeline,\n", + "- the chosen representation, \n", + "- a compatible `torch` dataloader class, and \n", + "- optional data transforms/augmentations.\n", + "\n", + "For graph data we use PyG's `DataLoader`, partially configured with the batch size.\n", + "The data module will use this as a template to create train, validation, and test dataloaders.\n", + "\n", + "Addtionally, we pass `subsample=0.05` to only use 5% of the whole dataset for training, validation and testing." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "dataloader_factory = partial(\n", + " DataLoader,\n", + " batch_size=64,\n", + " num_workers=0,\n", + " pin_memory=False,\n", + ")\n", + "\n", + "data_module = DataModule(\n", + " data_pipeline=pipeline,\n", + " representation=representation,\n", + " dataloader_factory=dataloader_factory,\n", + " transform=None,\n", + " augmentations=None,\n", + " subsample=0.05\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's look at a single batch!" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DataBatch(x=[842, 88], edge_index=[2, 1812], edge_attr=[1812, 22], edge_origin_type=[1812], smiles=[64], atom_origin_type=[842], num_nodes=842, batch=[842], ptr=[65])\n", + "torch.Size([64])\n" + ] + } + ], + "source": [ + "\n", + "batch, labels = next(iter(data_module.train_dataloader()))\n", + "print(batch)\n", + "print(labels.shape)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PyTorch Geometric does graph batching by combining the individual `pyg.Data` objects into a single big disconnected graph (`pyg.DataBatch`)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. D-MPNN Model\n", + "ChemTorch supports any type of model compatbile with the PyTorch API.\n", + "\n", + "For GNNs, ChemTorch comes with a ready to use blueprint that is initialized with the following components:\n", + "1. `encoder`: turns the node/edge features into learned embeddings.\n", + "2. `layer_stack`: applies repeated graph convolutions, in our case, 12 blocks of directed message passing.\n", + "\n", + " To increase the expressivity of our GNN, each block adds:\n", + "\n", + " 1. a residual connection\n", + " 2. a 2-layer feedforward network\n", + " 3. dropout\n", + "\n", + " These are applied after message passing and before ReLU.\n", + "\n", + "3. `pool`: reduces node/edge embeddings to one graph embedding per reaction.\n", + "\n", + "4. `head`: maps the graph embeddings to the regression prediction, in our case a scalar barrier height.\n", + "\n", + "> Here, we manually compute the input dimension of the encoder as the combined dimesion of atom and bond features. In practice, ChemTorch automatically inferes the input dimension at runtime." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "GNN(\n", + " (encoder): DirectedEdgeEncoder(\n", + " (edge_init): Linear(in_features=110, out_features=256, bias=True)\n", + " )\n", + " (layer_stack): DMPNNStack(\n", + " (dmpnn_blocks): LayerStack(\n", + " (layers): ModuleList(\n", + " (0-11): 12 x DMPNNBlock(\n", + " (graph_conv): DMPNNConv()\n", + " (activation): ReLU()\n", + " (norm): Identity()\n", + " (dropout): Dropout(p=0.16713747610272822, inplace=False)\n", + " (ffn_norm_in): Identity()\n", + " (ffn_linear1): Linear(in_features=256, out_features=512, bias=True)\n", + " (ffn_linear2): Linear(in_features=512, out_features=256, bias=True)\n", + " (ffn_act_fn): ReLU()\n", + " (ffn_norm_out): Identity()\n", + " (ffn_dropout1): Dropout(p=0.16713747610272822, inplace=False)\n", + " (ffn_dropout2): Dropout(p=0.16713747610272822, inplace=False)\n", + " )\n", + " )\n", + " )\n", + " (edge_to_node_embedding): EdgeToNodeEmbedding(\n", + " (linear): Linear(in_features=344, out_features=256, bias=True)\n", + " (activation): ReLU()\n", + " (aggregation): SumAggregation()\n", + " )\n", + " )\n", + " (pool): GlobalPool()\n", + " (head): MLP(\n", + " (activation): ReLU()\n", + " (layers): Sequential(\n", + " (0): Dropout(p=0.012368200731827074, inplace=False)\n", + " (1): Linear(in_features=256, out_features=256, bias=True)\n", + " (2): ReLU()\n", + " (3): Dropout(p=0.012368200731827074, inplace=False)\n", + " (4): Linear(in_features=256, out_features=256, bias=True)\n", + " (5): ReLU()\n", + " (6): Dropout(p=0.012368200731827074, inplace=False)\n", + " (7): Linear(in_features=256, out_features=256, bias=True)\n", + " (8): ReLU()\n", + " (9): Dropout(p=0.012368200731827074, inplace=False)\n", + " (10): Linear(in_features=256, out_features=256, bias=True)\n", + " (11): ReLU()\n", + " (12): Dropout(p=0.012368200731827074, inplace=False)\n", + " (13): Linear(in_features=256, out_features=1, bias=True)\n", + " )\n", + " )\n", + ")\n" + ] + } + ], + "source": [ + "NUM_NODE_FEATURES = 88\n", + "NUM_EDGE_FEATURES = 22\n", + "DIRECTED_EDGE_ENCODER_IN_CHANNELS = NUM_NODE_FEATURES + NUM_EDGE_FEATURES\n", + "\n", + "HIDDEN_CHANNELS = 256\n", + "DEPTH = 12\n", + "OUT_CHANNELS = 1\n", + "\n", + "# 1. directed edge encoder\n", + "encoder=DirectedEdgeEncoder(\n", + " in_channels=DIRECTED_EDGE_ENCODER_IN_CHANNELS,\n", + " out_channels=HIDDEN_CHANNELS,\n", + ")\n", + "\n", + "# 2. directed message passing layer stack\n", + "layer_block = DMPNNBlock(\n", + " graph_conv=DMPNNConv(\n", + " in_channels=HIDDEN_CHANNELS,\n", + " out_channels=HIDDEN_CHANNELS,\n", + " ),\n", + " residual=True,\n", + " ffn=True,\n", + " dropout=0.16713747610272822,\n", + " act=\"relu\",\n", + " hidden_channels=HIDDEN_CHANNELS\n", + ")\n", + "\n", + "layer_stack = DMPNNStack(\n", + " dmpnn_blocks=LayerStack(\n", + " layer=layer_block,\n", + " depth=12,\n", + " ),\n", + " edge_to_node_embedding=EdgeToNodeEmbedding(\n", + " embedding_size=HIDDEN_CHANNELS,\n", + " num_node_features=NUM_NODE_FEATURES,\n", + " ),\n", + ")\n", + "\n", + "# 3. pooling function\n", + "pool = GlobalPool(aggr=\"add\")\n", + "\n", + "# 4. prediction head\n", + "head = MLP(\n", + " in_channels=HIDDEN_CHANNELS,\n", + " hidden_size=HIDDEN_CHANNELS,\n", + " num_hidden_layers=4,\n", + " out_channels=OUT_CHANNELS,\n", + " dropout=0.012368200731827074,\n", + " act=\"relu\",\n", + " )\n", + "\n", + "# assmeble everything into the GNN\n", + "model = GNN(\n", + " encoder=encoder,\n", + " layer_stack=layer_stack,\n", + " pool=pool,\n", + " head=head,\n", + ")\n", + "\n", + "print(model)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's test whether the model works!" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([64, 1])\n", + "tensor([[ 0.0249],\n", + " [-0.0119],\n", + " [-0.0105],\n", + " [ 0.0114],\n", + " [ 0.0183],\n", + " [ 0.0400],\n", + " [-0.0074],\n", + " [ 0.0343],\n", + " [ 0.0340],\n", + " [ 0.0237]])\n" + ] + } + ], + "source": [ + "\n", + "with torch.no_grad():\n", + " predictions = model(deepcopy(batch))\n", + "\n", + "print(predictions.shape)\n", + "print(predictions[:10])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Currently, the predictions are of course random.\n", + "Now, we we want to train the model!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5. Routine\n", + "\n", + "To reduce boilerplate PyTorch code, ChemTorch builds on PyTorch Lightning’s `LightningModule` and provides a common `Routine` abstraction that handles training and inference logic such as metric logging, optimization steps, learning-rate scheduling, and prediction rescaling for regression tasks.\n", + "\n", + "The `Routine` wraps our PyTorch model together with its loss function, optimizer, learning-rate scheduler, metrics, and prediction postprocessing.\n", + "\n", + "The `Standardizer` normalizes targets using statistics computed from the training set and later reverses this transformation to compute metrics and return predictions in the original scale.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# train data statistics from previous experiment\n", + "TRAIN_LABEL_MEAN = 80.0102253144654\n", + "TRAIN_LABEL_STD = 21.684054853890036\n", + "\n", + "metrics = {\n", + " \"train\": MetricCollection(\n", + " {\"rmse\": MeanSquaredError(squared=False)}\n", + " ),\n", + " \"val\": MetricCollection(\n", + " {\"rmse\": MeanSquaredError(squared=False)}\n", + " ),\n", + " \"test\": MetricCollection(\n", + " {\n", + " \"mae\": MeanAbsoluteError(),\n", + " \"rmse\": MeanSquaredError(squared=False),\n", + " }\n", + " ),\n", + "}\n", + "\n", + "routine = RegressionRoutine(\n", + " model=model,\n", + " standardizer=Standardizer(mean=TRAIN_LABEL_MEAN, std=TRAIN_LABEL_STD),\n", + " loss=torch.nn.MSELoss(),\n", + " optimizer=partial(\n", + " torch.optim.AdamW,\n", + " lr=0.0005682742759208353,\n", + " weight_decay=0.0006307405281515754\n", + " ),\n", + " lr_scheduler={\n", + " \"scheduler\": partial(\n", + " CosineWithWarmupLR,\n", + " num_warmup_steps=10,\n", + " num_training_steps=100,\n", + " start_factor=1.0e-6,\n", + " end_factor=1.0,\n", + " eta_min=0.0,\n", + " ),\n", + " \"interval\": \"epoch\",\n", + " \"frequency\": 1,\n", + " },\n", + " metrics=metrics,\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6. Trainer\n", + "\n", + "Finally, Lightning's `Trainer` orchestrates fitting and testing.\n", + "\n", + "For the tutorial we use a maximum of 20 epoch, no logger, and disable checkpointing.\n", + "\n", + "When running a real experiment, we would use a higher maximum number of epochs, the Weights & Biases Logger, and enable checkpointing." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: False, used: False\n", + "TPU available: False, using: 0 TPU cores\n" + ] + } + ], + "source": [ + "MAX_EPOCHS = 20\n", + "\n", + "trainer = Trainer(\n", + " max_epochs=MAX_EPOCHS,\n", + " accelerator=\"auto\",\n", + " logger=False,\n", + " enable_checkpointing=False,\n", + " gradient_clip_val=1.0,\n", + " log_every_n_steps=1,\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To train our model, we simply call `fit()` and pass the routine and the data module. \n", + "The trainer will handle the rest for us." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + " | Name | Type | Params | Mode \n", + "-----------------------------------------------------------\n", + "0 | model | GNN | 4.3 M | train\n", + "1 | loss | MSELoss | 0 | train\n", + "2 | train_metrics | MetricCollection | 0 | train\n", + "3 | val_metrics | MetricCollection | 0 | train\n", + "4 | test_metrics | MetricCollection | 0 | train\n", + "-----------------------------------------------------------\n", + "4.3 M Trainable params\n", + "0 Non-trainable params\n", + "4.3 M Total params\n", + "17.298 Total estimated model params size (MB)\n", + "200 Modules in train mode\n", + "0 Modules in eval mode\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sanity Checking DataLoader 0: 0%| | 0/1 [00:00\n", + " \"ChemTorch\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References\n", + "[1] Yang, K.; Swanson, K.; Jin, W.; Coley, C.; Eiden, P.; Gao, H.; Guzman-Perez, A.; Hopper, T.; Kelley, B.; Mathea, M. Analyzing learned molecular representations for property prediction. J. Chem. Inf. Model. 2019, 59, 3370– 3388, DOI: 10.1021/acs.jcim.9b00237\n", + "\n", + "[2] Spiekermann, K.; Pattanaik, L.; Green, W. H. High accuracy barrier heights, enthalpies, and rate coefficients for chemical reactions. Sci. Data 2022, 9, 417 DOI: 10.1038/s41597-022-01529-6\n", + "\n", + "[3] Heid, E.; Green, W. H. Machine learning of reaction properties via learned representations of the condensed graph of reaction. J. Chem. Inf. Model. 2022, 62, 2101– 2110, DOI: 10.1021/acs.jcim.1c00975\n", + "\n", + "[4] De Landsheere, J.; Zamyatin, A.; Karwounopoulo, J.; Heid, E. ChemTorch: A Deep Learning Framework for Benchmarking and Developing Chemical Reaction Property Prediction Models. J. Chem. Inf. Model. 2026, 66, 2434-2442, DOI: 10.1021/acs.jcim.5c02645" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "chemtorch", + "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.18" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/source/getting_started/overview.rst b/docs/source/getting_started/overview.rst index 820f296..2da11b7 100644 --- a/docs/source/getting_started/overview.rst +++ b/docs/source/getting_started/overview.rst @@ -4,7 +4,8 @@ ChemTorch Overview =================== -This page introduces ChemTorch in three layers: +This overview gives you a quick glimpse of the main modules and how they fit together. +What we'll cover: #. the high-level components, #. how the core modules wire them together, and @@ -19,8 +20,15 @@ Configuration is covered separately in :ref:`config`. **ChemTorch pipeline**: raw data β†’ data pipeline β†’ representation β†’ transform β†’ model -Components (``src/components``) -================================================== +.. note:: + + If you prefer a linear walk-through, check out + :doc:`../examples/pipeline_from_scratch` or run the interactive notebook + at ``docs/source/examples/pipeline_from_scratch.ipynb``. + + +Components (``chemtorch.components``) +===================================== Data Pipeline ------------- @@ -31,7 +39,7 @@ The **data pipeline** loads raw chemical data, standardizes column names, and sp .. code-block:: python - from chemtorch.components.data_pipeline.data_source import SingleCSVSource + from chemtorch.components.data_pipeline import SingleCSVSource source = SingleCSVSource(data_path="data.csv") df = source.load() # Returns pandas.DataFrame @@ -40,7 +48,7 @@ The **data pipeline** loads raw chemical data, standardizes column names, and sp .. code-block:: python - from chemtorch.components.data_pipeline.column_mapper import ColumnFilterAndRename + from chemtorch.components.data_pipeline import ColumnFilterAndRename mapper = ColumnFilterAndRename( smiles="rxn_smiles", @@ -52,7 +60,7 @@ The **data pipeline** loads raw chemical data, standardizes column names, and sp .. code-block:: python - from chemtorch.components.data_pipeline.data_splitter import RatioSplitter + from chemtorch.components.data_pipeline import RatioSplitter splitter = RatioSplitter(train_ratio=0.8, val_ratio=0.1, test_ratio=0.1) data_split = splitter(df_mapped) # Returns DataSplit(train=..., val=..., test=...) @@ -78,9 +86,9 @@ ChemTorch provides multiple representations, for example the **Condensed Graph o .. code-block:: python - from chemtorch.components.representation.graph import CGRRepresentation + from chemtorch.components.representation.graph import CGR - representation = CGRRepresentation( + representation = CGR( atom_featurizer=..., # Composition of atomic featurizers (e.g., atom type, charge, aromaticity) bond_featurizer=..., # Composition of bond featurizers (e.g., bond type, aromatic) ) @@ -96,12 +104,12 @@ For example, we can add positional encoding to graphs: .. code-block:: python - from chemtorch.components.transform.graph_transform import RandomWalkPE + from chemtorch.components.transform import RandomWalkPETransform # Add random walk positional encodings to graph nodes - transform = RandomWalkPE(walk_length=16) + transform = RandomWalkPETransform(walk_length=16) - data_obj = representation.featurize("CC>>CCO") + data_obj = representation.construct("CC>>CCO") transformed = transform(data_obj) # Adds positional encodings to the graph Other graph transforms could include dummy node injection, node/edge masking, and subgraph sampling. @@ -125,18 +133,38 @@ Each component can be swapped (e.g., different encoder, different message-passin .. code-block:: python - from chemtorch.components.model.gnn import GNN - from chemtorch.components.layer.gnn_layer import DMPNNStack - from chemtorch.components.model.gnn.encoder import DirectedEdgeEncoder - from chemtorch.components.model.gnn.pool import GlobalPool - + import torch + + from chemtorch.components.layer import LayerStack + from chemtorch.components.layer.gnn_layer import ( + DMPNNBlock, + DMPNNConv, + DMPNNStack, + EdgeToNodeEmbedding, + ) + from chemtorch.components.model.gnn import DirectedEdgeEncoder, GNN, GlobalPool + + def make_dmpnn_block(): + return DMPNNBlock( + graph_conv=DMPNNConv(in_channels=256, out_channels=256), + hidden_channels=256, + residual=True, + ffn=True, + ) + model = GNN( - num_node_features=num_node_features, - num_edge_features=num_edge_features, - hidden_channels=256, - encoder=DirectedEdgeEncoder(hidden_channels=256), - layer_stack=DMPNNStack(hidden_channels=256, num_layers=4), - pool=GlobalPool(pooling_fn="mean"), + encoder=DirectedEdgeEncoder( + in_channels=num_node_features + num_edge_features, + out_channels=256, + ), + layer_stack=DMPNNStack( + dmpnn_blocks=LayerStack(layer=make_dmpnn_block, depth=4), + edge_to_node_embedding=EdgeToNodeEmbedding( + embedding_size=256, + num_node_features=num_node_features, + ), + ), + pool=GlobalPool(aggr="mean"), head=torch.nn.Linear(256, output_dim), ) @@ -145,12 +173,12 @@ Each component can be swapped (e.g., different encoder, different message-passin -Core Modules (``src/core``) -============================================================ +Core Modules (``chemtorch.core``) +================================= ChemTorch's core modules are built on top of `PyTorch Lightning `__, which provides a standardized, high-quality training loop (device placement, logging, checkpointing, distributed execution). You do not need to be a Lightning expert to use ChemTorchβ€”common workflows and simple components work out of the box. If you plan to go beyond implementing individual components and want to adapt the core modules themselves, we recommend skimming the Lightning tutorials or a short crash course to get familiar with ``LightningModule``, ``LightningDataModule``, and ``Trainer``. Data Module ----------- +----------- The **Data Module** is a ``LightningDataModule`` and wires together the data pipeline, representation, and optional transforms/augmentations: @@ -162,20 +190,23 @@ Basic usage: .. code-block:: python - from chemtorch.core.data_module import DataModule - import torch + from functools import partial - data_module = DataModule( - data_pipeline=pipeline, - representation=representation, - dataloader_factory=torch.utils.data.DataLoader, - transform=None, - augmentations=None, - ) + from torch_geometric.loader import DataLoader - train_loader = data_module.train_dataloader() - val_loader = data_module.val_dataloader() - test_loader = data_module.test_dataloader() + from chemtorch.core import DataModule + + data_module = DataModule( + data_pipeline=pipeline, + representation=representation, + dataloader_factory=partial(DataLoader, batch_size=64), + transform=None, + augmentations=None, + ) + + train_loader = data_module.train_dataloader() + val_loader = data_module.val_dataloader() + test_loader = data_module.test_dataloader() Routine ------- @@ -186,16 +217,17 @@ Example (regression): .. code-block:: python - import torch - from chemtorch.core.routine import RegressionRoutine + import torch + + from chemtorch.core import RegressionRoutine - routine = RegressionRoutine( - model=model, - loss=torch.nn.MSELoss(), - optimizer=lambda params: torch.optim.Adam(params, lr=1e-3), - lr_scheduler=lambda opt: torch.optim.lr_scheduler.StepLR(opt, step_size=10), - metrics=None, - ) + routine = RegressionRoutine( + model=model, + loss=torch.nn.MSELoss(), + optimizer=lambda params: torch.optim.Adam(params, lr=1e-3), + lr_scheduler=lambda opt: torch.optim.lr_scheduler.StepLR(opt, step_size=10), + metrics=None, + ) Supervised routines expose the usual Lightning hooks (``training_step``, ``validation_step``, etc.) internally, so you focus on component selection rather than boilerplate. @@ -206,12 +238,12 @@ The **Trainer** (PyTorch Lightning) drives execution. It handles device placemen .. code-block:: python - from lightning import Trainer + from lightning import Trainer - trainer = Trainer(max_epochs=10, log_every_n_steps=10) - trainer.fit(routine, datamodule=data_module) - trainer.test(routine, datamodule=data_module) - # trainer.predict(routine, datamodule=data_module) + trainer = Trainer(max_epochs=10, log_every_n_steps=10) + trainer.fit(routine, datamodule=data_module) + trainer.test(routine, datamodule=data_module) + # trainer.predict(routine, datamodule=data_module) Together: **DataModule** provides dataloaders; **Routine** runs optimization and evaluation; **Trainer** orchestrates the loop. @@ -222,23 +254,28 @@ Below is a minimal hands on example showing how the pieces fit together. .. code-block:: python + from functools import partial + import torch from lightning import Trainer + from torch_geometric.loader import DataLoader - # Components (src/components) - from chemtorch.components.data_pipeline import SimpleDataPipeline - from chemtorch.components.data_pipeline.data_source import SingleCSVSource - from chemtorch.components.data_pipeline.column_mapper import ColumnFilterAndRename - from chemtorch.components.data_pipeline.data_splitter import RatioSplitter - from chemtorch.components.representation.graph import CGRRepresentation - from chemtorch.components.model.gnn import GNN - from chemtorch.components.model.gnn.encoder import DirectedEdgeEncoder - from chemtorch.components.layer.gnn_layer import DMPNNStack - from chemtorch.components.model.gnn.pool import GlobalPool - - # Core modules (src/core) - from chemtorch.core.data_module import DataModule - from chemtorch.core.routine import RegressionRoutine + from chemtorch.components.data_pipeline import ( + ColumnFilterAndRename, + RatioSplitter, + SimpleDataPipeline, + SingleCSVSource, + ) + from chemtorch.components.layer import LayerStack + from chemtorch.components.layer.gnn_layer import ( + DMPNNBlock, + DMPNNConv, + DMPNNStack, + EdgeToNodeEmbedding, + ) + from chemtorch.components.model.gnn import DirectedEdgeEncoder, GNN, GlobalPool + from chemtorch.components.representation.graph import CGR + from chemtorch.core import DataModule, RegressionRoutine # 1) Data pipeline pipeline = SimpleDataPipeline( @@ -248,13 +285,13 @@ Below is a minimal hands on example showing how the pieces fit together. ) # 2) Representation (CGR) - representation = CGRRepresentation( + representation = CGR( atom_featurizer=..., # compose your atom featurizers bond_featurizer=..., # compose your bond featurizers ) # 3) DataModule (wires pipeline + representation + optional transforms/augmentations) - dataloader_factory = torch.utils.data.DataLoader # or a custom factory + dataloader_factory = partial(DataLoader, batch_size=64) data_module = DataModule( data_pipeline=pipeline, representation=representation, @@ -264,17 +301,35 @@ Below is a minimal hands on example showing how the pieces fit together. ) # 4) Model (GNN with D-MPNN stack) - num_node_features = 128 # match your representation - num_edge_features = 32 # match your representation + num_node_features = 88 # match your representation + num_edge_features = 22 # match your representation + hidden_channels = 256 + + def make_dmpnn_block(): + return DMPNNBlock( + graph_conv=DMPNNConv( + in_channels=hidden_channels, + out_channels=hidden_channels, + ), + hidden_channels=hidden_channels, + residual=True, + ffn=True, + ) model = GNN( - num_node_features=num_node_features, - num_edge_features=num_edge_features, - hidden_channels=256, - encoder=DirectedEdgeEncoder(hidden_channels=256), - layer_stack=DMPNNStack(hidden_channels=256, num_layers=4), - pool=GlobalPool(pooling_fn="mean"), - head=torch.nn.Linear(256, 1), + encoder=DirectedEdgeEncoder( + in_channels=num_node_features + num_edge_features, + out_channels=hidden_channels, + ), + layer_stack=DMPNNStack( + dmpnn_blocks=LayerStack(layer=make_dmpnn_block, depth=4), + edge_to_node_embedding=EdgeToNodeEmbedding( + embedding_size=hidden_channels, + num_node_features=num_node_features, + ), + ), + pool=GlobalPool(aggr="mean"), + head=torch.nn.Linear(hidden_channels, 1), ) # 5) Routine (wraps model with training logic) @@ -292,4 +347,4 @@ Below is a minimal hands on example showing how the pieces fit together. trainer.test(routine, datamodule=data_module) # trainer.predict(routine, datamodule=data_module) -This is very close to what ChemTorch actually does under the hood (ignoring all other software features for a second). \ No newline at end of file +This is very close to what ChemTorch actually does under the hood (ignoring all other software features for a second). diff --git a/docs/source/index.rst b/docs/source/index.rst index cdebe90..3cf9e27 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -24,12 +24,13 @@ For a few examples of what you can already do with ChemTorch read the `white pap :hidden: getting_started/quick_start - getting_started/logging getting_started/overview + getting_started/logging getting_started/config getting_started/experiments - .. TODO: add tutorial on metric tracking +.. TODO: add tutorial on metric tracking + .. toctree:: :maxdepth: 1 :caption: User Guide @@ -47,6 +48,7 @@ For a few examples of what you can already do with ChemTorch read the `white pap :caption: Examples :hidden: + examples/pipeline_from_scratch examples/training_curves examples/ood_benchmarking @@ -66,4 +68,4 @@ For a few examples of what you can already do with ChemTorch read the `white pap :caption: API Reference :hidden: - api_autodoc/index \ No newline at end of file + api_autodoc/index From e71df464db92a11bf88359f756e0a3560165edc5 Mon Sep 17 00:00:00 2001 From: Anton Zamyatin Date: Tue, 12 May 2026 19:50:23 +0200 Subject: [PATCH 7/8] :green_heart: Update pyg deps installation and pytest workflow --- .github/workflows/pytest.yml | 14 ++++---------- scripts/install_pyg_deps.py | 4 ++-- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index 3124352..a0d62e1 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -22,11 +22,11 @@ jobs: - name: Install project deps run: | uv sync --locked --extra cpu --group test - uv run scripts/install_pyg_deps.py --run + uv run --no-sync scripts/install_pyg_deps.py --run - name: Run unit tests with coverage run: | - uv run pytest test/ \ + uv run --no-sync pytest test/ \ -m "not integration" \ --cov=./src \ --cov-report=xml:coverage.xml \ @@ -79,17 +79,11 @@ jobs: - name: Install project deps run: | uv sync --locked --extra cpu --group test - uv run scripts/install_pyg_deps.py --run - - - name: Install PyTorch Geometric - run: | - uv pip install torch_geometric \ - pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv \ - -f https://data.pyg.org/whl/torch-${{ env.TORCH }}+${{ env.CUDA }}.html + uv run --no-sync scripts/install_pyg_deps.py --run - name: Run integration tests run: | - uv run pytest test/ \ + uv run --no-sync pytest test/ \ -m "integration" \ --tb=short env: diff --git a/scripts/install_pyg_deps.py b/scripts/install_pyg_deps.py index 0b0df78..93f7de3 100644 --- a/scripts/install_pyg_deps.py +++ b/scripts/install_pyg_deps.py @@ -56,7 +56,7 @@ def normalize_torch_version(torch_ver: str) -> str: def make_pip_cmd(torch_ver: str, backend_tag: str) -> tuple[str, str]: wheel_version = normalize_torch_version(torch_ver) wheel_index = f"https://data.pyg.org/whl/torch-{wheel_version}+{backend_tag}.html" - return f"uv pip install {PKGS} -f {shlex.quote(wheel_index)}", wheel_version + return f"uv pip install --no-deps {PKGS} -f {shlex.quote(wheel_index)}", wheel_version def main(argv: list[str] | None = None) -> int: argv = sys.argv[1:] if argv is None else argv @@ -107,4 +107,4 @@ def main(argv: list[str] | None = None) -> int: return 0 if __name__ == "__main__": - raise SystemExit(main()) \ No newline at end of file + raise SystemExit(main()) From e89bca706f561c8b5a24aac521fa0a336add97c0 Mon Sep 17 00:00:00 2001 From: Anton Zamyatin Date: Tue, 12 May 2026 20:06:30 +0200 Subject: [PATCH 8/8] :test_tube: Accelerate smoke tests by only using a single batch for of train/val/test --- test/test_integration/test_integration.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test/test_integration/test_integration.py b/test/test_integration/test_integration.py index 164ddb4..7f78fee 100644 --- a/test/test_integration/test_integration.py +++ b/test/test_integration/test_integration.py @@ -21,6 +21,7 @@ from test.test_integration.helpers import ( BASE_OVERRIDES, CONFIG_ROOT, + DEFAULT_TIMEOUT, PROJECT_ROOT, TEST_DIR, ConfigTester, @@ -47,6 +48,18 @@ "save_predictions_for", ] +# Smoke tests only verify that configs execute end-to-end. Keep them deliberately +# tiny so heavier models do not get killed by CPU CI memory pressure. +SMOKE_OVERRIDES = BASE_OVERRIDES + [ + "++data_module.dataloader_factory.batch_size=1", + "++data_module.dataloader_factory.num_workers=0", + "++data_module.dataloader_factory.pin_memory=false", + "++trainer.limit_train_batches=1", + "++trainer.limit_val_batches=1", + "++trainer.limit_test_batches=1", + "++trainer.limit_predict_batches=1", +] + # Overrides for baseline tests that generate predictions PREDICTION_OVERRIDES = BASE_OVERRIDES + [ f"++trainer.accelerator=cpu", @@ -194,6 +207,13 @@ def _get_config_overrides(test_set_data: Dict[str, Any], test_id: str) -> List[s return overrides_map.get(config_identifier, []) +def _get_config_timeout(test_set_data: Dict[str, Any], test_id: str) -> int: + """Fetch test-set specific smoke timeout for a config, if any.""" + timeout_map = test_set_data.get("timeouts", {}) + config_identifier = test_id.split("-", 1)[1] + return timeout_map.get(config_identifier, DEFAULT_TIMEOUT) + + def _run_smoke_test(config_info, tester: UnifiedConfigTester, request: pytest.FixtureRequest): """Helper to run a 1-epoch smoke test.""" test_id, test_set_data, rel_config_path, config_name = config_info @@ -203,12 +223,15 @@ def _run_smoke_test(config_info, tester: UnifiedConfigTester, request: pytest.Fi pytest.skip(f"Config '{test_id}' temporarily excluded from CI/CD") extra_overrides = _get_config_overrides(test_set_data, test_id) + timeout = _get_config_timeout(test_set_data, test_id) tester.test_config( rel_config_path=rel_config_path, config_name=config_name, + timeout=timeout, remove_keys=SMOKE_KEYS_TO_REMOVE, extra_overrides=extra_overrides, + common_overrides=SMOKE_OVERRIDES, )