forked from MODFLOW-USGS/modflow6
-
Notifications
You must be signed in to change notification settings - Fork 1
/
pixi.toml
131 lines (113 loc) · 4.06 KB
/
pixi.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[project]
name = "modflow6"
channels = ["conda-forge"]
platforms = ["win-64", "linux-64", "linux-aarch64", "osx-arm64", "osx-64"]
version = "6.7.0.dev0"
[dependencies]
appdirs = "*"
codespell = "*"
filelock = "*"
flaky = "*"
fortran-language-server = "*"
fprettify = "*"
gitpython = "*"
jupytext = "*"
matplotlib = "*"
meson = "1.3.0"
networkx = "*"
ninja = "*"
numpy = "<2.0.0" # modflowapi has a resriction on the numpy version
pandas = "*"
pip = "*"
pooch = "*"
pydotplus = "*"
pyshp = "*"
pytest = "!=8.1.0"
pytest-benchmark = "*"
pytest-dotenv = "*"
pytest-order = "*"
pytest-xdist = "*"
python = "3.9.*"
rasterio = "*"
rasterstats = "*"
requests = "*"
ruff = "*"
scipy = "*"
shapely = "*"
syrupy = "*"
xmipy = "*"
[feature.rtd.dependencies]
numpy = "*"
bmipy = "*"
sphinx = ">=4"
ipython = "*"
ipykernel = "*"
myst-parser = "*"
sphinx_rtd_theme = ">=1"
pytest = "*"
filelock = "*"
modflow-devtools = "*"
[feature.rtd.pypi-dependencies]
# These dependencies are added as pypi dependencies because an osx-arm64 version of them doesn't exist on conda
sphinx_markdown_tables = "*"
nbsphinx = "*"
nbsphinx_link = "*"
rtds_action = "*"
[environments]
rtd = { features = ["rtd"], solve-group = "default" }
[tasks]
# install
install-flopy = "pip install --no-build-isolation --no-deps --disable-pip-version-check git+https://github.com/modflowpy/flopy.git"
install-pymake = "pip install --no-build-isolation --no-deps --disable-pip-version-check git+https://github.com/modflowpy/pymake.git"
install-modflowapi = "pip install --no-build-isolation --no-deps --disable-pip-version-check git+https://github.com/MODFLOW-USGS/modflowapi.git"
install-modflow-devtools = "pip install --no-build-isolation --no-deps --disable-pip-version-check git+https://github.com/MODFLOW-USGS/modflow-devtools.git"
install = { depends_on = [
"install-flopy",
"install-pymake",
"install-modflowapi",
"install-modflow-devtools",
] }
# check format
check-format = "python .github/common/check_format.py"
check-vfproj = "python .github/common/check_vfproj.py"
check-spelling = "codespell"
check-python-lint = { cmd = "ruff check ." }
check-python-format = { cmd = "pixi run fix-python-format --check" }
# fix format
fix-style = { cmd = "pixi run check-format --write-changes; pixi run check-spelling --write-changes" }
fix-python-format = { cmd = "ruff format ." }
fix-python-style = { cmd = "pixi run check-python-lint --fix; pixi run fix-python-format" }
# meson build/test
builddir = "echo _builddir"
setup = "meson setup --prefix=$(pwd) --libdir=bin --bindir=bin"
build = "meson install -C"
test = "meson test --verbose --no-rebuild -C"
# pytest tasks
get-exes = { cmd = "pytest -v --durations 0 get_exes.py", cwd = "autotest" }
autotest = { cmd = "pytest -v -n auto --durations 0 --keep-failed .failed", cwd = "autotest" }
# common developer tasks
update-fortran-definitions = { cmd = "python dfn2f90.py", cwd = "utils/idmloader/scripts" }
update-flopy = { cmd = "python update_flopy.py", cwd = "autotest" }
build-makefiles = { cmd = "python build_makefiles.py", cwd = "distribution" }
run-mf6ivar = { cmd = "python mf6ivar.py", cwd = "doc/mf6io/mf6ivar" }
prepare-pull-request = {depends_on = ["fix-style", "fix-python-style", "build-makefiles", "run-mf6ivar", "update-fortran-definitions"]}
# dist/docs
benchmark = { cmd = "python benchmark.py", cwd = "distribution" }
build-docs = { cmd = "python build_docs.py", cwd = "distribution" }
build-dist = { cmd = "python build_dist.py", cwd = "distribution" }
test-dist-scripts = { cmd = "pytest -v --durations 0", cwd = "distribution" }
update-version = { cmd = "python update_version.py", cwd = "distribution" }
deprecations = { cmd = "python deprecations.py", cwd = "doc/mf6io/mf6ivar" }
[feature.rtd.tasks]
sphinx = { cmd = "make html", cwd = ".build_rtd_docs" }
# os-specific tasks
[target.linux-64.tasks]
builddir = "echo _builddir_linux-64"
[target.linux-aarch64.tasks]
builddir = "echo _builddir_linux-aarch64"
[target.osx-64.tasks]
builddir = "echo _builddir_osx-64"
[target.osx-arm64.tasks]
builddir = "echo _builddir_osx-arm64"
[target.win-64.tasks]
builddir = "echo _builddir_win-64"