[Python-ideas] Query Language extension to Python

Pavel Velikhov pavel.velikhov at gmail.com
Wed Nov 2 22:43:57 EDT 2016



> 3 нояб. 2016 г., в 0:28, Denis Akhiyarov <denis.akhiyarov at gmail.com> написал(а):
> 
> How does this compare to LINQ in .NET?

Denis,

  PythonQL is very similar to LINQ actually. The syntax is a little different - more Pythonic vs SQL, the clauses can be composed arbitrarily, we have named tuples, that make nested queries easier to write and a few minor bells and whistles. 
> 
>> On Tuesday, November 1, 2016 at 2:03:44 PM UTC-5, Pavel Velikhov wrote:
>> 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 <me... at 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.v... at 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... at python.org
>>>> https://mail.python.org/mailman/listinfo/python-ideas
>>>> Code of Conduct: http://python.org/psf/codeofconduct/
>> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20161103/c5f3aefe/attachment.html>


More information about the Python-ideas mailing list