Skip to content

Commit bf05b31

Browse files
authored
Merge pull request #38 from KxSystems/3-0-mr
3.0 release
2 parents 8b9cfb6 + 92979eb commit bf05b31

File tree

221 files changed

+28685
-4797
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

221 files changed

+28685
-4797
lines changed

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,14 @@ __pycache__/
7070
**/4-1-libs/*.k_
7171
**/4-1-libs/*.k
7272
!**/4-1-libs/q.k
73+
**/4-1-libs/**/libe.so
74+
**/4-1-libs/**/e.*
75+
76+
#ToDo revert in KXI-44621
77+
src/pykx/lib/4-1-libs/l64/kxreaper
78+
src/pykx/lib/4-1-libs/l64/libkurl.so
79+
src/pykx/lib/4-1-libs/l64/libobjstor.so
80+
src/pykx/lib/4-1-libs/l64/pg
7381

7482
# Distribution / packaging
7583
.Python
@@ -219,9 +227,13 @@ custom_theme/partials/header.html
219227
.nvimrc
220228
Session.vim
221229

230+
# Editor temp files
231+
*~
232+
222233
# Coverage Reports
223234
.coverage*
224235
.scannerwork*
236+
*report.xml
225237
report.xml
226238
coverage.xml
227239
.pymon

MANIFEST.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,6 @@ prune docs
2727
prune benchmarks
2828
prune examples
2929
prune tests
30+
31+
include docs/api/pykx-execution/q.md
32+

README.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -93,34 +93,32 @@ KX only officially supports versions of PyKX built by KX, i.e. versions of PyKX
9393

9494
PyKX depends on the following third-party Python packages:
9595

96-
- `pandas>=1.2, < 2.2.0`
96+
- `pandas>=1.2, < 2.0; python_version=='3.8'`
97+
- `pandas>=1.2, < 2.2.0; python_version>'3.8'`
9798
- `numpy~=1.22, <2.0; python_version<'3.11'`
9899
- `numpy~=1.23, <2.0; python_version=='3.11'`
99100
- `numpy~=1.26, <2.0; python_version=='3.12'`
100101
- `pytz>=2022.1`
101102
- `toml~=0.10.2`
103+
- `dill>=0.2.0`
102104

103105
They are installed automatically by `pip` when PyKX is installed.
104106

105107
PyKX also has an optional Python dependency of `pyarrow>=3.0.0`, which can be included by installing the `pyarrow` extra, e.g. `pip install pykx[pyarrow]`
106108

107109
When using PyKX with KX Dashboards users will be required to install `ast2json~=0.3` this can be installed using the `dashboards` extra, e.g. `pip install pykx[dashboards]`
108110

109-
When using PyKX Beta features users will be required to install `dill>=0.2.0` this can be installed using the `beta` extra, e.g. `pip install pykx[beta]`
111+
When using PyKX Streaming users may require the ability to stop processes initialized in a now unavailable process to facilitate this PyKX can make use of `psutil` this can be installed using the `streaming` extra, e.g. `pip install pykx[streaming]`
110112

111113
When using Streamlit users will be required to install `streamlit~=1.28` this can be installed using the `streamlit` extra, e.g. `pip install pykx[streamlit]`
112114

113-
**Warning:** Trying to use the `pa` conversion methods of `pykx.K` objects or the `pykx.toq.from_arrow` method when PyArrow is not installed (or could not be imported without error) will raise a `pykx.PyArrowUnavailable` exception. `pyarrow` is supported Python 3.8-3.10 but remains in Beta for Python 3.11.
115+
**Warning:** Trying to use the `pa` conversion methods of `pykx.K` objects or the `pykx.toq.from_arrow` method when PyArrow is not installed (or could not be imported without error) will raise a `pykx.PyArrowUnavailable` exception.
114116

115117
#### Optional Non-Python Dependencies
116118

117119
- `libssl` for TLS on [IPC connections](docs/api/ipc.md).
118120
- `libpthread` on Linux/MacOS when using the `PYKX_THREADING` environment variable.
119121

