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


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
Emacs eepgwde/kdbp-mode
Evolved simongarland/Syntaxhighlighter-for-q
Heroku gargraman/heroku-buildpack-kdb
IntelliJ IDEA a2ndrade/k-intellij-plugin
Jupyter jvictorchen/IKdbQ
Linux, macOS, Unix enlnt/kdb-magic
Pygments jasraj/q-pygments
Sublime Text smbody-mipt/kdb
TextMate psaris/KX.tmbundle
vim katusk/vim-qkdb-syntax
Visual Studio Code kdb+/q extension
WordPress simongarland/Syntaxhighlighter-for-q


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
Fortran johnanthonyludlow/kdb/docs/fortran.pdf
gnuplot kxcontrib/zuoqianxu/qgnuplot
Google Charts kxcontrib/zuoqianxu/qgooglechart
LAPACK, Cephes and
Mathematica kxcontrib/zuoqianxu/qmathematica
Matlab kxcontrib/zuoqianxu/qmatlab
Perl kxcontrib/zuoqianxu/qperl
Python kxcontrib/serpent.speak
Non-linear least squares brogar/nls
R kimtang/rinit
Rust adwhit/krust
TA-Lib kxcontrib/zuoqianxu/qtalib
ZeroMQ wjackson/qzmq

Interfaces: q clients

Betfair picoDoc/betfair-data-capture
Bitcoin bitmx/btceQ
BosonNLP FlyingOE/q_BosonNLP
COMTRADE diamondrod/q_comtrade
Expat XML parser felixlungu/qexpat
Factom blockchain jlucid/qfactom
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/
TSE FLEX Naoki-Yatsu/TSE-FLEX-Converter
Twitter gartinian/kdbTwitter
Wind资讯 FlyingOE/q_Wind
Yahoo! fdeleze/tickYahoo

Interfaces to kdb+

Adobe Flex quantbin/kdb
Apache Spark hughhyndman/kdbspark
ADO.Net ScottWeinstein/Linq2KdbQ
amCharts kxcontrib/cburke/amcharts
AQuery josepablocam/aquery
CZMQ jaeheum/qzmq
C# exxeleron/qSharp
Erlang exxeleron/qErlang
Excel exxeleron/qXL
F# kimtang/c.fs
Go jshinonome/geek
Haskell carrutstick/hasq
J kxcontrib/cburke/jk
Java CharlesSkelton/jshow
JavaScript KxSystems/kdb/c/c.js
Lua geocar/qlua
Mathematica KxSystems/kdb/c/other/qmathematica.txt
Matlab dmarienko/kdbml
NaCL geocar/qsalt
NodeJS geocar/qnode
Perl wjackson/anyevent-k
PHP geocar/qphp
PLplot jaeheum/qplplot
Postgres hughhyndman/pgtokdb
Python brogar/pykdb
R yang-guo/qserver
Rust adwhit/krust

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)


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)


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 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)


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.


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