You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/md/dev/programs.md
+40-32Lines changed: 40 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -168,45 +168,54 @@ Each source repository must make a **program registry** file available. Program
168
168
Registry files shall be named **`programs.toml`** (not `registry.toml` - the specific naming distinguishes it from the Models and DFNs registries) and contain, at minimum, a dictionary `programs` enumerating programs provided by the source repository. For instance:
169
169
170
170
```toml
171
-
# Metadata (top-level)
172
171
schema_version = "1.0"
173
-
generated_at = "2025-12-29T10:30:00Z"
174
-
devtools_version = "2.0.0"
175
172
176
173
[programs.mf6]
177
-
version = "6.6.3"
174
+
# Optional: exe defaults to "bin/mf6" (or "bin/mf6.exe" on Windows), only specify if different
178
175
description = "MODFLOW 6 groundwater flow model"
179
-
repo = "MODFLOW-ORG/modflow6"
180
176
license = "CC0-1.0"
181
177
182
-
[programs.mf6.binaries.linux]
178
+
[[programs.mf6.dists]]
179
+
name = "linux"
183
180
asset = "mf6.6.3_linux.zip"
184
181
hash = "sha256:..."
185
-
exe = "bin/mf6"
186
182
187
-
[programs.mf6.binaries.mac]
188
-
asset = "mf6.6.3_macarm.zip"
183
+
[[programs.mf6.dists]]
184
+
name = "mac"
185
+
asset = "mf6.6.3_mac.zip"
189
186
hash = "sha256:..."
190
-
exe = "bin/mf6"
191
187
192
-
[programs.mf6.binaries.win64]
188
+
[[programs.mf6.dists]]
189
+
name = "win64"
193
190
asset = "mf6.6.3_win64.zip"
194
191
hash = "sha256:..."
195
-
exe = "bin/mf6.exe"
196
192
197
193
[programs.zbud6]
198
-
version = "6.6.3"
194
+
# exe defaults to "bin/zbud6" (or "bin/zbud6.exe" on Windows)
199
195
description = "MODFLOW 6 Zonebudget utility"
200
-
repo = "MODFLOW-ORG/modflow6"
201
196
license = "CC0-1.0"
202
197
203
-
[programs.zbud6.binaries.linux]
198
+
[[programs.zbud6.dists]]
199
+
name = "linux"
204
200
asset = "mf6.6.3_linux.zip"
205
201
hash = "sha256:..."
206
-
exe = "bin/zbud6"
202
+
203
+
[[programs.zbud6.dists]]
204
+
name = "mac"
205
+
asset = "mf6.6.3_mac.zip"
206
+
hash = "sha256:..."
207
+
208
+
[[programs.zbud6.dists]]
209
+
name = "win64"
210
+
asset = "mf6.6.3_win64.zip"
211
+
hash = "sha256:..."
207
212
```
208
213
209
-
The top-level metadata is optional; if a `schema_version` is not provided it will be inferred if possible.
214
+
**Simplified format notes**:
215
+
- Version and repository information come from the release tag and bootstrap configuration, not from the registry file
216
+
- The `exe` field is optional and defaults to `bin/{program}` (with `.exe` automatically added on Windows)
217
+
- Only specify `exe` when the executable location differs from the default
218
+
- The `schema_version` field is optional but recommended for future compatibility
210
219
211
220
Platform identifiers are as defined in the [modflow-devtools OS tag specification](https://modflow-devtools.readthedocs.io/en/latest/md/ostags.html): `linux`, `mac`, `win64`.
212
221
@@ -394,8 +403,8 @@ Exposed as a CLI command and Python API:
0 commit comments