Skip to content

feat(get-modflow): consistently retry transient network failures - #2849

Merged
wpbonelli merged 5 commits into
modflowpy:developfrom
wpbonelli:get-modflow-retries
Sep 14, 2026
Merged

wpbonelli merged 5 commits into
modflowpy:developfrom
wpbonelli:get-modflow-retries

Conversation

@wpbonelli

@wpbonelli wpbonelli commented Sep 10, 2026

Copy link
Copy Markdown
Member

Use a consistent, configurable retry mechanism for all three network calls

  • list releases
  • get info for a release
  • download a release archive

Previously the download didn't retry, just the first two queries

@wpbonelli wpbonelli added this to the 3.12 milestone Sep 10, 2026
@codecov

codecov Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 74.44444% with 23 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.6%. Comparing base (556c088) to head (e10d19a).
⚠️ Report is 232 commits behind head on develop.

Files with missing lines Patch % Lines
flopy/utils/get_modflow.py 74.4% 23 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2849      +/-   ##
===========================================
+ Coverage     55.5%    73.6%   +18.1%     
===========================================
  Files          644      659      +15     
  Lines       124135   132370    +8235     
===========================================
+ Hits         68947    97550   +28603     
+ Misses       55188    34820   -20368     
Files with missing lines Coverage Δ
flopy/utils/get_modflow.py 39.0% <74.4%> (-24.7%) ⬇️

... and 585 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@wpbonelli wpbonelli changed the title feat(get-modflow): retry transient network failures feat(get-modflow): consistently retry transient network failures Sep 10, 2026
flopy.utils.get_modflow is bound to run_main, so monkeypatching module
attributes (http_retry_delay, urlopen, ...) raised AttributeError at
fixture setup, erroring every test in the file. Import
get_modflow_module instead, and pull in run_main for test_python_api.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014YZ9JZKVxBAWym16KcgQoU
@wpbonelli
wpbonelli marked this pull request as ready for review September 10, 2026 11:48

@mwtoews mwtoews left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a good strategy around transient network issues. Also, surprisingly still works with Python 3.6 as a stand-alone script!

@wpbonelli
wpbonelli merged commit 1a783da into modflowpy:develop Sep 14, 2026
23 checks passed
@wpbonelli
wpbonelli deleted the get-modflow-retries branch September 14, 2026 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants