The LSST EFD Client

The LSST EFD Client helps you access the LSST Engineering Facility Database (EFD), which is backed by InfluxDB. The client, EfdClient handles authentication and provides convenience methods for accessing data in ready-to-use formats:

get_topics
Get the topics in the EFD.
get_fields
Get the fields in a particular topic.
build_time_range_query
Build an InfluxQL query for a topic and time range.
select_time_series:
Get a DataFrame containing results of a time range query.
select_packed_time_series:
Get a DataFrame with high cadence telemetry expanded into a single DataFrame.
select_top_n
Get a DataFrame with the results of just the most recent rows.
get_schema
Return metadata about fields associated with a topic. This includes the description, units and an astropy.units.Unit where possible. If any of the metadata is missing in the topic definition, it will be None in the returned schema.

This package also provides some useful utility functions for dealing with data returned from the various EfdClient data access methods:

resample
Resample a pandas.DataFrame onto the the sampling of a second pandas.DataFrame
rendezvous_dataframes
Given one pandas.DataFrame, find all entries in another pandas.DataFrame that are closest (default is nearest in the past).

Follow the Getting started guide to start accessing EFD data. Also, check out the demo notebooks for examples.

Python API reference

lsst_efd_client Package

Collection of EFD utilities

Functions

resample(df1, df2[, interp_type]) Resample one DataFrame onto another.
rendezvous_dataframes(left, right[, …]) Each record in left will be extended with a corresponding record in right if one exists.
merge_packed_time_series(packed_dataframe, …) Select fields that are time samples and unpack them into a dataframe.

Classes

NotebookAuth([service_endpoint]) Class to help keep authentication credentials secret.
EfdClient(efd_name[, db_name, port, …]) Class to handle connections and basic queries

Contributing

lsst_efd_client is developed at https://github.com/lsst-sqre/lsst-efd-client. Please use GitHub issues in the project repository to report problems and contribute.