Yet another query language
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ghanshyam Mann 0701bdba3d Dropping the py35 testing 4 weeks ago
doc/source Customizing and extending yaql documentation 2 years ago
releasenotes Remove setting of version/release from releasenotes 1 year ago
yaql Make changes to groupBy() backward-compatible 1 year ago
.coveragerc Change ignore-errors to ignore_errors 3 years ago
.gitignore Use reno for releasenotes 2 years ago
.gitreview OpenDev Migration Patch 1 month ago
.mailmap Toxify project 4 years ago
.testr.conf Toxify project 4 years ago
.zuul.yaml Dropping the py35 testing 4 weeks ago
CONTRIBUTING.rst Workflow documentation is now in infra-manual 4 years ago
HACKING.rst Update the documention for doc migration 1 year ago
LICENSE Toxify project 4 years ago Drop - it's not needed by pbr 2 years ago
README.rst Fix readme Pygments package not found 7 months ago
babel.cfg Toxify project 4 years ago
requirements.txt Get rid of Babel dependency since it is not needed 2 years ago
setup.cfg Dropping the py35 testing 4 weeks ago Fix pep8 checks: W292,W391 4 years ago
test-requirements.txt Use modern PBR and hacking packages 2 years ago
tox.ini Dropping the py35 testing 4 weeks ago


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.


Install the latest version of yaql:

pip install yaql>=1.0.0

Run yaql REPL:


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 ----------------- * Official Documentation <>_ * Project status, bugs, and blueprints are tracked on Launchpad <>`_


Apache License Version 2.0