Skip to main content

``dataql`` is for "Data Query Language". It allows to query data in a simple way.

Project description

Python backend for “Data Query Languages” (like GraphQL and others

What is it?

dataql is for “Data Query Language”. It allows to query data in a simple way.

It is heavily inspired by GraphQL, from Facebook

I didn’t want to force people to think “graph”, and I chose a language that is different in some ways. But this library is written with a base, and we provide a generic parser, but other parsers could easily be written!

How it works?

For example, the default generic parser included, DataQLParser, allows to ask for data with this example query:

User.get('Elon Musk') {
    name,
    birthday.strftime('%x'),
    companies[
        name,
        date:created_year,
    ]
}

And to get data like that:

{
    'name': 'Elon Musk',
    'birthday': '06/28/71',
    'companies': [
        {
            'name': 'Paypal',
            'date': 1999
        },
        {
            'name': 'Space X',
            'date': 2002
        }
    ]
}

The main use is for an API, letting the client asking what it really needs, in only one http query, without having to update the API endpoints.

The only thing to do on the server side is to define, via a registry, what objects and attributes are allowed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dataql-0.0.1a1.tar.gz (22.1 kB view hashes)

Uploaded Source

Built Distribution

dataql-0.0.1a1-py3-none-any.whl (27.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page