@@ -26,7 +26,7 @@ classifiers = [
2626requires-python = " >=3.11, <3.12"
2727
2828dependencies =[
29- " torch= =2.3.0" ,
29+ " torch> =2.3.0" ,
3030 " tqdm" ,
3131 " charset-normalizer" ,
3232 " numpy" ,
@@ -56,12 +56,16 @@ dependencies=[
5656 " topomodelx @ git+https://github.com/pyt-team/TopoModelX.git" ,
5757 " toponetx @ git+https://github.com/pyt-team/TopoNetX.git@c378925" ,
5858 " lightning==2.4.0" ,
59+ ]
60+
61+ [project .optional-dependencies ]
62+ # Required for NSD, ED-GNN, and point cloud lifting backbones.
63+ # Wheels must match your PyTorch + CUDA version; see find-links below.
64+ sparse = [
5965 " torch-scatter" ,
6066 " torch-sparse" ,
6167 " torch-cluster" ,
6268]
63-
64- [project .optional-dependencies ]
6569doc = [
6670 " jupyter" ,
6771 " nbsphinx" ,
@@ -87,7 +91,7 @@ test = [
8791]
8892
8993dev = [" TopoBench[test, lint]" ]
90- all = [" TopoBench[dev, doc]" ]
94+ all = [" TopoBench[dev, doc, sparse ]" ]
9195
9296[project .urls ]
9397homepage =" https://geometric-intelligence.github.io/topobench/index.html"
@@ -112,21 +116,22 @@ name = "pytorch-cu121"
112116url = " https://download.pytorch.org/whl/cu121"
113117explicit = true
114118
119+ [[tool .uv .index ]]
120+ name = " pytorch-cu128"
121+ url = " https://download.pytorch.org/whl/cu128"
122+ explicit = true
123+
115124# Default find-links (will be overwritten by bash script)
116125[tool .uv ]
117126find-links = [" https://data.pyg.org/whl/torch-2.3.0+cu121.html" ]
127+ no-build-package = [" torch-scatter" , " torch-sparse" , " torch-cluster" ]
118128
119129[tool .uv .sources ]
120130torch = [
121131 { index = " pytorch-cpu" , marker = " sys_platform == 'darwin' or sys_platform == 'win32'" },
122132 { index = " pytorch-cu121" , marker = " sys_platform == 'linux'" },
123133]
124134
125- [tool .uv .extra-build-dependencies ]
126- torch-cluster = [" torch==2.3.0" ]
127- torch-scatter = [" torch==2.3.0" ]
128- torch-sparse = [" torch==2.3.0" ]
129-
130135# ==============================================================================
131136# TOOL CONFIGS
132137# ==============================================================================
@@ -172,7 +177,7 @@ disable_error_code = ["import-untyped"]
172177plugins = " numpy.typing.mypy_plugin"
173178
174179[[tool .mypy .overrides ]]
175- module = [" torch_cluster.*" ," networkx.*" ," scipy.spatial" ," scipy.sparse" ," toponetx.classes.simplicial_complex" ]
180+ module = [" torch_cluster.*" ," torch_sparse.* " , " torch_scatter.* " , " networkx.*" ," scipy.spatial" ," scipy.sparse" ," toponetx.classes.simplicial_complex" ]
176181ignore_missing_imports = true
177182
178183[tool .pytest .ini_options ]
0 commit comments