Skip to main content

# Elastic search wrapper for Python

This library allows access to a Elasticsearch from a Python program.

https://pypi.org/project/elasticsearchlib/

## Installation

### Command line This library can be installed with the following command:

` pip3 install elasticsearchlib ` ### Dockerfile

You can add these lines in your Dockerfile to include this library in your image:

` RUN pip3 install elasticsearchlib `

## Uploading to pip

These steps are needed to distribute the library on Pip repository manager:

### Prerequisites

First, these packages must be installed on your Python environment:

  • Setuptools

  • Wheel

  • Twine

  • Tqdm

` sudo python -m pip install --upgrade pip setuptools wheel sudo python -m pip install tqdm sudo python -m pip install --user --upgrade twine `

### Customization

On the _setup.py_ file, these fields can be customized:

  • Version: The current version of the build.

### Execution

` python3 setup.py bdist_wheel ` This command will generate a _.whl_ file inside the _dist_ folder of the root of the project. Then, execute the following command to upload this file to PyPi repository:

` python3 -m twine upload dist/* `

## Usage This section will explain the usage of this library.

### Constructor ` Elasticsearchlib() `

### start_connection This function creates the connection to the elasticsearch database, checking if the server is up. Returns True if the database answered correctly. ` def start_connection(self, host, port, request_retries=3, total_retries=9): ` - host: Base IP address for the elasticsearch database. - port: Port where the elasticsearch database is published. - request_retries: number of times a request will be retried before being dropped (defaults to 3). - total_retries: number of consecutive retries before dropping the connection and throwing an Exception (defaults to 9).

### create_index This function checks if an index is already created and, if not, creates it, according to the provided mapping. ` def create_index(self, index, mapping=None): ` - index: Name of the index to create. - mapping: Mapping provided as the template for this index.

### add_to index This function adds a document to the provided index. If the index does not exist, it will be created first. ` def add_to_index(self, index, body, id=''): ` - index: Index where the document will be added. - body: Body for the document. - id: Optional argument for the document id on the database. If not provided, a random one will be created.

### search_last_n_measures This functions allows for the retrieval of the last n measures of one dataset item. ` def search_last_n_measures(self, index, id_dataset, n): ` - index: Index to search in. - id_dataset: Dataset id to retrieve the measures. - n: Number of measures desired.

### scrolled_query This function returns all measures stored in an index, following a query. ` def scrolled_query(self, query, index, filter_path=None): ` - query: Query to use on the request. - index: Index on which to use the query. - filter_path: Filter that can be applied to the request.

### get_entities_ids This function returns all the entity ids stored under an index. ` def get_entities_ids(self, index): ` - index: Index on which to request the ids.

### get_last_document This function returns the last document stored under an index, for a specific device_id. ` def get_last_document(self, index, device_id): ` - index: Index on which to request the document. - device_id: Id of the device to query.

### get_data_history This function returns the data history for a specific device in a period of time. ` def get_data_history(self, index, device_id, gte, lte='now'): ` - index: Index on which to request the data. - device_id: Id of the device to query. - gte: Lower bound for the time period. - lte: Upper bound for the time period (defaults to now).

Release files for easierai-elasticsearchlib 1.3.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for easierai-elasticsearchlib 1.3.8
File Size Uploaded
easierai_elasticsearchlib-1.3.8.tar.gz 9.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for easierai-elasticsearchlib 1.3.8
File Interpreter ABI Platform
easierai_elasticsearchlib-1.3.8-py3-none-any.whl Python 3 none any Details

Total release size: 22.9 kB

Release files / easierai_elasticsearchlib-1.3.8.tar.gz

Download URL easierai_elasticsearchlib-1.3.8.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a3b859b97d82a67a5b6ce7020634de427d20b329390ed8dd30c3180cee33f0aa
BLAKE2b-256 checksum
How to use checksums
c6af469f61df946a09ed2cccea30f449d250053b535ea6f0a1ce03c99f822e4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.6.9

Release files / easierai_elasticsearchlib-1.3.8-py3-none-any.whl

Download URL easierai_elasticsearchlib-1.3.8-py3-none-any.whl
Size 13.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6b49f8c4eb13afa0f937bb38da056cedff1df7e6bc061bf41f13130bd012ae4b
BLAKE2b-256 checksum
How to use checksums
4a44b8100ecafa8f16f5170b238469162fec570cf23d378851d499b5e6fef6a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.6.9

Release history Release notifications | RSS feed

This release

1.3.8 This release

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page