The Light Curve Collection Server framework
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
lccserver datasets: guard against symlink operation exceptions Feb 23, 2019
.gitattributes adding versioneer Aug 21, 2018
.gitignore added initial bits Mar 8, 2018
LICENSE add MIT license for now Dec 13, 2017

LCC-Server: A light curve collection server framework

Build Status

This is a Python framework to serve collections of light curves. The code here forms the basis for the HAT data server.

At the moment, it includes the following functionality:

  • collection of light curves from various projects into a single output format

  • HTTP API for searching over multiple light curve collections by:

    • filtering on database columns of object properties, e.g. objectid, mag, variability type, variability indices, etc.
    • cone-search near specified coordinates
    • cross-matching to uploaded object list with objectid, ra, decl
    • full-text search on object names, descriptions, etc.

LCC server search interface

  • HTTP API for generating datasets from search results asychronously, caching results from searches, and generating output zip bundles containing search results and all matching light curves

LCC server results display

  • HTTP API for detailed information per object, including light curve plots, external catalog info, and period-finding results plus phased LCs if available

LCC server object info


NOTE: Python >= 3.6 is required. Use of a virtualenv is recommended; something like this will work well:

$ python3 -m venv lcc
$ source lcc/bin/activate

This package is available on PyPI. Install it with the virtualenv activated:

$ pip install numpy  # to set up Fortran bindings for dependencies
$ pip install lccserver  # add --pre to install unstable versions

To install the latest version from Github:

$ git clone
$ cd lcc-server
$ pip install -e .

If you're on Linux or MacOS, you can install the uvloop package to optionally speed up some of the eventloop bits:

$ pip install uvloop

Using the server

Some post-installation setup is required to begin serving light curves. In particular, you will need to set up a base directory where LCC-Server can work from and various sub-directories.

To make this process easier, there's an interactive CLI available when you install LCC-Server. This will be in your $PATH as lcc-server.

A Jupyter notebook walkthough using this CLI to stand up an LCC-Server instance, with example light curves, can be found in the astrobase-notebooks repo: lcc-server-setup.ipynb (Jupyter nbviewer link).

These docs are automatically generated from the server-docs directory in the git repository.


LCC-Server is provided under the MIT License. See the LICENSE file for the full text.