PyKX 1.6 released

https://learninghub.kx.com/forums/topic/pykx-1-6-released

PyKX 1.6 has been released

These release notes are also available on the documentation site:

https://code.kx.com/pykx/1.6/changelog.html

Additions

  • Added merge_asof to the Pandas like API.
    • See here for details of supported keyword arguments and limitations.
  • Added set_index to the Pandas like API.
    • See here for details of supported keyword arguments and limitations.
  • Added a set of basic computation methods operating on tabular data to the Pandas like API. See here for available methods and examples.
  • pykx.util.debug_environment added to help with import errors.
  • q vector type promotion in licensed mode.
  • Added .pykx.toraw to pykx.q to enable raw conversions (e.g. kx.toq(x, raw=True))
  • Added support for Python 3.11.
    • Support for pyarrow in this python version is currently in Beta.
  • Added the ability to use kx.RawQConnection as a Python based q server using kx.RawQConnection(port=x, as_server=True).
    • More documentation around using this functionality can be found here.

Fixes and Improvements

  • Improved error on Windows if msvcr100.dll is not found
  • Updated q libraries to 2023.04.17
  • Fixed an issue that caused q functions that shared a name with python key words to be inaccessible using the context interface.
    • It is now possible to access any q function that uses a python keyword as its name by adding an underscore to the name (e.g. except can now be accessed using q.except_).
  • Fixed an issue with .pykx.get and .pykx.getattr not raising errors correctly.
  • Fixed an issue where deserializing data would sometimes not error correctly.
  • Users can now add new column(s) to an in-memory table using assignment when using the Pandas like API.
    >>> import os >>> os.environ['PYKX_ENABLE_PANDAS_API'] = 'true' >>> import pykx as kx >>> import numpy as np >>> tab = kx.q('([]100?1f;100?1f)') >>> tab['x2'] = np.arange(0, 100) >>> tab pykx.Table(pykx.q(' x           x1         x2 ------------------------- 0.1485357   0.1780839  0  0.4857547   0.3017723  1  0.7123602   0.785033   2  0.3839461   0.5347096  3  0.3407215   0.7111716  4  0.05400102  0.411597   5  .. '))