Deephaven Community Core version 0.32.0 is the first release of 2024! We bring in the new year with a new calendar API, bug fixes, and quality-of-life improvements. Let's dive into what's new.
Deephaven's calendar API has been significantly revamped:
- The built-in calendar query library has been completely reworked. It is now consistent with the rest of the time library and is based on Java time types.
- The Python API has been trimmed down. The smaller API makes it easier to keep table operations fast by avoiding accidental Python/Java boundary crossings.
Stay tuned for a blog that explores the new calendar API and its benefits in greater detail.
Are you accustomed to using a lighter UI theme when doing your work? Do you want to make your own custom theme for Deephaven? Now you can! With 0.32, you can switch between the default dark theme and a new light theme. If neither of those suits your fancy, you can create your own.
Support for Python 3.12
More rigorous type checking
Type hints in functions are more rigorously enforced as of Deephaven Community Core v0.32.0 and forward. This change helps ensure query correctness.
This is a breaking change.
Before 0.32, users could use type hints in functions that didn't match the data type they received. The following code will now raise an error because the values in the
X column don't align with what's specified in the type hint.
from deephaven import empty_table
from deephaven.constants import NULL_INT
import numpy as np
t = empty_table(5).update(["X = (i % 3 == 0) ? NULL_INT : i"])
def do_something(x: np.int32) -> np.int32:
return x + 1
t2 = t.update(["Y = do_something(X)"])
Bug fixes and quality-of-life improvements
This release is no different from others - it includes bug fixes and minor improvements that improve the Deephaven experience. One in particular is noteworthy for Python users.
Support for annotations
Before 0.32.0, Python UDFs written in Deephaven queries couldn't leverage future.annotations, and would throw an error. Users can now import and use the package - it's a useful tool for delayed evaluation.
Our Slack community continues to grow! Join us there for updates and help with your queries.