Skip to content

Releases: NAU-CCL/Epymorph

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 30 Jun 22:30

Highlights

  • ⚙️ Improved installation issues (as experienced by some users).
  • 📆 Add support for recently updated data sources.
  • 🐛 Bug fixes.

Improved installation experience

Some users reported difficulties installing epymorph on some platforms and in some environments. A significant contributing factor was that we chose to declare our dependencies with narrow version ranges, in an attempt to ensure stability and repeatability between environments. However we now realize this was too restrictive, and just made it challenging to get started with epymorph. As a result, we've widened our dependency specifications and stepped up efforts to test and monitor numerical consistency of results across a range of system profiles and package environments. (We are confident that results are stable under this dependency scheme, so we have declared this a non-breaking change.) As always, our goal is to keep epymorph stable to support your scientific workflows and the repeatability of your work.

Removing Python 3.13 support declaration

As a consequence of the above, we found we needed to rescind our previous declaration of support for Python version 3.13. Officially we recommend sticking with 3.11 or 3.12 for now. We will soon revisit support for Python 3.13 and 3.14, which will require upgrading to numpy v2. While we don't anticipate this causing real issues, it's a step we want to take carefully!

What's Changed

  • chore: Add support for ACS5 vintage 2024 data.
  • chore: Add support for US TIGER vintage 2024 and 2025 geography.
  • fix: Centroids movement model numerical overflow when phi is small. by @Averydx in #277
  • fix: Improved validation when using TimeSelector methods. by @JavadocMD in #305
  • refactor: Compartment models, movement models, and simulation functions refactored to not use metaclasses. by @JavadocMD in #302

Full Changelog: v1.1.0...v1.2.0

v2.0.0b0

Choose a tag to compare

@github-actions github-actions released this 18 Feb 18:13

This release kicks off our 2.0 beta release line, which focuses on bringing enhanced parameter estimation and forecasting tools to epymorph. Vignettes will follow soon, but for now the main entry points to the new features are in the epymorph.forecasting.pipeline module: classes ForecastSimulator, ParticleFilterSimulator, and EnsembleKalmanFilterSimulator.

Beta Note

Because this is a beta release line there may be significant changes between now and full release, but we wanted to give you access to these features early. We are currently using this version of epymorph to participate in the CDC FluSight influenza forecasting challenge so we feel confident in the new features.

What's Changed

  • Added the ability to create multi-realization forecasts from a model.
  • Added an ensemble Kalman filter and an improved particle filter for joint state and parameter estimation.
    • Support for missing data.
    • Support for more sophisticated relationships between parameters.
  • Added the ability to create fitting-to-forecasting pipelines.
  • Added ADRIO CSVFileAxN which is particularly useful for loading time-series data with a non-daily period.

Full Changelog: v1.1.0...v2.0.0b0

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 11 Dec 19:27

This release includes caching configuration environment variables (EPYMORPH_CACHE_DISABLED and EPYMORPH_CACHE_DISABLED_PATHS) and some bug fixes/updates.

To be on the safe side, we're marking this as a breaking change (hence the minor version bump) because it does alter API which is publicly exposed. However the altered API was not directly involved in typical use-cases, so this update will be effectively non-breaking for most users. (More details below.)

What's Changed

Public API changes

Non-breaking

  • Added: epymorph.attribute.NamePattern.conflicts(names) (static) for checking a set of NamePatterns for conflicting/ambiguous names.
  • Added: epymorph.database.Database.query_all(dbs, key) (static) for finding a value in a priority-order list of database instances.
  • Changed: in epymorph.database.ReqTree.of(requirements, params), params can be given as a list of databases which will be queried in priority order (using Database.query_all); still compatible with previous value type.

Breaking

  • Removed: epymorph.database.DatabaseWithFallback; fallback behavior is easier to handle as a priority list.
  • Removed: epymorph.database.DatabaseWithStrataFallback; strata parameters can be flattened by setting the strata name on a ModuleNamePattern.
  • Removed: epymorph.rume.GEO_LABELS; this was not really used to any effect and its existence is potentially confusing.

Full Changelog: v1.0.1...v1.1.0

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 30 Sep 19:18
1f77144

This release brings a few minor changes and fixes focused, mainly, on improved utility for batch computing environments.

What's Changed

  • MkDocs configuration changes for a multi-version doc site. by @JavadocMD in #265
  • Support IPMs with compartments that have no edges but are included in rate equations by @JavadocMD in #263
  • map and line plot output tools can output to file. by @JavadocMD in #260
  • sim_messaging() "liveness" improvements. by @JavadocMD in #262

Full Changelog: v1.0.0...v1.0.1

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Jun 21:04

First stable release! 🎉

Having spent the last couple of months testing, updating, polishing, and documenting we now feel epymorph is sufficiently stable to leave the beta phase. Changes include:

  • The inspect functionality added to some ADRIOs in v1.0.0b1 has now been extended to every built-in ADRIO.
  • More CDC datasets available as ADRIOs.
  • The API reference documentation has been revamped and now covers nearly every module, class, and function.
  • Numerous minor bug fixes and API improvements.

As always, we'd love to hear how you are integrating epymorph in your modeling pipelines!

What's Changed

Full Changelog: v0.10.0...v1.0.0

v1.0.0b1

Choose a tag to compare

@github-actions github-actions released this 25 Apr 22:12

You beta believe it, it's an improved beta version!

This release focuses on improving workflows using ADRIOs. The real world is messy and full of caveats, so we introduced standardized methods for addressing data issues such as redacted or missing data. In addition, we added the inspect method to help discover and resolve issues.

So far only a selected few ADRIOs have been converted to the "new style" interface (acs5, cdc, and commuting_flows) but we plan to convert the rest of them soon. We believe this is a major improvement in data integrity and ease of use.

Meanwhile we continue to improve our API documentation and squash minor bugs. Enjoy!

What's Changed

Full Changelog: v1.0.0b0...v1.0.0b1

v1.0.0b0

Choose a tag to compare

@github-actions github-actions released this 13 Feb 17:29

🎉 epymorph is now in v1.0.0 beta! 🎉

The main features of epymorph are in place and we believe it's ready for enthusiasts outside of our team to try it out. Your feedback is critical and appreciated, especially during this beta period. We expect there may be some bug fixes and quality-of-life improvements between now and removing the beta tag, but no major feature additions, removals, or breaking refactors. Enjoy!

What's Changed

Full Changelog: v0.10.0...v1.0.0b0

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 07 Feb 00:22
e5acec1

What's Changed

Full Changelog: v0.9.2...v0.10.0

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 05 Feb 20:10
3f6cbef

What's Changed

Full Changelog: v0.9.1...v0.9.2

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 05 Feb 19:48
6de80b9

This version adds parameter estimation to the feature set using our particle filter implementation.

What's Changed

New Contributors

Full Changelog: v0.9.0...v0.9.1