Go to file
Stan Lagun 8f73db1a19 Incorrect behavior of join() on iterators was fixed
Due to the incorrect condition it code that limits
iterators even collections with known limit (lists etc.)
were converted to limiting iterators when there was
no upper length limit. As a result when join() method
was called without iterator limitation being configured
(for example through yaql.eval) it received its collection
arguments as iterators. Because iterators cannot be reset
and re-read again iterator for the inner iterator became
exhausted after the first item of the outer collection.

join() method was fixed to work correctly to memorize
inner iterator so that it could be re-read

Change-Id: I287d0d86b5461490ff32731c11a726174939753d
2015-12-16 19:31:41 +03:00
2015-08-26 14:53:54 +03:00
2014-11-14 03:30:29 +03:00
2015-10-17 22:43:26 +00:00
2014-07-03 18:01:24 +04:00
2014-07-03 18:01:24 +04:00
2014-07-03 18:01:24 +04:00
2014-07-03 18:01:24 +04:00
2014-07-03 18:01:24 +04:00
2014-07-03 18:01:24 +04:00
2015-08-26 14:53:54 +03:00
2015-07-24 02:54:04 +03:00
2014-07-03 18:34:16 +04:00
2015-07-24 02:54:04 +03:00

YAQL: Yet Another Query Language

YAQL (Yet Another Query Language) is an embeddable and extensible query language, that allows performing complex queries against arbitrary objects. It has a vast and comprehensive standard library of frequently used querying functions and can be extend even further with user-specified functions. YAQL is written in python and is distributed via PyPI.

Quickstart

Install the latest version of yaql:

pip install yaql>=1.0.0

Run yaql REPL:

yaql

Load a json file:

yaql> @load my_file.json

Check it loaded to current context, i.e. `$`:

yaql> $

Run some queries:

yaql> $.customers
...
yaql> $.customers.orders
...
yaql> $.customers.where($.age > 18)
...
yaql> $.customers.groupBy($.sex)
...
yaql> $.customers.where($.orders.len() >= 1 or name = "John")

Project Resources

License

Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

Description
RETIRED, further work has moved to Debian project infrastructure
Readme 570 KiB