-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Relaxing dependencies and moving to Hatch and Pixi (#130)
* added hatch pyproject.toml * add pixi * added cuda support * organized pyproject * added cuda feature * fixed python mip * updated pydantic and other minor packages * added uv to CI and reduce upper version restriction * added env * Fix pydantic.v1 integration with fastapi; fix ome-zarr broken package * updated pydantic * bump higra version to 6.9 * removed [api] from github workflow * higra version bump to 6.10 * updating runners * bump python version * fix python versions * bumped version and skipping server test on macos * Avoid server being killed while trying to remove dir --------- Co-authored-by: Ilan F. S. Theodoro <[email protected]>
- Loading branch information
1 parent
1ad2619
commit 2d35e3e
Showing
26 changed files
with
250 additions
and
123 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# GitHub syntax highlighting | ||
pixi.lock linguist-language=YAML linguist-generated=true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -175,3 +175,6 @@ docs/source/examples | |
metadata.toml | ||
data.db | ||
*.lock | ||
# pixi environments | ||
.pixi | ||
*.egg-info |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
include README.md | ||
include LICENSE | ||
recursive-include ultrack/widgets/ultrackwidget/resources *.json | ||
recursive-include ultrack/widgets/ultrackwidget/resources *.json | ||
exclude examples/** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,159 @@ | ||
[build-system] | ||
requires = ["setuptools>=42", "wheel"] | ||
build-backend = "setuptools.build_meta" | ||
requires = ["hatchling"] | ||
build-backend = "hatchling.build" | ||
|
||
[project] | ||
name = "ultrack" | ||
dynamic = ["version"] | ||
description = "Large-scale multi-hypotheses cell tracking" | ||
readme = "README.md" | ||
license = "" | ||
requires-python = ">=3.9,<3.13" | ||
authors = [ | ||
{ name = "Jordao Bragantini", email = "[email protected]" }, | ||
] | ||
dependencies = [ | ||
"blosc2 >=2.2.0", | ||
"click >=8.1.3", | ||
"cloudpickle >=3.0.0", | ||
"edt >=2.3.2", | ||
"fastapi >= 0.109.2", | ||
"gurobipy >=9.0.0", | ||
"higra >= 0.6.10", | ||
"httpx >= 0.26.0", | ||
"imagecodecs >=2023.3.16", | ||
"imageio >=2.28.0", | ||
"magicgui >=0.7.2", | ||
"mip >=1.16rc0", | ||
"napari >=0.4.18", | ||
"numba >=0.57.0", | ||
"ome-zarr >= 0.9.0", | ||
"pandas >=2.0.1", | ||
"pillow >=10.0.0", | ||
"psycopg2-binary >=2.9.6", | ||
"psygnal >=0.9.0", | ||
"pydantic >= 2", | ||
"pydot >= 2.0.0", | ||
"qtawesome >= 1.3.1", | ||
"rich >=13.3.5", | ||
"scikit-image >=0.21.0", | ||
"seaborn >=0.13.0", | ||
"SQLAlchemy >=2.0.0", | ||
"toml >=0.10.2", | ||
"torch >=2.0.1", | ||
"urllib3", | ||
"uvicorn >= 0.27.0.post1", | ||
"websocket >= 0.2.1", | ||
"websockets >= 12.0", | ||
"zarr >=2.15.0,<3.0.0", | ||
"pyqt5 >=5.15.4", | ||
] | ||
|
||
[project.optional-dependencies] | ||
docs = [ | ||
"autodoc_pydantic >= 2.0.0", | ||
"furo", | ||
"myst-parser >= 2.0.0", | ||
"nbsphinx >= 0.9.3", | ||
"sphinx-click >=5.0.1,<6.0.0", | ||
"sphinx-copybutton", | ||
"sphinx-gallery == 0.15.0", | ||
"sphinxcontrib-applehelp == 1.0.8", | ||
] | ||
test = [ | ||
"asv >=0.5.1", | ||
"pre-commit >=3.2.2", | ||
"pytest >=7.3.1", | ||
"pytest-qt >=4.2.0", | ||
"pytrackmate @ git+https://github.com/hadim/pytrackmate.git", | ||
"napari[testing] > 0.4.18", | ||
] | ||
|
||
[project.scripts] | ||
ultrack = "ultrack.cli.main:main" | ||
|
||
[project.entry-points."napari.manifest"] | ||
ultrack = "ultrack:napari.yaml" | ||
|
||
# pixi config | ||
[tool.pixi.project] | ||
channels = ["conda-forge", "nvidia", "pytorch", "numba", "gurobi"] | ||
platforms = ["linux-64", "win-64", "osx-64"] | ||
|
||
[tool.pixi.dependencies] | ||
click = ">=8.1.3" | ||
cloudpickle = ">=3.0.0" | ||
edt = ">=2.3.2" | ||
fastapi = ">= 0.109.2" | ||
gurobi = ">=9.0.0" | ||
higra = ">= 0.6.10" | ||
httpx = ">= 0.26.0" | ||
imagecodecs = ">=2023.3.16" | ||
imageio = ">=2.28.0" | ||
magicgui = ">=0.7.2" | ||
# mip = ">=1.16.0" # TODO: change to python-mip for OSX is released and when available in conda-forge | ||
napari = ">=0.4.18" | ||
numba = {version = ">=0.57.0", channel = "numba"} | ||
ome-zarr = ">= 0.9" | ||
pandas = ">=2.0.1" | ||
pillow = ">=10.0.0" | ||
psycopg2-binary = ">=2.9.6" | ||
psygnal = ">=0.9.0" | ||
pydantic = ">=2" | ||
pydot = ">= 2.0.0" | ||
qtawesome = ">= 1.3.1" | ||
rich = ">=13.3.5" | ||
scikit-image = ">=0.21.0" | ||
seaborn = ">=0.13.0" | ||
SQLAlchemy = ">=2.0.0" | ||
toml = ">=0.10.2" | ||
pytorch = {version = ">=2.0.1", channel = "pytorch"} | ||
urllib3 = "*" | ||
uvicorn = ">= 0.27.0.post1" | ||
websocket = ">= 0.2.1" | ||
websockets = ">= 12.0" | ||
zarr = ">=2.15.0,<3.0.0" | ||
pyqt = ">=5.15.4" | ||
|
||
[tool.pixi.feature.cuda] | ||
channels = ["conda-forge", "rapidsai"] | ||
platforms = ["linux-64"] # TODO: waiting for cucim to be available for windows , "win-64"] | ||
|
||
[tool.pixi.feature.cuda.dependencies] | ||
cupy = "*" | ||
cucim = "*" | ||
pytorch-cuda = "*" | ||
|
||
[tool.pixi.feature.cuda.system-requirements] | ||
cuda = "11" | ||
|
||
[tool.pytest.ini_options] | ||
filterwarnings = [ | ||
"ignore::DeprecationWarning:pkg_resources.*:", | ||
] | ||
|
||
[tool.pixi.pypi-dependencies] | ||
ultrack = { path = ".", editable = true } | ||
|
||
[tool.pixi.environments] | ||
default = { solve-group = "default" } | ||
cuda = { features = ["cuda"] } | ||
docs = { features = ["docs"], solve-group = "default" } | ||
test = { features = ["test"], solve-group = "default" } | ||
|
||
[tool.pixi.tasks] | ||
|
||
# Hatch config | ||
[tool.hatch.version] | ||
path = "ultrack/__init__.py" | ||
|
||
[tool.hatch.build.targets.sdist] | ||
only-include = [ | ||
"/ultrack", | ||
] | ||
|
||
[tool.hatch.metadata] | ||
allow-direct-references = true | ||
|
||
# TODO: | ||
# - add `test` and `docs` feature to `pixi` config |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.