Spaces:
				
			
			
	
			
			
					
		Running
		
	
	
	
			
			
	
	
	
	
		
		
					
		Running
		
	Merge pull request #57 from biggraph/darabos-tweaks
Browse files
    	
        lynxkite-app/src/lynxkite/app/main.py
    CHANGED
    
    | @@ -1,6 +1,9 @@ | |
| 1 | 
            -
             | 
| 2 | 
            -
             | 
| 3 | 
            -
             | 
|  | |
|  | |
|  | |
| 4 | 
             
            import dataclasses
         | 
| 5 | 
             
            import fastapi
         | 
| 6 | 
             
            import importlib
         | 
|  | |
| 1 | 
            +
            import os
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            if os.environ.get("NX_CUGRAPH_AUTOCONFIG", "").strip().lower() == "true":
         | 
| 4 | 
            +
                import cudf.pandas
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                cudf.pandas.install()
         | 
| 7 | 
             
            import dataclasses
         | 
| 8 | 
             
            import fastapi
         | 
| 9 | 
             
            import importlib
         | 
    	
        lynxkite-graph-analytics/pyproject.toml
    CHANGED
    
    | @@ -13,5 +13,10 @@ dependencies = [ | |
| 13 | 
             
                "polars[gpu]>=1.14.0",
         | 
| 14 | 
             
            ]
         | 
| 15 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
| 16 | 
             
            [tool.uv.sources]
         | 
| 17 | 
             
            lynxkite-core = { path = "../lynxkite-core" }
         | 
|  | |
| 13 | 
             
                "polars[gpu]>=1.14.0",
         | 
| 14 | 
             
            ]
         | 
| 15 |  | 
| 16 | 
            +
            [project.optional-dependencies]
         | 
| 17 | 
            +
            gpu = [
         | 
| 18 | 
            +
                "nx-cugraph-cu12>=24.12.0",
         | 
| 19 | 
            +
            ]
         | 
| 20 | 
            +
             | 
| 21 | 
             
            [tool.uv.sources]
         | 
| 22 | 
             
            lynxkite-core = { path = "../lynxkite-core" }
         | 
    	
        lynxkite-graph-analytics/src/lynxkite_plugins/graph_analytics/lynxkite_ops.py
    CHANGED
    
    | @@ -73,11 +73,14 @@ class Bundle: | |
| 73 |  | 
| 74 | 
             
                def to_nx(self):
         | 
| 75 | 
             
                    # TODO: Use relations.
         | 
| 76 | 
            -
                    graph = nx. | 
| 77 | 
             
                    if "nodes" in self.dfs:
         | 
| 78 | 
            -
                         | 
| 79 | 
            -
                             | 
| 80 | 
             
                        )
         | 
|  | |
|  | |
|  | |
| 81 | 
             
                    return graph
         | 
| 82 |  | 
| 83 | 
             
                def copy(self):
         | 
| @@ -250,7 +253,7 @@ def organize_bundle(bundle: Bundle, *, code: ops.LongStr): | |
| 250 | 
             
            def sample_graph(graph: nx.Graph, *, nodes: int = 100):
         | 
| 251 | 
             
                """Takes a (preferably connected) subgraph."""
         | 
| 252 | 
             
                sample = set()
         | 
