Hi David!

  I haven’t used blaze, but its looks quite similar to pandas, at least conceptually. Thanks for
the reference!

  The big difference with PythonQL is that we actually extend the syntax of Python with a few
constructs that are typically used in query languages (group by, order by, window, let clause). 
The language extension is quite small and easy to grasp, but its very powerful: you can use 
this language to easily formulate pretty complex queries is a rather simple way.

  So traditionally - a query language (PythonQL) is good at expressing complex things easily, but
then you need a lot of work from the optimizer and the database to turn it into an efficient plan. A
library like blaze or pandas is more of an “algebra” - its really a plan specification. It will usually
take much longer to memorize all the operators and ways of doing things in such a library and typically
you have to go back to the documentation to do things that differ slightly from what you typically do.

  Oh yeah, so far our execution engine is pretty simple and not too efficient, but we plan to fix this
in the future and be at least comparable to pandas performance (need to look at what’ s under the
hood in blaze).

 Of course this is my take (although I heard a few similar things from our early users). It would be
interesting to see how other folks compare the two approaches.

  Btw. we have built a library for working with pandas Dataframes, we could do it for blaze too, I suppose.



On 1 Nov 2016, at 21:17, David Mertz <mertz@gnosis.cx> wrote:

How do you see this as different from Blaze (http://blaze.readthedocs.io/en/latest/index.html)?
A


On Nov 1, 2016 1:34 AM, "Pavel Velikhov" <pavel.velikhov@gmail.com> wrote:
Hi Folks,

  We have released PythonQL, a query language extension to Python (we have extended Python’s comprehensions with a full-fledged query language,
drawing from the useful features of SQL, XQuery and JSONiq). Take a look at the project here: http://www.pythonql.org and lets us know what you think!

  The way PythonQL currently works is you mark PythonQL files with a special encoding and the system runs a preprocessor for all such files. We have
an interactive interpreter and Jupyter support planned.

Best regards!
PythonQL team
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/