Metadata-Version: 2.1
Name: lsst-efd-client
Version: 0.8.1
Summary: Utility classes for working with the LSST EFD.
Home-page: https://github.com/lsst-sqre/lsst-efd-client
Author: Simon Krughoff
Author-email: krughoff@lsst.org
License: MIT license
Keywords: LSST,EFD
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.5
Provides-Extra: dev
License-File: LICENSE
License-File: AUTHORS.rst

===============
LSST EFD Client
===============


.. image:: https://img.shields.io/pypi/v/lsst-efd-client.svg
           :target: https://pypi.python.org/pypi/lsst-efd-client

.. image:: https://img.shields.io/travis/lsst-sqre/lsst-efd-client.svg
           :target: https://travis-ci.com/lsst-sqre/lsst-efd-client



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_.

.. _here: https://github.com/lsst-sqre/notebook-demo/tree/master/experiments/efd

For more information, see the online docs_.

.. _docs: https://efd-client.lsst.io

CONTRIBUTING
------------

For information on contributing to this project see this_ page.

.. _this: https://github.com/lsst-sqre/lsst-efd-client/blob/master/CONTRIBUTING.rst

Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage


=======
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


