You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PyKX objects can be interacted within a variety of ways, through indexing using Pythonic syntax, passing PyKX objects to q/numpy functions, querying via SQL/qSQL syntax or through the use of q functionality via the context interface. Each of these is described in more depth throughout this documentation but examples of each are provided here
119
-
120
+
PyKX objects can be interacted within a variety of ways, through indexing using Pythonic syntax, passing PyKX objects to q/NumPy functions, querying via SQL/qSQL syntax or through the use of q functionality via the context interface. Each of these is described in more depth throughout this documentation but examples of each are provided here.
120
121
121
122
* Create a PyKX listand interact with the list using indexing and slices.
122
123
@@ -192,7 +193,7 @@ PyKX objects can be interacted with in a variety of ways, through indexing using
192
193
0.20625693.852387 a
193
194
0.4818210.07970141 a
194
195
'))
195
-
```
196
+
```
196
197
197
198
* Pass a PyKX object to q function
198
199
@@ -211,8 +212,6 @@ PyKX objects can be interacted with in a variety of ways, through indexing using
Copy file name to clipboardExpand all lines: docs/getting-started/what_is_pykx.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,9 @@
2
2
3
3
## Introduction
4
4
5
-
PyKX is a Python first interface to the worlds fastest time-series database kdb+ and it's underlying vector programming language q. PyKX takes a Python first approach to integrating q/kdb+ with Python following 10+ years of integrations between these two languages. Fundamentally it provides users with the ability to efficiently query and analyze huge amounts of in-memory and on-disk time-series data.
5
+
PyKX is a Python first interface to the world's fastest time-series database kdb+ and its underlying vector programming language, q. PyKX takes a Python first approach to integrating q/kdb+ with Python following 10+ years of integrations between these two languages. Fundamentally it provides users with the ability to efficiently query and analyze huge amounts of in-memory and on-disk time-series data.
6
6
7
-
This interface exposes q as a domain-specific language (DSL) embedded within Python, taking the approach that q should principally be used for data processing and management of databases. This approach does not diminish the ability for users familiar with q or those wishing to learn more about it from making the most of advanced analytics and database management functionality rather empowers those who want to make use of the power of kdb+/q who lack this expertise to get up and running fast.
7
+
This interface exposes q as a domain-specific language (DSL) embedded within Python, taking the approach that q should principally be used for data processing and management of databases. This approach does not diminish the ability for users familiar with q, or those wishing to learn more about it, from making the most of its advanced analytics and database management functionality. Rather it empowers those who want to make use of the power of kdb+/q who lack this expertise to get up and running quickly.
Copy file name to clipboardExpand all lines: docs/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## About
4
4
5
-
PyKX is a Python-first interface for the q language and its time-series vector database kdb+.
5
+
PyKX is a Pythonfirst interface to the world's fastest time-series database kdb+ and its underlying vector programming language, q.
6
6
7
7
For Python developers, PyKX unlocks the speed and power of kdb+ for data processing and storage from within your Python environment. It enables anyone with Python knowledge to apply analytics against vast amounts of data, both in-memory and on-disk, in a fraction of the time, allowing you to focus on getting the best from your data.
- Fix to regression in PyKX 2.5.0 where PyKX initialisation on Windows would result in a segmentation fault when using an `k4.lic` license type.
41
+
- Previously user could not make direct use of `kx.SymbolicFunction` type objects against a remote process, this has been rectified
42
+
43
+
=== "Behaviour prior to change"
44
+
45
+
```python
46
+
>>> import pykx as kx
47
+
>>> kx.q('.my.func:{x+1}')
48
+
pykx.Identity(pykx.q('::'))
49
+
>>> kx.q.my.func
50
+
pykx.SymbolicFunction(pykx.q('`.my.func'))
51
+
>>> conn = kx.q.SyncQConnection(port=5050)
52
+
>>> conn(kx.q.my.func, 1)
53
+
... Error Message ...
54
+
pykx.exceptions.QError: .my.func
55
+
```
56
+
57
+
=== "Behaviour post change"
58
+
59
+
```python
60
+
>>> import pykx as kx
61
+
>>> kx.q('.my.func:{x+1}')
62
+
pykx.Identity(pykx.q('::'))
63
+
>>> kx.q.my.func
64
+
pykx.SymbolicFunction(pykx.q('`.my.func'))
65
+
>>> conn = kx.q.SyncQConnection(port=5050)
66
+
>>> conn(kx.q.my.func, 1)
67
+
pykx.LongAtom(pykx.q('2'))
68
+
```
69
+
70
+
- Previously use of the context interface for q primitive functions in licensed mode via IPC would partially run the function on the client rather than server, thus limiting usage for named entities on the server.
71
+
72
+
=== "Behaviour prior to change"
73
+
74
+
```python
75
+
>>> import pykx as kx
76
+
>>> conn = kx.SyncQConnection(port=5050)
77
+
>>> conn.q('tab:([]10?1f;10?1f)')
78
+
>>> conn.q.meta('tab')
79
+
... Error Message ...
80
+
pykx.exceptions.QError: tab
81
+
```
82
+
83
+
=== "Behaviour post change"
84
+
85
+
```python
86
+
>>> import pykx as kx
87
+
>>> conn = kx.SyncQConnection(port=5050)
88
+
>>> conn.q('tab:([]10?1f;10?1f)')
89
+
>>> conn.q.meta('tab')
90
+
pykx.KeyedTable(pykx.q('
91
+
c | t f a
92
+
--| -----
93
+
x | f
94
+
x1| f
95
+
'))
96
+
```
97
+
98
+
- With the release of PyKX 2.5.0 and support of PyKX usage in paths containing spaces the context interface functionality could fail to load a requested context over IPC if PyKX was not loaded on the server.
99
+
100
+
=== "Behaviour prior to change"
101
+
102
+
```python
103
+
>>> import pykx as kx
104
+
>>> conn = kx.SyncQConnection(port=5050)
105
+
>>> conn.my_ctx
106
+
... Error Message ...
107
+
```
108
+
109
+
=== "Behaviour post change"
110
+
111
+
```python
112
+
>>> import pykx as kx
113
+
>>> conn = kx.SyncQConnection(port=5050)
114
+
>>> conn.my_ctx
115
+
<pykx.ctx.QContext of .csvutil with [my_function]>
116
+
```
117
+
118
+
- Updated CSV analysis logic to be based on `csvutil.q` 2020.06.20.
119
+
- Fix for config value `PYKX_4_1_ENABLED` to only use 4.1 if set to `True`, `true`, or `1`. Previously any non empty value enabled 4.1.
Copy file name to clipboardExpand all lines: docs/roadmap.md
+2-8Lines changed: 2 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ If you need a feature that's not included in this list please let us know by rai
21
21
>>> table.select(kx.col('x1').wavg('x2'))
22
22
```
23
23
24
-
- Addition of support for q primatives as methods off PyKX Vector and Table objects. Syntax for this will be similar to the following
24
+
- Addition of support for q primitives as methods off PyKX Vector and Table objects. Syntax for this will be similar to the following:
25
25
26
26
```python
27
27
>>> import pykx as kx
@@ -31,13 +31,7 @@ If you need a feature that's not included in this list please let us know by rai
31
31
>>> vec.abs()
32
32
```
33
33
34
-
- Performance improvements for conversions from Numpy arrays to PyKX Vector objects and vice-versa through enhanced use of C++ over Cython.
35
-
- Additions to the Pandas Like API for PyKX.
36
-
- `isnull`
37
-
- `idxmax`
38
-
- `kurt`
39
-
- `sem`
40
-
34
+
- Performance improvements for conversions from NumPy arrays to PyKX Vector objects and vice-versa through enhanced use of C++ over Cython.
41
35
- Addition of functionality for the development of streaming workflows using PyKX.
42
36
- Configurable initialisation logic in the absence of a license. Thus allowing users who have their own workflows for license access to modify the instructions for their users.
43
37
- Promotion of Beta functionality currently available in PyKX to full production support
0 commit comments