Full up-to-date release notes are available here.
🎉 Feature 🎉
-
Addition of the property day to kx.Column objects to allow users to retrieve the day of month of a timestamp.
>>> import pykx as kx >>> tab = kx.Table(data={ ... 'a': kx.random.random(100, kx.TimestampAtom.inf), ... 'b': kx.random.random([100, 3], 10.0) ... }) >>> tab.exec(kx.Column('a').day) pykx.IntVector(pykx.q('7 10 12..'))
🔧 Fixes & Improvements 🔧
-
Added warning to kx.q.system.load and context registration when attempting to load path with a space. Can be suppressed by enabling PYKX_SUPPRESS_WARNINGS.
-
Changed %%python heading to %%py when calling Python code during jupyter_qfirst mode so as not to conflict with inbuilt Jupyter cell magics.
-
Fixed kx.license.check(format='string') to remove newline characters during comparison.
-
Configuration file .pykx-config now supports use of boolean toml configuration
$ cat ~/.pykx-config [default] PYKX_QDEBUG = true $ python >>> import pykx as kx >>> kx.config.pykx_qdebug True
-
Reintroduced unsetting/setting of PYKX_SKIP_UNDERQ in PyKXReimport these had been removed in the 3.0.0 release.
-
Added type checking for the cast flag when calling kx.toq() or creating a kx.K variable such as kx.FloatVector() or kx.DatetimeAtom().
-
Removed the need to enable PYKX_BETA_FEATURES to use pykx_threading.
-
Fixed a memory leak when calling pickle.loads on a PyKX object which previously had been called with pickle.dumps.
-
Removal of column type from the return of dtypes method for kx.Table objects, previously this had raised a deprecation warning
>>> tab = kx.q('([] a:1 2 3j;b:4 5 6i)') >>> tab.dtypes pykx.Table(pykx.q(' columns datatypes --------------------- a "kx.LongAtom" b "kx.IntAtom" '))