1- [project ]
1+ [workspace ]
22authors = [" Hameer Abbasi <2190658+hameerabbasi@users.noreply.github.com>" ]
3- channels = [" conda-forge" ]
3+ channels = [" https://prefix.dev/ conda-forge" ]
44name = " sparse"
55platforms = [" osx-arm64" , " osx-64" , " linux-64" , " win-64" ]
6+ preview = [" pixi-build" ]
67
7- [pypi-dependencies ]
8- sparse = { path = " ." , editable = true }
8+ [environments ]
9+ test = [" test" , " extra" ]
10+ doc = [" doc" , " extra" ]
11+ mlir = [" test" , " mlir" ]
12+ finch = [" test" , " finch" ]
13+ matrepr = [" matrepr" ]
14+ notebooks = [" extra" , " mlir" , " finch" , " notebooks" ]
15+ core = { features = [" core" ], no-default-feature = true }
16+ mindeps = [" test" , " extra" , " mindeps" , " numba-boundscheck" , " finch" , " mlir" ]
17+
18+ # sparse package definition #
19+
20+ [package ]
21+ version = " 0.1.0" # TODO: fix this
22+
23+ [package .build .backend ]
24+ name = " pixi-build-python"
25+ version = " *"
26+
27+ [package .host-dependencies ]
28+ python = " >=3.11,<3.14"
29+ setuptools = " *"
30+ setuptools-scm = " *"
31+
32+ [package .run-dependencies ]
933numba = " >=0.49"
1034numpy = " >=1.17"
1135
12- [dependencies ]
13- python = " >=3.11,<3.14"
36+ # default feature definition #
1437
15- [feature .extra .pypi-dependencies ]
16- dask = { version = " >=2024" , extras = [" array" ] }
38+ [dev ]
39+ sparse.path = " ."
40+
41+ # non-default feature definitions #
42+
43+ # extra
44+
45+ [feature .extra .dependencies ]
46+ dask = " >=2024"
1747scipy = " >=0.19"
1848scikit-learn = " *"
1949
20- [feature .doc .pypi-dependencies ]
50+ # doc
51+
52+ [feature .doc .dependencies ]
2153mkdocs-material = " *"
22- mkdocstrings = { version = " *" , extras = [ " python " ] }
54+ mkdocstrings-python = " *"
2355mkdocs-gen-files = " *"
2456mkdocs-literate-nav = " *"
2557mkdocs-section-index = " *"
2658mkdocs-jupyter = " *"
2759
28- [feature .test .tasks ]
29- test = " ci/test_Numba.sh"
30- test-mlir = " ci/test_MLIR.sh"
31- test-finch = " ci/test_Finch.sh"
60+ # test
3261
33- [feature .test .pypi- dependencies ]
62+ [feature .test .dependencies ]
3463pytest = " >=3.5"
3564pytest-cov = " *"
3665pytest-xdist = " *"
3766pytest-codspeed = " *"
3867
39- [feature .notebooks .pypi-dependencies ]
68+ [feature .test .tasks .test ]
69+ cmd = " pytest -n auto -vvv"
70+ default-environment = " test"
71+
72+ [feature .test .tasks .test-numba ]
73+ cmd = " pytest --pyargs sparse --doctest-modules --cov-report=xml:coverage_Numba.xml -n auto -vvv"
74+ default-environment = " test"
75+
76+ # notebooks
77+
78+ [feature .notebooks .dependencies ]
4079ipykernel = " *"
4180nbmake = " *"
4281matplotlib = " *"
4382networkx = " *"
4483jupyterlab = " *"
4584
46- [feature .matrepr .pypi-dependencies ]
47- matrepr = " *"
48-
49- [feature .finch .tasks ]
50- precompile = " python -c 'import finch'"
85+ # finch
5186
5287[feature .finch .dependencies ]
5388python = " >=3.10"
5489juliaup = " >=1.17.10"
90+ scipy = " >=1.13"
5591
5692[feature .finch .pypi-dependencies ]
57- scipy = " >=1.13"
5893finch-tensor = " >=0.2.13"
5994
6095[feature .finch .activation .env ]
@@ -63,30 +98,59 @@ SPARSE_BACKEND = "Finch"
6398[feature .finch .target .osx-arm64 .activation .env ]
6499PYTHONFAULTHANDLER = " ${HOME}/faulthandler.log"
65100
101+ [feature .finch .tasks ._precompile ]
102+ cmd = " python -c 'import finch'"
103+ default-environment = " finch"
104+
105+ [feature .finch .tasks .test-finch ]
106+ cmd = " pytest --pyargs sparse/tests --cov-report=xml:coverage_Finch.xml -n auto -vvv"
107+ depends-on = [" _precompile" ]
108+ default-environment = " finch"
109+
110+ # mlir
111+
66112[feature .mlir .dependencies ]
67- python = " >=3.10,<3.14"
113+ scipy = " >=0.19"
114+ pyyaml = " *"
68115
69116[feature .mlir .pypi-dependencies ]
70- scipy = " >=0.19"
71117finch-mlir = " >=0.0.2"
72- "PyYAML" = " *"
73118
74- [feature .barebones .dependencies ]
75- python = " >=3.10,<3.13"
76- pip = " >=24"
119+ [feature .mlir .activation .env ]
120+ SPARSE_BACKEND = " MLIR"
121+
122+ [feature .mlir .tasks .test-mlir ]
123+ cmd = " pytest --pyargs sparse/mlir_backend --cov-report=xml:coverage_MLIR.xml -n auto -vvv"
124+ default-environment = " mlir"
125+
126+ # matrepr
127+
128+ [feature .matrepr .dependencies ]
129+ matrepr = " *"
130+
131+ # core
77132
78- [feature .barebones .tasks ]
79- setup-env = {cmd = " ci/setup_env.sh" }
133+ [feature .core .tasks ]
134+ setup-env = { cmd = " ci/setup_env.sh" }
80135test-all = { cmd = " ci/test_all.sh" , env = { ACTIVATE_VENV = " 1" }, depends-on = [" setup-env" ] }
81- test-finch = " ci/test_Finch.sh"
82136
83- [feature .mlir .activation .env ]
84- SPARSE_BACKEND = " MLIR"
137+ # mindeps
85138
86- [environments ]
87- test = [" test" , " extra" ]
88- doc = [" doc" , " extra" ]
89- mlir-dev = {features = [" test" , " mlir" ], no-default-feature = true }
90- finch-dev = {features = [" test" , " finch" ], no-default-feature = true }
91- notebooks = [" extra" , " mlir" , " finch" , " notebooks" ]
92- barebones = {features = [" barebones" ], no-default-feature = true }
139+ [feature .mindeps .dependencies ]
140+ python = " 3.11.*"
141+ numpy = " 1.*"
142+
143+ [feature .mindeps .tasks .test-numba-mindeps ]
144+ cmd = " pytest --pyargs sparse --cov-report=xml:coverage_Numba.xml -n auto -vvv"
145+ env.SPARSE_BACKEND = " Numba"
146+
147+ [feature .mindeps .tasks .test-finch-mindeps ]
148+ cmd = " pytest --pyargs sparse/tests --cov-report=xml:coverage_Finch.xml -n auto -vvv"
149+ env.SPARSE_BACKEND = " Finch"
150+
151+ [feature .mindeps .tasks .test-mlir-mindeps ]
152+ cmd = " pytest --pyargs sparse/mlir_backend --cov-report=xml:coverage_MLIR.xml -n auto -vvv"
153+ env.SPARSE_BACKEND = " MLIR"
154+
155+ [feature .numba-boundscheck .activation .env ]
156+ NUMBA_BOUNDSCHECK = " 1"
0 commit comments