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.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53bec06506d1d3c69cd7e3f6c316a6945429fc79abd6cd20fa7cc2330425581c |
|
MD5 | 6ab1774bef102327442411da2d6c5718 |
|
BLAKE2b-256 | 7e5b6c876122ebfe17c5006770ac3cb696a04f97e2b7aea2875ff769c704824f |