Support STL formula parsing#1
Merged
Merged
Conversation
These assertions guarantee that the EnsureInput wrappers in the core are functioning properly when transitioning from Rust evaluation to Python evaluation.
This makes it slightly easier than having to define a class for quick operator or expression definitions.
Since Banquo now provides access to the ForwardEvaluationError, we need to handle it as a unique case when converting errors from forward operator bindings.
Splitting up the monolithic _banquo_impl module makes maintenance and refactoring simpler. Implement new methods on PyMetricTrace for inverting inner results to outer result and update PyFormula implementation to short circuit if the contained formula produces an error.
This allows us to implement Meet and Join without having to resort to panicking if an operator is not defined. Now the error is caught in the value and can be reported. This method is less efficient because we evaluate the whole trace even if the first element errors but we gain better error reporting.
implementations We delegate to the python definitions of `min` and `max` in the PyMetric Meet and Join implementations, which use the strict inequality operators. Thus we change our type bounds appropriately.
Define a custom module type to represent the STL submodule in the _banquo_impl library.
Replace pyright with pyrefly and create more dependency groups for better control in CI workflows
…checking test modules
This matches the version bounds in the build dependencies
The psm library is failing to compile on the s390x architecture. We set the processor architecture to z10 as found in the discussion [here](rust-lang/stacker#79).
macos-13 runner for the x86_64 build is no longer supported, so we upgrade to macos 15 and ensure it is running on an intel machine. For the arm64 build we use the latest version of the macos runner, which will always be running on apple silicon.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge cpslab-asu/banquo#8 made parsing functionality for STL formulas public in the
banquoRust library, which means that we can now create bindings to allow parsing from Python.