Metadata-Version: 2.1
Name: yaql
Version: 3.2.0
Summary: YAQL - Yet Another Query Language
Author-email: OpenStack <openstack-discuss@lists.openstack.org>
License: Apache-2.0
Project-URL: Homepage, http://yaql.readthedocs.io
Project-URL: Repository, https://opendev.org/openstack/yaql/
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: pbr>=1.8
Requires-Dist: python-dateutil>=2.4.2

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")
    ...
    yaql> let(min_orders => $.min_orders)
    ...   -> $.customers.where($.orders.len() >= $min_orders)

Project Resources
-----------------

* `Official Documentation <http://yaql.readthedocs.org>`_

* Project status, bugs, and blueprints are tracked on
  `Launchpad <https://launchpad.net/yaql>`_

* The yaql._ply module is a copy of
  the `ply library <https://github.com/dabeaz/ply>`_ .

License
-------

Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 ,
unless otherwise noted
