Skip to content
Yet another query language
Branch: master
Clone or download
coreycb Add Python 3 Train unit tests
This is a mechanically generated patch to ensure unit testing is in place
for all of the Tested Runtimes for Train.

See the Train python3-updates goal document for details:

Change-Id: I6745e789c9b6d5a6817f58cf35695767d5f410fb
Story: #2005924
Task: #34224
Latest commit 7385a31 Jul 5, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc/source Customizing and extending yaql documentation Dec 13, 2016
releasenotes Remove setting of version/release from releasenotes Nov 16, 2017
yaql Merge "Use __slots__ for more yaqltypes" Dec 25, 2018
.coveragerc Change ignore-errors to ignore_errors Sep 21, 2015
.gitignore Use reno for releasenotes Jul 11, 2016
.gitreview OpenDev Migration Patch Apr 19, 2019
.mailmap Toxify project Jul 3, 2014
.testr.conf Toxify project Jul 3, 2014
.zuul.yaml Add Python 3 Train unit tests Jul 5, 2019
CONTRIBUTING.rst Workflow documentation is now in infra-manual Dec 5, 2014
HACKING.rst Update the documention for doc migration Jul 21, 2017
LICENSE Drop - it's not needed by pbr Oct 20, 2016
README.rst Fix readme Pygments package not found Oct 10, 2018
requirements.txt Get rid of Babel dependency since it is not needed Mar 2, 2017
setup.cfg Add Python 3 Train unit tests Jul 5, 2019 Fix pep8 checks: W292,W391 Jul 3, 2014
test-requirements.txt Use modern PBR and hacking packages Mar 1, 2017
tox.ini Add Python 3 Train unit tests Jul 5, 2019


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


Apache License Version 2.0

You can’t perform that action at this time.