Metadata-Version: 2.1
Name: lsst-efd-client
Version: 0.2.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
Requires-Dist: numpy (>=1.16.0)
Requires-Dist: aioinflux
Requires-Dist: pandas
Requires-Dist: astropy
Requires-Dist: pyyaml
Provides-Extra: dev
Requires-Dist: documenteer[pipelines] (<0.6.0,>=0.5.6) ; extra == 'dev'

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

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

Authentication
--------------

Credentials for authenticating to available EFDs are held in a special file on disk.
By default, this location is `~/.lsst/notebook_auth.yaml`.
The file must exist and must have `600` permissions set.
To set the correct permissions execute the following command in a shell:

.. code:: bash

  chmod 600 ~/.lsst/notebook_auth.yaml

The format of the file is a YAML dictionary of valid EFD names.
Each EFD entry should contain the username, password, and host for the EFD.
Currently, my file looks like this:

.. code-block:: yaml

  lab_efd:
    username: <user>
    password: <passwd>
    host: "test-influxdb-efd.lsst.codes"
  summit_efd:
    username: <user>
    password: <passwd>
    host: "influxdb-summit-efd.lsst.codes"

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.


