Skip to content

Maintenance/checkpointing#182

Draft
otaub wants to merge 94 commits into
mainfrom
maintenance/checkpointing
Draft

Maintenance/checkpointing#182
otaub wants to merge 94 commits into
mainfrom
maintenance/checkpointing

Conversation

@otaub

@otaub otaub commented Feb 6, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR replaces the pickle based checkpointing with HDF5.
Main changes:

  • candidates will be written to checkpoint on sampling/breeding, so individuals whose evaluation has started are not lost when the run is interrupted.
  • pollination now only has one individual per island
  • population is now a dict

Minor changes

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@mcw92
mcw92 self-requested a review February 16, 2026 07:21
Oskar Taubert and others added 29 commits February 19, 2026 18:49
…d touching attrs in the parallel opened checkpoint file
…coverage file from pre-commit hooks, fixed a missed merge conflicts
…heckpoint, population is now stored in a dict, refactored intra island send, adapted propulator tests for different checkpointing scenarios, adapted migrator and pollinator to dict population, removed summary for now
@otaub
otaub force-pushed the maintenance/checkpointing branch from 9103a0f to 9f545fc Compare February 19, 2026 19:22
@github-actions

Copy link
Copy Markdown
Contributor
Name Stmts Miss Cover Missing
propulate/__init__.py 15 2 87% 6-7
propulate/_globals.py 5 0 100%
propulate/islands.py 85 5 94% 134, 171, 179, 212, 218
propulate/migrator.py 174 12 93% 220, 275-296
propulate/pollinator.py 153 1 99% 186
propulate/population.py 123 22 82% 56, 73, 101-102, 119, 128, 142, 147, 164, 172, 176, 186, 223, 265-275
propulate/propagators/__init__.py 6 0 100%
propulate/propagators/base.py 103 16 84% 68, 98, 150, 262, 267-272, 343, 397, 450, 524, 527-530
propulate/propagators/cmaes.py 189 22 88% 229-237, 244-246, 262-269, 336, 370, 395, 762, 808-809
propulate/propagators/ga.py 117 52 56% 61, 88-92, 96-98, 159-171, 187-207, 267, 347, 405, 421-427, 469-470, 486-500
propulate/propagators/nm.py 80 0 100%
propulate/propagators/pso.py 120 30 75% 145, 152-154, 341, 524, 554, 560-561, 617-622, 643-674
propulate/propulator.py 296 34 89% 146-148, 151, 206, 246, 417-418, 522, 534, 593-604, 620-627, 648, 651-657
propulate/surrogate.py 138 26 81% 42, 62, 80, 104, 124, 142, 290-292, 462, 466, 477-489, 551, 554, 558, 562, 568, 585
propulate/utils/__init__.py 38 9 76% 79, 140-141, 146-151
propulate/utils/benchmark_functions.py 137 31 77% 586, 609-683
propulate/utils/consistency_checks.py 68 11 84% 58-59, 110-111, 133-136, 147-149
TOTAL 1847 273 85%

@codecov-commenter

codecov-commenter commented Feb 19, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 93.81443% with 24 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.43%. Comparing base (3d64147) to head (e5dd521).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
propulate/utils/consistency_checks.py 75.92% 13 Missing ⚠️
propulate/propulator.py 95.20% 8 Missing ⚠️
propulate/propagators/pso.py 77.77% 2 Missing ⚠️
propulate/population.py 90.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #182      +/-   ##
==========================================
- Coverage   85.88%   85.43%   -0.46%     
==========================================
  Files          16       17       +1     
  Lines        1792     1819      +27     
==========================================
+ Hits         1539     1554      +15     
- Misses        253      265      +12     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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

otaub and others added 22 commits February 20, 2026 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Check surrogate merge works as intended

4 participants