Yet another query language
Go to file
nizam 16cd8ade86 Don't include openstack/common in flake8 exclude list
The directory openstack/common was used to keep codes from oslo-incubator,
we have retired oslo-incubator,so don't use this directory any more

Change-Id: Ib222cf20945f473d628c1b25b8276ddf307b69a1
2016-10-21 23:31:14 +05:30
doc/source Fix typo in YAML example 2016-05-24 16:25:06 +03:00
releasenotes Enable release notes translation 2016-10-06 20:56:59 +02:00
yaql Merge "[docs] Docstrings for queries YAQL functions" 2016-10-13 14:29:41 +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 Toxify project 2014-07-03 18:01:24 +04:00
README.rst Documentation structure update 2015-08-26 14:53:54 +03:00
requirements.txt Remove the upper cap on ply version 2016-02-10 18:45:42 +00:00
setup.cfg remove python 2.6 trove classifier 2015-12-23 01:31:17 +00:00
setup.py Fix pep8 checks: W292,W391 2014-07-03 18:34:16 +04:00
test-requirements.txt Remove discover from test-requirements 2016-07-21 07:40:18 +00: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