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.
Standalone utilities include a very minimal GitHub API client, mainly for retrieving release information and downloading assets, and a ZipFile
subclass that preserves file permissions (workaround for Python #15795)
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-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2469ecb311c32620754e0eace92555845f29444afc6e1d15b7781b1cee6f1bf2 |
|
MD5 | 305640c35d209626914d8c34520d5f4f |
|
BLAKE2b-256 | 0ffb0c8cb7526dccde00be5045dcb72260b1d1364e00693b680750fa4cb2caa7 |