Skip to content

A python package to extract data from Azure Time Series Insights (TSI).

License

Notifications You must be signed in to change notification settings

RaaLabs/TSIClient

Repository files navigation

Raa Labs

TSIClient

build Documentation Status Coverage Maintainability Rating PyPI version Downloads

The TSIClient is a Python SDK for Microsoft Azure time series insights. It provides methods to conveniently retrieve your data and is designed for analysts, data scientists and developers working with time series data in Azure TSI.

⚠️ Azure Time Series Insights will be deprecated on 31.3.2025. Read the anncouncment from Microsoft here: https://azure.microsoft.com/en-us/updates/we-ll-retire-azure-time-series-insights-on-31-of-march-2025/.

The TSIClient will not be developed further by Raa Labs.

Documentation

Installation

We recommended to use a Python version >= 3.6. You can install the TSIClient from PyPi:

pip install TSIClient

Or if you want to get the latest code, directly fom GitHub:

pip install git+https://github.com/RaaLabs/TSIClient.git

Quickstart

Instantiate the TSIClient to query your TSI environment. Log in to Azure using the Azure CLI:

az login --tenant <your-azure-tenant-id>

Now instantiate the client like this:

from TSIClient import TSIClient as tsi

client = tsi.TSIClient(
    environment="<your-tsi-env-name>",
    applicationName="<your-app-name>"
)

You can check the docs at https://raalabs-tsiclient.readthedocs.io/en/latest/authentication.html for more information on authentication, and check the old way of authentication (these will be removed in a future version).

You can query your timeseries data by timeseries id, timeseries name or timeseries description. The Microsoft TSI apis support aggregation, so you can specify a sampling freqency and aggregation methods. Refer to the documentation for detailed information.

data = client.query.getDataById(
    timeseries=["timeseries_id1", "timeseries_id2"],
    timespan=["2019-12-12T15:35:11.68Z", "2019-12-12T17:02:05.958Z"],
    interval="PT5M",
    aggregateList=["avg", "max"],
    useWarmStore=False
)

This returns a pandas dataframe, which can be used for analysis.

Contributing

Contributions are welcome. See the developer reference for details.

License

TSIClient is licensed under the MIT license. See LICENSE file for details.