Yet another query language
Go to file
2024-10-26 18:54:58 +00:00
doc Run pyupgrade to clean up Python 2 syntaxes 2024-10-21 22:03:14 +09:00
releasenotes Run pyupgrade to clean up Python 2 syntaxes 2024-10-21 22:03:14 +09:00
yaql Use per-commit to run style checks 2024-10-27 02:13:38 +09:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 15:31:05 +00:00
.gitignore Migrate from testr to stestr 2021-02-11 12:33:45 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:32:57 +00:00
.mailmap Toxify project 2014-07-03 18:01:24 +04:00
.pre-commit-config.yaml Use per-commit to run style checks 2024-10-27 02:13:38 +09:00
.stestr.conf Migrate from testr to stestr 2021-02-11 12:33:45 +00:00
.zuul.yaml Publish release notes 2024-03-13 17:06:47 +09:00
CONTRIBUTING.rst [community goal] Update contributor documentation 2021-05-31 20:35:23 +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
requirements.txt Remove six 2021-02-01 11:11:17 +00:00
setup.cfg Declare Python 3.12 support 2024-10-09 22:50:16 +09:00
setup.py Remove shebang from setup.py 2024-01-09 17:13:05 +09:00
test-requirements.txt Merge "Use per-commit to run style checks" 2024-10-26 18:54:58 +00:00
tox.ini Use per-commit to run style checks 2024-10-27 02:13:38 +09:00

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