-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement filtered autocomplete for algorithm selection #534
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks very good already, only a few things that need updates.
This is a great step towards much better auto complete 🎉
Tests are failing due to the release of DFO-LS 1.5.1; This is unrelated to the current changes and would affect all currently open PRs (@timmens, @mpetrosian). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks very good! I only have two minor comments on the documentation.
docs/source/how_to/how_to_specify_algorithm_and_algo_options.md
Outdated
Show resolved
Hide resolved
Co-authored-by: Tim Mensinger <mensingertim@gmail.com>
Short description
After this PR, algorithms can for example be selected as follows:
After typing
om.algos.Bounded
, the autocomplete in any modern editor will only suggest algorithms that support bound constraints.Categories that can be used to filter algorithms are:
Categories can be selected in any order. We make sure that mutually exclusive categories (e.g. Local and Global) cannot be selected at the same time.
Detailed description
The changes are described in EP-02: Static Typing
Deviations from the EP
Unbounded
andUnconstrained
categories were removed because people rarely want to specifically choose an optimizer that does not support constraints or bounds.om.algorithms
was renamed toom.algos
because it is still unambiguous and makes the code shorter, which hopefully improves adoption of using this instead of strings for algorithm selection.