Skip to content

Open-source libraries

Repositories by kdb+ users

hypertree Recursive aggregating treetable and 3-D pivot table for hypergrid. (Stevan Apter)
phrases The Q Phrasebook (kxcontrib)
qprof Code profiler (Leslie Goldsmith)
studio A rapid-development environment for q. (Charles Skelton)

Repositories listed here are maintained by their owners.

Awesome Q A collection of useful or interesting repositories curated by q devs.

Please tell the KX documentation team about new repositories.

GitHub topic queries:   q   kdb   kdb-q

Applications

3dsim 3-D world simulation using kdb+/k/q WebSocket server and three.js. (Stephen Peck)
betfair-data-capture Data capture and analysis system built on TorQ for sports exchange data from Betfair. (Matthew Doherty)
FX-AlgorithmTrading FX algorithm trading system. (Naoki Yatsu)
kdb-VNC Implementation of simple VNC server. (Steve Wirts)
MarketDataClient Web scraper for quotes from external financial sites. (Anand Kulkarni)
mserve Enhanced mserve load-balanced solution. (Nathan Perrem)
mm A q implementation of the classic Mastermind game. (Nick Psaris)
qex An equity exchange. (chuchunf)
q-chess Simple chess engine. (Will Buitenhuis)
tickrecover Recover from tickerplant crash. (Simon Garland)
VD_KDB Forex tick database. (Brandon Yang)

Cryptography and cryptocurrency

cryptopals Matasano Crypto Challenges. (Stephen Peck)
cryptoq Cryptographic functions and binary operation. (Rahul Asati)
qbitcoin Enables communication with a running Bitcoin core node and wallet, via HTTP JSON-RPC messages; supports most calls in bitcoin-cli. (Jeremy Lucid)
qMachineTrader Reinforcement learning method for incrementally estimating the optimal action-value function. (Sandy Bradley)
qMonitor Real-time directional trade volume for bitcoin to fiat markets on Binance, Bitfinex, Bitstamp, Kraken and CoinbasePro. (Sandy Bradley)
qMiner Experimental Bitcoin mining project to combat inequality and climate change. (Sandy Bradley)
qOrderBook OrderBook snapshot for Bitcoin / USD market across Binance, Kraken, Coinbase, Bitstamp, Bitfinex, bitFlyer, Poloniex, Gemini, itBit and Bittrex. (Sandy Bradley)
qSignals Live-trade signal-generation for crypto market. (Sandy Bradley)
qTrends Bitcoin trend analysis. (Sandy Bradley)

Development tools

compress File compression. (Simon Garland)
con Qcon replacement. (Geo Carncross)
csvguess Guess a reasonable loadstring for a CSV file (V2.4+). (Simon Garland)
debug4 Debugging tools. (Simon Garland)
dbmaint Database maintenance utilities. (KX)
diskdelete Delete data from disk directly, loading one col at a time rather than whole table. Preserves attributes. Goes to ridiculous lengths to avoid writing. (Simon Garland)
dotz Control external (.z.p*) access to a q session, log access errors to file. (Simon Garland)
dpy General object display with type and structure (Leslie Goldsmith)
dqweb Simple web interface for kdb+/q processes (András Dőtsch)
help Create a helpfile from a directory of TXTs (Simon Garland)
io Benchmark for I/O speed. (Simon Garland)
k4unit K4 unit testing, loads tests from CSVs, runs+logs to database. (Simon Garland)
kdb-stuff ServerChecker: how to execute commands on a remote box via SSH from within a q process and parse Linux system info (cpuinfo/meminfo/df). (Mohammad Noor)
kwsrepl kdb+/k/q live REPL over web sockets. (Stephen Peck)
miQ Divide an application into modules (Michal Širochman)
nexusQ Visualizer for q process network. (Ali Kapadiya)
paste.q Script for allowing pasting of multi-line q commands into the q REPL. (Samuel Alexander)
persist-state.q Save the state of your q session when you exit, and restore it when you start again. (Thomas Lackner)
q-build Scripts to allow the standard q binary to be built into RPM and DEB packages. (Jaskirat Rajasansir)
q-doc Javadoc-inspired documentation generator. (Jaskirat Rajasansir)
q-unit Unit testing framework. (Jaskirat Rajasansir)
qac Provides shared memory atomic counter to multiple q processes on Linux. These processes can be either parent/children or unrelated. (Jay Han)
qcon2 Console application to query q. (patmok)
qconsole An IDE for q, written in J/GTK. (Chris Burke)
qp A package manager for q. (Yang Guo)
qprof Code profiler (Leslie Goldsmith)
qprofiler Simple code profiler (patmok)
qsparkline Sparkline plots as UTF-8 character vectors. (Jay Han)
qspec A testing framework lightly inspired by Behavior Driven Development and the rspec testing framework. (Daniel Nugent)
qstudioopen JDBC driver and authenticator. (TimeStored)
qtb Unit testing framework. (Klaas Teschauer)
QUnit Unit testing framework. (TimeStored)
reservedwords Lists q’s reserved words. (Simon Garland)
sphinxQ A Sphinx documentation tool for q. (Ali Kapadiya)
studio A rapid-development environment for q. (Charles Skelton)
tick Use instead of an RDB to append data to disk partition during day and use that to build historical partition at day end. (Simon Garland)
tickYahoo Jobs to download tick data from Yahoo! and save in q database. (Frédéric Délèze)
unparse Unparse parse tree for q. (patmok)
ws Workspace utilities (Leslie Goldsmith)
yATF.q CI and test runners (Patryk Bukowinski)

