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!
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.
To launch a demo instance of SkyPortal, first clone the source code from GitHub:
$ git clone --recurse-submodules email@example.com:skyportal/skyportal.git
then install the system dependencies. From the
skyportal directory, run
$ 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, navigate your browser to:
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.