Skip to content

Commit 38c5d72

Browse files
build: 🏗️ make the lsd-jax LSD backend an opt-in extra
1 parent 6c1ab34 commit 38c5d72

1 file changed

Lines changed: 18 additions & 3 deletions

File tree

pyproject.toml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ dependencies = [
5252
"corditea@git+https://github.com/saalfeldlab/corditea.git"
5353
]
5454

55+
[project.optional-dependencies]
56+
# Opt-in "lsd-jax" LSD backend. Pulls corditea's jax extra, which installs the
57+
# (private) lsd-jax fork. Requires SSH access to the source and a working jax.
58+
jax = ["corditea[jax]"]
59+
5560
[project.urls]
5661
Documentation = "https://github.com/saalfeldlab/organelle-mapping#readme"
5762
Issues = "https://github.com/saalfeldlab/organelle-mapping/issues"
@@ -184,10 +189,20 @@ xarray-datatree = "*"
184189

185190
[tool.pixi.pypi-dependencies]
186191
organelle-mapping = { path = ".", editable = true }
187-
jax = { version = "*", extras = ["cuda13"] }
188192

193+
# The override replaces corditea's requirement wholesale, so the `[jax]` extra
194+
# must be named HERE — a bare `corditea[jax]` request elsewhere gets stripped by
195+
# the override. This is what pulls the local corditea's lsd-jax into the dev env.
189196
[tool.pixi.feature.local-deps.pypi-options]
190-
dependency-overrides = { corditea = { path = "../corditea", editable = true } }
197+
dependency-overrides = { corditea = { path = "../corditea", editable = true, extras = ["jax"] } }
198+
199+
# Opt-in lsd-jax backend: activate organelle-mapping's own `jax` extra (which
200+
# pulls corditea[jax] -> the private lsd-jax fork) and the CUDA jax build it
201+
# runs on. Combine with local-deps so corditea[jax] resolves from the local
202+
# checkout rather than public git.
203+
[tool.pixi.feature.jax-backend.pypi-dependencies]
204+
organelle-mapping = { path = ".", editable = true, extras = ["jax"] }
205+
jax = { version = "*", extras = ["cuda13"] }
191206

192207
[tool.pixi.feature.dev.dependencies]
193208
pytest = ">=7.3"
@@ -207,4 +222,4 @@ ipykernel = ">=6.23"
207222

208223
[tool.pixi.environments]
209224
default = { solve-group = "default" }
210-
dev = { features = ["dev", "notebooks", "local-deps"], solve-group = "dev" }
225+
dev = { features = ["dev", "notebooks", "local-deps", "jax-backend"], solve-group = "dev" }

0 commit comments

Comments
 (0)