Releases: MODFLOW-ORG/modflow-devtools
MODFLOW developer tools 1.9.1
Bug fixes
Version 1.9.0 accidentally broke the DFN to TOML conversion script. Keep the old one for compatibility with the old dfn module, move the new one into the experimental dfns module. And a couple other fixes/tweaks.
MODFLOW developer tools 1.9.0
New features
This release improves the architecture of the models API, decoupling model repositories from devtools and adding a CLI. The improvements should all be backwards-compatible.
This release also contains an experimental programs API that can be used to inspect available versions of MODFLOW 6 and related programs, and help with installs, as well as an experimental redesign of the MF6 DFN specification file utilities.
The aim here is to unify this project's ecosystem management utilities with consistent design and UX once we reach version 2. No breaking changes (and new stuff will stay experimental) for the remainder of 1.x.
MODFLOW developer tools 1.8.0
New features
- feat(programs): Add programs module and database (#243). Committed by wpbonelli on 2025-10-15.
- update the models API as some test models have changed.
Refactoring
MODFLOW developer tools 1.7.0
New features
- feat(dfn): Add dfn container, parser, toml conversion script (#167). Committed by wpbonelli on 2024-12-11.
- feat(dfn): Toml load support, switch to tomli, add tests (#173). Committed by wpbonelli on 2025-01-14.
- feat: Models api (#191). Committed by wpbonelli on 2025-03-06.
- feat: Model mapping (#192). Committed by wpbonelli on 2025-03-07.
- feat(models): Support example models (#197). Committed by wpbonelli on 2025-03-11.
- feat(models): Add example scenario mapping (#198). Committed by wpbonelli on 2025-03-11.
- feat(models): Add mf2005 models from modflow6-testmodels repo (#206). Committed by wpbonelli on 2025-04-08.
- feat(misc): Add try_get_enum_value function (#208). Committed by wpbonelli on 2025-04-22.
- feat(misc): Add cd alias for set_dir (#221). Committed by wpbonelli on 2025-05-20.
Bug fixes
- fix(fixtures): Don't use square brackets in tempdir paths (#160). Committed by wpbonelli on 2024-06-10.
- fix(download.py): Accommodate missing gh api response item (#162). Committed by wpbonelli on 2024-10-02.
- fix(test_meson_build): Use requires_exe instead of requires_pkg (#164). Committed by Mike Taves on 2024-12-09.
- fix(dfn): Include missing attributes (#176). Committed by wpbonelli on 2025-01-25.
- fix(dfn): Mark transient blocks (#178). Committed by wpbonelli on 2025-01-26.
- fix(dfn): Rename sub -> ref (#180). Committed by wpbonelli on 2025-01-31.
- fix(dfn): Remove some special handling for subpackages (#181). Committed by wpbonelli on 2025-01-31.
- fix(dfn): Keep block attribute for now (#182). Committed by wpbonelli on 2025-02-03.
- fix(dfn): Block attribute first (#183). Committed by wpbonelli on 2025-02-03.
- fix(dfn): Rename transient -> transient_block (#184). Committed by wpbonelli on 2025-02-04.
- fix: Filelock when fetching zips (#200). Committed by wpbonelli on 2025-03-18.
- fix(models): Include files in nested folders (#201). Committed by wpbonelli on 2025-03-19.
- fix(models.py): Add retries for transient network errors (#205). Committed by wpbonelli on 2025-04-07.
- fix(LocalRegistry): Fix string joining in dir not found error case (#213). Committed by wpbonelli on 2025-05-02.
Refactoring
- refactor: Use pathlib and subprocess; refactor other aspects (#166). Committed by Mike Taves on 2024-12-09.
- refactor(dfn): Move to file (#170). Committed by wpbonelli on 2025-01-03.
- refactor(dfn): Use explicit table names in toml format (#174). Committed by wpbonelli on 2025-01-17.
- refactor(download): Remove asset/artifact utilities (#175). Committed by wpbonelli on 2025-01-17.
- refactor(dfn): Minor toml format fixes/improvements. Committed by wpbonelli on 2025-01-26.
- refactor(dfn): Use boltons remap, better comments/naming (#179). Committed by wpbonelli on 2025-01-26.
- refactor(models): Respect model names/relpaths (#199). Committed by wpbonelli on 2025-03-12.
- refactor(models): Distinguish source repo via prefix (#202). Committed by wpbonelli on 2025-04-01.
- refactor(registry): Add mf6 prefix to mf6 model names (#207). Committed by wpbonelli on 2025-04-18.
- refactor(models): Introduce model registry classes (#210). Committed by wpbonelli on 2025-05-01.
- refactor(LocalRegistry): Support multiple model directory paths (#212). Committed by wpbonelli on 2025-05-02.
- refactor(LocalRegistry): Back to the old indexing pattern (#214). Committed by wpbonelli on 2025-05-02.
- refactor(LocalRegistry): Rework index method prefix parameters (#215). Committed by wpbonelli on 2025-05-03.
- refactor(make_registry.py): Shortcut to create default registry (#222). Committed by wpbonelli on 2025-05-20.
- refactor(dfn): Rename var -> field, misc cleanup (#223). Committed by wpbonelli on 2025-05-29.
- refactor(dfn): Add reader attribute to Field (#224). Committed by wpbonelli on 2025-06-03.
MODFLOW developer tools 1.6.0
New features
- feat(snapshots): Add --snapshot-disable cli option (#157). Committed by wpbonelli on 2024-05-21.
Bug fixes
- fix(get_model_paths): Fix model order within scenario (#156). Committed by wpbonelli on 2024-05-21.
MODFLOW developer tools 1.5.0
New features
- feat(markers): Add no_parallel marker, support differing pkg/module names (#148). Committed by wpbonelli on 2024-04-12.
- feat(snapshots): Add snapshot fixtures, remove pandas fixture (#151). Committed by wpbonelli on 2024-05-13.
Refactoring
- refactor(latex): Support path-like, add docstrings (#142). Committed by wpbonelli on 2024-02-25.
MODFLOW developer tools 1.4.0
New features
- feat(latex): Add latex utilities (#132). Committed by wpbonelli on 2024-01-09.
- feat(misc): Parse literals from environment variables (#135). Committed by wpbonelli on 2024-01-21.
- feat(ostags): add OS tags for Apple silicon (#139). Committed by wpbonelli on 2024-02-18.
Refactoring
- refactor: Remove executables module/class (#136). Committed by wpbonelli on 2024-01-25. Should be in a major release per semver, but nothing is using it, so this should be safe.
- refactor(fixtures): Support pytest>=8, drop pytest-cases dependency (#137). Committed by wpbonelli on 2024-01-31.
MODFLOW developer tools 1.3.1
MODFLOW developer tools 1.3.0
Support for Python 3.12, as well as a few testing-related features.
New features
- feat(fixtures): Add --tabular pytest CLI arg and corresponding fixture (#116). Committed by wpbonelli on 2023-09-12.
- feat(timeit): Add function timing decorator (#118). Committed by wpbonelli on 2023-09-12.
- feat(executables): Support .get(key, default) like dict (#125). Committed by wpbonelli on 2023-11-21.
Refactoring
MODFLOW developer tools 1.2.0
Tabular data is commonly represented in Python with numpy recarrays and pandas dataframes. User-facing APIs often accept either, converting between them internally if necessary.
To streamline testing of projects which support both recarrays and dataframes, introduce a --pandas (short -P) pytest CLI option accepting values: yes, no, random. This controls a boolean use_pandas fixture, which can be requested by test functions to condition how data is provided to the module under test.
New features
- feat(fixtures): Add use_pandas pytest fixture and --pandas CLI arg (#112). Committed by wpbonelli on 2023-09-12.