| 253 | 
            -
                to_expand = deque([ | 
| 254 | 
             
                while to_expand and len(sample) < nodes:
         | 
| 255 | 
             
                    node = to_expand.pop()
         | 
| 256 | 
             
                    for n in graph.neighbors(node):
         | 
| @@ -336,12 +339,12 @@ def collect(df: pd.DataFrame): | |
| 336 |  | 
| 337 |  | 
| 338 | 
             
            @op("View tables", view="table_view")
         | 
| 339 | 
            -
            def view_tables(bundle: Bundle):
         | 
| 340 | 
             
                v = {
         | 
| 341 | 
             
                    "dataframes": {
         | 
| 342 | 
             
                        name: {
         | 
| 343 | 
             
                            "columns": [str(c) for c in df.columns],
         | 
| 344 | 
            -
                            "data": collect(df),
         | 
| 345 | 
             
                        }
         | 
| 346 | 
             
                        for name, df in bundle.dfs.items()
         | 
| 347 | 
             
                    },
         | 
|  | |
| 73 |  | 
| 74 | 
             
                def to_nx(self):
         | 
| 75 | 
             
                    # TODO: Use relations.
         | 
| 76 | 
            +
                    graph = nx.DiGraph()
         | 
| 77 | 
             
                    if "nodes" in self.dfs:
         | 
| 78 | 
            +
                        graph.add_nodes_from(
         | 
| 79 | 
            +
                            self.dfs["nodes"].set_index("id").to_dict("index").items()
         | 
| 80 | 
             
                        )
         | 
| 81 | 
            +
                    graph.add_edges_from(
         | 
| 82 | 
            +
                        self.dfs["edges"][["source", "target"]].itertuples(index=False, name=None)
         | 
| 83 | 
            +
                    )
         | 
| 84 | 
             
                    return graph
         | 
| 85 |  | 
| 86 | 
             
                def copy(self):
         | 
|  | |
| 253 | 
             
            def sample_graph(graph: nx.Graph, *, nodes: int = 100):
         | 
| 254 | 
             
                """Takes a (preferably connected) subgraph."""
         | 
| 255 | 
             
                sample = set()
         | 
| 256 | 
            +
                to_expand = deque([next(graph.nodes.keys().__iter__())])
         | 
| 257 | 
             
                while to_expand and len(sample) < nodes:
         | 
| 258 | 
             
                    node = to_expand.pop()
         | 
| 259 | 
             
                    for n in graph.neighbors(node):
         | 
|  | |
| 339 |  | 
| 340 |  | 
| 341 | 
             
            @op("View tables", view="table_view")
         | 
| 342 | 
            +
            def view_tables(bundle: Bundle, *, limit: int = 100):
         | 
| 343 | 
             
                v = {
         | 
| 344 | 
             
                    "dataframes": {
         | 
| 345 | 
             
                        name: {
         | 
| 346 | 
             
                            "columns": [str(c) for c in df.columns],
         | 
| 347 | 
            +
                            "data": collect(df)[:limit],
         | 
| 348 | 
             
                        }
         | 
| 349 | 
             
                        for name, df in bundle.dfs.items()
         | 
| 350 | 
             
                    },
         | 
    	
        lynxkite-graph-analytics/uv.lock
    CHANGED
    
    | @@ -9,6 +9,29 @@ resolution-markers = [ | |
| 9 | 
             
                "python_full_version >= '3.12' and platform_machine != 'aarch64' and platform_machine != 'x86_64'",
         | 
| 10 | 
             
            ]
         | 
| 11 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 12 | 
             
            [[package]]
         | 
| 13 | 
             
            name = "contourpy"
         | 
| 14 | 
             
            version = "1.3.1"
         | 
| @@ -76,13 +99,30 @@ wheels = [ | |
| 76 | 
             
            [[package]]
         | 
| 77 | 
             
            name = "cudf-polars-cu12"
         | 
| 78 | 
             
            version = "24.12.0"
         | 
| 79 | 
            -
            source = { registry = "https://pypi. | 
| 80 | 
             
            dependencies = [
         | 
| 81 | 
             
                { name = "polars" },
         | 
| 82 | 
             
                { name = "pylibcudf-cu12" },
         | 
| 83 | 
             
            ]
         | 
| 84 | 
             
            wheels = [
         | 
| 85 | 
            -
                { url = "https:// | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 86 | 
             
            ]
         | 
| 87 |  | 
| 88 | 
             
            [[package]]
         | 
| @@ -94,6 +134,34 @@ wheels = [ | |
| 94 | 
             
                { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 },
         | 
| 95 | 
             
            ]
         | 
| 96 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 97 | 
             
            [[package]]
         | 
| 98 | 
             
            name = "fonttools"
         | 
| 99 | 
             
            version = "4.55.3"
         | 
| @@ -147,6 +215,52 @@ dependencies = [ | |
| 147 | 
             
            ]
         | 
| 148 | 
             
            sdist = { url = "https://files.pythonhosted.org/packages/65/c6/27400e2d81bd769ebe65c695cead44c8efb55ac3769826a01c9223d65709/grandiso-2.2.0.tar.gz", hash = "sha256:66f292d27328e13122065c7905ad0ac79c4649f69a35e7b98a3631654a0bf77c", size = 16277 }
         | 
| 149 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 150 | 
             
            [[package]]
         | 
| 151 | 
             
            name = "kiwisolver"
         | 
| 152 | 
             
            version = "1.4.8"
         | 
| @@ -225,23 +339,23 @@ wheels = [ | |
| 225 | 
             
            [[package]]
         | 
| 226 | 
             
            name = "libcudf-cu12"
         | 
| 227 | 
             
            version = "24.12.0"
         | 
| 228 | 
            -
            source = { registry = "https://pypi. | 
| 229 | 
             
            dependencies = [
         | 
| 230 | 
             
                { name = "libkvikio-cu12" },
         | 
| 231 | 
             
                { name = "nvidia-nvcomp-cu12" },
         | 
| 232 | 
             
            ]
         | 
| 233 | 
             
            wheels = [
         | 
| 234 | 
            -
                { url = "https:// | 
| 235 | 
            -
                { url = "https:// | 
| 236 | 
             
            ]
         | 
| 237 |  | 
| 238 | 
             
            [[package]]
         | 
| 239 | 
             
            name = "libkvikio-cu12"
         | 
| 240 | 
             
            version = "24.12.1"
         | 
| 241 | 
            -
            source = { registry = "https://pypi. | 
| 242 | 
             
            wheels = [
         | 
| 243 | 
            -
                { url = "https:// | 
| 244 | 
            -
                { url = "https:// | 
| 245 | 
             
            ]
         | 
| 246 |  | 
| 247 | 
             
            [[package]]
         | 
| @@ -276,16 +390,24 @@ dependencies = [ | |
| 276 | 
             
                { name = "lynxkite-core" },
         | 
| 277 | 
             
                { name = "matplotlib" },
         | 
| 278 | 
             
                { name = "networkx" },
         | 
|  | |
| 279 | 
             
                { name = "pandas" },
         | 
| 280 | 
             
                { name = "polars", extra = ["gpu"] },
         | 
| 281 | 
             
            ]
         | 
| 282 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
| 283 | 
             
            [package.metadata]
         | 
| 284 | 
             
            requires-dist = [
         | 
| 285 | 
             
                { name = "grand-cypher", specifier = ">=0.12.0" },
         | 
|  | |
| 286 | 
             
                { name = "lynxkite-core", virtual = "../lynxkite-core" },
         | 
| 287 | 
             
                { name = "matplotlib", specifier = ">=3.10.0" },
         | 
| 288 | 
             
                { name = "networkx", specifier = ">=3.4.2" },
         | 
|  | |
| 289 | 
             
                { name = "pandas", specifier = ">=2.2.3" },
         | 
| 290 | 
             
                { name = "polars", extras = ["gpu"], specifier = ">=1.14.0" },
         | 
| 291 | 
             
            ]
         | 
| @@ -392,14 +514,72 @@ wheels = [ | |
| 392 | 
             
                { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179 },
         | 
| 393 | 
             
            ]
         | 
| 394 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 395 | 
             
            [[package]]
         | 
| 396 | 
             
            name = "nvidia-nvcomp-cu12"
         | 
| 397 | 
             
            version = "4.1.0.6"
         | 
| 398 | 
            -
            source = { registry = "https://pypi. | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 399 | 
             
            wheels = [
         | 
| 400 | 
            -
                { url = "https:// | 
| 401 | 
            -
                { url = "https:// | 
| 402 | 
            -
                { url = "https:// | 
| 403 | 
             
            ]
         | 
| 404 |  | 
| 405 | 
             
            [[package]]
         | 
| @@ -414,6 +594,20 @@ wheels = [ | |
| 414 | 
             
                { url = "https://files.pythonhosted.org/packages/53/6d/81a1da3a1e7b216412f768add33799a8f73de906cd78118d0e57c82c951c/nvtx-0.2.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:552ee32cadd7a8205833e157f3e161670200b213eb2816fd8631182c3e97c0dc", size = 695537 },
         | 
| 415 | 
             
            ]
         | 
| 416 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 417 | 
             
            [[package]]
         | 
| 418 | 
             
            name = "packaging"
         | 
| 419 | 
             
            version = "24.2"
         | 
| @@ -569,7 +763,7 @@ wheels = [ | |
| 569 | 
             
            [[package]]
         | 
| 570 | 
             
            name = "pylibcudf-cu12"
         | 
| 571 | 
             
            version = "24.12.0"
         | 
| 572 | 
            -
            source = { registry = "https://pypi. | 
| 573 | 
             
            dependencies = [
         | 
| 574 | 
             
                { name = "cuda-python" },
         | 
| 575 | 
             
                { name = "libcudf-cu12" },
         | 
| @@ -580,10 +774,49 @@ dependencies = [ | |
| 580 | 
             
                { name = "typing-extensions" },
         | 
| 581 | 
             
            ]
         | 
| 582 | 
             
            wheels = [
         | 
| 583 | 
            -
                { url = "https:// | 
| 584 | 
            -
                { url = "https:// | 
| 585 | 
            -
                { url = "https:// | 
| 586 | 
            -
                { url = "https:// | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 587 | 
             
            ]
         | 
| 588 |  | 
| 589 | 
             
            [[package]]
         | 
| @@ -619,17 +852,17 @@ wheels = [ | |
| 619 | 
             
            [[package]]
         | 
| 620 | 
             
            name = "rmm-cu12"
         | 
| 621 | 
             
            version = "24.12.1"
         | 
| 622 | 
            -
            source = { registry = "https://pypi. | 
| 623 | 
             
            dependencies = [
         | 
| 624 | 
             
                { name = "cuda-python" },
         | 
| 625 | 
             
                { name = "numba" },
         | 
| 626 | 
             
                { name = "numpy" },
         | 
| 627 | 
             
            ]
         | 
| 628 | 
             
            wheels = [
         | 
| 629 | 
            -
                { url = "https:// | 
| 630 | 
            -
                { url = "https:// | 
| 631 | 
            -
                { url = "https:// | 
| 632 | 
            -
                { url = "https:// | 
| 633 | 
             
            ]
         | 
| 634 |  | 
| 635 | 
             
            [[package]]
         | 
| @@ -641,6 +874,15 @@ wheels = [ | |
| 641 | 
             
                { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 },
         | 
| 642 | 
             
            ]
         | 
| 643 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 644 | 
             
            [[package]]
         | 
| 645 | 
             
            name = "typing-extensions"
         | 
| 646 | 
             
            version = "4.12.2"
         | 
|  | |
| 9 | 
             
                "python_full_version >= '3.12' and platform_machine != 'aarch64' and platform_machine != 'x86_64'",
         | 
| 10 | 
             
            ]
         | 
| 11 |  | 
| 12 | 
            +
            [[package]]
         | 
| 13 | 
            +
            name = "anyio"
         | 
| 14 | 
            +
            version = "4.8.0"
         | 
| 15 | 
            +
            source = { registry = "https://pypi.org/simple" }
         | 
| 16 | 
            +
            dependencies = [
         | 
| 17 | 
            +
                { name = "idna" },
         | 
| 18 | 
            +
                { name = "sniffio" },
         | 
| 19 | 
            +
                { name = "typing-extensions", marker = "python_full_version < '3.13'" },
         | 
| 20 | 
            +
            ]
         | 
| 21 | 
            +
            sdist = { url = "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126 }
         | 
| 22 | 
            +
            wheels = [
         | 
| 23 | 
            +
                { url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041 },
         | 
| 24 | 
            +
            ]
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            [[package]]
         | 
| 27 | 
            +
            name = "certifi"
         | 
| 28 | 
            +
            version = "2025.1.31"
         | 
| 29 | 
            +
            source = { registry = "https://pypi.org/simple" }
         | 
| 30 | 
            +
            sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 }
         | 
| 31 | 
            +
            wheels = [
         | 
| 32 | 
            +
                { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 },
         | 
| 33 | 
            +
            ]
         | 
| 34 | 
            +
             | 
| 35 | 
             
            [[package]]
         | 
| 36 | 
             
            name = "contourpy"
         | 
| 37 | 
             
            version = "1.3.1"
         | 
|  | |
| 99 | 
             
            [[package]]
         | 
| 100 | 
             
            name = "cudf-polars-cu12"
         | 
| 101 | 
             
            version = "24.12.0"
         | 
| 102 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 103 | 
             
            dependencies = [
         | 
| 104 | 
             
                { name = "polars" },
         | 
| 105 | 
             
                { name = "pylibcudf-cu12" },
         | 
| 106 | 
             
            ]
         | 
| 107 | 
             
            wheels = [
         | 
| 108 | 
            +
                { url = "https://pypi.nvidia.com/cudf-polars-cu12/cudf_polars_cu12-24.12.0-py3-none-any.whl", hash = "sha256:3d2058f75251fd4921618bb1d4cfba0c99b670a12756df0d3f51559aca2298fa" },
         | 
| 109 | 
            +
            ]
         | 
| 110 | 
            +
             | 
| 111 | 
            +
            [[package]]
         | 
| 112 | 
            +
            name = "cupy-cuda12x"
         | 
| 113 | 
            +
            version = "13.3.0"
         | 
| 114 | 
            +
            source = { registry = "https://pypi.org/simple" }
         | 
| 115 | 
            +
            dependencies = [
         | 
| 116 | 
            +
                { name = "fastrlock" },
         | 
| 117 | 
            +
                { name = "numpy" },
         | 
| 118 | 
            +
            ]
         | 
| 119 | 
            +
            wheels = [
         | 
| 120 | 
            +
                { url = "https://files.pythonhosted.org/packages/95/c9/0b88c015e98aad808c18f938267585d79e6211fe08650e0de7132e235e40/cupy_cuda12x-13.3.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:c0cc095b9a3835fd5db66c45ed3c58ecdc5a3bb14e53e1defbfd4a0ce5c8ecdb", size = 104925909 },
         | 
| 121 | 
            +
                { url = "https://files.pythonhosted.org/packages/8c/1f/596803c35833c01a41da21c6a7bb552f1ed56d807090ddc6727c8f396d7d/cupy_cuda12x-13.3.0-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:a0e3bead04e502ebde515f0343444ca3f4f7aed09cbc3a316a946cba97f2ea66", size = 91172049 },
         | 
| 122 | 
            +
                { url = "https://files.pythonhosted.org/packages/d0/a8/5b5929830d2da94608d8126bafe2c52d69929a197fd8698ac09142c068ba/cupy_cuda12x-13.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:5f11df1149c7219858b27e4c8be92cb4eaf7364c94af6b78c40dffb98050a61f", size = 69564719 },
         | 
| 123 | 
            +
                { url = "https://files.pythonhosted.org/packages/0d/02/e94f7c26a5f446888d8753d4b6642e5107f9fde166d1ac23b7de95ccea7b/cupy_cuda12x-13.3.0-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:bbd0d916310391faf0d7dc9c58fff7a6dc996b67e5768199160bbceb5ebdda8c", size = 103894953 },
         | 
| 124 | 
            +
                { url = "https://files.pythonhosted.org/packages/90/dc/da09e5184d94146b8cbf240c2bef1c4851cbafd7e2d60cc71b1530c766ec/cupy_cuda12x-13.3.0-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:e206bd8664f0763732b6012431f484ee535bffd77a5ae95e9bfe1c7c72396625", size = 90980377 },
         | 
| 125 | 
            +
                { url = "https://files.pythonhosted.org/packages/14/11/8bc53cab1466605ba88ba3c7243078a784ee2cd8974f5602a491882af9af/cupy_cuda12x-13.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:88ef1478f00ae252da0026e7f04f70c9bb6a2dc130ba5f1e5bc5e8069a928bf5", size = 69499349 },
         | 
| 126 | 
             
            ]
         | 
| 127 |  | 
| 128 | 
             
            [[package]]
         | 
|  | |
| 134 | 
             
                { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 },
         | 
| 135 | 
             
            ]
         | 
| 136 |  | 
| 137 | 
            +
            [[package]]
         | 
| 138 | 
            +
            name = "fastrlock"
         | 
| 139 | 
            +
            version = "0.8.3"
         | 
| 140 | 
            +
            source = { registry = "https://pypi.org/simple" }
         | 
| 141 | 
            +
            sdist = { url = "https://files.pythonhosted.org/packages/73/b1/1c3d635d955f2b4bf34d45abf8f35492e04dbd7804e94ce65d9f928ef3ec/fastrlock-0.8.3.tar.gz", hash = "sha256:4af6734d92eaa3ab4373e6c9a1dd0d5ad1304e172b1521733c6c3b3d73c8fa5d", size = 79327 }
         | 
| 142 | 
            +
            wheels = [
         | 
| 143 | 
            +
                { url = "https://files.pythonhosted.org/packages/90/9e/647951c579ef74b6541493d5ca786d21a0b2d330c9514ba2c39f0b0b0046/fastrlock-0.8.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:f68c551cf8a34b6460a3a0eba44bd7897ebfc820854e19970c52a76bf064a59f", size = 55233 },
         | 
| 144 | 
            +
                { url = "https://files.pythonhosted.org/packages/be/91/5f3afba7d14b8b7d60ac651375f50fff9220d6ccc3bef233d2bd74b73ec7/fastrlock-0.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:55d42f6286b9d867370af4c27bc70d04ce2d342fe450c4a4fcce14440514e695", size = 48911 },
         | 
| 145 | 
            +
                { url = "https://files.pythonhosted.org/packages/d5/7a/e37bd72d7d70a8a551b3b4610d028bd73ff5d6253201d5d3cf6296468bee/fastrlock-0.8.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_24_i686.whl", hash = "sha256:bbc3bf96dcbd68392366c477f78c9d5c47e5d9290cb115feea19f20a43ef6d05", size = 50357 },
         | 
| 146 | 
            +
                { url = "https://files.pythonhosted.org/packages/0d/ef/a13b8bab8266840bf38831d7bf5970518c02603d00a548a678763322d5bf/fastrlock-0.8.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:77ab8a98417a1f467dafcd2226718f7ca0cf18d4b64732f838b8c2b3e4b55cb5", size = 50222 },
         | 
| 147 | 
            +
                { url = "https://files.pythonhosted.org/packages/01/e2/5e5515562b2e9a56d84659377176aef7345da2c3c22909a1897fe27e14dd/fastrlock-0.8.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:04bb5eef8f460d13b8c0084ea5a9d3aab2c0573991c880c0a34a56bb14951d30", size = 54553 },
         | 
| 148 | 
            +
                { url = "https://files.pythonhosted.org/packages/c0/8f/65907405a8cdb2fc8beaf7d09a9a07bb58deff478ff391ca95be4f130b70/fastrlock-0.8.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c9d459ce344c21ff03268212a1845aa37feab634d242131bc16c2a2355d5f65", size = 53362 },
         | 
| 149 | 
            +
                { url = "https://files.pythonhosted.org/packages/ec/b9/ae6511e52738ba4e3a6adb7c6a20158573fbc98aab448992ece25abb0b07/fastrlock-0.8.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33e6fa4af4f3af3e9c747ec72d1eadc0b7ba2035456c2afb51c24d9e8a56f8fd", size = 52836 },
         | 
| 150 | 
            +
                { url = "https://files.pythonhosted.org/packages/88/3e/c26f8192c93e8e43b426787cec04bb46ac36e72b1033b7fe5a9267155fdf/fastrlock-0.8.3-cp311-cp311-win_amd64.whl", hash = "sha256:5e5f1665d8e70f4c5b4a67f2db202f354abc80a321ce5a26ac1493f055e3ae2c", size = 31046 },
         | 
| 151 | 
            +
                { url = "https://files.pythonhosted.org/packages/00/df/56270f2e10c1428855c990e7a7e5baafa9e1262b8e789200bd1d047eb501/fastrlock-0.8.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:8cb2cf04352ea8575d496f31b3b88c42c7976e8e58cdd7d1550dfba80ca039da", size = 55727 },
         | 
| 152 | 
            +
                { url = "https://files.pythonhosted.org/packages/57/21/ea1511b0ef0d5457efca3bf1823effb9c5cad4fc9dca86ce08e4d65330ce/fastrlock-0.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:85a49a1f1e020097d087e1963e42cea6f307897d5ebe2cb6daf4af47ffdd3eed", size = 52201 },
         | 
| 153 | 
            +
                { url = "https://files.pythonhosted.org/packages/80/07/cdecb7aa976f34328372f1c4efd6c9dc1b039b3cc8d3f38787d640009a25/fastrlock-0.8.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5f13ec08f1adb1aa916c384b05ecb7dbebb8df9ea81abd045f60941c6283a670", size = 53924 },
         | 
| 154 | 
            +
                { url = "https://files.pythonhosted.org/packages/88/6d/59c497f8db9a125066dd3a7442fab6aecbe90d6fec344c54645eaf311666/fastrlock-0.8.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0ea4e53a04980d646def0f5e4b5e8bd8c7884288464acab0b37ca0c65c482bfe", size = 52140 },
         | 
| 155 | 
            +
                { url = "https://files.pythonhosted.org/packages/62/04/9138943c2ee803d62a48a3c17b69de2f6fa27677a6896c300369e839a550/fastrlock-0.8.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:38340f6635bd4ee2a4fb02a3a725759fe921f2ca846cb9ca44531ba739cc17b4", size = 53261 },
         | 
| 156 | 
            +
                { url = "https://files.pythonhosted.org/packages/e2/4b/db35a52589764c7745a613b6943bbd018f128d42177ab92ee7dde88444f6/fastrlock-0.8.3-cp312-cp312-win_amd64.whl", hash = "sha256:da06d43e1625e2ffddd303edcd6d2cd068e1c486f5fd0102b3f079c44eb13e2c", size = 31235 },
         | 
| 157 | 
            +
                { url = "https://files.pythonhosted.org/packages/92/74/7b13d836c3f221cff69d6f418f46c2a30c4b1fe09a8ce7db02eecb593185/fastrlock-0.8.3-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:5264088185ca8e6bc83181dff521eee94d078c269c7d557cc8d9ed5952b7be45", size = 54157 },
         | 
| 158 | 
            +
                { url = "https://files.pythonhosted.org/packages/06/77/f06a907f9a07d26d0cca24a4385944cfe70d549a2c9f1c3e3217332f4f12/fastrlock-0.8.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a98ba46b3e14927550c4baa36b752d0d2f7387b8534864a8767f83cce75c160", size = 50954 },
         | 
| 159 | 
            +
                { url = "https://files.pythonhosted.org/packages/f9/4e/94480fb3fd93991dd6f4e658b77698edc343f57caa2870d77b38c89c2e3b/fastrlock-0.8.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dbdea6deeccea1917c6017d353987231c4e46c93d5338ca3e66d6cd88fbce259", size = 52535 },
         | 
| 160 | 
            +
                { url = "https://files.pythonhosted.org/packages/7d/a7/ee82bb55b6c0ca30286dac1e19ee9417a17d2d1de3b13bb0f20cefb86086/fastrlock-0.8.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c6e5bfecbc0d72ff07e43fed81671747914d6794e0926700677ed26d894d4f4f", size = 50942 },
         | 
| 161 | 
            +
                { url = "https://files.pythonhosted.org/packages/63/1d/d4b7782ef59e57dd9dde69468cc245adafc3674281905e42fa98aac30a79/fastrlock-0.8.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:2a83d558470c520ed21462d304e77a12639859b205759221c8144dd2896b958a", size = 52044 },
         | 
| 162 | 
            +
                { url = "https://files.pythonhosted.org/packages/28/a3/2ad0a0a69662fd4cf556ab8074f0de978ee9b56bff6ddb4e656df4aa9e8e/fastrlock-0.8.3-cp313-cp313-win_amd64.whl", hash = "sha256:8d1d6a28291b4ace2a66bd7b49a9ed9c762467617febdd9ab356b867ed901af8", size = 30472 },
         | 
| 163 | 
            +
            ]
         | 
| 164 | 
            +
             | 
| 165 | 
             
            [[package]]
         | 
| 166 | 
             
            name = "fonttools"
         | 
| 167 | 
             
            version = "4.55.3"
         | 
|  | |
| 215 | 
             
            ]
         | 
| 216 | 
             
            sdist = { url = "https://files.pythonhosted.org/packages/65/c6/27400e2d81bd769ebe65c695cead44c8efb55ac3769826a01c9223d65709/grandiso-2.2.0.tar.gz", hash = "sha256:66f292d27328e13122065c7905ad0ac79c4649f69a35e7b98a3631654a0bf77c", size = 16277 }
         | 
| 217 |  | 
| 218 | 
            +
            [[package]]
         | 
| 219 | 
            +
            name = "h11"
         | 
| 220 | 
            +
            version = "0.14.0"
         | 
| 221 | 
            +
            source = { registry = "https://pypi.org/simple" }
         | 
| 222 | 
            +
            sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 }
         | 
| 223 | 
            +
            wheels = [
         | 
| 224 | 
            +
                { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 },
         | 
| 225 | 
            +
            ]
         | 
| 226 | 
            +
             | 
| 227 | 
            +
            [[package]]
         | 
| 228 | 
            +
            name = "httpcore"
         | 
| 229 | 
            +
            version = "1.0.7"
         | 
| 230 | 
            +
            source = { registry = "https://pypi.org/simple" }
         | 
| 231 | 
            +
            dependencies = [
         | 
| 232 | 
            +
                { name = "certifi" },
         | 
| 233 | 
            +
                { name = "h11" },
         | 
| 234 | 
            +
            ]
         | 
| 235 | 
            +
            sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196 }
         | 
| 236 | 
            +
            wheels = [
         | 
| 237 | 
            +
                { url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 },
         | 
| 238 | 
            +
            ]
         | 
| 239 | 
            +
             | 
| 240 | 
            +
            [[package]]
         | 
| 241 | 
            +
            name = "httpx"
         | 
| 242 | 
            +
            version = "0.28.1"
         | 
| 243 | 
            +
            source = { registry = "https://pypi.org/simple" }
         | 
| 244 | 
            +
            dependencies = [
         | 
| 245 | 
            +
                { name = "anyio" },
         | 
| 246 | 
            +
                { name = "certifi" },
         | 
| 247 | 
            +
                { name = "httpcore" },
         | 
| 248 | 
            +
                { name = "idna" },
         | 
| 249 | 
            +
            ]
         | 
| 250 | 
            +
            sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 }
         | 
| 251 | 
            +
            wheels = [
         | 
| 252 | 
            +
                { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 },
         | 
| 253 | 
            +
            ]
         | 
| 254 | 
            +
             | 
| 255 | 
            +
            [[package]]
         | 
| 256 | 
            +
            name = "idna"
         | 
| 257 | 
            +
            version = "3.10"
         | 
| 258 | 
            +
            source = { registry = "https://pypi.org/simple" }
         | 
| 259 | 
            +
            sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 }
         | 
| 260 | 
            +
            wheels = [
         | 
| 261 | 
            +
                { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 },
         | 
| 262 | 
            +
            ]
         | 
| 263 | 
            +
             | 
| 264 | 
             
            [[package]]
         | 
| 265 | 
             
            name = "kiwisolver"
         | 
| 266 | 
             
            version = "1.4.8"
         | 
|  | |
| 339 | 
             
            [[package]]
         | 
| 340 | 
             
            name = "libcudf-cu12"
         | 
| 341 | 
             
            version = "24.12.0"
         | 
| 342 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 343 | 
             
            dependencies = [
         | 
| 344 | 
             
                { name = "libkvikio-cu12" },
         | 
| 345 | 
             
                { name = "nvidia-nvcomp-cu12" },
         | 
| 346 | 
             
            ]
         | 
| 347 | 
             
            wheels = [
         | 
| 348 | 
            +
                { url = "https://pypi.nvidia.com/libcudf-cu12/libcudf_cu12-24.12.0-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:1e78a247f31c6045221f3142a5fd15210d53c91043c5a4e260b67b5ddff43164" },
         | 
| 349 | 
            +
                { url = "https://pypi.nvidia.com/libcudf-cu12/libcudf_cu12-24.12.0-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:47b7537a314b4462c24938f4e9118ea65bfe2de7440e99ecf278a38a14abf9ab" },
         | 
| 350 | 
             
            ]
         | 
| 351 |  | 
| 352 | 
             
            [[package]]
         | 
| 353 | 
             
            name = "libkvikio-cu12"
         | 
| 354 | 
             
            version = "24.12.1"
         | 
| 355 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 356 | 
             
            wheels = [
         | 
| 357 | 
            +
                { url = "https://pypi.nvidia.com/libkvikio-cu12/libkvikio_cu12-24.12.1-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:7ed5d27263204a237ea7a14ce176ed885888c8daf47341ae0fbcecd55fb2c694" },
         | 
| 358 | 
            +
                { url = "https://pypi.nvidia.com/libkvikio-cu12/libkvikio_cu12-24.12.1-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:c4f333dbbffc35ba94a028db3b24ddb1c3dfddff9c6fb0f17488dc662a86f481" },
         | 
| 359 | 
             
            ]
         | 
| 360 |  | 
| 361 | 
             
            [[package]]
         | 
|  | |
| 390 | 
             
                { name = "lynxkite-core" },
         | 
| 391 | 
             
                { name = "matplotlib" },
         | 
| 392 | 
             
                { name = "networkx" },
         | 
| 393 | 
            +
                { name = "nx-cugraph-cu12" },
         | 
| 394 | 
             
                { name = "pandas" },
         | 
| 395 | 
             
                { name = "polars", extra = ["gpu"] },
         | 
| 396 | 
             
            ]
         | 
| 397 |  | 
| 398 | 
            +
            [package.optional-dependencies]
         | 
| 399 | 
            +
            gpu = [
         | 
| 400 | 
            +
                { name = "httpx" },
         | 
| 401 | 
            +
            ]
         | 
| 402 | 
            +
             | 
| 403 | 
             
            [package.metadata]
         | 
| 404 | 
             
            requires-dist = [
         | 
| 405 | 
             
                { name = "grand-cypher", specifier = ">=0.12.0" },
         | 
| 406 | 
            +
                { name = "httpx", marker = "extra == 'gpu'" },
         | 
| 407 | 
             
                { name = "lynxkite-core", virtual = "../lynxkite-core" },
         | 
| 408 | 
             
                { name = "matplotlib", specifier = ">=3.10.0" },
         | 
| 409 | 
             
                { name = "networkx", specifier = ">=3.4.2" },
         | 
| 410 | 
            +
                { name = "nx-cugraph-cu12", specifier = ">=24.12.0" },
         | 
| 411 | 
             
                { name = "pandas", specifier = ">=2.2.3" },
         | 
| 412 | 
             
                { name = "polars", extras = ["gpu"], specifier = ">=1.14.0" },
         | 
| 413 | 
             
            ]
         | 
|  | |
| 514 | 
             
                { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179 },
         | 
| 515 | 
             
            ]
         | 
| 516 |  | 
| 517 | 
            +
            [[package]]
         | 
| 518 | 
            +
            name = "nvidia-cublas-cu12"
         | 
| 519 | 
            +
            version = "12.8.3.14"
         | 
| 520 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 521 | 
            +
            wheels = [
         | 
| 522 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-cublas-cu12/nvidia_cublas_cu12-12.8.3.14-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:93a4e0e386cc7f6e56c822531396de8170ed17068a1e18f987574895044cd8c3" },
         | 
| 523 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-cublas-cu12/nvidia_cublas_cu12-12.8.3.14-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:3f0e05e7293598cf61933258b73e66a160c27d59c4422670bf0b79348c04be44" },
         | 
| 524 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-cublas-cu12/nvidia_cublas_cu12-12.8.3.14-py3-none-win_amd64.whl", hash = "sha256:9ae5eae500aead01fc4bdfc458209df638b1a3551557ce11a78eea9ece602ae9" },
         | 
| 525 | 
            +
            ]
         | 
| 526 | 
            +
             | 
| 527 | 
            +
            [[package]]
         | 
| 528 | 
            +
            name = "nvidia-curand-cu12"
         | 
| 529 | 
            +
            version = "10.3.9.55"
         | 
| 530 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 531 | 
            +
            wheels = [
         | 
| 532 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-curand-cu12/nvidia_curand_cu12-10.3.9.55-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:b6bb90c044fa9b07cedae2ef29077c4cf851fb6fdd6d862102321f359dca81e9" },
         | 
| 533 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-curand-cu12/nvidia_curand_cu12-10.3.9.55-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:8387d974240c91f6a60b761b83d4b2f9b938b7e0b9617bae0f0dafe4f5c36b86" },
         | 
| 534 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-curand-cu12/nvidia_curand_cu12-10.3.9.55-py3-none-win_amd64.whl", hash = "sha256:570d82475fe7f3d8ed01ffbe3b71796301e0e24c98762ca018ff8ce4f5418e1f" },
         | 
| 535 | 
            +
            ]
         | 
| 536 | 
            +
             | 
| 537 | 
            +
            [[package]]
         | 
| 538 | 
            +
            name = "nvidia-cusolver-cu12"
         | 
| 539 | 
            +
            version = "11.7.2.55"
         | 
| 540 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 541 | 
            +
            dependencies = [
         | 
| 542 | 
            +
                { name = "nvidia-cublas-cu12" },
         | 
| 543 | 
            +
                { name = "nvidia-cusparse-cu12" },
         | 
| 544 | 
            +
                { name = "nvidia-nvjitlink-cu12" },
         | 
| 545 | 
            +
            ]
         | 
| 546 | 
            +
            wheels = [
         | 
| 547 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-cusolver-cu12/nvidia_cusolver_cu12-11.7.2.55-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:0fd9e98246f43c15bee5561147ad235dfdf2d037f5d07c9d41af3f7f72feb7cc" },
         | 
| 548 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-cusolver-cu12/nvidia_cusolver_cu12-11.7.2.55-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4d1354102f1e922cee9db51920dba9e2559877cf6ff5ad03a00d853adafb191b" },
         | 
| 549 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-cusolver-cu12/nvidia_cusolver_cu12-11.7.2.55-py3-none-win_amd64.whl", hash = "sha256:a5a516c55da5c5aba98420d9bc9bcab18245f21ec87338cc1f930eb18dd411ac" },
         | 
| 550 | 
            +
            ]
         | 
| 551 | 
            +
             | 
| 552 | 
            +
            [[package]]
         | 
| 553 | 
            +
            name = "nvidia-cusparse-cu12"
         | 
| 554 | 
            +
            version = "12.5.7.53"
         | 
| 555 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 556 | 
            +
            dependencies = [
         | 
| 557 | 
            +
                { name = "nvidia-nvjitlink-cu12" },
         | 
| 558 | 
            +
            ]
         | 
| 559 | 
            +
            wheels = [
         | 
| 560 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-cusparse-cu12/nvidia_cusparse_cu12-12.5.7.53-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d869c6146ca80f4305b62e02d924b4aaced936f8173e3cef536a67eed2a91af1" },
         | 
| 561 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-cusparse-cu12/nvidia_cusparse_cu12-12.5.7.53-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3c1b61eb8c85257ea07e9354606b26397612627fdcd327bfd91ccf6155e7c86d" },
         | 
| 562 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-cusparse-cu12/nvidia_cusparse_cu12-12.5.7.53-py3-none-win_amd64.whl", hash = "sha256:82c201d6781bacf6bb7c654f0446728d0fe596dfdd82ef4a04c204ce3e107441" },
         | 
| 563 | 
            +
            ]
         | 
| 564 | 
            +
             | 
| 565 | 
             
            [[package]]
         | 
| 566 | 
             
            name = "nvidia-nvcomp-cu12"
         | 
| 567 | 
             
            version = "4.1.0.6"
         | 
| 568 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 569 | 
            +
            wheels = [
         | 
| 570 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-nvcomp-cu12/nvidia_nvcomp_cu12-4.1.0.6-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:3bff6267fa6aae59a98155262e5e9da6142e798dac5afd01f7389b23bce89803" },
         | 
| 571 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-nvcomp-cu12/nvidia_nvcomp_cu12-4.1.0.6-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:aaff831f0fdbf20631df32e411ede37ddf5fd7297f78e77346441cd0d72cb787" },
         | 
| 572 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-nvcomp-cu12/nvidia_nvcomp_cu12-4.1.0.6-py3-none-win_amd64.whl", hash = "sha256:df24bedfe9df8be67ae7c59f5d21223f082c5ce689679909ee4985c563a0a89f" },
         | 
| 573 | 
            +
            ]
         | 
| 574 | 
            +
             | 
| 575 | 
            +
            [[package]]
         | 
| 576 | 
            +
            name = "nvidia-nvjitlink-cu12"
         | 
| 577 | 
            +
            version = "12.8.61"
         | 
| 578 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 579 | 
             
            wheels = [
         | 
| 580 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-nvjitlink-cu12/nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:45fd79f2ae20bd67e8bc411055939049873bfd8fac70ff13bd4865e0b9bdab17" },
         | 
| 581 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-nvjitlink-cu12/nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9b80ecab31085dda3ce3b41d043be0ec739216c3fc633b8abe212d5a30026df0" },
         | 
| 582 | 
            +
                { url = "https://pypi.nvidia.com/nvidia-nvjitlink-cu12/nvidia_nvjitlink_cu12-12.8.61-py3-none-win_amd64.whl", hash = "sha256:1166a964d25fdc0eae497574d38824305195a5283324a21ccb0ce0c802cbf41c" },
         | 
| 583 | 
             
            ]
         | 
| 584 |  | 
| 585 | 
             
            [[package]]
         | 
|  | |
| 594 | 
             
                { url = "https://files.pythonhosted.org/packages/53/6d/81a1da3a1e7b216412f768add33799a8f73de906cd78118d0e57c82c951c/nvtx-0.2.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:552ee32cadd7a8205833e157f3e161670200b213eb2816fd8631182c3e97c0dc", size = 695537 },
         | 
| 595 | 
             
            ]
         | 
| 596 |  | 
| 597 | 
            +
            [[package]]
         | 
| 598 | 
            +
            name = "nx-cugraph-cu12"
         | 
| 599 | 
            +
            version = "24.12.0"
         | 
| 600 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 601 | 
            +
            dependencies = [
         | 
| 602 | 
            +
                { name = "cupy-cuda12x" },
         | 
| 603 | 
            +
                { name = "networkx" },
         | 
| 604 | 
            +
                { name = "numpy" },
         | 
| 605 | 
            +
                { name = "pylibcugraph-cu12" },
         | 
| 606 | 
            +
            ]
         | 
| 607 | 
            +
            wheels = [
         | 
| 608 | 
            +
                { url = "https://pypi.nvidia.com/nx-cugraph-cu12/nx_cugraph_cu12-24.12.0-py3-none-any.whl", hash = "sha256:a6bd906e498aefb7cfb0f7ec36d1fd776a72baee275da1452888ea82970956b6" },
         | 
| 609 | 
            +
            ]
         | 
| 610 | 
            +
             | 
| 611 | 
             
            [[package]]
         | 
| 612 | 
             
            name = "packaging"
         | 
| 613 | 
             
            version = "24.2"
         | 
|  | |
| 763 | 
             
            [[package]]
         | 
| 764 | 
             
            name = "pylibcudf-cu12"
         | 
| 765 | 
             
            version = "24.12.0"
         | 
| 766 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 767 | 
             
            dependencies = [
         | 
| 768 | 
             
                { name = "cuda-python" },
         | 
| 769 | 
             
                { name = "libcudf-cu12" },
         | 
|  | |
| 774 | 
             
                { name = "typing-extensions" },
         | 
| 775 | 
             
            ]
         | 
| 776 | 
             
            wheels = [
         | 
| 777 | 
            +
                { url = "https://pypi.nvidia.com/pylibcudf-cu12/pylibcudf_cu12-24.12.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c61587a6d9e9f392745b9b238f3eebcfacbbf21e3c7d9fedf7a1a672284fcce" },
         | 
| 778 | 
            +
                { url = "https://pypi.nvidia.com/pylibcudf-cu12/pylibcudf_cu12-24.12.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6459baed065bc76fbc7ef34e14912982971c1a9d4bffb2699909d78a95b0b8a3" },
         | 
| 779 | 
            +
                { url = "https://pypi.nvidia.com/pylibcudf-cu12/pylibcudf_cu12-24.12.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dd130e347c28716912b89a1f7ff653ca6e202bfbc79f5abbedd7918bb9124f34" },
         | 
| 780 | 
            +
                { url = "https://pypi.nvidia.com/pylibcudf-cu12/pylibcudf_cu12-24.12.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e2bb951f1a2fddf1976b84aa4e6d1280689da22014d6d1d5f48364cc1b32e2d" },
         | 
| 781 | 
            +
            ]
         | 
| 782 | 
            +
             | 
| 783 | 
            +
            [[package]]
         | 
| 784 | 
            +
            name = "pylibcugraph-cu12"
         | 
| 785 | 
            +
            version = "24.12.0"
         | 
| 786 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 787 | 
            +
            dependencies = [
         | 
| 788 | 
            +
                { name = "nvidia-cublas-cu12" },
         | 
| 789 | 
            +
                { name = "nvidia-curand-cu12" },
         | 
| 790 | 
            +
                { name = "nvidia-cusolver-cu12" },
         | 
| 791 | 
            +
                { name = "nvidia-cusparse-cu12" },
         | 
| 792 | 
            +
                { name = "pylibraft-cu12" },
         | 
| 793 | 
            +
                { name = "rmm-cu12" },
         | 
| 794 | 
            +
            ]
         | 
| 795 | 
            +
            wheels = [
         | 
| 796 | 
            +
                { url = "https://pypi.nvidia.com/pylibcugraph-cu12/pylibcugraph_cu12-24.12.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:314d0c35cf2fadee224577e23c141fae4c59532c7a4a9a9ccfbcfac0bfdd75a7" },
         | 
| 797 | 
            +
                { url = "https://pypi.nvidia.com/pylibcugraph-cu12/pylibcugraph_cu12-24.12.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:bcc370b63c3b7da535c4c33658bbd8dde8ccef1dc63a5d6454afb462b8316de4" },
         | 
| 798 | 
            +
                { url = "https://pypi.nvidia.com/pylibcugraph-cu12/pylibcugraph_cu12-24.12.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fa100594d5d7f1d4d1405e1628d879bf3a39431169a6bd65619cb73f8ffe99fc" },
         | 
| 799 | 
            +
                { url = "https://pypi.nvidia.com/pylibcugraph-cu12/pylibcugraph_cu12-24.12.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:3ffdf0788aec9791b2483de45db0eeb2a1bafc0ae9ca8d34c8a5998a36b3120e" },
         | 
| 800 | 
            +
            ]
         | 
| 801 | 
            +
             | 
| 802 | 
            +
            [[package]]
         | 
| 803 | 
            +
            name = "pylibraft-cu12"
         | 
| 804 | 
            +
            version = "24.12.0"
         | 
| 805 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 806 | 
            +
            dependencies = [
         | 
| 807 | 
            +
                { name = "cuda-python" },
         | 
| 808 | 
            +
                { name = "numpy" },
         | 
| 809 | 
            +
                { name = "nvidia-cublas-cu12" },
         | 
| 810 | 
            +
                { name = "nvidia-curand-cu12" },
         | 
| 811 | 
            +
                { name = "nvidia-cusolver-cu12" },
         | 
| 812 | 
            +
                { name = "nvidia-cusparse-cu12" },
         | 
| 813 | 
            +
                { name = "rmm-cu12" },
         | 
| 814 | 
            +
            ]
         | 
| 815 | 
            +
            wheels = [
         | 
| 816 | 
            +
                { url = "https://pypi.nvidia.com/pylibraft-cu12/pylibraft_cu12-24.12.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:f3102f3b7886ad9583672fa2d47c3a941215e34d0ee3a8d3a32cebc2dfcc8606" },
         | 
| 817 | 
            +
                { url = "https://pypi.nvidia.com/pylibraft-cu12/pylibraft_cu12-24.12.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:47d3915fd3cdf4022acbd0315f88b12155399ef0b0e77fcac050c459ab6b31b0" },
         | 
| 818 | 
            +
                { url = "https://pypi.nvidia.com/pylibraft-cu12/pylibraft_cu12-24.12.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:af4c259b275ce36f998b5adb16fd55582f90a20c5223029e02c9a59dc7ce5331" },
         | 
| 819 | 
            +
                { url = "https://pypi.nvidia.com/pylibraft-cu12/pylibraft_cu12-24.12.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:291b804ba21c34bbab17da34d6cc6ee86b9750f2714dfbd339c5906fefb7201e" },
         | 
| 820 | 
             
            ]
         | 
| 821 |  | 
| 822 | 
             
            [[package]]
         | 
|  | |
| 852 | 
             
            [[package]]
         | 
| 853 | 
             
            name = "rmm-cu12"
         | 
| 854 | 
             
            version = "24.12.1"
         | 
| 855 | 
            +
            source = { registry = "https://pypi.nvidia.com/" }
         | 
| 856 | 
             
            dependencies = [
         | 
| 857 | 
             
                { name = "cuda-python" },
         | 
| 858 | 
             
                { name = "numba" },
         | 
| 859 | 
             
                { name = "numpy" },
         | 
| 860 | 
             
            ]
         | 
| 861 | 
             
            wheels = [
         | 
| 862 | 
            +
                { url = "https://pypi.nvidia.com/rmm-cu12/rmm_cu12-24.12.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d509d735201d1b0bc05b3e148e23a6216eabcfec67006a4e9311b6c25766023f" },
         | 
| 863 | 
            +
                { url = "https://pypi.nvidia.com/rmm-cu12/rmm_cu12-24.12.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c1d6b166aaf9b81495ff33f2fe5a29ad12dc1ed6089daf9f387160e7734fc901" },
         | 
| 864 | 
            +
                { url = "https://pypi.nvidia.com/rmm-cu12/rmm_cu12-24.12.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:317a6641fb37f3efa6e8eb76eeb568970a8c439e0090529520861fd139ef6f0c" },
         | 
| 865 | 
            +
                { url = "https://pypi.nvidia.com/rmm-cu12/rmm_cu12-24.12.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a9460a386e34f1921c8d06204f320d705511de899ababb45302d314da036da5a" },
         | 
| 866 | 
             
            ]
         | 
| 867 |  | 
| 868 | 
             
            [[package]]
         | 
|  | |
| 874 | 
             
                { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 },
         | 
| 875 | 
             
            ]
         | 
| 876 |  | 
| 877 | 
            +
            [[package]]
         | 
| 878 | 
            +
            name = "sniffio"
         | 
| 879 | 
            +
            version = "1.3.1"
         | 
| 880 | 
            +
            source = { registry = "https://pypi.org/simple" }
         | 
| 881 | 
            +
            sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 }
         | 
| 882 | 
            +
            wheels = [
         | 
| 883 | 
            +
                { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 },
         | 
| 884 | 
            +
            ]
         | 
| 885 | 
            +
             | 
| 886 | 
             
            [[package]]
         | 
| 887 | 
             
            name = "typing-extensions"
         | 
| 888 | 
             
            version = "4.12.2"
         |