Metadata-Version: 2.1
Name: esq
Version: 1.0.2
Summary: A python package that provides GraphQL API for Elasticsearch and makes it easier to query data without writing complex queries.
Home-page: https://github.com/scottydelta/esq
Author: Vikash Bajaj
Author-email: esq@vikashbajaj.com
License: GNU General Public License v3
Keywords: esq
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS.md

# esq

[![Build Status](https://img.shields.io/pypi/v/esq.svg)](https://pypi.python.org/pypi/esq) [![[pypi]](https://github.com/scottydelta/esq/actions/workflows/python-publish.yml/badge.svg)](https://github.com/scottydelta/esq/actions/workflows/python-publish.yml) [![Documentation Status](https://readthedocs.org/projects/esq/badge/?version=latest)](https://esq.readthedocs.io/en/latest/?version=latest)

[Install](#install) - [Init](#init) - [Usage](#usage) - [Documentation](#documentation)

A python package that provides GraphQL API for Elasticsearch and makes it easier to query data without writing complex queries.

## Install

    pip install esq

## Init

```python
>>> from esq import Esq
>>> from elasticsearch import Elasticsearch

# init your Elasticsearch client object here
>>> ELASTICSEARCH_URI = "http://localhost:9200"
>>> es_client = Elasticsearch([ELASTICSEARCH_URI])

# init your Esq object here
>>> esq = Esq(es_client)

# now you can start making queries
```

## Usage

```python
# to get aggregation on sentiment field on your twitter index, you can simply do:
>>> sentiments = esq.get_aggr_data(index='twitter',
                        data_type='keyword/text', #data_type is an enum('keyword/text', 'coordinates', 'timeseries')
                        data_field='sentiment')

>>> print(sentiments)
[{'label': 'positive', 'value': 9}, {'label': 'neutral', 'value': 7}, {'label': 'negative', 'value': 1}]
```

## Documentation

[Read the full documentation here](https://esq.readthedocs.io/en/latest/?version=latest)


# History

#### 1.0.1 (2022-08-30)
* Fix Docs and add content README.

#### 1.0.0 (2022-08-30)
* First release on PyPI.
