A light curve collection server framework.
Project description
LCC-Server: A light curve collection server framework
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.
- 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
- HTTP API for detailed information per object, including light curve plots, external catalog info, and period-finding results plus phased LCs if available
Installation
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 https://github.com/waqasbhatti/lcc-server
$ 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. This is also available in the docs directory in this repository in Markdown format: lcc-server-setup.md.
- Documentation for how to use the server for searching LC collections is hosted at the HAT data server instance: https://data.hatsurveys.org/docs.
- The HTTP API is documented at: https://data.hatsurveys.org/docs/api.
- A standalone Python module API client is available in the astrobase repository: lccs.py.
These docs are automatically generated from the server-docs directory in this repository.
License
LCC-Server is provided under the MIT License. See the LICENSE file for the full text.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for lccserver-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b9e35739a0bb0ca8cf15ec2c75b41548e42358a31f17ed59d5084167bdf06b4 |
|
MD5 | 0139ecd046435265c05be24ee0e19ac7 |
|
BLAKE2b-256 | cf26184f4c3b2f5f072bfbe27f692aeae50fd0004faa92fd3d43368b3ae51dea |