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 (Jupyter nbviewer link).
- 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 the git 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.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2db3051c0bb489897f52a5d1d33860d843554bd0b1de7b8c342b3781602c777c |
|
MD5 | a7112defa1ba03597a6a62b7adfec0f8 |
|
BLAKE2b-256 | 869fe2b893f57ccf5f594af0b5aadedb1e42d41be235e9944e9fb8327d8090cb |