Skip to main content

LogQS Client

Project description


LogQS Logo

LogQS Client

A Python library for interacting with a LogQS DataStore API. More information and examples can be found at https://docs.logqs.com.

Installation

Requires Python >= 3.6

Instally from PyPI, using pip:

$ pip install logqs-client

Quickstart

Create a client instance:

from lqs_client import LogQS
lqs = LogQS(
    api_url="<LQS API URL>",
    api_key_id="<LQS API KEY ID>",
    api_key_secret="<LQS API KEY SECRET>"
)

Interact with the LogQS API:

response = lqs.list.log()
data = response["data"]
print(data)

Alternatively, you can use the LogQS Client from the command line. If you have the configuration set as environment variables or in a .env file:

$ python -m lqs_client list log

Configuration

Required Parameters

The LogQS Client requires three parameters to be configured:

LQS_API_URL

  The URL of the endpoint for the LogQS API. This should be the base URL for all REST operations, i.e., if the DataStore's API includes a /api subpath, this should be included.

  This parameter can be supplied/overridden with the api_url parameter.

LQS_API_KEY_ID

  The ID of the API Key for which the client will operate as.

  This parameter can be supplied/overridden with the api_key_id parameter.

LQS_API_KEY_SECRET

  The secret of the API Key for which the client will operate as.

  This parameter can be supplied/overridden with the api_key_secret parameter.

Optional Parameters

Optional parameters include:

LQS_PRETTY

  A boolean parameter indicating whether or not to "prettify" the output results. Useful when using the client in the command line. Default is false.

  This parameter can be supplied/overrident with the pretty parameter.

LQS_VERBOSE

  A boolean parameter indicating whether to log debug information. Default is false.

  This parameter can be supplied/overriden with the verbose parameter.

LQS_DRY_RUN

  A boolean parameter indicating whether to execute actual API requests. Default is false.

  This parameter can be supplied/overriden with the dry_run parameter.

LQS_RETRY_COUNT

  An integer parameter greater than or equal to 0 indicating the number of times we should retry failed API requests. Default is 4

  This parameter can be supplied/overriden with the retry_count parameter.

LQS_RETRY_DELAY

  An integer parameter greater than or equal to 0 indicating the initial value, in seconds, we use for exponential backoff when waiting to retry a failed request. Default is 4

  This parameter can be supplied/overriden with the retry_delay parameter.

LQS_RETRY_AGRESSIVE

  A boolean parameter indicating whether we should retry on "expected" errors from LogQS (such as "BadRequest", "Conflict", etc.). Default is false.

  This parameter can be supplied/overriden with the retry_aggressive parameter.

Development

The LogQS Client module source is located in lqs-client and it's Python requirements are listed in the requirements.txt file. You can install it locally with pip install ..

The project uses Python 3.9, which may require some dependencies to be required. In one go,

sudo apt install python3.9 python3.9-dev python3.9-distutils python3.9-venv

To run the application from this directory (i.e., for development):

  1. Create a virtual environment:

    python3.9 -m venv venv

  2. Source the environment:

    source venv/bin/activate

  3. Install the requirements:

    pip install -r requirements.txt

  4. Install LogQS Client in develop mode:

    pip install -e .

  5. Run the module:

    python -m lqs-client

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

lqs_client-0.1.12.tar.gz (66.3 kB view hashes)

Uploaded Source

Built Distribution

lqs_client-0.1.12-py3-none-any.whl (101.2 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