Skip to content

Five more languages talk to PeachQ

A q database is only as useful as the languages that can reach it. This week we took the client libraries people already use with kdb+, pointed each at PeachQ, recorded what happened, and wrote it up. Five more languages now have a complete, recorded article: C#, Node.js, Go, Rust, and R through embedR.

Every article follows the same pattern. Download PeachQ, download the examples, run three programs: a feed handler that streams trades in, a query that reads them back, and a subscriber that receives each new batch. The server logs every connection and query so you can see both sides. Each page has a video of the whole thing running, the complete setup commands, and a dated list of what does not work yet.

Clients

  • C# query and subscriber output beside the PeachQ server log

    C# with CSharpKDB 1.7.0, KX's .NET client, on .NET 8. Feed, query and subscribe from one console project. Article

  • A browser page with live price charts and a trade tape fed from PeachQ through Node.js

    Node.js with jkdb 1.4.0 by Jo Shinonome. A Node relay subscribes to trades and pushes them to a browser page with live charts. Article

  • The Go API recording's title card

    Go with kdbgo 0.20.0. Query live trades, subscribe to updates and send a table, against a server that ticks on its own timer. Article

  • Rust feed, query and subscriber beside the PeachQ server log

    Rust with kdbplus 0.3.8 on Tokio. A typed feed handler, a query and an async subscriber. Article

R from q

  • An R chart of trade prices per symbol with fitted lines, drawn from q data

    embedR 1.5.1, built from KX's source, starts R inside the q process. Send a q table to R, fit a model, call R functions with q arguments and draw a chart. embedR's own test script passes 285 of its 286 checks on PeachQ; the one failure depends on the installed R version. Article

Tested, not just demonstrated

Each library's own test suite was run against PeachQ where one exists, along with a round trip of every q type through each client. node-q's 158 integration tests, kdbgo's suite, jkdb's and kdbplus's 179 tests all ran. The results are in each article's limitations section, with the date and PeachQ version, so you know what to expect before you start. The gaps found have gone to the PeachQ developers; the ones that matter most are TLS, which the current release does not serve, and abstract Unix domain sockets, which it does not open.

A new home: Interfaces

All language clients and embeddings now live in one Interfaces section, including the earlier Python, Java, embedPy and C extension articles. The index lists every library with the version tested and a link to its repository. Old cookbook links redirect.

Thanks

These articles stand on other people's work: Jo Shinonome for jkdb and Kola, diamondrod for kdbplus, sv for kdbgo, Michael Wittig for node-q, and KX for CSharpKDB, javakdb, embedPy and embedR, all published under open licences.

Alexander Unterrainer of DefconQ has also published a Getting Started with PeachQ video tutorial, now linked from our own Getting started page.

What should run next?

Tell us which library or framework you want to see on PeachQ in the issue tracker.

Download · Try live · Interfaces