1+ # Local developer Pixi environment for Matplotlib
2+ # ------------------------------------------------
3+ # This file is optional and intended for local use only.
4+ # Do NOT commit it unless you intend to change project defaults.
5+ #
6+ # Usage:
7+ # pixi install
8+ # pixi run python -m pip install \
9+ # --no-build-isolation \
10+ # --config-settings=setup-args="-Db_lto=false" \
11+ # --editable .
12+ # pixi run tests-core
13+ # pixi run build-doc
14+
15+ [workspace ]
16+ channels = [" conda-forge" ]
17+ platforms = [" linux-64" , " osx-arm64" , " osx-64" ]
18+
19+ [dependencies ]
20+ python = " 3.12.*"
21+ pip = " *"
22+ meson = " *"
23+ ninja = " *"
24+ pkg-config = " *"
25+ # Optional: comment out if you prefer system compilers
26+ compilers = " *"
27+ meson-python = " *"
28+ pybind11 = " *"
29+ setuptools = " >=64"
30+ setuptools-scm = " >=7"
31+
32+ # ------------------------------------------------
33+ # Tasks (developer convenience)
34+ # ------------------------------------------------
35+
36+ [tasks .clean-build ]
37+ cmd = " rm -rf build meson-logs meson-private .mesonpy-*"
38+ description = " Clean meson build artifacts"
39+
40+ [tasks .build-doc ]
41+ cmd = " make -C doc html"
42+ description = " Build the documentation"
43+
44+ [tasks .tests-core ]
45+ cmd = " pytest --pyargs matplotlib"
46+ description = " Run Matplotlib tests (core only)"
47+
48+ [tasks .tests-all ]
49+ cmd = " pytest --pyargs matplotlib mpl_toolkits.axes_grid1 mpl_toolkits.axisartist mpl_toolkits.mplot3d"
50+ description = " Run all Matplotlib tests"
51+
52+ # ------------------------------------------------
53+ # Environments
54+ # ------------------------------------------------
55+
56+ [environments ]
57+ # Single environment for developer convenience
58+ default = { features = [" build" , " test" , " doc" ], solve-group = " main" }
59+
60+ # Optional: lighter environments if desired
61+ test = { features = [" test" ], solve-group = " main" }
62+ test-extra = { features = [" test" , " test-extra" ], solve-group = " main" }
63+ doc = { features = [" doc" ], solve-group = " main" }
0 commit comments