Skip to content

3.0.1

Latest
Compare
Choose a tag to compare
@cmccarthy1 cmccarthy1 released this 04 Dec 17:43
42f707b

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" 
    '))