Skip to content

Releases: KxSystems/pykx

3.1.9

Choose a tag to compare

@amcdonald3 amcdonald3 released this 15 May 10:36
9a4c287

3.1.8

Choose a tag to compare

@amcdonald3 amcdonald3 released this 10 Mar 16:49
4833d60

3.1.7

Choose a tag to compare

@amcdonald3 amcdonald3 released this 10 Mar 11:30
267a7f1

3.1.6

Choose a tag to compare

@rianoc-kx rianoc-kx released this 02 Dec 13:12
d6dac50

3.1.5

Choose a tag to compare

@rianoc-kx rianoc-kx released this 02 Dec 12:52
1641417

3.1.4

Choose a tag to compare

@rianoc-kx rianoc-kx released this 02 Dec 12:30
6ecee2f

3.1.3

Choose a tag to compare

@rianoc-kx rianoc-kx released this 02 Dec 11:58
8806edd

3.1.2

Choose a tag to compare

@cmccarthy1 cmccarthy1 released this 18 Mar 16:16
a49d878

The release notes below cover both the 3.1.2 and 3.1.1 releases of PyKX owing to the feature merge containing the changes for both

PyKX 3.1.1

Release Date

2025-02-14

Fixes and Improvements

  • Fixed issue whereby PyKX would prompt for user inputs if a license was not found in a non-interactive session, now correctly falls back to unlicensed mode.
  • Fix throwing of errors for .pykx.safeReimport, now throws an error instead of returning a value.

PyKX 3.1.2

Release Date

2025-03-18

Fixes and Improvements

  • Fixes an issue when using PYKX_THREADING that could cause a segfault in some scenarios.

3.1.0

Choose a tag to compare

@cmccarthy1 cmccarthy1 released this 11 Feb 17:20

📦 PyKX 3.1.0 Released 📦

Full up-to-date release notes are available here.

🎉 Feature 🎉

  • Added support for Python 3.13.
  • Added support for NumPy 2.0
  • Added support for the creation and management of splayed format databases when using the pykx.DB class.
  • Addition of .copy() method for all pykx objects allowing users to modify copied objects without interfering with the original object.
  • Addition of reshape keyword to the .np() method of kx.List objects. This can provide two benefits:
    a. Conversions of kx.List objects to NumPy by default produce an array of NumPy arrays rather than an N-Dimensional NumPy array. Setting reshape=True when handling N-Dimensional rectangular lists allows the shape to be pre-processed prior to conversion and a more natural N-Dimensional NumPy array to be generated.
>>> kx.q('2 2#4?1f').np(reshape=True)
array([[0.94997503, 0.43908099],
       [0.57590514, 0.59190043]])

b. Provide a performance boost when converting regularly shaped (rectangular) N-Dimensional lists of uniform type when the shape of the resulting numpy array is known prior to conversion

>>> import pykx as kx
>>> lst = kx.q('100000 100 10#100000000?1f')
>>> %timeit lst.np()
9.72 s ± 272 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
>>> %timeit lst.np(reshape=[100000, 100, 10])
883ms ± 19.8 ms per loop (mean ± std. dev. of 7 runs, 1 loops each)
  • Added async_response keyword argument when calling AsyncQConnection objects with reuse=False and wait=False to allow keeping the connection alive until an asynchronous response message has been received.

🔧 Fixes & Improvements 🔧

  • Application of the str function on empty PyKX objects could return unexpected results
>>> import pykx as kx
>>> str(kx.q('()!()'))
'()!()'
>>> str(kx.q('()'))
'()'
  • When a client attempted to retrieve an object which could not be serialized from a PyKX server it resulted in the client process hanging. An appropriate error is now sent to the client.
  • Database generation functionality now allows users to pass any data-type which will convert to a pykx.Table as the table parameter
  • Attempting to create a partitioned databases/add a partition to a database with a sym_enum keyword but no by_field would result in a KeyError.
  • Using math.inf or -math.inf when creating numeric values now creates equivalent PyKX types
  • Fixed a bug where QFuture objects returned by AsyncQConnection objects could block each other unnecessarily.

🆕 Beta Features 🆕

Addition of support in Beta form for conversions between PyKX and PyTorch objects.

2.5.5

Choose a tag to compare

@cmccarthy1 cmccarthy1 released this 16 Dec 10:25
b7b256e

PyKX 2.5.5

Release Date

2024-11-28

Fixes and Improvements

  • PyKX Pandas dependency has been raised to allow <=2.2.3 for Python>3.8
  • PyKX Pandas dependency for Python 3.8 has been clamped to <2.0 due to support being dropped for it by Pandas after 2.0.3.

For release notes of all versions see here.