Yet another query language
Go to file
Tony Breeds fe128f0672 Use modern PBR and hacking packages
The 2.0.0 is breaking in that it removes the use of warnerrors in
build_sphinux.

YAQL isn't using that feature, so it shoudln't break.

The cap on pbr is preventing other OpenStack projects that would like to
use pbr 2.0.0 (and sphinx 1.5.1) from doing so as it breaks
co-installability with yaql

Also hacking <0.11 had a similar issue so use a newer version of that also

Change-Id: I23e1d7aa715003250131bf5c88a438f278e4d4da
Related-Bug: 1668848
2017-03-01 16:33:56 +11:00
doc/source Customizing and extending yaql documentation 2016-12-13 15:16:45 -08:00
releasenotes Enable release notes translation 2016-10-06 20:56:59 +02:00
yaql Merge "Added engine options to disable input/output data conversion" 2017-02-22 17:58:19 +00:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 15:31:05 +00:00
.gitignore Use reno for releasenotes 2016-07-11 16:46:44 +03:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:43:26 +00:00
.mailmap Toxify project 2014-07-03 18:01:24 +04:00
.testr.conf Toxify project 2014-07-03 18:01:24 +04:00
babel.cfg Toxify project 2014-07-03 18:01:24 +04:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:47 +00:00
HACKING.rst Toxify project 2014-07-03 18:01:24 +04:00
LICENSE Toxify project 2014-07-03 18:01:24 +04:00
MANIFEST.in Drop MANIFEST.in - it's not needed by pbr 2016-10-20 21:10:38 +05:30
README.rst Documentation structure update 2015-08-26 14:53:54 +03:00
requirements.txt Use modern PBR and hacking packages 2017-03-01 16:33:56 +11:00
setup.cfg Changed the home-page link 2016-12-12 15:58:10 +00:00
setup.py Fix pep8 checks: W292,W391 2014-07-03 18:34:16 +04:00
test-requirements.txt Use modern PBR and hacking packages 2017-03-01 16:33:56 +11:00
tox.ini Don't include openstack/common in flake8 exclude list 2016-10-21 23:31:14 +05:30

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