Editor integrations

Atom derekwisong/atom-q
quintanar401/atom-charts
quintanar401/connect-kdb-q
Emacs eepgwde/kdbp-mode
geocar/kq-mode
indiscible/emacs
psaris/q-mode
Evolved simongarland/Syntaxhighlighter-for-q
Heroku gargraman/heroku-buildpack-kdb
IntelliJ IDEA a2ndrade/k-intellij-plugin
kdbinsidebrains/plugin
shupakabras/kdb-intellij-plugin
Jupyter jvictorchen/IKdbQ
newtux/KdbQ_kernel
Linux, macOS, Unix enlnt/kdb-magic
Pygments jasraj/q-pygments
Sublime Text smbody-mipt/kdb
kimtang/QStudio
kimtang/sublime-q
kimtang/Q
komsit37/sublime-q
TextMate psaris/KX.tmbundle
vim katusk/vim-qkdb-syntax
patmok/qvim
simongarland/vim
Visual Studio Code kdb+/q extension
lwshang/vscode-q
WordPress simongarland/Syntaxhighlighter-for-q

Examples

game-of-life Conway’s Game of Life. (Tomas Celaya)
hypercalc From a q table, create a view with calculated columns. (Stevan Apter)
hypertree Recursive aggregating treetable and 3-D pivot table for hypergrid. (Stevan Apter)
JsonRestApi Server–as-a-function interface (Rob Moore)
kdb kdb+ database examples. (TimeStored)
kdb-euler Solutions to Euler’s problems. (Kim Tang)
kdblib Q scripts. (fadefy)
klondike Klondike solitaire (Stephen Taylor)
kxl Experimental spreadsheet UI. (Stephen Peck)
phrases The Q Phrasebook (kxcontrib)
projecteuler Solutions to Project Euler problems. (Morten Sorensen)
proto Implementing EDSL. (Kim Tang)
q4q Source code for “Q for Quants”. (Nick Psaris)
qca Simple cellular automata. (James Neill)
qmandel Mandelbrot. (Gilles )
qtest Test-driven development (Rob Moore)
qtips Source files for “Q Tips: Fast, Scalable and Maintainable kdb+”. (Nick Psaris)
q_practice Quick reference guide for some q tasks. (Sam Kennerly)
secret-dubstep Time series and statistics. (jmiao3)
symfun Studies and classic problems. (José Cambronero)
telescope Simulate lexically scoped local variables in q functions. (José Cambronero)
ticker-planto Simplified version of kdb+tick. (Walter Eaves)
vivas Charting: kdb+ WebSocketdrives JavaScript client (Walter Eaves)

