estimagic icon indicating copy to clipboard operation
estimagic copied to clipboard

Release 0.5.0 [WIP]

Open janosg opened this issue 1 year ago • 2 comments

Release 0.5.0 will bring several breaking changes and deprecations. On a high level, the major changes are:

  • Implement EP-02: Static typing
  • Implement EP-03: Alignment with SciPy
  • Rename the package from estimagic to optimagic (while keeping the estimagic namespace for the estimation capabilities).

This branch will stay open until all changes are implemented. The actual changes are implemented as PRs on this branch. In the end we will merge this PR without squashing commits.

We roughly have the following things to do:

Renaming

  • [x] Rename and restructure the package
  • [x] Rename and restructure the documentation
  • [ ] Add infrastructure to release under two names

Alignment

  • [ ] Align the interfaces of minimize and maximize with scipy
  • [ ] Rename algo-options
  • [ ] Align step-size of numerical derivatives during optimization
  • [ ] Make issue for further alignment that does not involve deprecations (e.g. hess, hessp, ...)
  • [ ] Add a default algorithm

Typing

  • [ ] Implement new objective function interface
  • [ ] Implement new bounds interface
  • [ ] Implement new constraints interface
  • [ ] Implement new internal algorithm interface
  • [ ] Implement unfiltered algorithm selection and make issue for filtered algorithm selection
  • [ ] Implement new algo-options interfaces
  • [ ] Implement new interface for custom derivatives
  • [ ] Implement jax autodiff
  • [ ] Implement new logging
  • [ ] Implement new scaling interface
  • [ ] Implement new multistart interface
  • [ ] Improve numerical differentiation
  • [ ] Replace other option dictionaries by option objects
  • [ ] Implement new benchmarking interface and architecture
  • [ ] Make adjustments for estimation functions

Documentation

  • [ ] Write a completely new docstring for minimize and maximize (I deleted the old one instead of making mini updates all the time)
  • [ ] Go over all code snippets and notebooks in the documentation and make sure they use recommended interfaces

janosg avatar Jul 10 '24 13:07 janosg

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Codecov Report

Attention: Patch coverage is 94.32990% with 11 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/estimagic/estimate_ml.py 89.06% 7 Missing :warning:
src/estimagic/__init__.py 96.22% 2 Missing :warning:
src/estimagic/estimate_msm.py 97.61% 1 Missing :warning:
src/estimagic/examples/logit.py 92.30% 1 Missing :warning:
Files with missing lines Coverage Δ
src/estimagic/batch_evaluators.py 100.00% <100.00%> (+40.90%) :arrow_up:
src/estimagic/bootstrap.py 99.06% <100.00%> (ø)
src/estimagic/bootstrap_ci.py 100.00% <100.00%> (ø)
src/estimagic/bootstrap_helpers.py 100.00% <ø> (ø)
src/estimagic/bootstrap_outcomes.py 100.00% <100.00%> (ø)
src/estimagic/bootstrap_samples.py 100.00% <ø> (ø)
src/estimagic/config.py 100.00% <ø> (+23.52%) :arrow_up:
src/estimagic/estimation_table.py 84.36% <100.00%> (ø)
src/estimagic/lollipop_plot.py 100.00% <ø> (ø)
src/estimagic/ml_covs.py 84.14% <ø> (ø)
... and 98 more

... and 85 files with indirect coverage changes


🚨 Try these New Features:

codecov[bot] avatar Jul 10 '24 13:07 codecov[bot]