-
Notifications
You must be signed in to change notification settings - Fork 24
Description
Depending on #292 (and #296 would be nice for this, but not required), this handles nondeterministic algorithm collisions, type issues with the PRA class related to PRA#run, and better documents defaults in the generated parameters.yml.
In every single PRA method implementation, we should have a pydantic BaseModel which documents the algorithm parameters separately from the associated #run method. This gets rid of the need to use **kwargs for passing in run options.
For nondeterministic algorithms, we can have a parameter, _time, which defaults to the current time. (pydantic ignores fields beginning with an underscore): this parameter will still make it to before the parameters are hashed.
This has the final benefit of, in combination with #292, allowing for a fully featured configuration schema with all of the options it takes.