Foreign functions

Boost math library kimtang/bml
C/C++ enlnt/ffiq
felixlungu/c
Fortran johnanthonyludlow/kdb/docs/fortran.pdf
gnuplot kxcontrib/zuoqianxu/qgnuplot
Google Charts kxcontrib/zuoqianxu/qgooglechart
LAPACK, Cephes and FDLIBMalthenia.net/qml
Mathematica kxcontrib/zuoqianxu/qmathematica
Matlab kxcontrib/zuoqianxu/qmatlab
Perl kxcontrib/zuoqianxu/qperl
Python kxcontrib/serpent.speak
kxcontrib/zuoqianxu/qpython
Non-linear least squares brogar/nls
R kimtang/rinit
rwinston/kdb-rmathlib
Rust adwhit/krust
redsift/rkdb
redsift/kdb-rs-hash
TA-Lib kxcontrib/zuoqianxu/qtalib
ZeroMQ wjackson/qzmq

Interfaces: q clients

Betfair picoDoc/betfair-data-capture
Bitcoin bitmx/btceQ
jlucid/qbitcoind
jlucid/qexplorer
BosonNLP FlyingOE/q_BosonNLP
COMTRADE diamondrod/q_comtrade
Expat XML parser felixlungu/qexpat
Factom blockchain jlucid/qfactom
jlucid/qfactomconnect
ForexConnect mortensorensen/qfxcm
gRPC diamondrod/qrpc
Interactive Brokers mortensorensen/QInteractiveBrokers
IEX himoacs/iex_q
JQ client for J
JDBC CharlesSkelton/babel
Kafka ajayrathore/krak
Lightning jlucid/qlnd
MQTT himoacs/mqtt-q
ODBC johnanthonyludlow/kdb/docs/odbc.pdf
Philips Hue jparmstrong/qphue
Reuters KxSystems/kdb/c/feed/rfa.zip
TSE FLEX Naoki-Yatsu/TSE-FLEX-Converter
Twitter gartinian/kdbTwitter
timeseries/twitter-kdb
Wind资讯 FlyingOE/q_Wind
Yahoo! fdeleze/tickYahoo

Interfaces to kdb+

Adobe Flex quantbin/kdb
Apache Spark hughhyndman/kdbspark
ADO.Net ScottWeinstein/Linq2KdbQ
sv/kp.net
amCharts kxcontrib/cburke/amcharts
AQuery josepablocam/aquery
CZMQ jaeheum/qzmq
C# exxeleron/qSharp
Erlang exxeleron/qErlang
republicwireless-open/gen_q
michaelwittig/erlang-q
Excel exxeleron/qXL
CharlesSkelton/excelrtd
F# kimtang/c.fs
Go jshinonome/geek
sv/kdbgo
Haskell carrutstick/hasq
jkozlowski/kdb-haskell
J kxcontrib/cburke/jk
Java CharlesSkelton/jshow
exxeleron/qJava
michaelwittig/java-q
JavaScript KxSystems/kdb/c/c.js
kxcontrib/cbutler/ChartsForKdb
MdSalih/Kdb-Stuff/IPCWebParse
michaelwittig/java-q
Lua geocar/qlua
Mathematica KxSystems/kdb/c/other/qmathematica.txt
Matlab dmarienko/kdbml
NaCL geocar/qsalt
NodeJS geocar/qnode
michaelwittig/node-q
Perl wjackson/anyevent-k
wjackson/k-perl
PHP geocar/qphp
johnanthonyludlow/kdb/docs/phptoq.pdf
PLplot jaeheum/qplplot
Postgres hughhyndman/pgtokdb
Python brogar/pykdb
enlnt/pyk
eschnapp/q
nugend/q
nugend/qPython
exxeleron/qPython
R yang-guo/qserver
Rust adwhit/krust
jnordwick/rik
kdbplus

Machine learning

Repositories maintained by KX

