-
PyKX 2.0.0 and 2.0.1 released
PyKX 2.0.0 has been released.
Full details on the release can be found here.This release is a major version owing to the following changes- Pandas API functionality is now permanently enabled modifying indexing on
pykx.Table
objects which requires conscious review and testing for adoption - EmbedPy replacement functionality for PyKX is now non-beta for Linux and MacOS see here for further information.
PyKX in Python
Additions:- Update to license installation workflow for new users to PyKX providing license install workflow when license is not detected.
- Addition of
pykx.license
module containing license installation, expiry and validation functionality, see here for more information. - Addition of
pykx.random
module providing functionality for random data generation
>>> kx.random.random(5. 1.0) pykx.FloatVector(pykx.q('0.1959057 0.06460555 0.9550039 0.4991214 0.3207941')) >>> kx.random.random([2, 3], ['a', 'b', 'c'], seed=123) pykx.List(pykx.q(' c c c a b b '))
- Addition of
pykx.register
module providing users the ability to specify custom Python to q conversions
>>> import pykx as kx >>> def complex_conversion(data): ... return kx.q([data.real, data.imag]) >>> kx.register.py_toq(complex, complex_conversion) >>> kx.toq(complex(1, 2)) pykx.FloatVector(pykx.q('1 2f'))
- Addition of file based configuration setting allowing users to centrally manage config without using env-vars see here for more information.
- Addition of
apply
andgroupby
methods to PyKX Tables
>>> import pykx as kx >>> N = 1000000 >>> tab = kx.Table(data = { ... 'price': kx.random.random(N, 10.0), ... 'sym': kx.random.random(N, ['a', 'b', 'c']) ... }) >>> tab.groupby('sym').apply(kx.q.sum) pykx.KeyedTable(pykx.q(' sym| price ---| -------- a | 166759.4 b | 166963.6 c | 166444.1 '))
Fixes and improvements:- Serialising
pykx.Foreign
objects using pickle no longer results in segmentation fault - Attempts to call
pykx.q.{select/exec/update/delete}
now return appropriate error message and suggestion to useqsql
equivalent functionality
PyKX under q Process
Additions:- Addition of
.pykx.version
denoting PyKX version installed - Addition of function
.pykx.debugInfo
returning debugging information about a users PyKX installation - Addition of
.pykx.qcallable
and.pykx.pycallable
function mapping to embedPy equivalent logic
Fixes and improvements:- Resolution to memory leaks/segmentation faults relating to the following
.pykx.*eval
functions would leak memory on each invocation.pykx.pyexec
would result in segmentation fault on repeated invocation- Attempts to convert non Pythonic foreign objects would result in segmentation fault
- Miscellaneous additional fixes here
PyKX 2.0.1 has been released.
Full details on the release can be found here.Fixes and Improvements:- User input based license initialisation introduced in 2.0.0 no longer expects user input when operating in a non-interactive modality, use of PyKX in this mode will revert to previous behaviour
- Use of the environment variables
QARGS='--unlicensed'
orQARGS='--licensed'
operate correctly following regression in 2.0.0 - Fix to issue where
OSError
would be raised whenclose()
was called on an IPC connection which has already disconnected server side
- Pandas API functionality is now permanently enabled modifying indexing on
Sorry, there were no replies found.
Log in to reply.