Skip to main content

LSST EFD Client

https://img.shields.io/pypi/v/lsst-efd-client.svg https://img.shields.io/travis/lsst-sqre/lsst-efd-client.svg

Utility classes for working with the LSST EFD.

  • Free software: MIT license

Features

  • The client EfdClient, has several useful functions.

    • get_topics: Return the topics in the EFD.

    • get_fields: Return the fields in a particular topic

    • build_time_range_query: Build an InfluxQL query for a topic and time range

    • select_time_series: Return a DataFrame containing results of a time range query

    • select_packed_time_series: Return a DataFrame with high cadence telemetry expanded into a single DataFrame.

    • select_top_n: Return a DataFrame with the results of just the most recent rows.

    • get_schema: Get metadata for the fields in a particular topic.

  • There are also some utilities for dealing with results of queries

    • merge_packed_time_series: Takes a dataframe with records that have multiple samples per entry and returns a dataframe with one record per sample.

    • rendezvous_dataframes: Extend on dataframe with data from another dataframe using the closest record in time in the past, in the future, or nearest overall.

See example notebooks here.

For more information, see the online docs.

CONTRIBUTING

For information on contributing to this project see this page.

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.1.0 (2019-12-23)

  • First release on PyPI.

0.2.0 (2019-01-15)

  • Minimal functionality in place.

  • Docstrings complete.

0.3.0 (2019-01-31)

  • Unit tests added.

0.4.0 (2019-01-31)

  • Very minor doc updates.

  • Accidently pushed minor version when patch was meant.

0.5.0 (2020-05-29)

  • Switch to the segwarides based credentials.

0.6.0 (2021-02-11)

  • Fix bug in listing possible endpoints

  • Add some utility functionality and speed up unpacking packed time series (thank you RHL)

0.6.4 (2021-02-15)

  • Fix a regression that causes an exception when the name of one column is the same as the start of the name of another column

  • Add a test for the regression

0.7.0 (2021-03-24)

  • Add the get_schema method to fetch metadata about topic fields

  • Add a test for the schema parser

0.8.2 (2021-05-25)

  • Deal gracefully with topics that have no description or units (Thanks Angelo!)

  • Add a parameter to allow a time threshold when selecting top N (Thanks Michael!)

0.8.3 (2021-06-11)

  • Add column specifying if a field in the schema is array-like.

  • Check for both conventions indicating unitless columns when creating astropy units.

0.9.0 (2021-10-05)

  • This changes the convention to using UTC as the internal representation. This mirrors a change in the influxDB to store index timestamps as UTC. There is a switch to convert the index from TAI to UTC, but the default is to assume UTC everywhere.

0.9.1 (2021-10-28)

  • Fix various bugs left over from the UTC conversions. The most important of these is correcting how the index for packed time series is handled. The other is in the implementation fow how we attempt to handle legacy databases with the index still in TAI.

0.10.0 (2021-11-18)

  • Change how ports are handled. This forces the port to be sent with the rest of the auth information and removes the ability to pass an override port.

0.10.2 (2022-05-03)

  • Allow astropy to raise an exception for malformed units in the topic schema.

0.11.0 (2022-05-24)

  • Updates to API calls to handle SAL 7 change to indexed component ID field.

  • Add timeout option to the EFD client. Set the aiohttp.client timeout when working with chunked queries. Set a default timeout of 900 seconds.

0.12.0 (2022-07-27)

  • The auth helper can now use a path attribute to connect to an InfluxDB instance.

0.13.0 (2023-06-26)

  • EfdClient now accepts non-UTC astropy.time.Time values (converting them, if necessary).

  • Fix unit tests:

    • Update casettes/*.yaml to include “path” as a returned value.

    • Change fixture efd_client to an async context manager make_efd_client and call it explicitly.

    • Import vcr explicitly and configure it so that it fails if the specified cassette files cannot be found or used. This avoids two sources of mysterious failures.

    • Consolidate a few tests to make it clearer that they are testing the same thing, and to reduce the number of cassette files needed.

  • Run black and isort on the code.

0.13.1 (2023-07-01)

  • numpy 1.25.0 breaks compatibility with aioinflux. Pin numpy to version 1.23.5

Metadata

Release files for lsst-efd-client 0.13.1

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

Source distribution (sdist)

Source distribution for lsst-efd-client 0.13.1
File Size Uploaded
lsst-efd-client-0.13.1.tar.gz 3.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for lsst-efd-client 0.13.1
File Interpreter ABI Platform
lsst_efd_client-0.13.1-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 3.1 MB

Release files / lsst-efd-client-0.13.1.tar.gz

Download URL lsst-efd-client-0.13.1.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
ffb7c0bbec02e0b36e488dd4e0c695b0f3fe24c77106e688f8d2cff92c8e7af7
BLAKE2b-256 checksum
How to use checksums
c5e5a587e2bf5343f930ebb3b11956dd731ccea8e4d7d1e3196d90d3ea423f2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release files / lsst_efd_client-0.13.1-py2.py3-none-any.whl

Download URL lsst_efd_client-0.13.1-py2.py3-none-any.whl
Size 13.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
e8e1d32581daa390bfc9a8c68c81c7dd2155c8e6ff3ddb111cddf4fa077284ef
BLAKE2b-256 checksum
How to use checksums
6998787366248997b027b0a8b1320a666755b5c14a27358da3daac5c3de44122
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release history Release notifications | RSS feed

This release

0.13.1 This release

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

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