Yet another query language
Go to file
Ghanshyam Mann bfc3c48685 Fix hacking min version to 3.0.1
flake8 new release 3.8.0 added new checks and gate pep8
job start failing. hacking 3.0.1 fix the pinning of flake8 to
avoid bringing in a new version with new checks.

Though it is fixed in latest hacking but 2.0 and 3.0 has cap for
flake8 as <4.0.0 which mean flake8 new version 3.9.0 can also
break the pep8 job if new check are added.

To avoid similar gate break in future, we need to bump the hacking min
version.

- http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014828.html

Change-Id: Icf9fa58f9c9ae9e1bbe436638fe915974543dddb
2020-05-12 19:33:36 -05:00
doc Cleanup py27 support 2020-04-07 04:48:25 -07:00
releasenotes [ussuri][goal] Drop python 2.7 support and testing 2019-11-16 16:38:02 +00:00
yaql Update hacking for Python3 2020-03-30 12:00:00 +02: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 OpenDev Migration Patch 2019-04-19 19:32:57 +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
.zuul.yaml [ussuri][goal] Drop python 2.7 support and testing 2019-11-16 16:38:02 +00:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:47 +00:00
HACKING.rst Update the documention for doc migration 2017-07-21 15:28:23 +08: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 Fix readme Pygments package not found 2018-10-10 11:02:15 +08:00
babel.cfg Toxify project 2014-07-03 18:01:24 +04:00
requirements.txt Get rid of Babel dependency since it is not needed 2017-03-02 21:05:32 +00:00
setup.cfg Cleanup py27 support 2020-04-07 04:48:25 -07:00
setup.py Cleanup py27 support 2020-04-07 04:48:25 -07:00
test-requirements.txt Fix hacking min version to 3.0.1 2020-05-12 19:33:36 -05:00
tox.ini Merge "Update hacking for Python3" 2020-03-31 02:36:45 +00:00

README.rst

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