Yet another query language
Go to file
Stephen Finucane c3bda9eeb1 Switch to collections.abc.*
The abstract base classes previously defined in 'collections' were moved
to 'collections.abc' in 3.3. The aliases will be removed in 3.10.
Preempt this change now with a simple find-replace:

  $ ag -l 'collections.($TYPES)' | \
      xargs sed -i 's/\(collections\)\.\($TYPES\)/\1.abc.\2/g'

Where $TYPES is the list of moved ABCs from [1].

[1] https://docs.python.org/3/library/collections.abc.html

Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Change-Id: Ib07d778a01275d7c985e059156e95abc112e81c8
2021-02-01 11:11:27 +00:00
doc Remove six 2021-02-01 11:11:17 +00:00
releasenotes Switch to newer openstackdocstheme and reno versions 2020-05-31 20:01:04 +02:00
yaql Switch to collections.abc.* 2021-02-01 11:11:27 +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 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 Remove six 2021-02-01 11:11:17 +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 tox: Set 'ignore_basepython_conflict' 2021-02-01 10:55:35 +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