Skip to content

Commit 8806edd

Browse files
authored
Merge pull request #46 from KxSystems/release313
Release 3.1.3 updates
2 parents a49d878 + 786a8be commit 8806edd

Some content is hidden

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

82 files changed

+1840
-533
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,3 +251,4 @@ sym
251251
symsEnumsSplay/**
252252

253253
src/pykx/pykx_init.q_
254+
qcumber_results.xml

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Installation of PyKX via pip provides users with access to the library with limi
6161

6262
The following steps outline the process by which a user can gain access to an install a kdb Insights license which provides access to PyKX
6363

64-
1. Visit https://kx.com/kdb-insights-personal-edition-license-download/ and fill in the attached form following the instructions provided.
64+
1. Visit https://kx.com/kdb-insights-sdk-personal-edition-download/ and fill in the attached form following the instructions provided.
6565
2. On receipt of an email from KX providing access to your license download this file and save to a secure location on your computer.
6666
3. Set an environment variable on your computer pointing to the folder containing the license file (instructions for setting environment variables on PyKX supported operating systems can be found [here](https://chlee.co/how-to-setup-environment-variables-for-windows-mac-and-linux/).
6767
* Variable Name: `QLIC`
@@ -94,10 +94,10 @@ KX only officially supports versions of PyKX built by KX, i.e. versions of PyKX
9494
PyKX depends on the following third-party Python packages:
9595

9696
- `pandas>=1.2, <2.0; python_version=='3.8'`
97-
- `pandas>=1.2, <=2.2.3; python_version>'3.8'`
97+
- `pandas>=1.2, <=2.3.0; python_version>'3.8'`
9898
- `numpy~=1.22; python_version<'3.11'`
99-
- `numpy~=1.23; python_version=='3.11'`
100-
- `numpy~=1.26; python_version>'3.11'`
99+
- `numpy~=1.23, <2.3.0; python_version=='3.11'`
100+
- `numpy~=1.26, <2.3.0; python_version>'3.11'`
101101
- `pytz>=2022.1`
102102
- `toml~=0.10.2`
103103
- `dill>=0.2.0`

conda-recipe/meta.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ requirements:
1919
- setuptools>=68.0
2020
- setuptools_scm[toml]>=8.0.0
2121
- cython==3.0.*
22-
- numpy==2.* # [py==313]
22+
- numpy==2.*, <2.3.0 # [py==313]
2323
- numpy==2.0.* # [py==312]
2424
- numpy==2.0.* # [py==311]
2525
- numpy==2.0.* # [py==310]
@@ -33,8 +33,8 @@ requirements:
3333
run:
3434
- python
3535
- numpy>=1.20 # [py==37]
36-
- numpy>=1.22 # [py>37]
37-
- pandas>=1.2, <=2.2.3 # [py>38]
36+
- numpy>=1.22, <2.3.0 # [py>37]
37+
- pandas>=1.2, <=2.3.0 # [py>38]
3838
- pandas<2.0 # [py==38]
3939
- pyarrow>=3.0.0, <19.0.0
4040
- pytz>=2022.1

custom_theme/partials/header.html.tpl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
{#-
22
This file was automatically generated - do not edit
33
-#}
4+
<!-- Announcement begins-->
5+
{% block announce %}
6+
<div class="md-grid">
7+
<h2>New Documentation Site!</h2>
8+
<p style="font-size: 14px;">
9+
We are excited to announce the launch of our enhanced product documentation site for <a href="https://docs.kx.com/3.1/PyKX/home.htm" style="color: var(--md-typeset-a-color);">PyKX</a> at <a href="https://docs.kx.com/home/index.htm" style="color: var(--md-typeset-a-color);">docs.kx.com</a>.
10+
It offers improved search capabilities, organized navigation, and developer-focused content. Please, take a moment to explore the site and share your feedback with us.
11+
</p>
12+
</div>
13+
{% endblock %}
14+
<!-- ends -->
415
{% set class = "md-header" %}
516
{% if "navigation.tabs.sticky" in features %}
617
{% set class = class ~ " md-header--lifted" %}

docs/api/util.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,10 @@ PYKX_PYTHON_LIB_PATH:
128128
PYKX_PYTHON_BASE_PATH:
129129
PYKX_PYTHON_HOME_PATH:
130130
PYKX_DIR: /usr/local/anaconda3/lib/python3.8/site-packages/pykx
131+
PYKX_USE_FIND_LIBPYTHON:
132+
PYKX_UNLICENSED:
133+
PYKX_LICENSED:
134+
PYKX_4_1_ENABLED:
131135

132136
**** q Environment Variables ****
133137
QARGS:

docs/examples/interface-overview.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,7 @@
574574
"source": [
575575
"### 3.5 Query external processes via IPC\n",
576576
"\n",
577-
"One of the most common usage patterns in organizations with access to data in kdb+/q is to query data from an external server process infrastructure. For the example below you need to [install q](https://kx.com/kdb-insights-personal-edition-license-download/).\n",
577+
"One of the most common usage patterns in organizations with access to data in kdb+/q is to query data from an external server process infrastructure. For the example below you need to [install q](https://kx.com/kdb-insights-sdk-personal-edition-download/).\n",
578578
"\n",
579579
"First, set up a q/kdb+ server. Set it on port 5050 and populate it with some data in the form of a table `tab`:"
580580
]

docs/examples/streaming/Evolving System.ipynb

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,6 @@
4141
"import subprocess"
4242
]
4343
},
44-
{
45-
"cell_type": "code",
46-
"execution_count": null,
47-
"id": "92e87fee",
48-
"metadata": {},
49-
"outputs": [],
50-
"source": [
51-
"import os\n",
52-
"os.environ['QHOME'] = '/usr/local/anaconda3/envs/qenv/q'"
53-
]
54-
},
5544
{
5645
"cell_type": "markdown",
5746
"id": "dd189d64",
@@ -651,7 +640,7 @@
651640
"name": "python",
652641
"nbconvert_exporter": "python",
653642
"pygments_lexer": "ipython3",
654-
"version": "3.12.3"
643+
"version": "3.10.12"
655644
}
656645
},
657646
"nbformat": 4,
3 Bytes
Binary file not shown.

docs/getting-started/installing.md

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ Follow the steps below to install a kdb Insights license for PyKX from Python:
141141
=== "Personal license"
142142

143143
```bash
144-
To apply for a PyKX license, navigate to https://kx.com/kdb-insights-personal-edition-license-download
144+
To apply for a PyKX license, navigate to https://kx.com/kdb-insights-sdk-personal-edition-download
145145
Shortly after you submit your license application, you will receive a welcome email containing your license information.
146146
Would you like to open this page? [Y/n]:
147147
```
@@ -208,7 +208,7 @@ For environment-specific flexibility, there are two ways to install your license
208208

209209
=== "Using a file"
210210

211-
1. For personal usage, navigate to the [personal license](https://kx.com/kdb-insights-personal-edition-license-download/) and complete the form. For commercial usage, contact your KX sales representative or sales@kx.com or apply through https://kx.com/book-demo.
211+
1. For personal usage, navigate to the [personal license](https://kx.com/kdb-insights-sdk-personal-edition-download/) and complete the form. For commercial usage, contact your KX sales representative or sales@kx.com or apply through https://kx.com/book-demo.
212212

213213
2. On receipt of an email from KX, download and save the license file to a secure location on your computer.
214214

@@ -218,7 +218,7 @@ For environment-specific flexibility, there are two ways to install your license
218218

219219
=== "Using text"
220220

221-
1. For personal usage, navigate to the [personal license](https://kx.com/kdb-insights-personal-edition-license-download/) and complete the form. For commercial usage, contact your KX sales representative or sales@kx.com or apply through https://kx.com/book-demo.
221+
1. For personal usage, navigate to the [personal license](https://kx.com/kdb-insights-sdk-personal-edition-download/) and complete the form. For commercial usage, contact your KX sales representative or sales@kx.com or apply through https://kx.com/book-demo.
222222

223223
2. On receipt of an email from KX, copy the `#!bash base64` encoded contents of your license provided in plain-text within the email.
224224

@@ -267,10 +267,10 @@ This command should display the installed version of PyKX.
267267
PyKX depends on the following third-party Python packages:
268268

269269
- `pandas>=1.2, <2.0; python_version=='3.8'`
270-
- `pandas>=1.2, <=2.2.3; python_version>'3.8'`
270+
- `pandas>=1.2, <=2.3.0; python_version>'3.8'`
271271
- `numpy~=1.22; python_version<'3.11'`
272-
- `numpy~=1.23; python_version=='3.11'`
273-
- `numpy~=1.26; python_version>='3.12'`
272+
- `numpy~=1.23, <2.3.0; python_version=='3.11'`
273+
- `numpy~=1.26, <2.3.0; python_version>='3.12'`
274274
- `pytz>=2022.1`
275275
- `toml~=0.10.2`
276276
- `dill>=0.2.0`
@@ -322,6 +322,26 @@ This command should display the installed version of PyKX.
322322
- Use Stack Overflow and tag [`pykx`](https://stackoverflow.com/questions/tagged/pykx) or [`kdb`](https://stackoverflow.com/questions/tagged/kdb) depending on the subject.
323323
- Go to [support](../help/support.md).
324324

325+
## Asset Information
326+
327+
| Platform | Mode | File | Version |
328+
| --------- | ---------- | ----------- | ---------- |
329+
| Linux ARM | kdb+ 4.0 | libq.so | 2025.02.18 |
330+
| Linux x86 | kdb+ 4.0 | libq.so | 2025.02.18 |
331+
| Mac ARM | kdb+ 4.0 | libq.dylib | 2025.02.18 |
332+
| Mac x86 | kdb+ 4.0 | libq.dylib | 2025.02.18 |
333+
| Windows | kdb+ 4.0 | q.dll/q.lib | 2025.02.18 |
334+
| Linux ARM | kdb+ 4.1 | libq.so | 2025.04.28 |
335+
| Linux x86 | kdb+ 4.1 | libq.so | 2025.04.28 |
336+
| Mac ARM | kdb+ 4.1 | libq.dylib | 2025.04.28 |
337+
| Mac x86 | kdb+ 4.1 | libq.dylib | 2025.04.28 |
338+
| Windows | kdb+ 4.1 | q.dll/q.lib | 2025.04.28 |
339+
| Linux ARM | Unlicensed | libe.so | 2023.11.22 |
340+
| Linux x86 | Unlicensed | libe.so | 2023.11.22 |
341+
| Mac ARM | Unlicensed | libe.so | 2023.11.22 |
342+
| Mac x86 | Unlicensed | libe.so | 2023.11.22 |
343+
| Windows | Unlicensed | e.dll/e.lib | 2024.08.21 |
344+
325345
## Optional: Installing a q executable
326346

327347
The following section is optional and primarily required if you are looking to make use of the [Real-Time Capture](../user-guide/advanced/streaming/index.md) functionality provided by PyKX.

docs/help/troubleshooting.md

Lines changed: 46 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ The following section outlines practical information useful when dealing with ge
88

99
A number of trial and enterprise type licenses exist for q/kdb+. Not all licenses for q/kdb+ however are valid for PyKX. In particular users require access to a license which contains the feature flags **pykx** and **embedq** which provide access to the PyKX functionality. The following locations can be used for the retrieval of evaluation/personal licenses
1010

11-
- For non-commercial personal users you can access a 12 month kdb+ license with PyKX enabled [here](https://kx.com/kdb-insights-personal-edition-license-download).
11+
- For non-commercial personal users you can access a 12 month kdb+ license with PyKX enabled [here](https://kx.com/kdb-insights-sdk-personal-edition-download).
1212
- For commercial evaluation, contact your KX sales representative or sales@kx.com requesting a PyKX trial license. Alternately apply through https://kx.com/book-demo.
1313

1414
For non-personal or non-commercial usage please contact sales@kx.com.
@@ -111,26 +111,30 @@ The following section outlines how a user can get access to a verbose set of env
111111

112112
```python
113113
>>> kx.util.debug_environment()
114-
missing q binary at '/usr/local/anaconda3/lib/python3.8/site-packages/pykx/lib/m64/q'
115114
**** PyKX information ****
116115
pykx.args: ()
117-
pykx.qhome: /usr/local/anaconda3/lib/python3.8/site-packages/pykx/lib
118-
pykx.qlic: /usr/local/anaconda3/lib/python3.8/site-packages/pykx/lib
116+
pykx.qhome: /usr/local/anaconda3/envs/qenv/q
117+
pykx.qlic: /usr/local/anaconda3/envs/qenv/q
119118
pykx.licensed: True
120-
pykx.__version__: 1.5.3rc2.dev525+g41f008ad
121-
pykx.file: /usr/local/anaconda3/lib/python3.8/site-packages/pykx/util.py
119+
pykx.__version__: 3.1.3
120+
pykx.file: /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pykx/util.py
122121

123122
**** Python information ****
124-
sys.version: 3.8.3 (default, Jul 2 2020, 11:26:31)
125-
[Clang 10.0.0 ]
123+
sys.version: 3.12.3 (v3.12.3:f6650f9ad7, Apr 9 2024, 08:18:48) [Clang 13.0.0 (clang-1300.0.29.30)]
126124
pandas: 1.5.3
127-
numpy: 1.24.4
128-
pytz: 2022.7.1
129-
which python: /usr/local/anaconda3/bin/python
130-
which python3: /usr/local/anaconda3/bin/python3
125+
numpy: 1.26.2
126+
pytz: 2024.1
127+
which python: /usr/local/bin/python
128+
which python3: /Library/Frameworks/Python.framework/Versions/3.12/bin/python3
129+
find_libpython: /Library/Frameworks/Python.framework/Versions/3.12/Python
131130

132131
**** Platform information ****
133-
platform.platform: macOS-10.16-x86_64-i386-64bit
132+
platform.platform: macOS-13.0.1-x86_64-i386-64bit
133+
134+
**** PyKX Configuration File ****
135+
File location: /usr/local/.pykx-config
136+
Used profile: default
137+
Profile content: {'PYKX_Q_EXECUTABLE': '/usr/local/anaconda3/envs/qenv/q/m64/q'}
134138

135139
**** PyKX Configuration Variables ****
136140
PYKX_IGNORE_QHOME: False
@@ -141,30 +145,48 @@ The following section outlines how a user can get access to a verbose set of env
141145
PYKX_MAX_ERROR_LENGTH: 256
142146
PYKX_NOQCE: False
143147
PYKX_RELEASE_GIL: False
144-
PYKX_Q_LIB_LOCATION: /usr/local/anaconda3/lib/python3.8/site-packages/pykx/lib
148+
PYKX_Q_LIB_LOCATION: /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pykx/lib
145149
PYKX_Q_LOCK: False
146150
PYKX_SKIP_UNDERQ: False
147151
PYKX_Q_EXECUTABLE: /usr/local/anaconda3/envs/qenv/q/m64/q
148152
PYKX_THREADING: False
149153
PYKX_4_1_ENABLED: False
150154
PYKX_QDEBUG: False
151155
PYKX_DEBUG_INSIGHTS_LIBRARIES: False
152-
PYKX_DEFAULT_CONVERSION:
153-
PYKX_EXECUTABLE: /usr/local/anaconda3/lib/python3.8/bin/python3.8
154-
PYKX_PYTHON_LIB_PATH:
155-
PYKX_PYTHON_BASE_PATH:
156-
PYKX_PYTHON_HOME_PATH:
157-
PYKX_DIR: /usr/local/anaconda3/lib/python3.8/site-packages/pykx
156+
PYKX_CONFIGURATION_LOCATION: .
157+
PYKX_NO_SIGNAL: False
158+
PYKX_CONFIG_PROFILE: default
159+
PYKX_BETA_FEATURES: True
160+
PYKX_JUPYTERQ: False
161+
PYKX_SUPPRESS_WARNINGS: False
162+
PYKX_DEFAULT_CONVERSION:
163+
PYKX_EXECUTABLE: /Library/Frameworks/Python.framework/Versions/3.12/bin/python3.12
164+
PYKX_PYTHON_LIB_PATH:
165+
PYKX_PYTHON_BASE_PATH:
166+
PYKX_PYTHON_HOME_PATH:
167+
PYKX_DIR: /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pykx
168+
PYKX_USE_FIND_LIBPYTHON:
169+
PYKX_UNLICENSED:
170+
PYKX_LICENSED:
171+
PYKX_4_1_ENABLED:
172+
173+
**** q Environment Variables ****
174+
QARGS:
175+
QHOME: /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pykx/lib
176+
QLIC: /usr/local/anaconda3/envs/qenv/q
177+
QINIT:
158178

159179
**** License information ****
160180
pykx.qlic directory: True
161-
pykx.lic writable: True
162-
pykx.qhome lics: ['kc.lic']
163-
pykx.qlic lics: ['kc.lic']
181+
pykx.qhome writable: True
182+
pykx.qhome lics: ['k4.lic']
183+
pykx.qlic lics: ['k4.lic']
164184

165185
**** q information ****
166-
which q: /usr/local/anaconda3/bin/q
186+
which q: /usr/local/bin/q
167187
q info:
188+
(`m64;4.1;2024.10.16)
189+
"insights.lib.embedq insights.lib.pykx insights.lib.sql insights.lib.qlog insights.lib.kurl insights.lib.objstore insights.lib.bigquery insights.lib.restserver insights.app.rt"
168190
```
169191

170192
## Development issues

0 commit comments

Comments
 (0)