Python tools for MODFLOW development
Project description
MODFLOW developer tools
Python development tools for MODFLOW 6.
Use cases
This is a small toolkit for developing MODFLOW 6, FloPy, and related projects. It includes standalone utilities and optional Pytest extensions.
The former include a very minimal GitHub API client for retrieving release information and downloading assets, a ZipFile
subclass that preserves file permissions (workaround for Python #15795), and other release/distribution-related tools.
Pytest features include:
--keep <path>
tempdir fixtures for each scope- a
--smoke
test (abbrev.-S
) CLI option shortcut - markers to skip test cases conditional on
- operating system
- Python packages installed
- executables available on the PATH
- test fixtures for example / test models in
MODFLOW-USGS/modflow6-examples
MODFLOW-USGS/modflow6-testmodels
MODFLOW-USGS/modflow6-largetestmodels
Requirements
Python3.8+, dependency-free, but pairs well with pytest
and select plugins, e.g.
Installation
modflow-devtools
is available on PyPI and can be installed with pip:
pip install modflow-devtools
Pytest, pytest plugins, and other optional dependencies can be installed with:
pip install "modflow-devtools[test]"
To install from source and set up a development environment please see the developer documentation.
To import pytest
fixtures in a project consuming modflow-devtools
, add the following to a conftest.py
file:
pytest_plugins = [ "modflow_devtools.fixtures" ]
Note: this must be a top-level conftest.py
, which nested conftest.py
files may then override or extend.
Documentation
Docs are available at modflow-devtools.readthedocs.io.
For more info on MODFLOW 6 see the USGS overview.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for modflow_devtools-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ca77aec0a735d46f07e598e601097724d70097a5267dc5b45b8a8c2ecaa67cb |
|
MD5 | be4c50082ff87cf4e3eb78775146bcfa |
|
BLAKE2b-256 | 5e53ba9647d9db85e7edd6b6a113e5df453cc6e55fdb831f6655467d361eb3ff |