rymurr / q

A Q connection library for Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Coverage Status

ABOUT

The q package is a q connection library implemented in Python.

Current Status

The api to q is done though currently the compression that kdb uses is not working. So it really only works locally. Currently working on:

  • building compression algo
  • bug fixing and testing
  • started a python-esque to q transpiler
  • integrate traspiler into a pandas data frame, ipython engine, ipython magics, own stand alone language that sits as an extra layer between q/kdb and humans

LICENSE

This code is licensed under an MIT license. See LICENSE for the full text.

MISC

This project was originally a fork of Dan Nugets q library (http://github.com/nugend/q) which was a rewrite of Matt Warren's qPy (http://bitbucket.org/halotis/qpy) library. The current incarnation of this code has nothing in common with either project but the original authors still deserve credit. The main changes are to make the q connection wrapper more compliant with DB-API 2.0 and to try and hide some of the scary k/q stuff. There is also a much more pythonic and performant serializer/deserializer.

Thoughts

I have build a select statement. How can I convert chains of commands together to produce a full ?[t;a;b;c] select statement? Is AST flexible enough or would I have to run a second pass? I could convert df.groupby('a').last() into df.select({'b':'a', 'c':'last "all columns"'}) and then run AST on the df.select?

Also need to consider all the many complex types of group bys (by time, etc) and ordering. And many other bits/keywords of k/q! Also how can I use useful python things like try/catch in q? Troubesome things like the difference between symbols and strings. and namespaces!

CONTACT

Ryan Murray rymurr@gmail.com

About

A Q connection library for Python

License:MIT License


Languages

Language:Python 100.0%