github.com/KxSystems/pykx ↗
PyKX is a Python first interface to the worlds fastest time-series database kdb+ and it's underlying vector programming language q.
Open this visualization on its own page →
Contributors
9
Lines of Code
797
From
2023-05-22
To
2024-03-20
About KxSystems/pykx
PyKX is a Python library that provides an interface to kdb+, a high-performance columnar time-series database, and q, its underlying vector programming language. The library takes a Python-first approach to integrating these technologies, allowing users to efficiently query and analyze large volumes of in-memory and on-disk time-series data without requiring deep expertise in q. It exposes q as a domain-specific language embedded within Python, positioning q primarily for data processing and database management tasks.
The library supports three main workflows: storing and manipulating q objects within a Python process, querying external q processes via IPC connections, and embedding Python functionality within native q sessions. PyKX requires a kdb+ license to access full functionality, though pip-installed versions have limited scope without one. The project targets financial and data-intensive applications where kdb+ has been established for over 25 years as a cornerstone technology for analyzing streaming, real-time, and historical market data.
PyKX is built for Python 3.8 through 3.11 on Linux, macOS, and Windows, with dependencies on standard data science packages like pandas and numpy. Optional dependencies support integration with PyArrow, PyTorch, Streamlit, and KX Dashboards. The project is dual-licensed under Apache 2.0 and a custom q.so software license, and is maintained by KX Systems.