SkyPortal

SkyPortal is a standalone, extensible, API-first web application that can be used to serve public and/or private astronomical data on infrastructure that you manage. Tired of managing observations of thousands of sources for you and your group in Google Docs? Got a new astronomical survey you’d like to serve to the public and don’t want build and maintain a website yourself? Want a place to manage requests for observations during an upcoming observing run? Sometimes work in a mobile/tablet environment? Then this project may be for you!

github license joss

SkyPortal

SkyPortal is a fully open-source portal to manage and collaborate on time-domain sources and events. On the backend, it has been designed to ingest and store millions of events per night from disparate discovery streams. The frontend allows searching by source properties, source-level summary pages, synchronous and asynchronous source-level communication, and group and user management.

By design SkyPortal makes use of hierarchical access control, frontend/backend abstractions with strong API contracts, elastic scaling, modern CI/CD practices, logging for auditability and traceability, and documentation meant to foster extensibility. It is built to run at the individual laptop level, in on-premise clusters, or in the cloud. The initial use cases were developed in close consultation with other time-domain practitioners and studying and using proprietary portals.

Quick Start

To launch a demo instance of SkyPortal, first clone the source code from GitHub:

$ git clone --recurse-submodules git@github.com:skyportal/skyportal.git

then install the system dependencies. If you haven’t already initialized the database, from the skyportal directory, run

$ make db_init

Then start the app with

$ make run

When the terminal shows Server at: http://localhost:5000, open another terminal, navigate to the skyportal directory, and run

$ make load_demo_data

to populate the database with sample data. To access the running, populated skyportal instance, log in as the admin user by navigating your browser to http://localhost:5000/become_user/1. Then navigate to the home page at http://localhost:5000.

User Guide

Contributing

SkyPortal is released under the BSD license. We encourage you to modify it, reuse it, and contribute changes back for the benefit of others. We follow standard open source development practices: changes are submitted as pull requests and, once they pass the test suite, reviewed by the team before inclusion. Please also see our contributing guide.

Acknowledgments

We thank the Gordon and Betty Moore Foundation for a Software SkyPortal grant, which partially covered the cost of the development of this project.

Moore Foundation Logo