Dirk Mueller b4c39c5874 Replace assertItemsEqual with assertCountEqual
assertItemsEqual was removed from Python's unittest.TestCase in
Python 3.3 [1][2]. We have been able to use them since then, because
testtools required unittest2, which still included it. With testtools
removing Python 2.7 support [3][4], we will lose support for
assertItemsEqual, so we should switch to use assertCountEqual.

[1] - https://bugs.python.org/issue17866
[2] - https://hg.python.org/cpython/rev/d9921cb6e3cd
[3] - testing-cabal/testtools#286
[4] - testing-cabal/testtools#277

Change-Id: I6ebd93aa093caad6f2d3db6e43beb8bc8d9cedb7
2021-02-16 10:29:21 +01:00
2021-02-01 11:11:17 +00:00
2016-07-11 16:46:44 +03:00
2019-04-19 19:32:57 +00:00
2014-07-03 18:01:24 +04:00
2014-07-03 18:01:24 +04:00
2014-07-03 18:01:24 +04:00
2014-07-03 18:01:24 +04:00
2021-02-01 11:11:17 +00:00
2020-04-07 04:48:25 -07:00
2020-04-07 04:48:25 -07:00
2021-02-01 10:55:35 +00: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

Description
Yet another query language
Readme 2.7 MiB
Languages
Python 100%