What is YAQL
============

YAQL is a general purpose query language, that is designed to operate on
objects of arbitrary complexity.
YAQL has a large standard library of functions for filtering, grouping and
aggregation of data. At the same time YAQL allows you to extend it by
defining your own functions.

Why YAQL?
=========

So why bother and create another solution for a task, that has been addressed
by many before us? Obviously because we were not satisfied with flexibility
and/or quality of any existing solution. Most notably we needed a tool for json
data, that would support some complex data transformations.
YAQL is a pure-python library and therefore is easily embeddable in any python
application.
YAQL is designed to be human-readable and has a SQL-like feel and look. It is
inspired in part by LINQ for .NET.
Since YAQL is extensible and embeddable it makes a perfect choice for becoming
the basis for your DSLs.