funq Functional Introduction to Machine Learning in q. (Nick Psaris)
lstmq LSTM (Long short-term memory) neural network. (Kumar Ramanathan)
ml.q Machine-learning examples for q (Juan Lasheras)
mlq Machine Learning for q (Zak Oudrhiri)
qAutomatedTrading Automated trading platform based on Machine Learning algorithm. (Sharizal Shaari)
qnn Simple neural network (Nickolas Bug)
qPoliticalSentimentAnalysis Political Sentiment Analysis of Facebook comments using Boosting Algorithm. (Sharizal Shaari)
tf Tensorflow q wrapper (Andrey Kozyrev)

Mathematics

options Option-pricing functions. (Zak Oudrhiri)
q-math Library of math functions. (dbyu)
ql.q Quantitative finance library. (Kim Tang)
qml A library for statistics, linear algebra, and optimization in q. It provides an interface between the q programming language and numerical libraries such as LAPACK. (Andrey Zholos)

Utilities

anim.q In-browser 3D animation streaming from q (András Dőtsch)
broq Brotli file decompression. (Lucas Martin-King)
jwt.q JSON Web Token signing and parsing for q. (Tomas Celaya)
kdb-jdbc Packaged dependencies of the JDBC driver and protocol/connection classes as provided at KxSystems/kdb/c. (Benjamin Conlan)
kdb-jfx-viewer (Making) q realtime viewer by JavaFX. (Naoki Yatsu)
kdb-protocol Packaged dependencies of the IPC protocol classes as provided at KxSystems/kdb/c. (Benjamin Conlan)
kdb-scripts Utilities. (Khoa Le)
kdbreport Convert a table to present as reports as email body. (Nitish Kumar)
kx Collection of code from code.kx.com and the lists. r is a small parser for RPN. g is to g.k as x is to xterm. sc dynamically calls functions by their address on AMD_64. (Jack Andrews)
log4q A concise logger for q/kdb+ applications. (Pat Bukowinski)
Q-GeneticAlgo Functions for defining and running genetic algorithms for fixed length binary chromosomes. (Rob Moore)
q-fmt Format strings in q style as s-expressions or m-expressions. (RJ)
q-fn General higher-order functions library (RJ)
q-memo Memoization tooling for functions in the q programming language. (RJ)
qBigInt C library for Big Integer KDB+ Arithmetic (Sandy Bradley)
qchart Plot data directly from q (using JavaScript). Works well with sublime-q. Transform your data into JSON and renders it into a HTML/JavaScript template. (Eugene Kononov)
qgz GZip decompression. (Lucas Martin-King)
qhandle Manage open handles and backup switchover. (Jeremy Lucid)
qjson JSON output. (Daniel Nugent)
qng Simple PNG tools. (Robert Moore)
qrapidjson Rapid JSON serialiser. (Lucas Martin-King)
qutil Provides several different common utility functions. These currently include: an option-parsing facility as an alternative to .Q.opt; and a file-loading facility based on a pathlist and supporting version numbers. (Daniel Nugent)
strQ String helper functions. (Ali Kapadiya)
ws.q Simple library for websockets. (Jonathon McMurray)
xls Format cells in an Excel document (Caolan Rafferty)

Web

dash Really fast (>100kq/sec) webserver for q and dashboard-making bits. (Geo Carncross)
iver-tree Fast virtual grid renderer. (Steve Wirts)
qdash A port to q of the JavaScript lodash utilities. (Samuel Alexander)
qmvp Q Minimum Viable Product is a barebones boiler-plate webserver that includes templating, serving from html/, index files, and logging. (Thomas Lackner)
qqq Useful functions for creating websites. (Thomas Lackner)
quagga An experiment in building a web-based development environment for q. (Thomas Lackner)
qwa Microservice that performs analytics duties for your website. (Thomas Lackner)
Salvaged repositories in kxcontrib

kxcontrib contains repositories salvaged from the former Subversion server for which we have been unable to identify current versions on GitHub. These repositories are not maintained.

kxcontrib

Salvaged repositories

kxcontrib contains repositories salvaged from the former Subversion server for which we have been unable to identify current versions on GitHub. These repositories are not maintained.

kxblog Code shared on the KX blog