Skip to content

Spock v2.4.0

Compare
Choose a tag to compare
@ncilfone ncilfone released this 21 Jan 22:05
· 91 commits to master since this release
bafde78

Spock v2.4.0 Release Notes

Major Changes

  • Top Level API: ConfigArgBuilder is now renamed SpockBuilder and can now be imported from the top level spock module (e.g. from spock import SpockBuilder) -- fully backwards compatible such that any code using the prior interface will still work (#205)
  • Top Level API: The @spock decorated can now also be imported from the top level spock module (e.g. from spock import spock) -- fully backwards compatible such that any code using the prior interface will still work (#205)
  • Lazy Evaluation: The @spock decorator now has a boolean flag (dynamic) that allows inherited classes to not be @spock decorated -- this will automatically cast parent classes to a spock class by traversing the MRO (#205)
  • Lazy Evaluation: Dependencies/references between spock classes can be lazily handled thus preventing the need for every @spock decorated classes to be passed into *args within the main SpockBuilder API -- uses the lazy flag within the SpockBuilder (#205)

Minor Changes

  • Added stubs that should help type hinting in pylance/pyright for @spock and @spockTuner decorated classes (VSCode) (#205, #206, #207, #208)
  • Moved some functionality not specific to the Graph class to the utils so they can be exposed (#203)
  • Changed how graphs look-up class references and build G{V, E} via the dictionaries -- now uses names instead of type references (#202, #204)
  • Added unit tests & cleaned up some old/useless code (#208)