Yet another query language
Go to file
Alexander Tivelkov 47957136c7 Remove the upper cap on ply version
Latest released version of ply is 3.8 now. Since it is very unlikely
that subsequent releases will break anything in yaql, it's preferred
to remove the upper cap at all.

Change-Id: I805d37917b65771736b54babe453edda2bba6e31
2016-02-10 18:45:42 +00:00
doc/source Add "Getting started" document 2016-02-01 14:11:23 +03:00
yaql Merge "Adds unit test for ability to pass lambda from Python" 2016-02-10 17:56:20 +00:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 15:31:05 +00:00
.gitignore Update gitignore 2014-11-14 03:30:29 +03:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:43:26 +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
babel.cfg Toxify project 2014-07-03 18:01:24 +04:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:47 +00:00
HACKING.rst Toxify project 2014-07-03 18:01:24 +04:00
LICENSE Toxify project 2014-07-03 18:01:24 +04:00
MANIFEST.in Toxify project 2014-07-03 18:01:24 +04:00
README.rst Documentation structure update 2015-08-26 14:53:54 +03:00
requirements.txt Remove the upper cap on ply version 2016-02-10 18:45:42 +00:00
setup.cfg remove python 2.6 trove classifier 2015-12-23 01:31:17 +00:00
setup.py Fix pep8 checks: W292,W391 2014-07-03 18:34:16 +04:00
test-requirements.txt Small improvements to yaql 2015-07-24 02:54:04 +03:00
tox.ini py26/py33 are no longer supported by Infra's CI 2015-12-26 14:42:21 +05:30

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