Skip to main content

A Python package for the fetching (and some processing) of eCallisto data via the eCallisto API.

Project description

Ecallisto NG

Ecallisto NG is a compact yet effective Python package designed to facilitate seamless interaction with the Ecallisto API. The package is constructed in Python 3.9 and utilizes the requests library to directly access the Ecallisto API via the link: https://v000792.fhnw.ch/api/redoc.

Installation

To install this package, clone this repository and use pip for installation. Execute the following command in your terminal: pip install -e .

PyPI

Ecallisto NG is conveniently available on PyPI as well. To download, visit the following link: https://pypi.org/project/ecallisto-ng/

Example

Please have a look at the jupyter notebook under example.

Usage

Here's a guide on how to use the different features of Ecallisto NG:

Data Fetching

Fetching data is easy using the get_data function, housed under the ecallisto_ng.data_fetching.get_data module. Here's an example:

from ecallisto_ng.data_fetching.get_data import get_data

parameters = {
    "instrument_name": "austria_unigraz_01",
    "start_datetime": "2021-03-01 06:30:00",
    "end_datetime": "2021-03-07 23:30:00",
    "timebucket": "15m",
    "agg_function": "MAX",
}

df = get_data(**parameters)

Getting Data Availability

You can also check the availability of data using the get_tables and get_table_names_with_data_between_dates function, housed under the ecallisto_ng.data_fetching.get_information module. Here's an example:

from ecallisto_ng.data_fetching.get_information import get_tables, get_table_names_with_data_between_dates
from datetime import datetime, timedelta

get_tables()[:5]

get_table_names_with_data_between_dates(
    start_datetime=(datetime.now() - timedelta(hours=24)).strftime("%Y-%m-%d %H:%M:%S"),
    end_datetime=datetime.now().strftime("%Y-%m-%d %H:%M:%S")
)

Plotting

Ecallisto NG provides basic plotting capabilities. Here's an example of how to generate a spectogram:

from ecallisto_ng.plotting.utils import fill_missing_timesteps_with_nan, plot_spectogram

df_filled = fill_missing_timesteps_with_nan(df)
plot_spectogram(df_filled,  parameters["instrument_name"], parameters["start_datetime"], parameters["end_datetime"])

Spectogram editing

We also provide some basic functionalities to edit the spectogram. Here's how you can do it:

from ecallisto_ng.data_processing.utils import elimwrongchannels, subtract_constant_background, subtract_rolling_background

df = elimwrongchannels(df)
df = fill_missing_timesteps_with_nan(df)
df = subtract_constant_background(df)
df = subtract_rolling_background(df)

plot_spectogram(df,  parameters["instrument_name"], parameters["start_datetime"], parameters["end_datetime"])

These simple commands allow you to easily manipulate spectogram data, enabling effective use of the Ecallisto API for your needs. Be careful when using elimwrongchannels after fill_missing_timesteps_with_nan.

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

ecallisto_ng-0.2.2.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

ecallisto_ng-0.2.2-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file ecallisto_ng-0.2.2.tar.gz.

File metadata

  • Download URL: ecallisto_ng-0.2.2.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for ecallisto_ng-0.2.2.tar.gz
Algorithm Hash digest
SHA256 4c9897974c511b1c47ad17783f2f69f8e42c16f79437235381693774c1a4e799
MD5 21fe5c655da87b502bd9c72070ee7d39
BLAKE2b-256 f48d3d24f735ed9f76aa37da80ae8115beb63b979955c5b0b7582bf331ff761e

See more details on using hashes here.

File details

Details for the file ecallisto_ng-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: ecallisto_ng-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for ecallisto_ng-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 df7ef6a04af797ef8e7ac17fd464d9c6f97fe32fc83d492711c681244829863b
MD5 daac0ef6122d74835823f7c4296cacc1
BLAKE2b-256 a7b89f38d4ce755d8cffea5a3d58f8faff897df0364e9b1ee20f2fbe82ee16ac

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