diff --git a/packages/gridfm-graphkit/models/gridfm-pf-reconstruction/model.yaml b/packages/gridfm-graphkit/models/gridfm-pf-reconstruction/model.yaml new file mode 100644 index 0000000..58da3a4 --- /dev/null +++ b/packages/gridfm-graphkit/models/gridfm-pf-reconstruction/model.yaml @@ -0,0 +1,15 @@ +model: + # Trained GridFM PowerFlow checkpoint (case14_ieee, GNS_heterogeneous), + # exported via gridfm_graphkit.vllm.export.export_model and published to the Hub. + id: gridfm/gridfm-pf-reconstruction + + vllm: + enabled: true + plugins: + # Registers the custom pooling-model class (architecture "GridFMGNS"). + # Installed by gridfm-graphkit[vllm] via the vllm.general_plugins entry point. + general: gridfm_gns + io_processors: + # Builds a normalized HeteroData graph from a power-grid case, serves the + # PowerFlow reconstruction, and returns per-node embeddings + Vm/Va/Pg. + - gridfm_pf_reconstruction diff --git a/packages/gridfm-graphkit/models/gridfm-pf-reconstruction/usage.md b/packages/gridfm-graphkit/models/gridfm-pf-reconstruction/usage.md new file mode 100644 index 0000000..1185527 --- /dev/null +++ b/packages/gridfm-graphkit/models/gridfm-pf-reconstruction/usage.md @@ -0,0 +1,124 @@ +# Using the GridFM PowerFlow Reconstruction Model + +This guide explains how to serve the GridFM heterogeneous GNN for PowerFlow +reconstruction through vLLM's `/pooling` endpoint. + +## Overview + +GridFM (`gridfm/gridfm-pf-reconstruction`) is a heterogeneous graph neural +network (`GNS_heterogeneous`) over power-grid graphs. Buses and generators are +nodes; branches and bus↔generator connections are typed edges. Served for the +**PowerFlow reconstruction** task, it returns, per request: + +- per-node latent **embeddings** (bus and generator), and +- **predictions**: bus voltage magnitude/angle (Vm, Va) and generator active + power (Pg), denormalized back to physical units. + +Because the model consumes a graph rather than text, it is served as a vLLM +**pooling** model paired with an I/O processor plugin that translates a +power-grid case into the graph tensors the model expects and translates the +pooled output back into a structured response. + +## Prerequisites + +### Installation + +Install gridfm-graphkit with its vLLM extra (pulls in `vllm==0.26.x`): + +```bash +pip install "gridfm-graphkit[vllm]" +``` + +This installs two entry points that vLLM discovers at startup: + +- `vllm.general_plugins` → `gridfm_gns` — registers the `GridFMGNS` pooling + model architecture. +- `vllm.io_processor_plugins` → `gridfm_pf_reconstruction` — the PowerFlow + reconstruction I/O processor. + +## Starting the vLLM Server + +```bash +vllm serve gridfm/gridfm-pf-reconstruction \ + --runner pooling \ + --trust-remote-code \ + --skip-tokenizer-init \ + --enforce-eager \ + --io-processor-plugin gridfm_pf_reconstruction \ + --enable-mm-embeds +``` + +### Command Arguments Explained + +- `--runner pooling`: serve as a pooling/encoder model (no token generation). +- `--trust-remote-code`: allow loading the model's config/architecture. +- `--skip-tokenizer-init`: no tokenizer is needed for a graph model. +- `--enforce-eager`: eager execution (the model is attention-free). +- `--io-processor-plugin gridfm_pf_reconstruction`: enable the PowerFlow + reconstruction I/O processor. +- `--enable-mm-embeds`: enable the multimodal path used to ship graph tensors. + +The server starts on `http://localhost:8000` by default. + +## Making Inference Requests + +The I/O processor accepts a power-grid case as record lists for buses, +generators and branches (the same columns GridFM's dataset builder consumes). +Send it to the `/pooling` endpoint. + +### Python Client Example + +```python +import requests + +VLLM_SERVER_ENDPOINT = "http://localhost:8000/pooling" + +request_payload = { + "data": { + "case": { + "bus": [ /* per-bus records */ ], + "gen": [ /* per-generator records */ ], + "branch": [ /* per-branch records */ ], + }, + "return_embeddings": True, + "return_predictions": True, + }, + "priority": 0, + "model": "gridfm/gridfm-pf-reconstruction", +} + +response = requests.post(VLLM_SERVER_ENDPOINT, json=request_payload) +response.raise_for_status() +result = response.json()["data"] + +print("num buses:", result["num_buses"]) +print("num gens: ", result["num_gens"]) +# result["bus_predictions"] -> per-bus [Vm, Va, ...] in physical units +# result["gen_predictions"] -> per-generator [Pg, ...] in physical units +# result["bus_embeddings"] -> per-bus latent vectors +# result["gen_embeddings"] -> per-generator latent vectors +``` + +### Request Payload Structure + +- **`data`**: the input configuration + - **`case`**: the power-grid case as `bus` / `gen` / `branch` record lists. + - **`return_embeddings`**: include per-node latent embeddings in the response. + - **`return_predictions`**: include per-node Vm/Va/Pg predictions. +- **`priority`**: request priority (0 = normal). +- **`model`**: the model identifier. + +## Output + +The response `data` object contains: + +- **`num_buses`**, **`num_gens`**: node counts for the served case. +- **`bus_predictions`**, **`gen_predictions`**: denormalized per-node + predictions (bus Vm/Va, generator Pg). +- **`bus_embeddings`**, **`gen_embeddings`**: per-node latent embeddings. + +## Additional Resources + +- [gridfm-graphkit](https://github.com/gridfm/gridfm-graphkit) +- [vLLM pooling models](https://docs.vllm.ai/en/latest/models/pooling_models.html) +- [vLLM I/O processor plugins](https://docs.vllm.ai/en/latest/design/io_processor_plugins.html) diff --git a/pyproject.toml b/pyproject.toml index dbbbace..3284484 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,6 +20,11 @@ nexus = "algorithm_nexus.cli:main" candidate = [ "biomed-multi-alignment[vllm]", "bmfm-targets[vllm]>=0.20.0", + # gridfm-graphkit 0.9.0.3 ships the vLLM serving subpackage + `vllm` extra + + # entry points (gridfm_gns, gridfm_pf_reconstruction). Its `vllm` extra targets + # vllm>=0.29,<0.30, matching this candidate variant (vllm==0.29.0). It is + # intentionally NOT added to `product` (vllm>=0.28,<0.29) until validated there. + "gridfm-graphkit[vllm]==0.9.0.3", # CP 02/07/2026 # Scanners are flagging opencv-python-headless==5.0.0.93 as # potentially malicious. While we think it's a false positive, @@ -40,7 +45,7 @@ cli = [ ecosystem = [ "biomed-multi-alignment", "bmfm-targets", - "gridfm-graphkit==0.8.1", + "gridfm-graphkit==0.9.0.3", "terrakit>=0.2.0", "terratorch>=1.2.7", "tokamind", @@ -87,6 +92,13 @@ conflicts = [ ], ] +# gridfm-graphkit (>=0.9) depends on torch-scatter, whose sdist imports torch at +# build time without declaring it as a build dependency. Inject torch into its +# build environment so `uv lock` can generate its metadata. (Must sit after all +# flat [tool.uv] keys above, or it orphans them.) +[tool.uv.extra-build-dependencies] +torch-scatter = ["torch"] + [tool.uv.sources] bmfm-targets = { git = "https://github.com/BiomedSciAI/biomed-multi-omic.git" } tokamind = { git = "https://github.com/UKAEA-IBM-STFC-Fusion-FMs/tokamind", tag = "OS_v2.0" } diff --git a/requirements-candidate.txt b/requirements-candidate.txt index ac8ccc9..349c8af 100644 --- a/requirements-candidate.txt +++ b/requirements-candidate.txt @@ -77,8 +77,10 @@ aiohttp==3.14.3 \ # via # aiobotocore # fsspec + # mlflow # s3fs # terrakit + # torch-geometric # vllm aioitertools==0.13.0 \ --hash=sha256:0be0292b856f08dfac90e31f4739432f4cb6d7520ab9eb73e143f4f2fa5259be \ @@ -98,6 +100,10 @@ albumentations==2.0.8 \ --hash=sha256:4da95e658e490de3c34af8fcdffed09e36aa8a4edd06ca9f9e7e3ea0b0b16856 \ --hash=sha256:c4c4259aaf04a7386ad85c7fdcb73c6c7146ca3057446b745cc035805acb1017 # via terratorch +alembic==1.20.0 \ + --hash=sha256:77eb101048d95f982c0353e9233404889dcd7a6fc244c107836c0e2fc9cf7d9d \ + --hash=sha256:db505480647bc60386c5369402f4a57a506b7539c9e9ef5e270d45cbbe4939bf + # via mlflow anndata==0.11.4 \ --hash=sha256:4ce08d09d2ccb5f37d32790363bbcc7fc1b79863842296ae4badfaf48c736e24 \ --hash=sha256:fefebb1480316dfa5a23924aa9f74781d447484421bb0c788b0b2ca5e3b339d2 @@ -134,6 +140,7 @@ anyio==4.15.1 \ # httpx # httpx2 # mcp + # mlflow-skinny # openai # sse-starlette # starlette @@ -250,6 +257,10 @@ bcrypt==5.0.0 \ --hash=sha256:f8429e1c410b4073944f03bd778a9e066e7fad723564a52ff91841d278dfc822 \ --hash=sha256:fc746432b951e92b58317af8e0ca746efe93e66555f1b40888865ef5bf56446b # via paramiko +beautifulsoup4==4.15.0 \ + --hash=sha256:288e3ca7d54b06f2ac191970bc275c1939cb46d450b255bf6718b04aa37ab4f7 \ + --hash=sha256:d6f88de62e1d4e38ecb1077eb9724cd0eff29d2a08ca16a401e9b9e93f117cf9 + # via gdown biomed-multi-alignment @ git+https://github.com/BiomedSciAI/biomed-multi-alignment@8cc56e9494b489ca86a63b76fa4cd2921f8af7f7 # via algorithm-nexus blake3==1.0.9 \ @@ -281,6 +292,10 @@ blake3==1.0.9 \ --hash=sha256:dab59b324aa65c09e937d6c43de5de85ec9581627f4e79dcc9806d85b54a1c34 \ --hash=sha256:eca281fedcbe5c56655bd5a4176e6036eddbbe57df96114a03838fce08b1e0ca # via vllm +blinker==1.9.0 \ + --hash=sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf \ + --hash=sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc + # via flask blosc2==4.13.1 \ --hash=sha256:1f0276ed928b2975dec012da8ebc9a1ef0a3f26d5a268635e0d12b1737d99832 \ --hash=sha256:442199b65d2ab2fbf87e58b212d77bf15d5cc43e46437c35d58b5aa36b85e84f \ @@ -359,7 +374,10 @@ cachebox==5.2.3 \ cachetools==7.2.0 \ --hash=sha256:3045213f186b89fdd95d94441354c4bd87c570b7a38d8c3fd1d9dd37f6dc90d8 \ --hash=sha256:bcac1a1b8da6909994a2957238a57b8140dab7c5c5c69a43669654fe87a33c1d - # via vllm + # via + # mlflow-skinny + # mlflow-tracing + # vllm captum==0.9.0 \ --hash=sha256:cda38e1d42c37591d71560bb2f5813ac4cae8d8543afac45279c7efd5945997e \ --hash=sha256:e4868e22b68224f1a5355d2b7966803c021cf9fe5d893f51f587b4002a666b54 @@ -528,9 +546,11 @@ click==8.5.0 \ # via # dask # flashinfer-python + # flask # fuse-med-ml # huggingface-hub # mercantile + # mlflow-skinny # rasterio # rich-toolkit # rnanorm @@ -543,6 +563,7 @@ cloudpickle==3.1.2 \ # via # dask # joblib + # mlflow-skinny # tilelang # vllm colorama==0.4.6 ; sys_platform == 'win32' \ @@ -557,7 +578,9 @@ colorama==0.4.6 ; sys_platform == 'win32' \ comm==0.2.3 \ --hash=sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971 \ --hash=sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417 - # via ipykernel + # via + # ipykernel + # ipywidgets compressed-tensors==0.17.0 \ --hash=sha256:15c20d06bdbcf35b51fc99fd125e7b9be1e1855567c33b7a46dfac26ad6fb126 \ --hash=sha256:4a1b89b508f7efb8ffb4eee8a6e69e0452d9b080cae130146025c64fbe9fa9aa @@ -621,6 +644,8 @@ cryptography==50.0.1 \ --hash=sha256:fd3718b960d0b5dd213cdf03f3bcb7000e69dda0de8b956061947ff6bcff5558 \ --hash=sha256:ff838d62ec1bfce4f9ba7fa16f4a7b554cd8d0c299e6be37502161a660c84eef # via + # google-auth + # mlflow # paramiko # pyjwt cuda-bindings==13.4.2 \ @@ -682,6 +707,12 @@ dask==2026.8.0 \ # via # stackstac # terrakit +databricks-sdk==0.140.0 \ + --hash=sha256:32d1470de6364ceb80f70350e22335be850a13376874f8764384b671f2f6a2af \ + --hash=sha256:e61d756bd17bf4fc1cdbdde543364ef792f45d0982e0258c913843720d06d8fd + # via + # mlflow-skinny + # mlflow-tracing dataclasses-json==0.6.7 \ --hash=sha256:0dbf33f26c8d5305befd61b39d2b3414e8a407bedc2834dea9b8d642666fb40a \ --hash=sha256:b6b3e528266ea45b9535223bc53ca645f5208833c29229e847b3f26a1cc55fc0 @@ -726,6 +757,10 @@ dnspython==2.8.0 \ --hash=sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af \ --hash=sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f # via email-validator +docker==7.2.0 \ + --hash=sha256:a3f45fdeb9165e2d25d9a1d02ddf3bc70fb572cf5ebbf9b58558c22caf29b71f \ + --hash=sha256:cebb93773d334f778e023a7ee352a8d6e13ab1bd3b863a4d4a59dec897df43ac + # via mlflow docstring-parser==0.18.0 \ --hash=sha256:292510982205c12b1248696f44959db3cdd1740237a968ea1e2e7a900eeb2015 \ --hash=sha256:b3fcbed555c47d8479be0796ef7e19c2670d428d72e96da63f3a40122860374b @@ -788,6 +823,7 @@ fastapi==0.136.3 \ --hash=sha256:3d2a69bdf04b7e9f3afa292c3bc7a98816bbfafa10bc9b45f3f3700d2f761620 \ --hash=sha256:e487fae93ad408e6f47641ee4dfe389864fd7bec92e547ea8498fc13f43e83ab # via + # mlflow-skinny # model-hosting-container-standards # vllm fastapi-cli==0.0.32 \ @@ -839,6 +875,10 @@ fasteners==0.20 ; sys_platform != 'emscripten' \ --hash=sha256:55dce8792a41b56f727ba6e123fcaee77fd87e638a6863cec00007bfea84c8d8 \ --hash=sha256:9422c40d1e350e4259f509fb2e608d6bc43c0136f79a00db1b49046029d0b3b7 # via zarr +fastjsonschema==2.22.2 \ + --hash=sha256:0fb3915616adac85ccfdd737d26be1089845d2019819505b42d39888458f74d4 \ + --hash=sha256:72064e12356a7d6ef02165be2946b9abadbdf238536e07eb587e3dbaa33099cf + # via nbformat fastsafetensors==0.4.0 \ --hash=sha256:0a178417cdea34308148c25062eb5382067491847862715b2928f2e0de1310ac \ --hash=sha256:2ce238466938cb8fab5026fcaa156c74be59d4b1c1f56db89c6b0ed863824a5a \ @@ -855,7 +895,9 @@ filelock==3.32.7 \ --hash=sha256:65ff0d0190ea42038b32bda4b77834fb05be2cad4c5b9b01aa4dfb3614536e52 # via # diffusers + # gdown # huggingface-hub + # juliapkg # litdata # torch # vllm @@ -863,6 +905,16 @@ flashinfer-python==0.6.18 \ --hash=sha256:70a2074d78cb17ed39c98e5ed47f626c6e8bb29015cf028c49cbf8f2629405a1 \ --hash=sha256:d5d26edb48f8def0bf28b2c94415aef7f0754e2cd9e3cb3d6e7081262d068aad # via vllm +flask==3.1.3 \ + --hash=sha256:0ef0e52b8a9cd932855379197dd8f94047b359ca0a78695144304cb45f87c9eb \ + --hash=sha256:f4bcbefc124291925f1a26446da31a5178f9483862233b23c0c96a20701f670c + # via + # flask-cors + # mlflow +flask-cors==6.0.5 \ + --hash=sha256:30c5031552cd59f620ac0c8211dac45b345d3b2df310e7721879e4f46ef9c601 \ + --hash=sha256:68fcf75693e961f3af26683b23c4b9a8fb6b64de17d20d0c37b95e8de7ab2ed8 + # via mlflow flatbuffers==25.12.19 \ --hash=sha256:7634f50c427838bb021c2d66a3d1168e9d199b0607e6329399f04846d42e20b4 # via tensorflow @@ -966,6 +1018,7 @@ fsspec==2026.9.0 \ # pytorch-lightning # s3fs # torch + # torch-geometric furl==2.1.4 \ --hash=sha256:877657501266c929269739fb5f5980534a41abd6bbabcb367c136d1d3b2a6015 \ --hash=sha256:da34d0b34e53ffe2d2e6851a7085a05d96922b5b578620a37377ff1dbeeb11c8 @@ -978,6 +1031,10 @@ gast==0.7.0 \ --hash=sha256:0bb14cd1b806722e91ddbab6fb86bba148c22b40e7ff11e248974e04c8adfdae \ --hash=sha256:99cbf1365633a74099f69c59bd650476b96baa5ef196fec88032b00b31ba36f7 # via tensorflow +gdown==6.4.0 \ + --hash=sha256:a0f6dd1d23119e36d594822421d151c832641b92dd32bb8d30e870d24fe55149 \ + --hash=sha256:e0c901a4d847b3dd482f556e716726fbf6baca1c7b046757d948b247eeb7c822 + # via gridfm-graphkit geographiclib==2.1 \ --hash=sha256:6a6545e6262d0ed3522e13c515713718797e37ed8c672c31ad7b249f372ef108 \ --hash=sha256:e2a873b9b9e7fc38721ad73d5f4e6c9ed140d428a339970f505c07056997d40b @@ -997,6 +1054,18 @@ geopy==2.5.0 \ --hash=sha256:7b6c849f18108dcce4faa3d614e2801107b465f7b05fd3c1db9db12e225ae950 \ --hash=sha256:8ad8cc226b505ca4d272ae9a2eeba08b8a2c565fc9a04eaefc33ad49c32b51aa # via contextily +gitdb==4.0.12 \ + --hash=sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571 \ + --hash=sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf + # via gitpython +gitpython==3.1.62 \ + --hash=sha256:1791de66309bc0c7cfca40bf8d2e3de7ca091cbf94e6051be1ad0722c61062af \ + --hash=sha256:7002251225e10e29d2e1f49e6532613fe5d5d9f0b6f1f02997a52b38fe56899e + # via mlflow-skinny +google-auth==2.58.0 \ + --hash=sha256:55e30cf15e737de92c5323d78cda8a83fcd57e7ffbaf900c4600039fd60a80fd \ + --hash=sha256:8a9c4645bb4c8e91668fb1934b95ae6a8687084232753639220ba9bf04a1610d + # via databricks-sdk google-pasta==0.2.0 \ --hash=sha256:b32482794a366b5366a32c92a9a9201b107821889935a02b3e51f6b432ea84ed \ --hash=sha256:c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e @@ -1007,6 +1076,51 @@ googleapis-common-protos==1.75.3 \ # via # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http +graphene==3.4.3 \ + --hash=sha256:2a3786948ce75fe7e078443d37f609cbe5bb36ad8d6b828740ad3b95ed1a0aaa \ + --hash=sha256:820db6289754c181007a150db1f7fff544b94142b556d12e3ebc777a7bf36c71 + # via mlflow +graphql-core==3.2.12 \ + --hash=sha256:3d8f104532070485e13caa4092c1e71cda2ba6cffd96e98f285111ee10ed1e51 \ + --hash=sha256:4579094d5fc8a1a59555a9b18e51b320779d9bbc63e2302c519af0c4919d9543 + # via + # graphene + # graphql-relay +graphql-relay==3.2.0 \ + --hash=sha256:1ff1c51298356e481a0be009ccdff249832ce53f30559c1338f22a0e0d17250c \ + --hash=sha256:c9b22bd28b170ba1fe674c74384a8ff30a76c8e26f88ac3aa1584dd3179953e5 + # via graphene +greenlet==3.5.6 ; 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' \ + --hash=sha256:0616b8f878098c5681fd8f0dc92d887551717402342a70f0abcbfea5f5ad8a44 \ + --hash=sha256:06c0e933290fba8ffe53ead4ae1b8044b0e9754b75cebf381aa2bc3e50d82fac \ + --hash=sha256:301102a49120b095e72a7838792b41233975fc1c155daec6d98f81c00c9280e0 \ + --hash=sha256:3dbb4596a6a4e5d47121a33ff20533a81e60f302d9e67b69909a8bc21a43f0a7 \ + --hash=sha256:5b602b4201b965a8354d74e232364a66ff243dd142e350d035f46169bb36e13d \ + --hash=sha256:71890d5247020c25c21a6b65202782bfc281d4e6e244842419d30e3492bb6dcc \ + --hash=sha256:7ac4abb3877c43af320392c664774eef6fa2cc063c79a55fc02d844a3cbe7395 \ + --hash=sha256:7f731ebac68ea06d628658295cb2d217b10186329fcf9a3b6a149045059bf92e \ + --hash=sha256:876077e7ebb8c84ed068e2b23d4c62ebb010d60df84b9591af1be2f39010ffb2 \ + --hash=sha256:8e67c43bdfc88d5fee6db0d3e40175b362fc95fb85f0412d233b9b203c53a575 \ + --hash=sha256:975736b002ed080d124cf81a79cb7e05cb26d6b3f5c7a7b651c0fcce70353aa1 \ + --hash=sha256:a5876d0a60355af98d535c47f6cd6eb0f8a432396dab26845d380b92f8412422 \ + --hash=sha256:a93ee7c6e8fd0f8a83525a51bd777be57ee17787e91d805bd8d6faf9dcada18e \ + --hash=sha256:c75116c9de79949de23006e2d9b35ee82874c594fcf5c0311b439acaa14b8441 \ + --hash=sha256:cad5782f93f7f738b62c6527b6f32a60694d924029f299a8b524758cfa53d815 \ + --hash=sha256:df19e2d0b1620039af5102563fbd96e8938c7f5c3f5828528d641d9fc585525e \ + --hash=sha256:e85880b538e59a59f55117b81f208a6660ad5ac328aad9305f812d9b8bc67a0f \ + --hash=sha256:ee7d9da3bf493909cf811a3f038840cb34fab5ae2956b8a263919f6e289ab188 \ + --hash=sha256:f0ba7c2a329d650628f4c8572fd1db29f0a59dd70a3e3e0710dcf18a35cce9d8 \ + --hash=sha256:f96f0e30b5a95c7631b12bfe214cbc90ec8fe8cfa36920596c10514a65743519 \ + --hash=sha256:f98e8215e172f567ce80eeaed9107fb4d32b6c44f26983d9b8334658136a205a + # via sqlalchemy +gridfm-datakit==1.1.0 \ + --hash=sha256:043abde247f8eb7e0bd8761408a6b47d29aaf5451a0feeec9418f8006d65b5cc \ + --hash=sha256:378958d41d633c46a0aceb3a98b19d516d07c091955e65e72df42e7bb9833c41 + # via gridfm-graphkit +gridfm-graphkit==0.9.0.3 \ + --hash=sha256:1159ddaadc4847830698344621a34f82c4e71d7bf383b1f2056b563fe5d89aae \ + --hash=sha256:473d00fa6ecf1ae4066f11e82ec3cd87f4b34f49488b43f1c3d7986c8c4a7cb6 + # via algorithm-nexus grpcio==1.84.0 \ --hash=sha256:08735e3d08d24ab3132cf87e2e5dea8746cabcc7d676c2b0b7362f195feef9d9 \ --hash=sha256:0d532ade4486dad9b302ffa4d4683d67561051c26d17c4023322845e9fa10140 \ @@ -1033,6 +1147,10 @@ grpcio==1.84.0 \ # opentelemetry-exporter-otlp-proto-grpc # tensorboard # tensorflow +gunicorn==26.2.0 ; sys_platform != 'win32' \ + --hash=sha256:62b864895d9ebff0b2f9867ba04fe811c93121596540830c9c916d0769668447 \ + --hash=sha256:bd249d0b3f7972f7432f0a6b6ff3b3ee2d129f70cd1ff6c09a9dd9e29a2b88e3 + # via mlflow h11==0.16.0 \ --hash=sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1 \ --hash=sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86 @@ -1137,6 +1255,10 @@ httpx2-jsfetch==1.0 ; sys_platform == 'emscripten' \ --hash=sha256:70a0e3eabfef7cce5ad9c629f7d01ca05e418f586646f4ddf14782e4c1454c60 \ --hash=sha256:cb916b707601e69a07721aabc8f3f6659be3a6893bc1ff5c6f9e02241df2da32 # via httpx2 +huey==3.4.0 \ + --hash=sha256:ac9b02e741f13da4092ea19bcaafc73669e97d3153914d2fed2868df144f6dfa \ + --hash=sha256:d0580762397744026f83baae5f2b97a62474a62b8565ac75bbafefe72f9c784f + # via mlflow huggingface-hub==1.32.0 \ --hash=sha256:b0c7c80561969d9cdacdd55fce67ba9584cca0b9d4ea80957a3a5c1445fac5c8 \ --hash=sha256:ed70a45498abe86039df7c2f4e5f7575de524be908d3840e8f828d5525eafd6a @@ -1221,6 +1343,7 @@ importlib-metadata==9.0.1 \ --hash=sha256:bba5600596a7e21f3eef53281cf28d6a5195634d2f2b78ff9501a3272c6eaab0 # via # diffusers + # mlflow-skinny # tiledb-cloud iniconfig==2.3.0 \ --hash=sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730 \ @@ -1245,20 +1368,37 @@ invoke==3.0.3 \ --hash=sha256:437b6a622223824380bfb4e64f612711a6b648c795f565efc8625af66fb57f0c \ --hash=sha256:f11327165e5cbb89b2ad1d88d3292b5113332c43b8553b494da435d6ec6f5053 # via paramiko +ipyfilechooser==0.6.0 \ + --hash=sha256:41df9e4395a924f8e1b78e2804dbe5066dc3fdc233fb07fecfcdc2a0c9a7d8d3 \ + --hash=sha256:4555c24b30b819c91dc0ae5e6f7e4cf8f90e5cca531a9209a1fe4deee288d5c5 + # via gridfm-datakit ipykernel==7.3.0 \ --hash=sha256:897eb64da762549ef610698fca5e9675195ec6ac8ec7f19d81ce1ca20c876057 \ --hash=sha256:9acaaaf97d16355166e4085afe9d225bfbdf2b7ef520f9df3be8f2b248275e09 - # via fuse-med-ml + # via + # fuse-med-ml + # gridfm-datakit ipython==9.17.1 \ --hash=sha256:6d1645743cfd1a07eb695d85aa2b5fa66721f8cbae9431d4049f7084bbf06509 \ --hash=sha256:8919be8c27f20a6f4423145028063f6637b42a03ce57665bb12015ee1f073529 # via # fuse-med-ml # ipykernel + # ipywidgets ipython-pygments-lexers==1.1.1 \ --hash=sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81 \ --hash=sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c # via ipython +ipywidgets==8.1.9 \ + --hash=sha256:bcccba38a6ec3253f7a39c943cea5b9ad01999ce071396171adbc51c6a6a8613 \ + --hash=sha256:f2b8cbcaae10252b809fbe4d7470db75c09b769a32cbf816d20e5ca6d3c5a79d + # via + # gridfm-datakit + # ipyfilechooser +itsdangerous==2.2.0 \ + --hash=sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef \ + --hash=sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173 + # via flask jedi==0.20.0 \ --hash=sha256:7bdd9c2634f56713299976f4cbd59cb3fa92165cc5e05ea811fb253480728b67 \ --hash=sha256:c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011 @@ -1269,9 +1409,11 @@ jinja2==3.1.6 \ # via # branca # fastapi + # flask # folium # humming-kernels # torch + # torch-geometric jiter==0.17.0 \ --hash=sha256:02adebb7ce6413c44d40af9ad59d1c1cd79630ccdcb6f7bdd2d461e48c03d8f9 \ --hash=sha256:03e432f226a453851079fb84cd17c6da9991eab723e28d716f14ae3d906e0c12 \ @@ -1341,6 +1483,7 @@ jsonschema==4.26.0 \ # clearml # mcp # mistral-common + # nbformat # pystac # tiledb-cloud # vllm @@ -1348,6 +1491,14 @@ jsonschema-specifications==2025.9.1 \ --hash=sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe \ --hash=sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d # via jsonschema +juliacall==0.9.36 \ + --hash=sha256:75abfe60fffc48161f5b4b3619ee0e2299df75c738aa88da4302ec718c6c9c7d \ + --hash=sha256:9dc27dbe9da5a78e8d402ffebe0470708ebca4b5fcf7890017819e7dc1a2b85b + # via gridfm-datakit +juliapkg==0.1.27 \ + --hash=sha256:89cbdc56030f3de82c26bc84e2c0e99740675b6c14a746585522b84f52c47e08 \ + --hash=sha256:c2f6c53a65a4f4a1c124db8400ad48c9f142b2def67b2db86703f0cedc42c150 + # via juliacall jupyter-client==8.10.0 \ --hash=sha256:5f73f24f22fa25192cfff6b23c051932a2473a797b05734aff495b392103e14e \ --hash=sha256:9f7116294dca55f1785be880057d44544db9b1567718d92cb33c58886afb9497 @@ -1358,6 +1509,11 @@ jupyter-core==5.9.1 \ # via # ipykernel # jupyter-client + # nbformat +jupyterlab-widgets==3.0.17 \ + --hash=sha256:40ac1e9955acf116c4d995d9bfa082d86ad9ec6d91c4f134827cf5e0a5eb75e0 \ + --hash=sha256:6e61fe21ca8a66039180a5cc52a433e07279d2fee79c8be963e00d55193f17a8 + # via ipywidgets keras==3.15.1 \ --hash=sha256:836460e480930acbd19bb7a17e62f9ecad40e8a9af9a651fc8d0586a96d27e20 \ --hash=sha256:92ae7c1dd7f61041953dc2d42253181ee099086f0b58ae36fcf98147a6f08a29 @@ -1467,6 +1623,7 @@ lightning==2.6.6 \ --hash=sha256:1c6329e241f8a85f29fedead89c1ee138b36caa08de60c260c6a7eaee81c8295 \ --hash=sha256:2bcbd6ee840071cd076c7dc9953d7ac1040df92f1c5fa76583aae644f037ab85 # via + # gridfm-graphkit # terratorch # torchgeo lightning-utilities==0.15.3 \ @@ -1519,6 +1676,10 @@ loguru==0.7.3 \ # via # compressed-tensors # x-transformers +mako==1.4.1 \ + --hash=sha256:a359d9a94a541213958742b2698d0a7757bb83551767bc468a74b9905aba9617 \ + --hash=sha256:d7904710b662996425a21627710c4777c45053146942cf8a7aebf757c92b8c27 + # via alembic markdown==3.10.3 \ --hash=sha256:3589362618f743188b4d955b874402bc814f4f83f544dc207719f4baa7d9c45f \ --hash=sha256:fa6c92a00a4a3c98b22728c64a935ae1928250ae65058a6ded814d2cc29a4cea @@ -1563,7 +1724,9 @@ markupsafe==3.0.3 \ --hash=sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d \ --hash=sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795 # via + # flask # jinja2 + # mako # werkzeug marshmallow==3.26.2 \ --hash=sha256:013fa8a3c4c276c24d26d84ce934dc964e2aa794345a0f8c7e5a7191482c8a73 \ @@ -1589,7 +1752,9 @@ matplotlib==3.11.2 \ # captum # contextily # fuse-med-ml + # gridfm-datakit # lifelines + # mlflow # scanpy # seaborn # torchgeo @@ -1599,6 +1764,10 @@ matplotlib-inline==0.2.2 \ # via # ipykernel # ipython +matpowercaseframes==2.1.1 \ + --hash=sha256:7dac79d559aabec28324fd31eac750463834dfa90842f4f80ee343bfcbfa91de \ + --hash=sha256:bd4211c9bddad0974a3554e777f082123aea516db97126352e2da5fc479f679c + # via gridfm-datakit mcp==2.2.0 \ --hash=sha256:2dc37ecb1974becdcebdbf7561e7c15a07dbbf20ba21ba16c3593b3038b3afbd \ --hash=sha256:bde982589473a060ae145e3406e9a5333fe538c97229ba841f5a7f92be004f81 @@ -1635,6 +1804,18 @@ ml-dtypes==0.6.0 \ # keras # tensorflow # tilelang +mlflow==3.16.1 \ + --hash=sha256:044bd17d49ed216d3e38a537436622154daa5197ea41c1f3dedf155cbd8f40c0 \ + --hash=sha256:e4dfe69ceae31dfc7b8480e76ffe6a7f36752bdfac30e058e6430ade1fb5920b + # via gridfm-graphkit +mlflow-skinny==3.16.1 \ + --hash=sha256:41ec1697710b91d001f8951bdc2d00391a277065ed82268c81706238fa2b918e \ + --hash=sha256:7298b47942b1b0e826e02191653b8c203c3bb242fb699f8beec98e928dbec115 + # via mlflow +mlflow-tracing==3.16.1 \ + --hash=sha256:315ba1ace00d43498da2ad2b2bbb751f3198d6f9cd328168dfeb49911df41925 \ + --hash=sha256:b3ab97c7b4f919704e0cbe0653e6e9b89cf1f8a790f8bb1b4cf7f236df258e9e + # via mlflow model-hosting-container-standards==0.1.16 \ --hash=sha256:47f4f65713120bc3a69feb022981a38db9e557aedf88dbd72077f20588caa12b \ --hash=sha256:d34589633900e53c3ee5f7c78280a7cf7e4f6532c35e763341a262fc85cbe84a @@ -1760,6 +1941,7 @@ narwhals==2.26.0 \ --hash=sha256:6b9cadca82f375c7e4cf584fdc86ca25da54827307a9c58f94547ee6104b82dd # via # formulaic + # plotly # scikit-learn natsort==8.4.0 \ --hash=sha256:45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581 \ @@ -1767,6 +1949,12 @@ natsort==8.4.0 \ # via # anndata # scanpy +nbformat==5.11.1 \ + --hash=sha256:32d4521c68c6e7d5b29c76defaeed9f42ea733142b9b19f88277ce10390b9c4d \ + --hash=sha256:cc6698fa75f4fab8755ead786317815f13a6fee3b53311c0abb1a8b51d52f7ec + # via + # gridfm-datakit + # gridfm-graphkit nccl4py==0.5.0 \ --hash=sha256:0c4cdebb4a05362a3e3f8195f5941fc93aff3f7350a369eff8186720b51cca4e \ --hash=sha256:25e2a149ec5b408d3b4cc19dfbe300ccd88f842af5cd333a618a12f79d205b10 \ @@ -1822,6 +2010,7 @@ networkx==3.6.1 \ --hash=sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762 # via # bmfm-targets + # gridfm-graphkit # scanpy # scikit-image # torch @@ -1864,6 +2053,7 @@ numba==0.65.0 \ --hash=sha256:edad0d9f6682e93624c00125a471ae4df186175d71fd604c983c377cdc03e68b # via # fast-array-utils + # gridfm-datakit # pynndescent # scanpy # umap-learn @@ -1965,6 +2155,8 @@ numpy==2.3.5 ; python_full_version < '3.13' \ # formulaic # fuse-med-ml # geopandas + # gridfm-datakit + # gridfm-graphkit # h5py # humming-kernels # imageio @@ -1974,8 +2166,10 @@ numpy==2.3.5 ; python_full_version < '3.13' \ # lightly-utils # litdata # matplotlib + # matpowercaseframes # mistral-common # ml-dtypes + # mlflow # nccl4py # netcdf4 # nibabel @@ -2005,6 +2199,7 @@ numpy==2.3.5 ; python_full_version < '3.13' \ # segmentation-models-pytorch # sentinelhub # shapely + # skops # somacore # stackstac # statsmodels @@ -2019,6 +2214,7 @@ numpy==2.3.5 ; python_full_version < '3.13' \ # tiledb-vector-search # tiledbsoma # tilelang + # torch-geometric # torchgeo # torchmetrics # torchvision @@ -2087,6 +2283,8 @@ numpy==2.4.6 ; python_full_version >= '3.13' \ # formulaic # fuse-med-ml # geopandas + # gridfm-datakit + # gridfm-graphkit # h5py # humming-kernels # imageio @@ -2096,8 +2294,10 @@ numpy==2.4.6 ; python_full_version >= '3.13' \ # lightly-utils # litdata # matplotlib + # matpowercaseframes # mistral-common # ml-dtypes + # mlflow # nccl4py # netcdf4 # nibabel @@ -2127,6 +2327,7 @@ numpy==2.4.6 ; python_full_version >= '3.13' \ # segmentation-models-pytorch # sentinelhub # shapely + # skops # somacore # stackstac # statsmodels @@ -2141,6 +2342,7 @@ numpy==2.4.6 ; python_full_version >= '3.13' \ # tiledb-vector-search # tiledbsoma # tilelang + # torch-geometric # torchgeo # torchmetrics # torchvision @@ -2204,9 +2406,7 @@ nvidia-cuda-nvrtc==13.4.92 ; sys_platform == 'darwin' \ --hash=sha256:24b9f5eccc6a5a19779038cf468aecb7cecfa8716269beaef5640bd989d21c28 \ --hash=sha256:5ce8c97b00b232c4f50c8c4b5a3b68cafee08bdb82ea86f2052ff01d03194f4a \ --hash=sha256:6af7ac5372920f6a7a560d0699348560fe44cb52c1d722d6afd3119f8af948c4 - # via - # humming-kernels - # nvidia-cublas + # via humming-kernels nvidia-cuda-runtime==13.0.96 ; sys_platform != 'darwin' \ --hash=sha256:7f82250d7782aa23b6cfe765ecc7db554bd3c2870c43f3d1821f1d18aebf0548 \ --hash=sha256:ef9bcbe90493a2b9d810e43d249adb3d02e98dd30200d86607d8d02687c43f55 \ @@ -2419,6 +2619,8 @@ opentelemetry-api==1.44.0 \ --hash=sha256:94b98c893a91b88657eaac1e3ba89618cdb85be6918196705354f34728b2cdef # via # mcp + # mlflow-skinny + # mlflow-tracing # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http # opentelemetry-sdk @@ -2446,6 +2648,8 @@ opentelemetry-proto==1.44.0 \ --hash=sha256:898b155a0e1557afd867478fb6158e8122a46329ca0bb8dc53cc55e98f017f56 \ --hash=sha256:c547a79c2f8c0c515d31509154682e5921c7cfd5ca67b70e1f9266e2c3e103f3 # via + # mlflow-skinny + # mlflow-tracing # opentelemetry-exporter-otlp-proto-common # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http @@ -2453,6 +2657,8 @@ opentelemetry-sdk==1.44.0 \ --hash=sha256:cebe7f65dc12f26ead75c6064de12fd2a9052e5060c0272d402cfa203aae123b \ --hash=sha256:df081c4c6bcfdb1211e3e86140376792643128a25f8d72d1d27675936e7e96ad # via + # mlflow-skinny + # mlflow-tracing # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-exporter-otlp-proto-http # opentelemetry-semantic-conventions-ai @@ -2470,7 +2676,9 @@ opentelemetry-semantic-conventions-ai==0.5.1 \ opt-einsum==3.4.0 \ --hash=sha256:69bb92469f86a1565195ece4ac0323943e83477171b91d24c35afe028a90d7cd \ --hash=sha256:96ca72f1b886d148241348783498194c577fa30a8faac108586b14f1ba4473ac - # via tensorflow + # via + # gridfm-graphkit + # tensorflow optree==0.20.0 \ --hash=sha256:05596b84c1d5b43d9f45ca0bfee528e3e96f0d547522b074cf20bfe8ffea8938 \ --hash=sha256:0acca4b7e82b1f53b413e7c2f63fdfc32ba5465ba85bf5ee588e6323cc5666e3 \ @@ -2558,17 +2766,21 @@ packaging==26.3 \ # lm-format-enforcer # marshmallow # matplotlib + # mlflow-skinny + # mlflow-tracing # nccl4py # nibabel # pandera # patsy # peft + # plotly # pyogrio # pytest # pytorch-lightning # rioxarray # scanpy # scikit-image + # skops # statsmodels # tables # tensorboard @@ -2610,7 +2822,11 @@ pandas==2.3.3 \ # formulaic # fuse-med-ml # geopandas + # gridfm-datakit + # gridfm-graphkit # lifelines + # matpowercaseframes + # mlflow # rdata # rnanorm # scanpy @@ -2642,6 +2858,10 @@ partial-json-parser==0.2.1.1.post7 \ --hash=sha256:145119e5eabcf80cbb13844a6b50a85c68bf99d376f8ed771e2a3c3b03e653ae \ --hash=sha256:86590e1ba6bcb6739a2dfc17d2323f028cb5884f4c6ce23db376999132c9a922 # via vllm +pathlib==1.0.1 \ + --hash=sha256:6940718dfc3eff4258203ad5021090933e5c04707d5ca8cc9e73c94a7894ea9f \ + --hash=sha256:f35f95ab8b0f59e6d354090350b44a80a80635d22efdedfa84c7ad1cf0a74147 + # via gridfm-datakit pathlib2==2.3.7.post1 \ --hash=sha256:5266a0fd000452f1b3467d782f079a4343c63aaa119221fbdc4e39577489ca5b \ --hash=sha256:9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641 @@ -2707,10 +2927,20 @@ platformdirs==4.11.11 \ # via # jupyter-core # tacoreader +plotly==7.1.0 \ + --hash=sha256:dbb7fa18afce40d0a8e80d1bf162eceb3faa0ce5a77fe741ad09a74cf78f53f3 \ + --hash=sha256:f860166a4a3d78c69cb1f4a15f28a5c8283eade98a282a698f3bb853a449ace5 + # via + # gridfm-datakit + # gridfm-graphkit pluggy==1.6.0 \ --hash=sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3 \ --hash=sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746 # via pytest +prettytable==3.18.0 \ + --hash=sha256:439217116152244369caf3d9f1caf2f9fe29b03bd79e88d2928c8e718c95d680 \ + --hash=sha256:b3346e0e6f79180833aebaac088ae926340586cf6d7d991b9eb125b65f72313a + # via skops prometheus-client==0.26.0 \ --hash=sha256:04a91bcf94e2cf74a44a1a874d651a2e853ed354b6e822f3b7487751465d5c2b \ --hash=sha256:fa93d06737aa02bacd05794768508bb97d2fbee28cb3bca04eaae92f0ca953d6 @@ -2775,7 +3005,10 @@ protobuf==6.33.6 \ --hash=sha256:e2afbae9b8e1825e3529f88d514754e094278bb95eadc0e199751cdd9a2e82a2 \ --hash=sha256:e9db7e292e0ab79dd108d7f1a94fe31601ce1ee3f7b79e0692043423020b0593 # via + # databricks-sdk # googleapis-common-protos + # mlflow-skinny + # mlflow-tracing # nvidia-cutlass-dsl-libs-base # nvidia-cutlass-dsl-libs-core # nvidia-cutlass-dsl-libs-cu12 @@ -2810,6 +3043,7 @@ psutil==7.2.2 \ # ipython # peft # tilelang + # torch-geometric # vllm ptyprocess==0.7.0 ; sys_platform != 'emscripten' and sys_platform != 'win32' \ --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \ @@ -2825,6 +3059,10 @@ py-cpuinfo==9.0.0 \ # via # tables # vllm +pyaml==26.7.0 \ + --hash=sha256:11cda3a796efc6dbce0d56836be56cfd26289dad07bcd78e9904086729929c93 \ + --hash=sha256:cfa382780c43ae660669b87d394d550a41856ef175f5749f51f753e12d7077ac + # via gridfm-datakit pyarrow==25.0.1 \ --hash=sha256:0befcf816e45a1af33ac775a9970b749e4868a230c7372f0ae5e932bee27039f \ --hash=sha256:31e49a7888fcdf3a835da33ae777f6bb9a866334e5a789282fc26dcf426f7f15 \ @@ -2842,6 +3080,8 @@ pyarrow==25.0.1 \ --hash=sha256:dda9470024204d7bbf2042b47c6e8a0e47a3eeb8e34405882dfaea6577e0c153 \ --hash=sha256:df961f2e7ae9cf496459259d798652c70625f6c080650d6952f8c04053c58ee9 # via + # gridfm-datakit + # mlflow # somacore # tacoreader # tacotoolbox @@ -2852,6 +3092,14 @@ pyarrow-hotfix==0.7 \ --hash=sha256:3236f3b5f1260f0e2ac070a55c1a7b339c4bb7267839bd2015e283234e758100 \ --hash=sha256:59399cd58bdd978b2e42816a4183a55c6472d4e33d183351b6069f11ed42661d # via somacore +pyasn1==0.6.4 \ + --hash=sha256:9c447d8431c947fe4c8febc4ed9e760bc29011a5b01e5c74b67025bd9fb8ce81 \ + --hash=sha256:deda9277cfd454080ec40b207fb6df82206a3a2688735233cdcd8d3d565f088b + # via pyasn1-modules +pyasn1-modules==0.4.2 \ + --hash=sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a \ + --hash=sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6 + # via google-auth pybase64==1.5.0 \ --hash=sha256:0030a64fe91791e5e553edaff3a55d319cd07fb5e097b09c5f7f45e4905c40cb \ --hash=sha256:0578c54f1ae89e6175eddb742dbaf2e95a060735ec11f4b661f762b635680cbd \ @@ -2932,6 +3180,10 @@ pycocotools==2.0.11 \ # via # fuse-med-ml # terratorch +pycountry==26.2.16 \ + --hash=sha256:115c4baf7cceaa30f59a4694d79483c9167dbce7a9de4d3d571c5f3ea77c305a \ + --hash=sha256:5b6027d453fcd6060112b951dd010f01f168b51b4bf8a1f1fc8c95c8d94a0801 + # via pydantic-extra-types pycparser==3.0 ; (implementation_name != 'PyPy' and platform_python_implementation != 'PyPy') or (implementation_name == 'pypy' and platform_python_implementation == 'PyPy') \ --hash=sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29 \ --hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992 @@ -2952,6 +3204,8 @@ pydantic==2.13.5 \ # mcp # mcp-types # mistral-common + # mlflow-skinny + # mlflow-tracing # model-hosting-container-standards # openai # openai-harmony @@ -3072,6 +3326,7 @@ pyparsing==3.3.3 \ # clearml # matplotlib # rasterio + # torch-geometric pyproj==3.8.0 \ --hash=sha256:01a1601da9c6ad247a12d304f96f9e0b4ddd00b307636341c136442a70c5e218 \ --hash=sha256:0556ce011e1530aea2084a12e39dc9c6ccd25a16c1db5457f39bf83161e7c301 \ @@ -3114,6 +3369,10 @@ pysam==0.24.1 \ --hash=sha256:ceb448961fd35b5b90795d7c7c80b1b35592be7ae0127e28187e3f41c27e035b \ --hash=sha256:fdb008b9dfe673ec029189f6394b2d60ce1380ee387c106e799ada237809b2ee # via bmfm-targets +pysocks==1.7.1 \ + --hash=sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5 \ + --hash=sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0 + # via requests pystac==1.15.2 \ --hash=sha256:4c9a3b2352cad7eb3c226145251c65cbe5c1b04b25d4265b30c015dddf5f391d \ --hash=sha256:b006833253d7e5acd04d877bb7504e14aa1dc98dd0f0ab12f893595030dda2b3 @@ -3267,6 +3526,7 @@ python-dateutil==2.9.0.post0 \ # aiobotocore # botocore # clearml + # graphene # jupyter-client # lightly # matplotlib @@ -3280,6 +3540,7 @@ python-dotenv==1.2.3 \ --hash=sha256:904552145e8bfed22162c09dab1c2b9b54fefa7b23ba780f4f26ca0316b0f0d9 \ --hash=sha256:a20a594dabeaa385725aa239d5244871c143ecb356add8a20fcf23773a6c3a35 # via + # mlflow-skinny # pydantic-settings # scverse-misc # terrakit @@ -3315,7 +3576,9 @@ pywin32==312 ; sys_platform == 'win32' \ --hash=sha256:b457f6d628a47e8a7346ce22acb7e1a46a4a78b52e1d17e1af56871bd19a93bc \ --hash=sha256:c53e878d15a1c44788082bfe712a905433473aa38f86375b7cf8b45e3acbaaf9 \ --hash=sha256:dab4f65ac9c4e48400a2a0530c46c3c579cd5905ecd11b80692373915269208b - # via mcp + # via + # docker + # mcp pyyaml==6.0.3 \ --hash=sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6 \ --hash=sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1 \ @@ -3344,12 +3607,15 @@ pyyaml==6.0.3 \ # clearml # dask # donfig + # gridfm-graphkit # huggingface-hub # jsonargparse # lightning # lm-format-enforcer + # mlflow-skinny # omegaconf # peft + # pyaml # pytorch-lightning # timm # transformers @@ -3457,13 +3723,18 @@ requests==2.34.2 \ # cellxgene-census # clearml # contextily + # databricks-sdk # diffusers + # docker # ecmwf-datastores-client # flashinfer-python # folium + # gdown + # gridfm-datakit # lightly # litdata # mistral-common + # mlflow-skinny # multiurl # opentelemetry-exporter-otlp-proto-http # pystac-client @@ -3472,6 +3743,7 @@ requests==2.34.2 \ # tensorflow # terrakit # tiktoken + # torch-geometric # torchdata # vllm requests-oauthlib==2.0.0 \ @@ -3605,6 +3877,7 @@ safetensors==0.8.0 \ # via # accelerate # diffusers + # gridfm-graphkit # humming-kernels # peft # segmentation-models-pytorch @@ -3661,9 +3934,11 @@ scikit-learn==1.9.1 \ # via # cellxgene-census # fuse-med-ml + # mlflow # pynndescent # rnanorm # scanpy + # skops # terrakit # terratorch # tiledb-vector-search @@ -3710,12 +3985,15 @@ scipy==1.18.1 \ # fast-array-utils # formulaic # fuse-med-ml + # gridfm-datakit # lifelines + # mlflow # pynndescent # rioxarray # scanpy # scikit-image # scikit-learn + # skops # somacore # statsmodels # tiledbsoma @@ -3729,13 +4007,19 @@ scverse-misc==0.1.6 \ seaborn==0.13.2 \ --hash=sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987 \ --hash=sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7 - # via scanpy + # via + # gridfm-graphkit + # scanpy segmentation-models-pytorch==0.5.0 \ --hash=sha256:c34e09047771aa4dd8878b4f899e8125700cd1f8f7db16e58c37204154151a05 \ --hash=sha256:cabba8aced6ef7bdcd6288dd9e1dc2840848aa819d539c455bd07aeceb2fdf96 # via # terratorch # torchgeo +semver==3.1.0 \ + --hash=sha256:14bc073439513d7773662a338f4db9829cf16c12b74b9568e2d2689975fbd7fc \ + --hash=sha256:6e4998f8b4762acdfea85f9bfd5b4032e0bb50038dc04bf82011b42d5d1145c5 + # via juliapkg sentencepiece==0.2.2 \ --hash=sha256:1edb10e520e4bddf74d85b0f5ae74cc2d60c2b448885080bfb618bc2b3a49f6b \ --hash=sha256:201a8e0f55501a76e08dbf2c54bc45f4642b379271e89c667d517bfbc2191f2a \ @@ -3902,6 +4186,14 @@ six==1.17.0 \ # tensorflow # tiledb-cloud # vllm +skops==0.15.0 \ + --hash=sha256:29bb4585d254e895b37f74d3274a17a21ef9910702675b244e1c5edd90cd8a75 \ + --hash=sha256:5984ac51d9b4a12af69a9e9e5f6961379933a293941197fac59a6371865f375c + # via mlflow +smmap==5.0.3 \ + --hash=sha256:4d9debb8b99007ae47165abc08670bd74cb74b5227dda7f643eccc4e9eb5642c \ + --hash=sha256:c106e05d5a61449cf6ba9a1e650227ecfb141590d2a98412103ff35d89fc7b2f + # via gitdb sniffio==1.3.1 \ --hash=sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 \ --hash=sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc @@ -3912,6 +4204,34 @@ somacore==1.0.29 \ --hash=sha256:5bb91a9c8b36d45fbe408b39311ccc09ae43fb418b322ea5d025e119b0c7d639 \ --hash=sha256:93ef9f4d1ba88925ddb5f1772d465b9d8ce96bec329bc2ad9de44d7857e13126 # via tiledbsoma +soupsieve==2.9.2 \ + --hash=sha256:4a55d8cf158a9c2e587fa4922f1bbb91d68ac829e2d6f25403a85747c71daf74 \ + --hash=sha256:8089a26fd974ca7a1f30276d3d8492ab266ab15af581642dfe8aa162e0c1c823 + # via beautifulsoup4 +sqlalchemy==2.0.54 \ + --hash=sha256:264460333ed0b177cbb1956355d0ee4e0cab83fb415c934ce12a25db2e7be39c \ + --hash=sha256:31d5458672a6f72db2c087f4a5098b3c8503ea0254186ff29205d63afa9401a4 \ + --hash=sha256:32de6deded25e8b9b11d07428d496ff24dfbc882b8e990c177266948cb5f3d9e \ + --hash=sha256:3de32cc6721eb42c3aad35bcfb244bb7a18f66c00f3582aae6281d6287a339b5 \ + --hash=sha256:48611087a75d26d798003645c688c7d3cfc26b89dbe4a2c568d6b378d330deae \ + --hash=sha256:63cae7210fea9899e0bf35c1f1ae55d3ddd9c6d47cae8b6b43d945afa79dd65b \ + --hash=sha256:68d994e9b0d0423a02a20039631fa6fcbb7fa829a992f7605025774940305d19 \ + --hash=sha256:7e33a631ab1474f8fe6b910bd1a07b7b8009c4c78cdd3fb18001b03e3bc2e1d2 \ + --hash=sha256:b374e3bc91e246a942592a98ba6a23be76fff21358b00546ac8c0ebc0fd0e00b \ + --hash=sha256:baa8521e8ee9f24e75dfc7aaabc08020e551ef0d48d7c3e3536f5cddf277586b \ + --hash=sha256:cad78d04254967bdbcccbed5e631d88fe4868530946ab0929aa45e9032849518 \ + --hash=sha256:cf89e92bf0d4204a6afcc17af27b9271ed9c7e34e17d6f80c085d431ea4a1747 \ + --hash=sha256:d31a2bc06a854ee52dd86b455be4df7c750b28817e2d1b884e31fff126c4fd7b \ + --hash=sha256:d65f8ca742ef1e1e14bc417ef59dc2ddf207a7b66b30cfdc6152447314e030cf \ + --hash=sha256:d6adf80277372a89910a0f3ccfe960b846d279dc55b366dd5c5ec07f41c84758 \ + --hash=sha256:ffba7eb2d67c7505e82a0902aa854d8824b74c28a183820d6a8bd3cfd0f812c2 + # via + # alembic + # mlflow +sqlparse==0.6.0 \ + --hash=sha256:113c35c75365ab9cc9c7231d68c6428fb11c085fc8e9eb1ad659b7ddbf6cd2b9 \ + --hash=sha256:b861c0288ce2fa56209a9a6412d2e066ac664b3873b89c26c9d8415e8e32996f + # via mlflow-skinny sse-starlette==3.4.11 \ --hash=sha256:1bae716c02f3e6f294be41ff333220692dae7c3cbab077c900f159676719dade \ --hash=sha256:c7b2244bdff016fe7f64e10075e89a3e6bbf899649cc89b0fe884b5545042453 @@ -3930,6 +4250,7 @@ starlette==1.6.0 \ # via # fastapi # mcp + # mlflow-skinny # model-hosting-container-standards # prometheus-fastapi-instrumentator # sse-starlette @@ -4165,6 +4486,7 @@ timm==1.0.29 \ --hash=sha256:1af8d12bb7e15c5f96e98d60b7b8319cd7f31730778bf1af58e912a7ce171576 \ --hash=sha256:4266486e355c9beb9432e689de580d09e2efe7fa92a9a79e76c03e7763eac724 # via + # gridfm-graphkit # segmentation-models-pytorch # terratorch # torchgeo @@ -4219,11 +4541,17 @@ tomli==2.4.1 \ --hash=sha256:f3c6818a1a86dd6dca7ddcaaf76947d5ba31aecc28cb1b67009a5877c9a64f3f \ --hash=sha256:f758f1b9299d059cc3f6546ae2af89670cb1c4d48ea29c3cacc4fe7de3058257 \ --hash=sha256:ff18e6a727ee0ab0388507b89d1bc6a22b138d1e2fa56d1ad494586d61d2eae9 - # via sentinelhub + # via + # juliapkg + # sentinelhub tomli-w==1.2.0 \ --hash=sha256:188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90 \ --hash=sha256:2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021 # via sentinelhub +tomlkit==0.15.1 \ + --hash=sha256:177a05aece5a8ca5266fd3c448abb47b8d352f09d477d3ca8332db4d89b24304 \ + --hash=sha256:e25bbf38843005246210a12982776f27f99cb9be67160e14434d0c0d21ee1e97 + # via juliapkg toolz==1.1.0 \ --hash=sha256:15ccc861ac51c53696de0a5d6d4607f99c210739caf987b5d2054f3efed429d8 \ --hash=sha256:27a5c770d068c110d9ed9323f24f1543e83b2f300a687b7891c1a6d56b697b5b @@ -4249,6 +4577,7 @@ torch==2.13.0 \ # flashinfer-python # focal-loss-torch # fuse-med-ml + # gridfm-graphkit # humming-kernels # instanttensor # kornia @@ -4290,6 +4619,13 @@ torch-einops-utils==0.1.28 \ --hash=sha256:1baa1c232382fb73711f69800e726b9c5dc68b2fb5d2699186dc33d925d7ed25 \ --hash=sha256:5a7bfc1386948c51c200bb9db6bb4c986a8bf8c5816668523d8d940c452deeae # via x-transformers +torch-geometric==2.8.0.post1 \ + --hash=sha256:2c0c81666ec10f2132f6b4e0b6c57fc813f2c9f6b57599d7b7a799c614c22fbd \ + --hash=sha256:5d9841cbfa64eadc425e445767127d103dd52fdc5890548c6364986c9bc78029 + # via gridfm-graphkit +torch-scatter==2.1.2 \ + --hash=sha256:69b3aa435f2424ac6a1bfb6ff702da6eb73b33ca0db38fb26989c74159258e47 + # via gridfm-graphkit torchaudio==2.11.0 \ --hash=sha256:13cff988697ccbad539987599f9dc672f40c417bed67570b365e4e5002bbd096 \ --hash=sha256:1c1101c1243ef0e4063ec63298977e2d3655c15cf88d9eb0a1bd4fe2db9f47ea \ @@ -4303,7 +4639,9 @@ torchaudio==2.11.0 \ --hash=sha256:bda09ea630ae7207384fb0f28c35e4f8c0d82dd6eba020b6b335ad0caa9fed49 \ --hash=sha256:e3f9696a9ef1d49acc452159b052370c636406d072e9d8f10895fda87b591ea9 \ --hash=sha256:ed404c4399ad7f172c86a47c1b25293d322d1d58e26b10b0456a86cf67d37d84 - # via vllm + # via + # gridfm-graphkit + # vllm torchcodec==0.16.0 \ --hash=sha256:154c5cf6c2dd2801700dcf0939081f614c50dcbf99f5ecc7f6854e98b7959339 \ --hash=sha256:158e1ed469a5300aeb843102f8d6c4354f97a835ce5dca087aa827c135bd4869 \ @@ -4345,6 +4683,7 @@ torchvision==0.28.0 \ --hash=sha256:e9f54c30cd52e3ef7fd034cc69b7bb7e0964e1c8f8743e018ab92e95b40f9eee # via # fuse-med-ml + # gridfm-graphkit # lightly # litdata # segmentation-models-pytorch @@ -4375,6 +4714,8 @@ tqdm==4.70.1 \ # cdsapi # flashinfer-python # fuse-med-ml + # gdown + # gridfm-datakit # huggingface-hub # humming-kernels # lightly @@ -4390,6 +4731,7 @@ tqdm==4.70.1 \ # terrakit # terratorch # tilelang + # torch-geometric # transformers # umap-learn # vllm @@ -4399,9 +4741,11 @@ traitlets==5.16.1 \ # via # ipykernel # ipython + # ipywidgets # jupyter-client # jupyter-core # matplotlib-inline + # nbformat transformers==5.17.0 \ --hash=sha256:78ec1ce21579b38dfb83950a0658cd119f87212a2fcfdff478096ce9d6c03801 \ --hash=sha256:a153be279169b55b92d8000bf4af294aed684503d091cca7804da2dd8a9de000 @@ -4450,15 +4794,18 @@ typing-extensions==4.16.0 \ # via # aiohttp # aiosignal + # alembic # anndata # anthropic # anyio # apache-tvm-ffi + # beautifulsoup4 # cellxgene-census # cuda-tile # ecmwf-datastores-client # fastapi # formulaic + # graphene # grpcio # httpx2 # huggingface-hub @@ -4468,6 +4815,7 @@ typing-extensions==4.16.0 \ # mcp # mcp-types # mistral-common + # mlflow-skinny # nibabel # nvidia-cutlass-dsl-libs-base # nvidia-cutlass-dsl-libs-core @@ -4493,6 +4841,7 @@ typing-extensions==4.16.0 \ # scverse-misc # sentinelhub # somacore + # sqlalchemy # starlette # tensorflow # tiledb-cloud @@ -4536,6 +4885,11 @@ urllib3==2.8.0 \ # via # botocore # clearml + # databricks-sdk + # docker + # gdown + # gridfm-datakit + # gridfm-graphkit # lightly # litdata # requests @@ -4555,6 +4909,7 @@ uvicorn==0.53.0 \ # fastapi-cli # fastapi-cloud-cli # mcp + # mlflow-skinny uvloop==0.22.1 ; platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32' \ --hash=sha256:0530a5fbad9c9e4ee3f2b33b148c6a64d47bbad8000ea63704fa8260f4cf728e \ --hash=sha256:1cdf5192ab3e674ca26da2eada35b288d2fa49fdd0f357a19f0e7c4e7d5077c8 \ @@ -4582,7 +4937,12 @@ vllm==0.29.0 \ # algorithm-nexus # biomed-multi-alignment # bmfm-targets + # gridfm-graphkit # terratorch +waitress==3.0.2 ; sys_platform == 'win32' \ + --hash=sha256:682aaaf2af0c44ada4abfb70ded36393f0e307f4ab9456a215ce0020baefc31f \ + --hash=sha256:c56d67fd6e87c2ee598b76abdd4e96cfad1f24cacdea5078d382b1f9d7b5ed2e + # via mlflow watchfiles==1.2.0 \ --hash=sha256:01859b11fd9fbca670f4d5da00fbac282cfea9bd67a2125d8b2833a3b5617ea9 \ --hash=sha256:01ea8d66f0693b9b60a6541c8d10263091ca9a9060d242f3c1f3143f9aad2c98 \ @@ -4630,7 +4990,9 @@ watchfiles==1.2.0 \ wcwidth==0.8.4 \ --hash=sha256:2097bb1d28a0ba8fe177c2eb607317f9b1627b03f33ebebfd3da670b337a65ba \ --hash=sha256:2dae09efa25253ae2874188e86d6861af3b1652aef4118cdf3f0bda288a957fb - # via prompt-toolkit + # via + # prettytable + # prompt-toolkit websockets==17.1 \ --hash=sha256:00bf34b64501e3477e81fc281532ff3cbf4da26633c10b63979d5085d46602d3 \ --hash=sha256:0340bbef6bfbe16da888b3983d666a4db4954ac3253c38f13bc7aba0c7db5a2f \ @@ -4678,7 +5040,10 @@ websockets==17.1 \ werkzeug==3.1.8 \ --hash=sha256:63a77fb8892bf28ebc3178683445222aa500e48ebad5ec77b0ad80f8726b1f50 \ --hash=sha256:9bad61a4268dac112f1c5cd4630a56ede601b6ed420300677a869083d70a4c44 - # via tensorboard + # via + # flask + # flask-cors + # tensorboard wget==3.2 \ --hash=sha256:35e630eca2aa50ce998b9b1a127bb26b30dfee573702782aa982f875e3f16061 # via fuse-med-ml @@ -4686,6 +5051,10 @@ wheel==0.48.0 \ --hash=sha256:3217dcc807155e45db462d7ef2431f5ddda0d7273b700d05a67b271ceb1287ab \ --hash=sha256:94800765601e9171bf5d58d066e640662842bcedcbab982b2c90787a2c987322 # via astunparse +widgetsnbextension==4.0.16 \ + --hash=sha256:a31a8774885b96fe825462f5d6496166f0c7cae111195b6465c801d230eb5a4e \ + --hash=sha256:adeea0ae78f0856ee4945f413299801b82a0a01416303301f39a704282a37b73 + # via ipywidgets win32-setctime==1.2.0 ; sys_platform == 'win32' \ --hash=sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390 \ --hash=sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0 @@ -4746,6 +5115,59 @@ xgrammar==0.2.7 ; platform_machine == 'aarch64' or platform_machine == 'arm64' o --hash=sha256:e2c21c993f72c28dce0de4a6b81c79837d8ddec9f8fce8515b0709b307691dd4 \ --hash=sha256:e4397798f73512ab5abccbadf0a7b6aaf0753ccc4f3171c43b14c4d22df1ed28 # via vllm +xxhash==4.0.1 \ + --hash=sha256:0163b5d259de23ae9e07b7eabf435ce4704f6f205589a2b154e6af4be985ce1b \ + --hash=sha256:06713a5aaf1d0905c5579416c020c02e42b3ceb931e86c7d3b7fb85403dee3f3 \ + --hash=sha256:08ed8da18cd4fd0a6a5d6a444852d8fbd0e565388a74a4937085451b5f1a312a \ + --hash=sha256:1216f7ba5683f17a89eb7dcb4bc50a0b743dfe1902278d7b3d0786f538118433 \ + --hash=sha256:1642907941ee4b75aacc3db688af52ea02ca2305ab22af7ee686ed726b332684 \ + --hash=sha256:1749f0688020209fe0d357ce1e1cd9ec9c6161ed0405ea949d24581c4c43fa91 \ + --hash=sha256:1b3cccf75eeb5b01639b2feadb042a8e07889293b7ca72fa2985e7dcb64763cf \ + --hash=sha256:1ee523f51718e41753f04f7102bb4dc55a18d2ea5cbaceef8ec7ca08571bd428 \ + --hash=sha256:1f3346c5c287ac3c7f38b20380f55e8768230e7252af59fabcf3b87ab21e4256 \ + --hash=sha256:237b8f63a2a0fcfb1ffc06e21dad23add44e6d354b2b014364a1d41e419a4dee \ + --hash=sha256:247ece770647c0aef080561fa996f9774b4dadce2d0c42eeb98229db7dcf820d \ + --hash=sha256:31d86f9e81f3e84e00131ac7c54caf5119ae4ddd82c09c31cff597c813ce1ee2 \ + --hash=sha256:41e579025a6e13a99e6d71e39c9cfc621a0dcdbbf19106325e145fa858f2d794 \ + --hash=sha256:4751f1d7eecae6b2d2a773630f1a7248f125c9a92a456694d03c15bceffc9d68 \ + --hash=sha256:4a76345f5aceb4ec404918edf9c7f2b5507db864dc0d7455982009ac0890b57b \ + --hash=sha256:4af350bc3f329970c0e3a59af84a8a30998bf8a9167eb50cd48e59baaa1d7bec \ + --hash=sha256:4e5141543c7f7fe3087500bbb4ac2845cb528a980aa91f8f1e661e2292ff4a5d \ + --hash=sha256:4f5e5c6df4b703afcbe9352d238a51efd97c3b91fdc3a2052e40fdacb1e7505f \ + --hash=sha256:515a822c73abbf6a0b7c70976d9662be342835c9d78b8dc7c023411f39c35dbc \ + --hash=sha256:5b7875ac1a2edcb691f27642b8b94b904baa6bcecb7d79c72df2228ba8cb5c51 \ + --hash=sha256:5c2d525a3afabcd8e3549d85fc7e111fde6bc302d06a1893fe73adb79823415e \ + --hash=sha256:5f1ea31d61bcd2cd2f3ec4ca80a64187bbd7948f490b63cf0dcbc6e717b4c1e9 \ + --hash=sha256:74379a577a9f3b6afbdedf1b90e5c7764467051977f18a326d7d607336d743bd \ + --hash=sha256:74a164e8b63f1e9cf35c9a7809d082b033d1a00e7375d5d814415436e7867e57 \ + --hash=sha256:7c343ee174d417a44d0c3355602c0cbbfa52a04d1bbbf1723378c7d2c8f60626 \ + --hash=sha256:81507a68ba84c55241fb61cce1469f473a5da4205fc8ef6f698e5948eea8dd88 \ + --hash=sha256:86b2b12bec60c678ed8f5cca0258ad93a8928ebddb6ca7732f0875afe1451d1a \ + --hash=sha256:87aa309a93bd5ec13f14309a305ff4e9bf74c5363fc46c264c0a22edfd5b0670 \ + --hash=sha256:8ba782ca3bf1e81492611152b9a0d5264971339e95e34d69de0ac2c926be496d \ + --hash=sha256:8c9fe122444e129881afd1d4d1c7ac0d3ce2d91b68c2b40173b6025ff1c31f9a \ + --hash=sha256:94ac8a6b8c47951173f0b67bf862bcb971bf24e493b9fbbdb0e010cbbc7d9f54 \ + --hash=sha256:96d8de55029d42251945531f6aa7590c32b48163c66a43bf29d8657d7446a377 \ + --hash=sha256:97b94fb29abf21f5f0bde15f7dbdd3a4aa2dc59f37026adc7b4bee8563b84375 \ + --hash=sha256:9a51b061d54cda8b83e62c44458bfbf0dabbef9b975dd9649952ba5076b9f349 \ + --hash=sha256:a33de7633c948ab2dc144af370a66e7e7af29b425dcd0f7e4f59689fb9391b53 \ + --hash=sha256:a4553d36cc0b7fce1f35ba8a94dfd775aa3ed12f5eab2dc3b46ac75a0706b0bb \ + --hash=sha256:acb31ecdd1a97fab5cd39a84ee9f515e727d319f796fec48703b8339b9998360 \ + --hash=sha256:acf52474b2494ef66dc7e0fb6d5e2b50c18313039ad4d275fbf9f9907c804bc5 \ + --hash=sha256:c10b9206753b64aa791b35b201485477525b26fdec5bf86e8364c388a03e2592 \ + --hash=sha256:c6fc415b5568bd9accc7187f1729a99707330c0a67a8b9f93c1149ed573ed75d \ + --hash=sha256:cba763d84b06bda2c38d5185dee76f1b9dfdc0789e96e476d9e10005526d0788 \ + --hash=sha256:cd878d32f5c6cbce9783f8d6897561fb772211edba9dde49d85672b88ed45276 \ + --hash=sha256:d54b8ae068af532c8cdf56abb9e09a60fbe7b10792444c9c27987bb6d3b450fa \ + --hash=sha256:d55bf4ef10eb09b8b6866790e083d26d087d84caa3cc0946ba87c3ca7ecaf7b7 \ + --hash=sha256:da0264844a09b538c894e5eff25313d941deb4dedec2131b98418a71a3c9944e \ + --hash=sha256:deca2a30d983d240b8375ec2ee0a4288e72042827fc61df2f7671f8467e4cb2f \ + --hash=sha256:e8cda075b10bb3917b002c74a04f9e02b7d13b5bf732571404d51c52b11c7329 \ + --hash=sha256:f09ee747e2a5f876cc5ad56947734811828335e13b403dd8ea1e06d77a9dd48d \ + --hash=sha256:f3e1a44af01b6692de0ec6caba5f0bf93ceb36896e02b7fc00952c6ea7ef39e1 \ + --hash=sha256:f5d031f35962e5483a613214e61f09fe24ab523062c3646d592dc16c4a217451 \ + --hash=sha256:ff48915bf1871a1f19f74c11834c6329443d306cedc0c05fe7fe617810422a80 + # via torch-geometric xyzservices==2026.9.1 \ --hash=sha256:8d1a39bf6b192940cc5db5264eeefc1b20dd184f8b83b1303b078743744f5943 \ --hash=sha256:af4fddac0f1fa5f7951834e2c58e10109e722be548cb1fe4f1a8e8b18cef4c09 diff --git a/requirements-ecosystem.txt b/requirements-ecosystem.txt index f97039c..661ce57 100644 --- a/requirements-ecosystem.txt +++ b/requirements-ecosystem.txt @@ -899,13 +899,13 @@ greenlet==3.5.6 ; platform_machine == 'AMD64' or platform_machine == 'WIN32' or --hash=sha256:f96f0e30b5a95c7631b12bfe214cbc90ec8fe8cfa36920596c10514a65743519 \ --hash=sha256:f98e8215e172f567ce80eeaed9107fb4d32b6c44f26983d9b8334658136a205a # via sqlalchemy -gridfm-datakit==1.0.5 \ - --hash=sha256:90493c61160d93d4351a5a097a9cbc08681d8155d4177e8199deb22d3609a421 \ - --hash=sha256:bd1c910174aa3242eebb161a7f0e99c402bf00ee745a87e592b0817e680a7853 +gridfm-datakit==1.1.0 \ + --hash=sha256:043abde247f8eb7e0bd8761408a6b47d29aaf5451a0feeec9418f8006d65b5cc \ + --hash=sha256:378958d41d633c46a0aceb3a98b19d516d07c091955e65e72df42e7bb9833c41 # via gridfm-graphkit -gridfm-graphkit==0.8.1 \ - --hash=sha256:2065037edb4a4e08d03acf4b22ec4ccbdcad3f63a34e93f785010353f09b37a0 \ - --hash=sha256:7311ace3f3ba75728ad25b4287e0f760320f9516876f8a22f0abaa5d45e5d624 +gridfm-graphkit==0.9.0.3 \ + --hash=sha256:1159ddaadc4847830698344621a34f82c4e71d7bf383b1f2056b563fe5d89aae \ + --hash=sha256:473d00fa6ecf1ae4066f11e82ec3cd87f4b34f49488b43f1c3d7986c8c4a7cb6 # via algorithm-nexus grpcio==1.84.0 \ --hash=sha256:08735e3d08d24ab3132cf87e2e5dea8746cabcc7d676c2b0b7362f195feef9d9 \ @@ -1620,7 +1620,6 @@ networkx==3.6.1 \ --hash=sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762 # via # bmfm-targets - # gridfm-datakit # gridfm-graphkit # scanpy # scikit-image @@ -3547,6 +3546,9 @@ torch-geometric==2.8.0.post1 \ --hash=sha256:2c0c81666ec10f2132f6b4e0b6c57fc813f2c9f6b57599d7b7a799c614c22fbd \ --hash=sha256:5d9841cbfa64eadc425e445767127d103dd52fdc5890548c6364986c9bc78029 # via gridfm-graphkit +torch-scatter==2.1.2 \ + --hash=sha256:69b3aa435f2424ac6a1bfb6ff702da6eb73b33ca0db38fb26989c74159258e47 + # via gridfm-graphkit torchaudio==2.11.0 \ --hash=sha256:13cff988697ccbad539987599f9dc672f40c417bed67570b365e4e5002bbd096 \ --hash=sha256:1c1101c1243ef0e4063ec63298977e2d3655c15cf88d9eb0a1bd4fe2db9f47ea \ diff --git a/requirements-product.txt b/requirements-product.txt index cd89560..bf5fff2 100644 --- a/requirements-product.txt +++ b/requirements-product.txt @@ -1637,9 +1637,7 @@ nvidia-cuda-nvrtc==13.4.92 ; sys_platform == 'darwin' \ --hash=sha256:24b9f5eccc6a5a19779038cf468aecb7cecfa8716269beaef5640bd989d21c28 \ --hash=sha256:5ce8c97b00b232c4f50c8c4b5a3b68cafee08bdb82ea86f2052ff01d03194f4a \ --hash=sha256:6af7ac5372920f6a7a560d0699348560fe44cb52c1d722d6afd3119f8af948c4 - # via - # humming-kernels - # nvidia-cublas + # via humming-kernels nvidia-cuda-runtime==13.0.96 ; sys_platform != 'darwin' \ --hash=sha256:7f82250d7782aa23b6cfe765ecc7db554bd3c2870c43f3d1821f1d18aebf0548 \ --hash=sha256:ef9bcbe90493a2b9d810e43d249adb3d02e98dd30200d86607d8d02687c43f55 \ diff --git a/uv.lock b/uv.lock index 5b307b7..ab10767 100644 --- a/uv.lock +++ b/uv.lock @@ -284,6 +284,7 @@ source = { editable = "." } candidate = [ { name = "biomed-multi-alignment", extra = ["vllm"], marker = "extra == 'extra-15-algorithm-nexus-candidate' or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, { name = "bmfm-targets", extra = ["vllm"], marker = "extra == 'extra-15-algorithm-nexus-candidate' or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "gridfm-graphkit", extra = ["vllm"], marker = "extra == 'extra-15-algorithm-nexus-candidate' or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, { name = "opencv-python-headless" }, { name = "terrakit" }, { name = "terratorch", extra = ["vllm"], marker = "extra == 'extra-15-algorithm-nexus-candidate' or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, @@ -331,7 +332,8 @@ requires-dist = [ { name = "biomed-multi-alignment", extras = ["vllm"], marker = "extra == 'candidate'", git = "https://github.com/BiomedSciAI/biomed-multi-alignment?rev=0.2.5" }, { name = "bmfm-targets", marker = "extra == 'ecosystem'", git = "https://github.com/BiomedSciAI/biomed-multi-omic.git" }, { name = "bmfm-targets", extras = ["vllm"], marker = "extra == 'candidate'", git = "https://github.com/BiomedSciAI/biomed-multi-omic.git" }, - { name = "gridfm-graphkit", marker = "extra == 'ecosystem'", specifier = "==0.8.1" }, + { name = "gridfm-graphkit", marker = "extra == 'ecosystem'", specifier = "==0.9.0.3" }, + { name = "gridfm-graphkit", extras = ["vllm"], marker = "extra == 'candidate'", specifier = "==0.9.0.3" }, { name = "opencv-python-headless", marker = "extra == 'candidate'", specifier = "!=5.0.0.93" }, { name = "opencv-python-headless", marker = "extra == 'product'", specifier = "!=5.0.0.93" }, { name = "pydantic", marker = "extra == 'cli'", specifier = ">=2.13.3" }, @@ -1402,7 +1404,7 @@ name = "cuda-bindings" version = "13.4.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cuda-pathfinder" }, + { name = "cuda-pathfinder", marker = "(platform_machine != 'ARM64' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-ecosystem') or extra == 'extra-15-algorithm-nexus-candidate' or extra == 'extra-15-algorithm-nexus-product'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/27/df/281aa982f033426d59c6276b6643637746b6bf0a883186443daa89717291/cuda_bindings-13.4.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bb2e91717c83ea550ef1b19ebafd25c9fe805478f479d04b3fc798cc6d29d453", size = 6479822, upload-time = "2026-09-17T22:06:01.3Z" }, @@ -1480,7 +1482,7 @@ wheels = [ [package.optional-dependencies] cublas = [ - { name = "nvidia-cublas", version = "13.1.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-cublas", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, { name = "nvidia-cuda-nvrtc", version = "13.0.88", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, ] cudart = [ @@ -1500,7 +1502,7 @@ curand = [ { name = "nvidia-curand", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, ] cusolver = [ - { name = "nvidia-cublas", version = "13.1.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, + { name = "nvidia-cublas", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, { name = "nvidia-cusolver", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, { name = "nvidia-cusparse", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, { name = "nvidia-nvjitlink", marker = "(platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux') or (platform_machine == 'AMD64' and sys_platform == 'win32')" }, @@ -2349,7 +2351,7 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "beautifulsoup4" }, { name = "filelock" }, - { name = "requests", extra = ["socks"], marker = "extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "requests", extra = ["socks"], marker = "extra == 'extra-15-algorithm-nexus-candidate' or extra == 'extra-15-algorithm-nexus-ecosystem'" }, { name = "tqdm" }, { name = "urllib3" }, ] @@ -2568,7 +2570,7 @@ wheels = [ [[package]] name = "gridfm-datakit" -version = "1.0.5" +version = "1.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "ipyfilechooser" }, @@ -2578,9 +2580,9 @@ dependencies = [ { name = "matplotlib" }, { name = "matpowercaseframes" }, { name = "nbformat" }, - { name = "networkx" }, { name = "numba" }, - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" } }, + { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, { name = "pandas" }, { name = "pathlib" }, { name = "plotly" }, @@ -2591,14 +2593,14 @@ dependencies = [ { name = "tqdm" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/11/43/5a6b6ba923f3f8330e06c94bab35079a11e4b3e6e1a362a2eb9af6e2cee6/gridfm_datakit-1.0.5.tar.gz", hash = "sha256:bd1c910174aa3242eebb161a7f0e99c402bf00ee745a87e592b0817e680a7853", size = 458375, upload-time = "2026-07-06T07:29:52.565Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f0/a2/54a9da588423a7f647abc9391402f35194935b2e9cfdf62d26b60c8da146/gridfm_datakit-1.1.0.tar.gz", hash = "sha256:378958d41d633c46a0aceb3a98b19d516d07c091955e65e72df42e7bb9833c41", size = 505240, upload-time = "2026-08-28T07:10:10.078Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/07/766d942ed993767e24c910b6b15990198633d9c92e96e1ceed457d846ad2/gridfm_datakit-1.0.5-py3-none-any.whl", hash = "sha256:90493c61160d93d4351a5a097a9cbc08681d8155d4177e8199deb22d3609a421", size = 444748, upload-time = "2026-07-06T07:29:51.043Z" }, + { url = "https://files.pythonhosted.org/packages/da/50/37efb8ffb370dff3bd8c9461f77f328592430cc43dc3d2894f4703bd1e5e/gridfm_datakit-1.1.0-py3-none-any.whl", hash = "sha256:043abde247f8eb7e0bd8761408a6b47d29aaf5451a0feeec9418f8006d65b5cc", size = 490800, upload-time = "2026-08-28T07:10:08.307Z" }, ] [[package]] name = "gridfm-graphkit" -version = "0.8.1" +version = "0.9.0.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "gdown" }, @@ -2607,7 +2609,8 @@ dependencies = [ { name = "mlflow" }, { name = "nbformat" }, { name = "networkx" }, - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" } }, + { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, { name = "opt-einsum" }, { name = "pandas" }, { name = "plotly" }, @@ -2615,13 +2618,21 @@ dependencies = [ { name = "seaborn" }, { name = "torch" }, { name = "torch-geometric" }, + { name = "torch-scatter" }, { name = "torchaudio" }, { name = "torchvision" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7b/7b/9cd8b4a6a2c99e5b4fa3addf7b8cd860dee335731e61f4dcc862b01e8ffb/gridfm_graphkit-0.8.1.tar.gz", hash = "sha256:7311ace3f3ba75728ad25b4287e0f760320f9516876f8a22f0abaa5d45e5d624", size = 90720, upload-time = "2026-07-13T14:30:56.216Z" } +sdist = { url = "https://files.pythonhosted.org/packages/03/08/bc2872d6d238e7246c98d53fa18ed1bb74578b2a13c2619dbae78689e246/gridfm_graphkit-0.9.0.3.tar.gz", hash = "sha256:1159ddaadc4847830698344621a34f82c4e71d7bf383b1f2056b563fe5d89aae", size = 139412, upload-time = "2026-09-24T07:55:04.657Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/bb/26acc1d4c97f19b6402ef81675e45b2cfdb6c64f63ee149ceb082383f836/gridfm_graphkit-0.8.1-py3-none-any.whl", hash = "sha256:2065037edb4a4e08d03acf4b22ec4ccbdcad3f63a34e93f785010353f09b37a0", size = 99055, upload-time = "2026-07-13T14:30:55.145Z" }, + { url = "https://files.pythonhosted.org/packages/ea/22/40cbdb5ecd83c4925ce43b2e95797a4c5bf0ada7f7088551eac48c3ac739/gridfm_graphkit-0.9.0.3-py3-none-any.whl", hash = "sha256:473d00fa6ecf1ae4066f11e82ec3cd87f4b34f49488b43f1c3d7986c8c4a7cb6", size = 132337, upload-time = "2026-09-24T07:55:03.609Z" }, +] + +[package.optional-dependencies] +vllm = [ + { name = "safetensors" }, + { name = "timm" }, + { name = "vllm", version = "0.29.0", source = { registry = "https://pypi.org/simple" } }, ] [[package]] @@ -3893,7 +3904,8 @@ name = "matpowercaseframes" version = "2.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" } }, + { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, { name = "pandas" }, ] sdist = { url = "https://files.pythonhosted.org/packages/22/35/d9156d95078810a58ab518c2fb97a1dc2c90db06ebaa2f0961e6eff56da1/matpowercaseframes-2.1.1.tar.gz", hash = "sha256:bd4211c9bddad0974a3554e777f082123aea516db97126352e2da5fc479f679c", size = 26241, upload-time = "2026-06-29T08:49:10.589Z" } @@ -4024,7 +4036,8 @@ dependencies = [ { name = "matplotlib" }, { name = "mlflow-skinny" }, { name = "mlflow-tracing" }, - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" } }, + { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, { name = "pandas" }, { name = "pyarrow" }, { name = "scikit-learn" }, @@ -4664,16 +4677,8 @@ wheels = [ name = "nvidia-cublas" version = "13.1.1.3" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "(python_full_version >= '3.13' and platform_machine != 'ARM64' and sys_platform == 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')", - "(python_full_version < '3.13' and platform_machine != 'ARM64' and sys_platform == 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (python_full_version < '3.13' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')", - "(python_full_version >= '3.13' and platform_machine != 'ARM64' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra != 'extra-15-algorithm-nexus-product') or (python_full_version >= '3.13' and sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra != 'extra-15-algorithm-nexus-product')", - "(python_full_version < '3.13' and platform_machine != 'ARM64' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra != 'extra-15-algorithm-nexus-product') or (python_full_version < '3.13' and sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra != 'extra-15-algorithm-nexus-product')", - "(python_full_version >= '3.13' and platform_machine != 'ARM64' and sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra != 'extra-15-algorithm-nexus-product') or (python_full_version >= '3.13' and sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra != 'extra-15-algorithm-nexus-product')", - "(python_full_version < '3.13' and platform_machine != 'ARM64' and sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra != 'extra-15-algorithm-nexus-product') or (python_full_version < '3.13' and sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra != 'extra-15-algorithm-nexus-product')", -] dependencies = [ - { name = "nvidia-cuda-nvrtc", version = "13.0.88", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform != 'darwin' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "nvidia-cuda-nvrtc", version = "13.0.88", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'ARM64' and sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (platform_machine != 'ARM64' and sys_platform == 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (platform_machine != 'ARM64' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/a7/a1/0bd24ee8c8d03adac032fd2909426a00c88f8c57961b1277ded97f91119f/nvidia_cublas-13.1.1.3-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:b7a210458267ac818974c53038fbec2e969d5c99f305ab15c72522fa9f001dd5", size = 542848918, upload-time = "2026-04-08T18:46:22.985Z" }, @@ -4681,20 +4686,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/45/9e/2f562daf80eb8f7a685fb7bea4fda71f6048e4f359d6fdd1b6e70206cb2f/nvidia_cublas-13.1.1.3-py3-none-win_amd64.whl", hash = "sha256:b6cdce694e47ff6aadf0a69df1cab6628d696f5ff56e8d16af50309d855fa20f", size = 404358158, upload-time = "2026-04-08T18:47:26.987Z" }, ] -[[package]] -name = "nvidia-cublas" -version = "13.8.0.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "nvidia-cuda-nvrtc", version = "13.4.92", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/9e/0c73b14c14cd32e8b3a028133371f4bf1d9d14b811c515c5fd1201a3c38d/nvidia_cublas-13.8.0.4-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:e22b25be18f8b7d267dbbe2a8ec78e2c69c05762536d299dd0afa2c847115740", size = 552729449, upload-time = "2026-09-16T20:40:37.357Z" }, - { url = "https://files.pythonhosted.org/packages/7a/38/bdd540bf511d2c9b6f9efc71a81c60cb88e295be0b9312b61d19bbed2212/nvidia_cublas-13.8.0.4-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:9f17797dfcc048694461f4e47de17d2e3c25adf172ef723d2db0a07cd8744b89", size = 439317144, upload-time = "2026-09-16T20:41:11.569Z" }, - { url = "https://files.pythonhosted.org/packages/a3/df/f1246959833e2c437db8be3e5b477f66b87f8817821ed40de6c7561c9a36/nvidia_cublas-13.8.0.4-py3-none-win_amd64.whl", hash = "sha256:8c5494423bb8a46822cb6b0cb95d7fa4be2d7b96a31155dff083839ec8297910", size = 423266897, upload-time = "2026-09-16T20:48:16.789Z" }, - { url = "https://files.pythonhosted.org/packages/96/38/723c97681824250b261c91761de3f1a1899111a9b1dda65eec5b2daa1d58/nvidia_cublas-13.8.0.4-py3-none-win_arm64.whl", hash = "sha256:a2ffda7a27d8315e6b75c1ced526d5a68c7a2a50adfe866235401c9592d3c9e4", size = 153856980, upload-time = "2026-09-16T20:54:58.249Z" }, -] - [[package]] name = "nvidia-cuda-cccl" version = "13.3.4.3.1" @@ -4834,8 +4825,7 @@ name = "nvidia-cudnn-cu13" version = "9.20.0.48" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas", version = "13.1.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform != 'darwin' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, - { name = "nvidia-cublas", version = "13.8.0.4", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "nvidia-cublas", marker = "(platform_machine != 'ARM64' and sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (platform_machine != 'ARM64' and sys_platform == 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (platform_machine != 'ARM64' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/56/c5/83384d846b2fd17c44bd499b36c75a45ed4f095fbbb2252294e89cea5c5c/nvidia_cudnn_cu13-9.20.0.48-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:e31454ae00094b0c55319d9d15b6fa2fc50a9e1c0f5c8c80fb75258234e731e1", size = 444574296, upload-time = "2026-03-09T19:28:27.751Z" }, @@ -4865,7 +4855,7 @@ name = "nvidia-cufft" version = "12.0.0.61" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink", marker = "(sys_platform != 'darwin' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "nvidia-nvjitlink", marker = "(platform_machine != 'ARM64' and sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (platform_machine != 'ARM64' and sys_platform == 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (platform_machine != 'ARM64' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/8b/ae/f417a75c0259e85c1d2f83ca4e960289a5f814ed0cea74d18c353d3e989d/nvidia_cufft-12.0.0.61-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2708c852ef8cd89d1d2068bdbece0aa188813a0c934db3779b9b1faa8442e5f5", size = 214053554, upload-time = "2025-09-04T08:31:38.196Z" }, @@ -4897,9 +4887,9 @@ name = "nvidia-cusolver" version = "12.0.4.66" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas", version = "13.1.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform != 'darwin' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, - { name = "nvidia-cusparse", marker = "(sys_platform != 'darwin' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, - { name = "nvidia-nvjitlink", marker = "(sys_platform != 'darwin' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "nvidia-cublas", marker = "(platform_machine != 'ARM64' and sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (platform_machine != 'ARM64' and sys_platform == 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (platform_machine != 'ARM64' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "nvidia-cusparse", marker = "(platform_machine != 'ARM64' and sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (platform_machine != 'ARM64' and sys_platform == 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (platform_machine != 'ARM64' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "nvidia-nvjitlink", marker = "(platform_machine != 'ARM64' and sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (platform_machine != 'ARM64' and sys_platform == 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (platform_machine != 'ARM64' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/c8/c3/b30c9e935fc01e3da443ec0116ed1b2a009bb867f5324d3f2d7e533e776b/nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:02c2457eaa9e39de20f880f4bd8820e6a1cfb9f9a34f820eb12a155aa5bc92d2", size = 223467760, upload-time = "2025-09-04T08:33:04.222Z" }, @@ -4912,7 +4902,7 @@ name = "nvidia-cusparse" version = "12.6.3.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink", marker = "(sys_platform != 'darwin' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "nvidia-nvjitlink", marker = "(platform_machine != 'ARM64' and sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (platform_machine != 'ARM64' and sys_platform == 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (platform_machine != 'ARM64' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'win32' and extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'darwin' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform == 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra != 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/f8/94/5c26f33738ae35276672f12615a64bd008ed5be6d1ebcb23579285d960a9/nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:80bcc4662f23f1054ee334a15c72b8940402975e0eab63178fc7e670aa59472c", size = 162155568, upload-time = "2025-09-04T08:33:42.864Z" }, @@ -5645,7 +5635,7 @@ name = "pexpect" version = "4.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "ptyprocess", marker = "(platform_machine != 'ARM64' and extra == 'extra-15-algorithm-nexus-candidate') or (sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "ptyprocess", marker = "platform_machine != 'ARM64' or sys_platform != 'win32'" }, ] 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 = [ @@ -7800,7 +7790,8 @@ name = "skops" version = "0.15.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" } }, + { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, { name = "packaging" }, { name = "prettytable" }, { name = "scikit-learn" }, @@ -8573,10 +8564,10 @@ name = "tokenspeed-mla" version = "0.1.8" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "apache-tvm-ffi" }, - { name = "nvidia-cutlass-dsl" }, - { name = "tokenspeed-triton" }, - { name = "torch" }, + { name = "apache-tvm-ffi", marker = "(platform_machine != 'ARM64' and sys_platform == 'win32') or (sys_platform != 'darwin' and sys_platform != 'win32')" }, + { name = "nvidia-cutlass-dsl", marker = "(platform_machine != 'ARM64' and sys_platform == 'win32') or (sys_platform != 'darwin' and sys_platform != 'win32')" }, + { name = "tokenspeed-triton", marker = "(platform_machine != 'ARM64' and sys_platform == 'win32') or (sys_platform != 'darwin' and sys_platform != 'win32')" }, + { name = "torch", marker = "(platform_machine != 'ARM64' and sys_platform == 'win32') or (sys_platform != 'darwin' and sys_platform != 'win32')" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/1e/65/81d7e9f14472bc4c6abb576c9b1edd8e40ab01832027c4e647bfe2890749/tokenspeed_mla-0.1.8-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:952209cf4b29a54e6b6e7e088be9d4a40f24792b06fdfa330de8077b9926a7d9", size = 752341, upload-time = "2026-06-24T03:36:28.619Z" }, @@ -8717,7 +8708,8 @@ dependencies = [ { name = "aiohttp" }, { name = "fsspec" }, { name = "jinja2" }, - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" } }, + { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or extra == 'extra-15-algorithm-nexus-ecosystem' or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product')" }, { name = "psutil" }, { name = "pyparsing" }, { name = "requests" }, @@ -8729,6 +8721,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/14/5c/edf74a71249ad19aa0390fb97ff021e2a5b04ce23252730014e1feac957e/torch_geometric-2.8.0.post1-py3-none-any.whl", hash = "sha256:5d9841cbfa64eadc425e445767127d103dd52fdc5890548c6364986c9bc78029", size = 1325397, upload-time = "2026-07-20T20:44:38.789Z" }, ] +[[package]] +name = "torch-scatter" +version = "2.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/ab/2a44ecac0f891dd0d765fc59ac8d277c6283a31907626560e72685df2ed6/torch_scatter-2.1.2.tar.gz", hash = "sha256:69b3aa435f2424ac6a1bfb6ff702da6eb73b33ca0db38fb26989c74159258e47", size = 108045, upload-time = "2023-10-06T08:49:07.081Z" } + [[package]] name = "torchaudio" version = "2.11.0" @@ -9565,14 +9563,14 @@ name = "xgrammar" version = "0.2.7" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "apache-tvm-ffi" }, - { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or (python_full_version < '3.13' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and extra == 'extra-15-algorithm-nexus-candidate') or (python_full_version >= '3.13' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, - { name = "pydantic" }, - { name = "torch" }, - { name = "transformers" }, + { name = "apache-tvm-ffi", marker = "platform_machine != 'ARM64' or sys_platform != 'win32'" }, + { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.13' and platform_machine != 'ARM64' and extra == 'extra-15-algorithm-nexus-candidate') or (python_full_version < '3.13' and platform_machine != 'ARM64' and extra == 'extra-15-algorithm-nexus-product') or (python_full_version < '3.13' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (python_full_version < '3.13' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.13' and platform_machine != 'ARM64' and extra == 'extra-15-algorithm-nexus-candidate') or (python_full_version >= '3.13' and platform_machine != 'ARM64' and extra == 'extra-15-algorithm-nexus-product') or (python_full_version < '3.13' and platform_machine != 'ARM64' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (python_full_version < '3.13' and platform_machine != 'ARM64' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (python_full_version < '3.13' and platform_machine != 'ARM64' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (python_full_version >= '3.13' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate') or (python_full_version >= '3.13' and sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-product') or (platform_machine == 'ARM64' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (platform_machine == 'ARM64' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (platform_machine == 'ARM64' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-ecosystem') or (sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-candidate' and extra == 'extra-15-algorithm-nexus-product') or (sys_platform != 'win32' and extra == 'extra-15-algorithm-nexus-ecosystem' and extra == 'extra-15-algorithm-nexus-product')" }, + { name = "pydantic", marker = "platform_machine != 'ARM64' or sys_platform != 'win32'" }, + { name = "torch", marker = "platform_machine != 'ARM64' or sys_platform != 'win32'" }, + { name = "transformers", marker = "platform_machine != 'ARM64' or sys_platform != 'win32'" }, { name = "triton", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" }, - { name = "typing-extensions" }, + { name = "typing-extensions", marker = "platform_machine != 'ARM64' or sys_platform != 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/81/e8/21a1661542d541c3c11e56062a213f6405824845a7fc8d3874447d5c6775/xgrammar-0.2.7.tar.gz", hash = "sha256:7674afeee5e6eff9672627b62d5ab0aa2347ea51674f4d78a5c160029f92bc3e", size = 2663916, upload-time = "2026-09-15T15:51:07.444Z" } wheels = [