Skip to content

Releases: ConnorStoneAstro/caskade

v0.14.0

05 Dec 21:17
82778a8

Choose a tag to compare

What's Changed

Breaking changes

  • Module.build_params_array is now replaced with Module.get_values with extra functionality to get static values and other attributes besides the values (if possible)
  • Module.fill_dynamic_params is now replaced with Module.set_values with extra functionality to set static values and other attributes besides the values (if possible)

Full Changelog: v0.13.0...v0.14.0

v0.13.0

04 Dec 20:57
1b61d11

Choose a tag to compare

What's Changed

Breaking changes

the functions dynamic_value, static_value, and pointer_func no longer exist. Instead it is now possible to pass a value when calling to_dynamic(val) or to_static(val). For completeness to_pointer(val) now exists where val should be None, a Param, or a callable.

Calling param.to_static(None) will set the param to static and leave the value as None (presumably to be filled later). This will still crash if you try to use it in a simulation, but gives the user some freedom to define the workflow of how the value gets filled.

Full Changelog: v0.12.1...v0.13.0

v0.12.1

03 Dec 02:07
0984e46

Choose a tag to compare

Full Changelog: v0.12.0...v0.12.1

v0.12.0

02 Dec 20:16
dd9b2c7

Choose a tag to compare

What's Changed

Major interface update includes many small changes:

  • param.value = None now clears value and sets dynamic, rather than aliasing to_dynamic
  • param.value = 1.0 or some other value no longer forces static, the param will remain static/dynamic as it was before
  • Printing a simulator will show up to 4 values per param, rather than only showing scalars
  • Param("name", dynamic_value = value) no longer works, now use Param("name", value = value, dynamic=True)
  • Params now have explicit param.batched = True to indicate that param.shape will match then end of param.value.shape. More generally we will have param.shape = (*D) and param.value.shape = (*B, *D)
  • param.dynamic_value = value is now param.dynamic_value(value) to set value and make it dynamic. Also now have param.static_value(value) to set static and provide value. As well as param.pointer_func(value) to set a function or param pointer

Under the hood, the graph will only update for setting a param value if that means changing the node type (static, dynamic, pointer). This should improve the speed of larger simulators when modifying states (ie set whole simulator to static). The runtime use of the graph has always been fast.

Full Changelog: v0.11.0...v0.12.0

v0.11.0

11 Sep 14:04
5608932

Choose a tag to compare

What's Changed

Full Changelog: v0.10.5...v0.11.0

v0.10.5

01 Aug 22:57
83db902

Choose a tag to compare

What's Changed

Full Changelog: v0.10.4...v0.10.5

v0.10.4

26 Jul 15:47
8ab071e

Choose a tag to compare

What's Changed

Full Changelog: v0.10.3...v0.10.4

v0.10.3

13 Jul 19:17
82e0d45

Choose a tag to compare

What's Changed

Full Changelog: v0.10.2...v0.10.3

v0.10.2

02 Jul 02:24
2be4574

Choose a tag to compare

What's Changed

Full Changelog: v0.10.1...v0.10.2

v0.10.1

30 May 15:25
4a1612d

Choose a tag to compare

What's Changed

This is not a breaking change, but it allows users to have incompletely filled params and still use a simulator. If it encounters a param it needs to fill, but has no value an error will be thrown.

Full Changelog: v0.10.0...v0.10.1