Skip to main content

This library manages the communication between python programs and elasticsearch database

Project description

# 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).

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

easierai_elasticsearchlib-1.1.1.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file easierai_elasticsearchlib-1.1.1.tar.gz.

File metadata

  • Download URL: easierai_elasticsearchlib-1.1.1.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9

File hashes

Hashes for easierai_elasticsearchlib-1.1.1.tar.gz
Algorithm Hash digest
SHA256 bf04c510000713c4b192e2321fc6d1495c17849a42bd3ea1cee9b84202a00510
MD5 1e36f25b4e9f74d09e740cdd38b5173b
BLAKE2b-256 bbcc41942944230eb9c22eead680cc7b162347a1606eb2e53e0d4e84d2554a1f

See more details on using hashes here.

File details

Details for the file easierai_elasticsearchlib-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: easierai_elasticsearchlib-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9

File hashes

Hashes for easierai_elasticsearchlib-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b531ce599cdb042e927a85559d17af68c6160828b5f8136f67c97dbc207c6397
MD5 f29b56277c469505579f14cb68adeef0
BLAKE2b-256 ad2cc0b8ddb052baebba320bcca599294182b91af27530fe1ccfb6bb1c775a55

See more details on using hashes here.

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