120-
#### Windows Dependencies
121-
122-
To run q or PyKX on Windows, `msvcr100.dll` must be installed. It is included in the [Microsoft Visual C++ 2010 Redistributable](https://www.microsoft.com/en-ca/download/details.aspx?id=26999).
123-
124122
## Building from source
125123

126124
### Installing Dependencies
@@ -144,7 +142,6 @@ Windows:
144142
* [Python](https://www.python.org/downloads/windows/)
145143
* [Build Tools for Visual Studio](https://visualstudio.microsoft.com/downloads/?q=build+tools).
146144
* [dlfcn-win32](https://github.com/dlfcn-win32/dlfcn-win32). Can be installed using [Vcpkg](https://github.com/microsoft/vcpkg).
147-
* `msvcr100.dll`. Available in [Microsoft Visual C++ 2010 Redistributable](https://www.microsoft.com/en-ca/download/details.aspx?id=26999).
148145

149146
To install the above dependencies, you can run the `w64_install.ps1` script as an administrator:
150147

@@ -198,7 +195,7 @@ export QHOME=/location/of/your/q #q needs QHOME available
198195
python -m pytest -vvv -n 0 --no-cov --junitxml=report.xml
199196
```
200197

201-
## PyKX License access and enablement
198+
## PyKX Licenses
202199

203200
This work is dual licensed under [Apache 2.0](https://code.kx.com/pykx/license.html#apache-2-license) and the [Software License for q.so](https://code.kx.com/pykx/license.html#qso-license) and users are required to abide by the terms of both licenses in their entirety.
204201

conda-recipe/meta.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,23 @@ requirements:
1717
- git
1818
- python
1919
- setuptools>=68.0
20-
- setuptools_scm[toml]>=7.1.0 # [py==37]
21-
- setuptools_scm[toml]>=8.0.0 # [py!=37]
20+
- setuptools_scm[toml]>=8.0.0
2221
- cython==3.0.0
2322
- numpy==1.26 # [py==312]
24-
- numpy==1.22.* # [py!=37 and py<312]
25-
- numpy==1.20 # [py==37]
23+
- numpy==1.22.* # [py<312]
2624
- tomli>=2.0.1
2725
- wheel>=0.36
2826
- sysroot_linux-64 # [linux64]
2927

3028
run:
3129
- python
3230
- numpy>=1.22,<2.0
33-
- pandas>=1.2, <2.2.0
31+
- pandas>=1.2, <2.2.0 # [py>38]
32+
- pandas<2.0 # [py==38]
3433
- pytz>=2022.1
3534
- toml>=0.10.2
35+
- dill>=0.2.0
36+
- requests>2.25.0
3637

3738
test:
3839
imports:

docs/api/columns.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# PyKX Column Objects
2+
3+
::: pykx.wrappers.Column
4+
5+
::: pykx.wrappers.QueryPhrase

docs/api/compress.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
1-
# Compression and Encryption APIs
1+
---
2+
title: Compression and encryption
3+
description: API reference page for using kdb+ compression and encryption through PyKX
4+
author: KX Systems
5+
date: September 2024
6+
tags: compression, encryption, dare
7+
---
8+
# Compression and encryption API
9+
10+
_This page documents utilities for managing configuration of compression and encryption settings for on-disk data._
211

312
::: pykx.compress_encrypt
413
rendering:

docs/api/db.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
# Database interaction and management functionality
1+
---
2+
title: DB Admin
3+
description: API reference page for managing kdb+ databases with PyKX
4+
author: KX Systems
5+
date: September 2024
6+
tags: admin, management
7+
---
8+
# Database interaction and management
29

310
::: pykx.db
411
rendering:

docs/api/exceptions.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
---
2+
title: Exceptions
3+
description: Reference page explaining the different custom exceptions implemented in PyKX
4+
author: KX Systems
5+
date: September 2024
6+
tags: exceptions, errors
7+
---
8+
19
# Exceptions
210

311
::: pykx.exceptions

docs/api/ipc.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
---
2+
title: q IPC
3+
description: API reference page for connecting to q processes using IPC
4+
author: KX Systems
5+
date: September 2024
6+
tags: ipc, connections
7+
---
18
# IPC
29

310
::: pykx.ipc
11+
handler: python
12+
options:
13+
show_source: true
14+
members_order: "source"

docs/api/license.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1+
---
2+
title: License management
3+
description: Utilities for the management of PyKX licenses
4+
author: KX Systems
5+
date: September 2024
6+
tags: license
7+
---
18
# License management
29

3-
The functionality presented here provides users with utilities allowing for the management of PyKX licenses and their lifecycle
10+
_This page documents utility functions that allow users to manage their PyKX licenses._
411

512
::: pykx.license
613
rendering:

0 commit comments

Comments
 (0)