Code Monkey home page Code Monkey logo

jwql's Introduction

The JWST Quicklook Application (JWQL)

Current Release PyPI - License Python Build Status Documentation Status STScI codecov

The JWST Quicklook Application (JWQL) is a database-driven web application and automation framework for use by the JWST instrument teams to monitor and trend the health, stability, and performance of the JWST instruments. The system is comprised of the following:

  1. A network file system that stores all uncalibrated and calibrated data products on disk in a centrally-located area, accessible to instrument team members (MAST data cache)
  2. A relational database that stores observational metadata allowing for data discovery via relational queries (MAST database API).
  3. A software library that provides tools to support an automation framework in which to build automated instrument monitoring routines.
  4. A web application that allows users to visually inspect new and archival JWST data as well as instrument-specific monitoring and performance results.

Official API documentation can be found on ReadTheDocs

The jwql application is currently under heavy development. The 1.0 release is expected in 2019. Currently, a development version of the web application can be found at https://dljwql.stsci.edu.

Installation for Users

To install jwql, simply use pip:

pip install jwql

The section below describes a more detailed installation for users that wish to contribute to the jwql repository.

Installation for Contributors

Getting jwql up and running on your own computer requires four steps, detailed below:

  1. Cloning the GitHub repository
  2. Installing the condaenvironment
  3. Installing the python package
  4. Setting up the configuration file

Prerequisites

It is highly suggested that contributors have a working installation of anaconda or miniconda for Python 3.6. Downloads and installation instructions are available here:

Requirements for contributing to the jwql package will be included in the jwql conda environment, which is included in our installation instructions below. Further package requirements will be provided for jwql by a setup.py script included in the repository.

Clone the jwql repo

You first need to clone the current version of jwql. The simplest way to do this is to go to the directory you want your copy of the repository to be in and clone the repository there. Once you are in the directory you can do the following:

git clone https://github.com/spacetelescope/jwql.git
cd jwql

or, if you would rather use SSH instead of https, type

git clone [email protected]:spacetelescope/jwql.git
cd jwql

instead, and then proceed as stated.

Environment Installation

Following the download of the jwql repository, contributors can then install the jwql conda environment via the environment yaml file, which contains all of the dependencies for the project. First, ensure that your version of conda is up to date:

conda update conda

Next, activate the base or root environment (depending on your version of conda):

source activate base/root

Lastly, create the jwql environment via the environment_python_3_6.yml file:

conda env create -f environment_python_3_6.yml --name jwql-3.6

Package Installation

Next, you need to install the jwql package under development mode. This can be accomplished either by running the setup.py script, or pip install with the -e option:

python setup.py develop

or

pip install -e .

The package should now appear if you run conda list jwql.

Configuration File

Much of the jwql software depends on the existence of a config.json file within the utils directory. This file contains data that may be unique to users and/or contain sensitive information. Please see the Config File wiki page for instructions on how to provide this file.

Software Contributions

There are two current pages to review before you begin contributing to the jwql development. The first is our style guide and the second is our suggested git workflow page, which contains an in-depth explanation of the workflow.

Contributors are also encouraged to check out the Checklist for Contributors Guide to ensure the pull request contains all of the necessary changes.

The following is a bare-bones example of a best work flow for contributing to the project:

  1. Create a fork off of the spacetelescope jwql repository.
  2. Make a local clone of your fork.
  3. Ensure your personal fork is pointing upstream properly.
  4. Create a branch on that personal fork.
  5. Make your software changes.
  6. Push that branch to your personal GitHub repository (i.e. origin).
  7. On the spacetelescope jwql repository, create a pull request that merges the branch into spacetelescope:develop.
  8. Assign a reviewer from the team for the pull request.
  9. Iterate with the reviewer over any needed changes until the reviewer accepts and merges your branch.
  10. Delete your local copy of your branch.

Issue Reporting / Feature Requests

Users who wish to report an issue or request a new feature may do so through the following channels:

  1. Submit a new issue on GitHub (preferred method): https://github.com/spacetelescope/jwql/issues
  2. Submit a new ticket on Jira: https://jira.stsci.edu/projects/JWQL/

Code of Conduct

Users and contributors to the jwql repository should adhere to the Code of Conduct. Any issues or violations pertaining to the Code of Conduct should be brought to the attention of a jwql team member or to [email protected].

Questions

Any questions about the jwql project or its software can be directed to [email protected].

Current Development Team

Past Development Team Members

Acknowledgments:

  • Faith Abney (DMD)
  • Joshua Alexander (DMD) @obviousrebel
  • Anastasia Alexov (DMD)
  • Sara Anderson (DMD)
  • Tracy Beck (INS)
  • Francesca Boffi (INS) @frboffi
  • Clara Brasseur (DMD) @ceb8
  • Matthew Burger (DMD)
  • Steven Crawford (DMD) @stscicrawford
  • James Davies (DMD) @jdavies-st
  • Rosa Diaz (INS) @rizeladiaz
  • Van Dixon (INS)
  • Tom Donaldson (DMD) @tomdonaldson
  • Kim DuPrie (DMD)
  • Jonathan Eisenhamer (DMD) @stscieisenhamer
  • Ann Feild (OPO)
  • Mike Fox (DSMO) @mfox22
  • Scott Friedman (INS)
  • Alex Fullerton (INS) @awfullerton
  • Lisa Gardner (DMD)
  • Vera Gibbs (ITSD)
  • Catherine Gosmeyer (INS) @cgosmeyer
  • Phil Grant (ITSD)
  • Dean Hines (INS)
  • Sherie Holfeltz (INS) @stholfeltz
  • Joe Hunkeler (DMD) @jhunkeler
  • Catherine Kaleida (DMD) @ckaleida
  • Jenn Kotler (DMD) @jenneh
  • Daniel Kühbacher (Goddard) @DanielKuebi
  • Mark Kyprianou (DMD) @mkyp
  • Karen Levay (DMD)
  • Crystal Mannfolk (SCOPE) @cmannfolk
  • Greg Masci (ITSD)
  • Jacob Matuskey (DMD) @jmatuskey
  • Margaret Meixner (INS)
  • Christain Mesh (DMD) @cam72cam
  • Prem Mishra (ITSD)
  • Don Mueller (ITSD)
  • Maria Antonia Nieto-Santisteban (SEITO)
  • Brian O'Sullivan (INS)
  • Joe Pollizzi (JWSTMO)
  • Lee Quick (DMD)
  • Anupinder Rai (ITSD)
  • Matt Rendina (DMD) @rendinam
  • Massimo Robberto (INS) @mrobberto
  • Mary Romelfanger (DMD)
  • Bernie Shiao (DMD)
  • Matthew Sienkiewicz (ITSD)
  • Arfon Smith (DSMO) @arfon
  • Linda Smith (INS)
  • Patrick Taylor (ITSD)
  • Dave Unger (ITSD)
  • Jeff Valenti (JWSTMO) @JeffValenti
  • Thomas Walker (ITSD)
  • Geoff Wallace (DMD)
  • Lara Wilkinson (OPO)
  • Alex Yermolaev (ITSD) @alexyermolaev
  • Joe Zahn (ITSD)

jwql's People

Contributors

bourque avatar pyup-bot avatar bhilbert4 avatar danielkuebi avatar hover2pi avatar catherine-martlin avatar saogaz avatar bsunnquist avatar laurenmarietta avatar tnking97 avatar johannes-sahlmann avatar cracraft avatar gkanarek avatar mfixstsci avatar rendinam avatar jeffvalenti avatar jason-neal avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.