Skip to content

2.2.0

Compare
Choose a tag to compare
@EwoutH EwoutH released this 31 Aug 19:48
· 146 commits to master since this release

Highlights

With the 2.2 release, the EMAworkbench can now connect to Vadere models on pedestrian dynamics. When inspecting a Prim Box peeling trajectory, multiple points on the peeling trajectory can be inspected simultaneously by inputting a list of integers into PrimBox.inspect().

When running experiments with multiprocessing using the MultiprocessingEvaluator, the number of processes can now be controlled using a negative integer as input for n_processes (for example, -2 on a 12-thread CPU results in 10 threads used). Also, it will now default to max. 61 processes on windows machines due to limitations inherent in Windows in dealing with higher processer counts. Code quality, CI, and error reporting also have been improved. And finally, generating these release notes is now automated.

This new version can be installed as usual via PyPI, with:

pip install --upgrade ema-workbench

What's Changed

🎉 New features added

🛠 Enhancements made

  • Improve code quality with static analysis by @EwoutH in #119
  • prim.py: Make PrimBox.peeling_trajectory["id"] int instead of float by @EwoutH in #121
  • analysis: Allow optional annotation of plot_tradeoff graphs by @EwoutH in #123
  • evaluators.py: Allow MultiprocessingEvaluator to initialize with cpu_count minus N processes by @EwoutH in #140
  • PrimBox.inspect() now can also take a list of integers (aside from a single int) to inspect multiple points at once by @quaquel in 6d83a6c (see also issue #124)

🐛 Bugs fixed

📜 Documentation improvements

  • Docs: Installation.rst: Add how to install master or custom branch by @EwoutH in #122
  • Docs: Replace all http links with secure https URLs by @EwoutH in #134
  • Maintain release notes at CHANGELOG.md and include them in Readthedocs by @quaquel in ebdbc9f
  • Fix badge links in readme by @quaquel in 28569bd

🔧 Maintenance

  • feature_scoring: fix Regressor criterion depreciation by @EwoutH in #125
  • feature_scoring.py: Change max_features in get_rf_feature_scores to "sqrt" by @EwoutH in #129
  • CI: Use Pytest instead of Nose, update default build to Python 3.10 by @EwoutH in #131
  • Release CI: Only upload packages if on main repo by @EwoutH in #132
  • CI: Split off flake8 linting in a separate job by @EwoutH in #133
  • CI: Add weekly scheduled jobs and manual trigger by @EwoutH in #137
  • setup.py: Add project_urls for documentation and issue tracker links by @EwoutH in #142
  • set scikit-learn requirement >= 1.0.0 by @rhysits in #144
  • Create release.yml file for automatic release notes generation by @EwoutH in #152
  • instantiating an Evaluator without one or more AbstractModel instances now raises a type error by @quaquel in a83533a
  • removes depreciated DataFrame.append by replacing it with DataFrame.concat (see the conversation on issue #126):
  • removes NumPy datatypes deprecated in 1.20 by @quaquel in e8fbf6f
  • replace deprecated scipy.stats.kde with scipy.stats by @quaquel in b5a9ca9

New Contributors

Full Changelog: 2.1.2...2.2.0