From e60f971b7dbb8595f3336b68898f307cc4cc5402 Mon Sep 17 00:00:00 2001
From: Matthew Bourque
Date: Tue, 28 Apr 2020 11:41:04 -0400
Subject: [PATCH 001/227] Initial commit of test_bokeh_templating
---
jwql/tests/test_bokeh_templating.py | 33 +++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
create mode 100644 jwql/tests/test_bokeh_templating.py
diff --git a/jwql/tests/test_bokeh_templating.py b/jwql/tests/test_bokeh_templating.py
new file mode 100644
index 000000000..9988403d4
--- /dev/null
+++ b/jwql/tests/test_bokeh_templating.py
@@ -0,0 +1,33 @@
+#! /usr/bin/env python
+
+"""
+"""
+
+from jwql.bokeh_templating import BokehTemplate
+
+
+class TestTemplate(BokehTemplate):
+ """
+ """
+
+ def pre_init(self):
+ """
+ """
+
+ self.interface_file = 'test_interface.yaml' # Some basic plot(s)
+
+ def post_init(self):
+ """
+ """
+
+def test_bokeh_templating():
+ """
+ """
+
+ test_template = TestTemplate()
+
+ tabs = 'Some collection of plot(s)'
+ script, div = components(tabs)
+
+ assert script is script obj
+ assert div is div obj
\ No newline at end of file
From 2c8a244f6dcf8ea3bf1ba9432d25435822c70e6f Mon Sep 17 00:00:00 2001
From: Bryan Hilbert
Date: Fri, 24 Jul 2020 13:48:38 -0400
Subject: [PATCH 002/227] Add tests
---
jwql/tests/test_badpix_monitor.py | 216 ++++++++++++++++++++++++++++++
1 file changed, 216 insertions(+)
create mode 100644 jwql/tests/test_badpix_monitor.py
diff --git a/jwql/tests/test_badpix_monitor.py b/jwql/tests/test_badpix_monitor.py
new file mode 100644
index 000000000..d2e3d388d
--- /dev/null
+++ b/jwql/tests/test_badpix_monitor.py
@@ -0,0 +1,216 @@
+#! /usr/bin/env python
+
+"""Tests for the bad pixel monitor module.
+
+Authors
+-------
+
+ - Bryan Hilbert
+
+Use
+---
+
+ These tests can be run via the command line (omit the ``-s`` to
+ suppress verbose output to stdout):
+ ::
+
+ pytest -s test_badpix_monitor.py
+"""
+
+import numpy as np
+import os
+import pytest
+
+from jwst.datamodels import dqflags
+
+from jwql.database.database_interface import NIRCamBadPixelQueryHistory, NIRCamBadPixelStats
+from jwql.database.database_interface import NIRISSBadPixelQueryHistory, NIRISSBadPixelStats
+from jwql.database.database_interface import MIRIBadPixelQueryHistory, MIRIBadPixelStats
+from jwql.database.database_interface import NIRSpecBadPixelQueryHistory, NIRSpecBadPixelStats
+from jwql.database.database_interface import FGSBadPixelQueryHistory, FGSBadPixelStats
+from jwql.instrument_monitors.common_monitors import bad_pixel_monitor
+
+
+ON_JENKINS = '/home/jenkins' in os.path.expanduser('~')
+
+
+def test_bad_map_to_list():
+ """Check that bad pixel locations are correctly retrieved from an image
+ """
+ # Create empty DQ image
+ image = np.zeros((7, 7), dtype=np.uint16)
+
+ # Set bad pixel locations
+ do_not_use = ([0, 2, 4, 6], [0, 2, 4, 6])
+ hot = ([0, 1, 3, 5], [0, 2, 4, 6])
+ rc = ([0, 2, 4, 6], [0, 1, 3, 5])
+
+ # Populate with bad pixels
+ image[do_not_use] = dqflags.pixel['DO_NOT_USE']
+ image[hot] += dqflags.pixel['HOT']
+ image[rc] += dqflags.pixel['RC']
+
+ # Call the bad pixel monitor
+ x_do_not_use, y_do_not_use = bad_pixel_monitor.bad_map_to_list(image, 'DO_NOT_USE')
+ x_hot, y_hot = bad_pixel_monitor.bad_map_to_list(image, 'HOT')
+ x_rc, y_rc = bad_pixel_monitor.bad_map_to_list(image, 'RC')
+
+ # Test
+ assert do_not_use == (y_do_not_use, x_do_not_use)
+ assert hot == (y_hot, x_hot)
+ assert rc == (y_rc, x_rc)
+
+
+def test_check_for_sufficient_files():
+ """Be sure that the file threshold values are being used correctly
+ """
+ input_files = ['file1.fits', 'file2.fits', 'file1.fits', 'file3.fits', 'file1.fits']
+ instrument = 'nircam'
+ aperture = 'NRCA1_FULL'
+ threshold = 2
+ file_type = 'darks'
+
+ files, to_run = bad_pixel_monitor.check_for_sufficient_files(input_files, instrument, aperture, threshold, file_type)
+ assert files == ['file1.fits', 'file2.fits', 'file3.fits']
+ assert to_run is True
+
+ threshold = 4
+ files, to_run = bad_pixel_monitor.check_for_sufficient_files(input_files, instrument, aperture, threshold, file_type)
+ assert files is None
+ assert to_run is False
+
+
+def test_exclude_crds_mask_pix():
+ """Test that bad pixel images are differentiated correctly
+ """
+ common_bad = ([0, 1, 2, 3, 4], [0, 1, 2, 3, 4])
+ bad1_only = ([0, 1, 3, 4], [4, 3, 1, 0])
+ bad2_only = ([3, 3, 3, 3], [0, 1, 2, 4])
+
+ bad1 = np.zeros((5, 5), dtype=np.uint8)
+ bad1[common_bad] = 1
+ bad1[bad1_only] = 2
+
+ bad2 = np.zeros((5, 5), dtype=np.uint8)
+ bad2[common_bad] = 1
+ bad2[bad2_only] = 4
+
+ # Create a mask to help with indexing
+ mask = np.zeros(bad1.shape, dtype=bool)
+ mask[bad1_only] = True
+
+ diff = bad_pixel_monitor.exclude_crds_mask_pix(bad1, bad2)
+ assert np.all(diff[mask] == 2)
+ assert np.all(diff[~mask] == 0)
+
+ # Test the reverse case
+ mask = np.zeros(bad2.shape, dtype=bool)
+ mask[bad2_only] = True
+
+ diff = bad_pixel_monitor.exclude_crds_mask_pix(bad2, bad1)
+ assert np.all(diff[mask] == 4)
+ assert np.all(diff[~mask] == 0)
+
+
+@pytest.mark.skipif(ON_JENKINS,
+ reason='Requires access to central storage.')
+def test_locate_rate_files():
+ """Test that rate files are found in filesystem"""
+
+ uncal_files = ['jw00300002001_02102_00001_mirimage_uncal.fits', 'jw00300002001_0210a_00001_mirimage_uncal.fits']
+ ratefiles, ratefiles2copy = bad_pixel_monitor.locate_rate_files(uncal_files)
+
+ rates = [os.path.basename(entry) for entry in ratefiles]
+ rates2copy = [os.path.basename(entry) for entry in ratefiles2copy]
+
+ expected = ['jw00300002001_02102_00001_mirimage_rateints.fits', 'jw00300002001_0210a_00001_mirimage_rateints.fits']
+ assert rates == expected
+ assert rates2copy == expected
+
+
+@pytest.mark.skipif(ON_JENKINS,
+ reason='Requires access to central storage.')
+def test_locate_uncal_files():
+ """Test the filesystem search for uncal files
+ """
+ file1 = 'jw00300002001_02102_00001_mirimage_rate.fits'
+ file2 = 'jw00300010001_02102_00001_mirifushort_uncal.fits'
+ query_results = [{'filename': file1},
+ {'filename': file2}]
+
+ found = bad_pixel_monitor.locate_uncal_files(query_results)
+
+ found_base = [os.path.basename(entry) for entry in found]
+ assert found_base[0] == file1.replace('rate', 'uncal')
+ assert found_base[1] == file2
+
+
+def test_filter_query_results():
+ """Test MAST query filtering to extract most common filter/pupil and
+ acceptable readout patterns
+ """
+ badpix = bad_pixel_monitor.BadPixels()
+ badpix.instrument = 'nircam'
+
+ dict1 = {'filter': 'F070W', 'pupil': 'CLEAR', 'readpatt': 'RAPID'}
+ dict2 = {'filter': 'F090W', 'pupil': 'CLEAR', 'readpatt': 'BRIGHT1'}
+ dict3 = {'filter': 'F070W', 'pupil': 'CLEAR', 'readpatt': 'BRIGHT1'}
+ query_results = [dict1, dict2, dict1, dict1, dict3, dict1]
+
+ filtered = badpix.filter_query_results(query_results, 'flat')
+
+ assert filtered == [dict1, dict1, dict1, dict1]
+
+ # NIRSpec
+ badpix.instrument = 'nirspec'
+
+ dict1 = {'filter': 'F070W', 'grating': 'CLEAR', 'readpatt': 'NRSRAPID'}
+ dict2 = {'filter': 'F070W', 'grating': 'CLEAR', 'readpatt': 'NRSIRS2'}
+ dict3 = {'filter': 'F070W', 'grating': 'CLEAR', 'readpatt': 'NRSRAPID'}
+ query_results = [dict1, dict2, dict1, dict1, dict3, dict1]
+
+ filtered = badpix.filter_query_results(query_results, 'flat')
+
+ assert filtered == [dict1, dict1, dict1, dict3, dict1]
+
+
+nrc_list = ['NRCA1_FULL', 'NRCB1_FULL', 'NRCA2_FULL', 'NRCB2_FULL', 'NRCA3_FULL', 'NRCB3_FULL',
+ 'NRCA4_FULL', 'NRCB4_FULL', 'NRCA5_FULL', 'NRCB5_FULL']
+nis_list = ['NIS_CEN']
+nrs_list = ['NRS1_FULL', 'NRS2_FULL']
+miri_list = [('MIRIMAGE', 'MIRIM_FULL'), ('MIRIFULONG', 'MIRIM_FULL'), ('MIRIFUSHORT', 'MIRIM_FULL')]
+fgs_list = ['FGS1_FULL', 'FGS2_FULL']
+
+
+@pytest.mark.parametrize("instrument,expected_list", [("nircam", nrc_list), ("niriss", nis_list),
+ ("nirspec", nrs_list), ("miri", miri_list), ("fgs", fgs_list)])
+def test_get_possible_apertures(instrument, expected_list):
+ """Make sure the correct apertures are returned for the given instrument
+ """
+ badpix = bad_pixel_monitor.BadPixels()
+ badpix.instrument = instrument
+ ap_list = badpix.get_possible_apertures()
+ assert ap_list == expected_list
+
+
+def test_identify_tables():
+ """Be sure the correct database tables are identified
+ """
+ badpix = bad_pixel_monitor.BadPixels()
+ badpix.instrument = 'nircam'
+ badpix.identify_tables()
+ assert badpix.query_table == eval('NIRCamBadPixelQueryHistory')
+ assert badpix.pixel_table == eval('NIRCamBadPixelStats')
+
+
+def test_make_crds_parameter_dict():
+ """Test that the dictionary to be used for CRDS queries is properly
+ created
+ """
+ badpix = bad_pixel_monitor.BadPixels()
+ badpix.instrument = 'nircam'
+ badpix.detector = 'nrcalong'
+ params = badpix.make_crds_parameter_dict()
+ assert params['INSTRUME'] == 'NIRCAM'
+ assert params['DETECTOR'] == 'NRCALONG'
+ assert params['CHANNEL'] == 'LONG'
From 72924705077d3b90109f216ec0193198f8e57b9e Mon Sep 17 00:00:00 2001
From: Bryan Hilbert
Date: Fri, 24 Jul 2020 16:23:50 -0400
Subject: [PATCH 003/227] Add newly-created apertures from pysiaf 0.9.0
---
.../dark_monitor_file_thresholds.txt | 20 ++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/jwql/instrument_monitors/common_monitors/dark_monitor_file_thresholds.txt b/jwql/instrument_monitors/common_monitors/dark_monitor_file_thresholds.txt
index ddb83e174..d423bbbdb 100644
--- a/jwql/instrument_monitors/common_monitors/dark_monitor_file_thresholds.txt
+++ b/jwql/instrument_monitors/common_monitors/dark_monitor_file_thresholds.txt
@@ -79,6 +79,7 @@ nircam NRCA3_GRISMTS256 30
nircam NRCA3_GRISMTS128 30
nircam NRCA3_GRISMTS64 30
nircam NRCA5_TAGRISMTS32 30
+nircam NRCA5_TAGRISMTS32_F405N 30
nircam NRCA5_TAGRISMTS_SCI_F322W2 30
nircam NRCA5_TAGRISMTS_SCI_F444W 30
nircam NRCA3_DHSPIL 30
@@ -188,6 +189,22 @@ nircam NRCA5_FULL_MASKLWB_F430M 10
nircam NRCA5_FULL_MASKLWB_F460M 10
nircam NRCA5_FULL_MASKLWB_F480M 10
nircam NRCA5_FULL_MASKLWB_F444W 10
+nircam NRCA2_FULL_WEDGE_RND 10
+nircam NRCA4_FULL_WEDGE_BAR 10
+nircam NRCA5_FULL_WEDGE_RND 10
+nircam NRCA5_FULL_WEDGE_BAR 10
+nircam NRCA2_FULL_TAMASK210R 10
+nircam NRCA5_FULL_TAMASK335R 10
+nircam NRCA5_FULL_TAMASK430R 10
+nircam NRCA4_FULL_TAMASKSWB 10
+nircam NRCA5_FULL_TAMASKLWB 10
+nircam NRCA5_FULL_TAMASKLWBL 10
+nircam NRCA4_FULL_TAMASKSWBS 10
+nircam NRCA2_FULL_FSTAMASK210R 10
+nircam NRCA4_FULL_FSTAMASKSWB 10
+nircam NRCA5_FULL_FSTAMASKLWB 10
+nircam NRCA5_FULL_FSTAMASK335R 10
+nircam NRCA5_FULL_FSTAMASK430R 10
niriss NIS_CEN_OSS 10
niriss NIS_CEN 10
niriss NIS_AMI1 30
@@ -220,6 +237,7 @@ niriss NIS_FP4MIMF 30
niriss NIS_FP5MIMF 30
niriss NIS_AMIFULL 10
niriss NIS_SOSSFULL 10
+niriss NIS_WFSS 10
miri MIRIM_FULL_OSS 10
miri MIRIM_FULL 10
miri MIRIM_ILLUM 30
@@ -603,4 +621,4 @@ fgs FGS2_FP1MIMF 30
fgs FGS2_FP2MIMF 30
fgs FGS2_FP3MIMF 30
fgs FGS2_FP4MIMF 30
-fgs FGS2_FP5MIMF 30
+fgs FGS2_FP5MIMF 30
\ No newline at end of file
From 7d10f9d89019474bf7481d7e957f8f21ffd49e00 Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Fri, 24 Jul 2020 15:30:08 -0700
Subject: [PATCH 004/227] Added Bias Monitor, Bad Pixel Monitor, and Readnoise
Monitor
---
docs/source/common_monitors.rst | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/docs/source/common_monitors.rst b/docs/source/common_monitors.rst
index 21d98a7d7..bd5ec2fbb 100644
--- a/docs/source/common_monitors.rst
+++ b/docs/source/common_monitors.rst
@@ -5,5 +5,23 @@ common_monitors
dark_monitor.py
---------------
.. automodule:: jwql.instrument_monitors.common_monitors.dark_monitor
+ :members:
+ :undoc-members:
+
+bias_monitor.py
+---------------
+.. automodule:: jwql.instrument_monitors.common_monitors.bias_monitor
+ :members:
+ :undoc-members:
+
+bad_pixel_monitor.py
+---------------
+.. automodule:: jwql.instrument_monitors.common_monitors.bad_pixel_monitor
+ :members:
+ :undoc-members:
+
+readnoise_monitor.py
+---------------
+.. automodule:: jwql.instrument_monitors.common_monitors.readnoise_monitor
:members:
:undoc-members:
\ No newline at end of file
From a3f204b49e17de2e34d1d5f72ee33c49691f883c Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Fri, 24 Jul 2020 15:33:11 -0700
Subject: [PATCH 005/227] Added sphinx docs for Bias Monitor, Bad Pixel
Monitor, and Readnoise Monitor
---
docs/source/common_monitors.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/source/common_monitors.rst b/docs/source/common_monitors.rst
index bd5ec2fbb..9d0253d6e 100644
--- a/docs/source/common_monitors.rst
+++ b/docs/source/common_monitors.rst
@@ -15,13 +15,13 @@ bias_monitor.py
:undoc-members:
bad_pixel_monitor.py
----------------
+--------------------
.. automodule:: jwql.instrument_monitors.common_monitors.bad_pixel_monitor
:members:
:undoc-members:
readnoise_monitor.py
----------------
+--------------------
.. automodule:: jwql.instrument_monitors.common_monitors.readnoise_monitor
:members:
:undoc-members:
\ No newline at end of file
From 84cc16ab691b0383b381298fafa649ec306e549a Mon Sep 17 00:00:00 2001
From: Bryan Hilbert
Date: Fri, 24 Jul 2020 23:02:29 -0400
Subject: [PATCH 006/227] Functional env file for 3.7
---
environment_python_3_7.yml | 40 ++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 environment_python_3_7.yml
diff --git a/environment_python_3_7.yml b/environment_python_3_7.yml
new file mode 100644
index 000000000..22c2dc24e
--- /dev/null
+++ b/environment_python_3_7.yml
@@ -0,0 +1,40 @@
+channels:
+- defaults
+- http://ssb.stsci.edu/astroconda
+dependencies:
+- astroquery=0.4
+- bokeh>=1.0,<1.4
+- django=3.0.3
+- flake8=3.8.3
+- inflection=0.3.1
+- ipython=7.16.1
+- jinja2=2.11.2
+- jsonschema=3.2.0
+- matplotlib=3.2.2
+- nodejs=10.13.0
+- numpy=1.18.5
+- numpydoc=1.1.0
+- pandas=1.0.5
+- pip=20.1.1
+- postgresql=12.2
+- psycopg2=2.8.5
+- pysiaf=0.9.0
+- python=3.7.8
+- pytest=5.4.3
+- pytest-cov=2.10.0
+- scipy=1.5.0
+- setuptools=49.2.0
+- sphinx=3.1.2
+- sqlalchemy=1.3.18
+- twine=2.0.0
+- pip:
+ - asdf==2.7.0
+ - astropy==4.0.1.post1
+ - authlib==0.14.3
+ - codecov==2.1.8
+ - crds==7.5.0.0
+ - jwedb==0.0.6
+ - pysqlite3==0.4.3
+ - stsci_rtd_theme==0.0.2
+ - git+https://github.com/spacetelescope/jwst@0.16.2
+ - git+https://github.com/spacetelescope/jwst_reffiles
From 803a4d7b176e20acc9d436125e4ac4bf1ffa795f Mon Sep 17 00:00:00 2001
From: Bryan Hilbert
Date: Sat, 25 Jul 2020 09:25:18 -0400
Subject: [PATCH 007/227] Add python 3.7 to testing matrix
---
Jenkinsfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Jenkinsfile b/Jenkinsfile
index 6b86ed368..7fc95a95d 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -27,7 +27,7 @@ if (utils.scm_checkout()) return
// Establish OS and Python version variables for the matrix
matrix_os = ["linux-stable"] // (Note that Jenkins can only be run with Linux, not MacOSX/Windows)
-matrix_python = ["3.6"]
+matrix_python = ["3.6", "3.7"]
// Set up the matrix of builds
matrix = []
From 011a791fc4a4cc50b5368dedb1490ee3c29acd4b Mon Sep 17 00:00:00 2001
From: Bryan Hilbert
Date: Mon, 27 Jul 2020 11:32:25 -0400
Subject: [PATCH 008/227] Back down to python version 3.7.7
---
environment_python_3_7.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/environment_python_3_7.yml b/environment_python_3_7.yml
index 22c2dc24e..3d6196634 100644
--- a/environment_python_3_7.yml
+++ b/environment_python_3_7.yml
@@ -19,7 +19,7 @@ dependencies:
- postgresql=12.2
- psycopg2=2.8.5
- pysiaf=0.9.0
-- python=3.7.8
+- python=3.7.7
- pytest=5.4.3
- pytest-cov=2.10.0
- scipy=1.5.0
From 5470c8501e781fbaf45df1886cf91f2289fc57b0 Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Tue, 28 Jul 2020 09:31:29 -0700
Subject: [PATCH 009/227] Added bias, readnoise, bad pixel monitor docs
---
docs/source/common_monitors.rst | 18 ++++++++++++++++++
jwql/jwql_monitors/monitor_filesystem.py | 1 -
jwql/website/apps/jwql/api_views.py | 2 +-
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/docs/source/common_monitors.rst b/docs/source/common_monitors.rst
index 21d98a7d7..a667a7fc6 100644
--- a/docs/source/common_monitors.rst
+++ b/docs/source/common_monitors.rst
@@ -5,5 +5,23 @@ common_monitors
dark_monitor.py
---------------
.. automodule:: jwql.instrument_monitors.common_monitors.dark_monitor
+ :members:
+ :undoc-members:
+
+bias_monitor.py
+---------------
+.. automodule:: jwql.instrument_monitors.common_monitors.bias_monitor
+ :members:
+ :undoc-members:
+
+readnoise_monitor.py
+--------------------
+.. automodule:: jwql.instrument_monitors.common_monitors.readnoise_monitor
+ :members:
+ :undoc-members:
+
+bad_pixel_monitor.py
+--------------------
+.. automodule:: jwql.instrument_monitors.common_monitors.bad_pixel_monitor
:members:
:undoc-members:
\ No newline at end of file
diff --git a/jwql/jwql_monitors/monitor_filesystem.py b/jwql/jwql_monitors/monitor_filesystem.py
index e394c5f70..83b27db19 100755
--- a/jwql/jwql_monitors/monitor_filesystem.py
+++ b/jwql/jwql_monitors/monitor_filesystem.py
@@ -16,7 +16,6 @@
---
This module is intended to be executed from the command line:
-
::
python monitor_filesystem.py
diff --git a/jwql/website/apps/jwql/api_views.py b/jwql/website/apps/jwql/api_views.py
index b74b74129..404263f74 100644
--- a/jwql/website/apps/jwql/api_views.py
+++ b/jwql/website/apps/jwql/api_views.py
@@ -37,7 +37,7 @@
from django.urls import path
from . import api_views
urlpatterns = [path('web/path/to/view/',
- api_views.view_name, name='view_name')]
+ api_views.view_name, name='view_name')]
References
----------
From 24b20535703426e231abaf13dd84b6a765dfde4a Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Tue, 28 Jul 2020 09:34:48 -0700
Subject: [PATCH 010/227] Added bias, readnoise, bad pixel monitor docs
---
docs/source/common_monitors.rst | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/docs/source/common_monitors.rst b/docs/source/common_monitors.rst
index 9d0253d6e..b67bb5d2e 100644
--- a/docs/source/common_monitors.rst
+++ b/docs/source/common_monitors.rst
@@ -2,9 +2,9 @@
common_monitors
***************
-dark_monitor.py
----------------
-.. automodule:: jwql.instrument_monitors.common_monitors.dark_monitor
+bad_pixel_monitor.py
+--------------------
+.. automodule:: jwql.instrument_monitors.common_monitors.bad_pixel_monitor
:members:
:undoc-members:
@@ -14,9 +14,9 @@ bias_monitor.py
:members:
:undoc-members:
-bad_pixel_monitor.py
---------------------
-.. automodule:: jwql.instrument_monitors.common_monitors.bad_pixel_monitor
+dark_monitor.py
+---------------
+.. automodule:: jwql.instrument_monitors.common_monitors.dark_monitor
:members:
:undoc-members:
From e07af3359602153675d0966298137b7070b0d968 Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Thu, 30 Jul 2020 12:59:13 -0700
Subject: [PATCH 011/227] testing removal of jwst_reffiles from
requirements.txt for read the docs build
---
requirements.txt | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/requirements.txt b/requirements.txt
index 92cd248a3..0710ddd25 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -26,5 +26,4 @@ sphinx==3.0.4
sqlalchemy==1.3.17
stsci_rtd_theme==0.0.2
twine==3.1.1
-git+https://github.com/spacetelescope/jwst@stable
-git+https://github.com/spacetelescope/jwst_reffiles
+git+https://github.com/spacetelescope/jwst@stable
\ No newline at end of file
From 1caf339cf6070cb7fe55fb9f27312e8cc22a3aa6 Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Thu, 30 Jul 2020 13:10:36 -0700
Subject: [PATCH 012/227] testing removal of nodejs from requirements.txt for
read the docs build
---
requirements.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/requirements.txt b/requirements.txt
index 0710ddd25..27a0e1f39 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13,7 +13,6 @@ jinja2==2.11.2
jsonschema==3.2.0
jwedb>=0.0.3
matplotlib==3.2.1
-nodejs==10.13.0
numpy==1.18.4
numpydoc==1.0.0
pandas==1.0.4
@@ -26,4 +25,5 @@ sphinx==3.0.4
sqlalchemy==1.3.17
stsci_rtd_theme==0.0.2
twine==3.1.1
-git+https://github.com/spacetelescope/jwst@stable
\ No newline at end of file
+git+https://github.com/spacetelescope/jwst@stable
+git+https://github.com/spacetelescope/jwst_reffiles
\ No newline at end of file
From 8e0edb49eceacc3847ccf654ea647f03df1e03bd Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Thu, 30 Jul 2020 13:44:56 -0700
Subject: [PATCH 013/227] added pygments requirement
---
requirements.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/requirements.txt b/requirements.txt
index 27a0e1f39..1e8ce610c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -17,6 +17,7 @@ numpy==1.18.4
numpydoc==1.0.0
pandas==1.0.4
psycopg2==2.8.5
+pygments==2.5.1
pysiaf==0.7.1
pytest==5.4.2
pytest-cov==2.9.0
From 04c4413f35015940b1a7da3617332dbca7aa1d0c Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Thu, 30 Jul 2020 13:58:20 -0700
Subject: [PATCH 014/227] testing readthedocs
---
requirements.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 1e8ce610c..27a0e1f39 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -17,7 +17,6 @@ numpy==1.18.4
numpydoc==1.0.0
pandas==1.0.4
psycopg2==2.8.5
-pygments==2.5.1
pysiaf==0.7.1
pytest==5.4.2
pytest-cov==2.9.0
From 55b46d478223169a96755faa12ee9396c06c8fe1 Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Thu, 30 Jul 2020 14:01:04 -0700
Subject: [PATCH 015/227] updated requirements.txt
---
requirements.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/requirements.txt b/requirements.txt
index 27a0e1f39..4d2a7ca89 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -17,6 +17,7 @@ numpy==1.18.4
numpydoc==1.0.0
pandas==1.0.4
psycopg2==2.8.5
+pygments==2.5.1
pysiaf==0.7.1
pytest==5.4.2
pytest-cov==2.9.0
@@ -25,5 +26,4 @@ sphinx==3.0.4
sqlalchemy==1.3.17
stsci_rtd_theme==0.0.2
twine==3.1.1
-git+https://github.com/spacetelescope/jwst@stable
-git+https://github.com/spacetelescope/jwst_reffiles
\ No newline at end of file
+git+https://github.com/spacetelescope/jwst@stable
\ No newline at end of file
From a7e91669254591f0ec558d392d278c30ca6f93e0 Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Thu, 30 Jul 2020 14:37:36 -0700
Subject: [PATCH 016/227] took out pygments requirement
---
requirements.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/requirements.txt b/requirements.txt
index 4d2a7ca89..27a0e1f39 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -17,7 +17,6 @@ numpy==1.18.4
numpydoc==1.0.0
pandas==1.0.4
psycopg2==2.8.5
-pygments==2.5.1
pysiaf==0.7.1
pytest==5.4.2
pytest-cov==2.9.0
@@ -26,4 +25,5 @@ sphinx==3.0.4
sqlalchemy==1.3.17
stsci_rtd_theme==0.0.2
twine==3.1.1
-git+https://github.com/spacetelescope/jwst@stable
\ No newline at end of file
+git+https://github.com/spacetelescope/jwst@stable
+git+https://github.com/spacetelescope/jwst_reffiles
\ No newline at end of file
From c10ae73dd3e75277cf186d17d5ea16bdc46867a5 Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Thu, 30 Jul 2020 14:48:10 -0700
Subject: [PATCH 017/227] testing requirements
---
requirements.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/requirements.txt b/requirements.txt
index 27a0e1f39..07f90010f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -16,6 +16,7 @@ matplotlib==3.2.1
numpy==1.18.4
numpydoc==1.0.0
pandas==1.0.4
+pysegments==2.5.1
psycopg2==2.8.5
pysiaf==0.7.1
pytest==5.4.2
From 41d7e63b8a950f6efc3ebf8e9a26a2f402c894ab Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Thu, 30 Jul 2020 14:55:55 -0700
Subject: [PATCH 018/227] adjusted requirements
---
requirements.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 07f90010f..27a0e1f39 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -16,7 +16,6 @@ matplotlib==3.2.1
numpy==1.18.4
numpydoc==1.0.0
pandas==1.0.4
-pysegments==2.5.1
psycopg2==2.8.5
pysiaf==0.7.1
pytest==5.4.2
From ee6b1abd1e2734661e913ddfe9eaeacdccda9c51 Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:04 -0400
Subject: [PATCH 019/227] Update asdf from 2.6.0 to 2.7.0
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 92cd248a3..117dde5f0 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
-asdf==2.6.0
+asdf==2.7.0
astropy==4.0.1.post1
astroquery==0.4
authlib==0.14.3
From 02eb1c8fdf96a7ac152022c8eae84d9fae4f162d Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:05 -0400
Subject: [PATCH 020/227] Update astroquery from 0.4 to 0.4.1
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 117dde5f0..d621e9010 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,6 +1,6 @@
asdf==2.7.0
astropy==4.0.1.post1
-astroquery==0.4
+astroquery==0.4.1
authlib==0.14.3
bokeh==1.3.4
codecov==2.1.3
From 0d9d8fbce3ffbf9544110c4eaabb0bed062b6709 Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:06 -0400
Subject: [PATCH 021/227] Update bokeh from 1.3.4 to 2.1.1
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index d621e9010..1af3008ea 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,7 +2,7 @@ asdf==2.7.0
astropy==4.0.1.post1
astroquery==0.4.1
authlib==0.14.3
-bokeh==1.3.4
+bokeh==2.1.1
codecov==2.1.3
crds==7.5.0.0
django==2.2.5
From b381ef1fa2b0ab2c736098d9a69c6e34c618e903 Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:07 -0400
Subject: [PATCH 022/227] Update codecov from 2.1.3 to 2.1.8
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 1af3008ea..53866f92b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,7 +3,7 @@ astropy==4.0.1.post1
astroquery==0.4.1
authlib==0.14.3
bokeh==2.1.1
-codecov==2.1.3
+codecov==2.1.8
crds==7.5.0.0
django==2.2.5
flake8==3.8.2
From 54bf4f193630c0c888b0ca1fd3ba2d2414720d0b Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:08 -0400
Subject: [PATCH 023/227] Update django from 2.2.5 to 3.0.8
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 53866f92b..5df3b4668 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,7 +5,7 @@ authlib==0.14.3
bokeh==2.1.1
codecov==2.1.8
crds==7.5.0.0
-django==2.2.5
+django==3.0.8
flake8==3.8.2
inflection==0.4.0
ipython==7.15.0
From 46f92f10b13a8024916c1c9dfec7204759e12ee4 Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:09 -0400
Subject: [PATCH 024/227] Update flake8 from 3.8.2 to 3.8.3
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 5df3b4668..53db95244 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,7 +6,7 @@ bokeh==2.1.1
codecov==2.1.8
crds==7.5.0.0
django==3.0.8
-flake8==3.8.2
+flake8==3.8.3
inflection==0.4.0
ipython==7.15.0
jinja2==2.11.2
From da11007fd9d2935219278f71c9edadf3bd84d7d8 Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:10 -0400
Subject: [PATCH 025/227] Update inflection from 0.4.0 to 0.5.0
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 53db95244..3dde0c85c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,7 +7,7 @@ codecov==2.1.8
crds==7.5.0.0
django==3.0.8
flake8==3.8.3
-inflection==0.4.0
+inflection==0.5.0
ipython==7.15.0
jinja2==2.11.2
jsonschema==3.2.0
From 896e7af4659209ddf485c6a54cc820bfee662b0a Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:10 -0400
Subject: [PATCH 026/227] Update ipython from 7.15.0 to 7.17.0
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 3dde0c85c..b6d8396c2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,7 +8,7 @@ crds==7.5.0.0
django==3.0.8
flake8==3.8.3
inflection==0.5.0
-ipython==7.15.0
+ipython==7.17.0
jinja2==2.11.2
jsonschema==3.2.0
jwedb>=0.0.3
From b8d24265f770df9e2b3f95cc58be4baeac697e74 Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:11 -0400
Subject: [PATCH 027/227] Update matplotlib from 3.2.1 to 3.3.0
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index b6d8396c2..59cc829e5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -12,7 +12,7 @@ ipython==7.17.0
jinja2==2.11.2
jsonschema==3.2.0
jwedb>=0.0.3
-matplotlib==3.2.1
+matplotlib==3.3.0
nodejs==10.13.0
numpy==1.18.4
numpydoc==1.0.0
From 2801282807e3eee26846341e09158994f5ee077d Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:12 -0400
Subject: [PATCH 028/227] Update numpy from 1.18.4 to 1.19.1
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 59cc829e5..4764f4593 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -14,7 +14,7 @@ jsonschema==3.2.0
jwedb>=0.0.3
matplotlib==3.3.0
nodejs==10.13.0
-numpy==1.18.4
+numpy==1.19.1
numpydoc==1.0.0
pandas==1.0.4
psycopg2==2.8.5
From 027502cf43185022b46f546255cc64f81d9cc8cf Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:13 -0400
Subject: [PATCH 029/227] Update numpydoc from 1.0.0 to 1.1.0
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 4764f4593..334da8662 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -15,7 +15,7 @@ jwedb>=0.0.3
matplotlib==3.3.0
nodejs==10.13.0
numpy==1.19.1
-numpydoc==1.0.0
+numpydoc==1.1.0
pandas==1.0.4
psycopg2==2.8.5
pysiaf==0.7.1
From ec7811523beeff1a28c6898ccb0ee6fef2d2c587 Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:14 -0400
Subject: [PATCH 030/227] Update pandas from 1.0.4 to 1.1.0
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 334da8662..27f108e07 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -16,7 +16,7 @@ matplotlib==3.3.0
nodejs==10.13.0
numpy==1.19.1
numpydoc==1.1.0
-pandas==1.0.4
+pandas==1.1.0
psycopg2==2.8.5
pysiaf==0.7.1
pytest==5.4.2
From 25cb96213022a9b86bdce757f72ed89d941e31d8 Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:15 -0400
Subject: [PATCH 031/227] Update pysiaf from 0.7.1 to 0.9.0
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 27f108e07..ee9a020ae 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -18,7 +18,7 @@ numpy==1.19.1
numpydoc==1.1.0
pandas==1.1.0
psycopg2==2.8.5
-pysiaf==0.7.1
+pysiaf==0.9.0
pytest==5.4.2
pytest-cov==2.9.0
scipy==1.4.1
From a6ccf07eae5ccdf8d4fd3c53f00c5bc95989722b Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:16 -0400
Subject: [PATCH 032/227] Update pytest from 5.4.2 to 6.0.1
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index ee9a020ae..97c2e8fd6 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -19,7 +19,7 @@ numpydoc==1.1.0
pandas==1.1.0
psycopg2==2.8.5
pysiaf==0.9.0
-pytest==5.4.2
+pytest==6.0.1
pytest-cov==2.9.0
scipy==1.4.1
sphinx==3.0.4
From db61481f6f7548cdc32aef8e58212061e7051f05 Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:17 -0400
Subject: [PATCH 033/227] Update pytest-cov from 2.9.0 to 2.10.0
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 97c2e8fd6..910dfb3df 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -20,7 +20,7 @@ pandas==1.1.0
psycopg2==2.8.5
pysiaf==0.9.0
pytest==6.0.1
-pytest-cov==2.9.0
+pytest-cov==2.10.0
scipy==1.4.1
sphinx==3.0.4
sqlalchemy==1.3.17
From 5a6ce6143d7e7897604fa17bd7c8a84ae5f53959 Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:18 -0400
Subject: [PATCH 034/227] Update scipy from 1.4.1 to 1.5.2
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 910dfb3df..4eda1fd83 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -21,7 +21,7 @@ psycopg2==2.8.5
pysiaf==0.9.0
pytest==6.0.1
pytest-cov==2.10.0
-scipy==1.4.1
+scipy==1.5.2
sphinx==3.0.4
sqlalchemy==1.3.17
stsci_rtd_theme==0.0.2
From e1b790b6553c44a1d34807174ba23345f66f2c71 Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:19 -0400
Subject: [PATCH 035/227] Update sphinx from 3.0.4 to 3.1.2
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 4eda1fd83..d16764090 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -22,7 +22,7 @@ pysiaf==0.9.0
pytest==6.0.1
pytest-cov==2.10.0
scipy==1.5.2
-sphinx==3.0.4
+sphinx==3.1.2
sqlalchemy==1.3.17
stsci_rtd_theme==0.0.2
twine==3.1.1
From 0ac3f2537fb7de606c6a449a79a0cf1bd10c337a Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:19 -0400
Subject: [PATCH 036/227] Update sqlalchemy from 1.3.17 to 1.3.18
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index d16764090..1a0f9f487 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -23,7 +23,7 @@ pytest==6.0.1
pytest-cov==2.10.0
scipy==1.5.2
sphinx==3.1.2
-sqlalchemy==1.3.17
+sqlalchemy==1.3.18
stsci_rtd_theme==0.0.2
twine==3.1.1
git+https://github.com/spacetelescope/jwst@stable
From 957b89377a54269c263109f4d7ac8e2a656c12ae Mon Sep 17 00:00:00 2001
From: pyup-bot
Date: Sat, 1 Aug 2020 14:31:20 -0400
Subject: [PATCH 037/227] Update twine from 3.1.1 to 3.2.0
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 1a0f9f487..28c17835c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -25,6 +25,6 @@ scipy==1.5.2
sphinx==3.1.2
sqlalchemy==1.3.18
stsci_rtd_theme==0.0.2
-twine==3.1.1
+twine==3.2.0
git+https://github.com/spacetelescope/jwst@stable
git+https://github.com/spacetelescope/jwst_reffiles
From 50b275b7d47174de65e942da319226a75c45a214 Mon Sep 17 00:00:00 2001
From: Teagan King
Date: Wed, 5 Aug 2020 15:49:36 -0700
Subject: [PATCH 038/227] updates to readthedocs and sphinx documentation of
monitors
---
environment_python_3_6.yml | 2 +-
requirements.txt | 1 +
rtd_requirements.txt | 3 +++
setup.py | 2 +-
4 files changed, 6 insertions(+), 2 deletions(-)
create mode 100644 rtd_requirements.txt
diff --git a/environment_python_3_6.yml b/environment_python_3_6.yml
index 447e0e87f..5d2d19073 100644
--- a/environment_python_3_6.yml
+++ b/environment_python_3_6.yml
@@ -37,4 +37,4 @@ dependencies:
- pysqlite3==0.2.2
- stsci_rtd_theme==0.0.2
- git+https://github.com/spacetelescope/jwst@0.16.2
- - git+https://github.com/spacetelescope/jwst_reffiles
+ - git+https://github.com/spacetelescope/jwst_reffiles
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 27a0e1f39..ccc038d9a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13,6 +13,7 @@ jinja2==2.11.2
jsonschema==3.2.0
jwedb>=0.0.3
matplotlib==3.2.1
+nodejs==10.13.0
numpy==1.18.4
numpydoc==1.0.0
pandas==1.0.4
diff --git a/rtd_requirements.txt b/rtd_requirements.txt
new file mode 100644
index 000000000..00f5c6bf3
--- /dev/null
+++ b/rtd_requirements.txt
@@ -0,0 +1,3 @@
+pygments==2.5.1
+pytest==5.4.2
+git+https://github.com/spacetelescope/jwst@stable
\ No newline at end of file
diff --git a/setup.py b/setup.py
index 382030c3a..98a87412e 100644
--- a/setup.py
+++ b/setup.py
@@ -25,7 +25,7 @@
'inflection',
'ipython',
'jinja2',
- 'jsonschema==2.6.0',
+ 'jsonschema>=2.6.0',
'jwedb>=0.0.3',
'matplotlib',
'nodejs',
From 6d6cf79f3475a2ec370c8d987126dd2c91a46ba7 Mon Sep 17 00:00:00 2001
From: Mees Fix
Date: Thu, 6 Aug 2020 13:49:24 -0400
Subject: [PATCH 039/227] Adding start of API landing page.
---
jwql/website/apps/jwql/templates/base.html | 3 +++
jwql/website/apps/jwql/urls.py | 1 +
jwql/website/apps/jwql/views.py | 20 ++++++++++++++++++++
3 files changed, 24 insertions(+)
diff --git a/jwql/website/apps/jwql/templates/base.html b/jwql/website/apps/jwql/templates/base.html
index 592a59b72..b9bfd92ec 100644
--- a/jwql/website/apps/jwql/templates/base.html
+++ b/jwql/website/apps/jwql/templates/base.html
@@ -134,6 +134,9 @@
JWQLDB(current)
+
+
+ API(current)
Documentation(current)
diff --git a/jwql/website/apps/jwql/urls.py b/jwql/website/apps/jwql/urls.py
index 439d0c583..ef19ac736 100644
--- a/jwql/website/apps/jwql/urls.py
+++ b/jwql/website/apps/jwql/urls.py
@@ -73,6 +73,7 @@
# Main site views
path('about/', views.about, name='about'),
+ path('api/', views.api_landing, name='api'),
path('dashboard/', views.dashboard, name='dashboard'),
path('edb/', views.engineering_database, name='edb'),
path('query_anomaly/', views.query_anomaly, name='query_anomaly'),
diff --git a/jwql/website/apps/jwql/views.py b/jwql/website/apps/jwql/views.py
index bda007e2f..1ca2c66ad 100644
--- a/jwql/website/apps/jwql/views.py
+++ b/jwql/website/apps/jwql/views.py
@@ -176,6 +176,26 @@ def about(request):
return render(request, template, context)
+def api_landing(request):
+ """Generate the ``api`` page
+
+ Parameters
+ ----------
+ request : HttpRequest object
+ Incoming request from the webpage
+
+ Returns
+ -------
+ HttpResponse object
+ Outgoing response sent to the webpage
+ """
+
+ template = 'api_landing.html'
+ context = {'inst': ''}
+
+ return render(request, template, context)
+
+
@auth_required
def archived_proposals(request, user, inst):
"""Generate the page listing all archived proposals in the database
From a7f405915ffaf379ed2095f39a3365652c900676 Mon Sep 17 00:00:00 2001
From: Mees Fix
Date: Mon, 10 Aug 2020 16:25:21 -0400
Subject: [PATCH 040/227] Adding documentation, examples, and list of services
offered
---
.../apps/jwql/templates/api_landing.html | 152 ++++++++++++++++++
jwql/website/apps/jwql/templates/base.html | 6 +
2 files changed, 158 insertions(+)
create mode 100644 jwql/website/apps/jwql/templates/api_landing.html
diff --git a/jwql/website/apps/jwql/templates/api_landing.html b/jwql/website/apps/jwql/templates/api_landing.html
new file mode 100644
index 000000000..9a57b5e30
--- /dev/null
+++ b/jwql/website/apps/jwql/templates/api_landing.html
@@ -0,0 +1,152 @@
+{% extends "base.html" %}
+
+{% block preamble %}
+
+ API - JWQL
+
+{% endblock %}
+
+{% block content %}
+
+
+ Explore the JWQL API
+
+
+
+
+
+
+
What is the JWQL API?
+
+ JWQL allows users to access the data available through our programmatic Application Programming Interface (API). In short, an API
+ accepts requests for services from a system, gathers the items in the request, and returns a response to the user. A popular example used to describe the
+ functionality of an API is describing the role of a waiter in a restaurant. When you enter a restaurant and sit at your table, you are typically
+ provided a menu containing all of the drink and food options. But how do you communicate your food and drink order to
+ the kitchen staff? This is where the waiter (API) comes in, you provide the waiter with your order (request), they will communicate
+ your order to the kitchen staff (system), and bring your food and drinks when they are prepared (the response). The waiter (API) disguises
+ all of the steps that are necessary to getting your final product delivered (cooking the food, counting stock, knowing recipes, etc.) but, is the
+ link to the user and the response they wish to obtain from a system.
+
+
+
+
+
+
Examples
+
+ Here we showcase a few examples of a few of the APIs that we offer. To see a full list of supported APIs click here .
+
+
Obtaining Filenames Associated with a Rootname
+
+ A user is interested in all of the filenames associated with a specific JWST rootname.
+
+
+
+ from urllib import request
+ import json
+
+ # Build the URL https://dljwql.stsci.edu/api/roontname/service/
+ url = 'https://dljwql.stsci.edu/api/jw93025001001_02102_00001_nrca2/filenames/'
+ r = request.urlopen(url)
+ filenames = json.loads(r.read().decode())
+
+ print(filenames)
+
+ {'filenames': ['jw93025001001_02102_00001_nrca2_calints.fits',
+ 'jw93025001001_02102_00001_nrca2_rate.fits',
+ 'jw93025001001_02102_00001_nrca2_rateints.fits',
+ 'jw93025001001_02102_00001_nrca2_trapsfilled.fits',
+ 'jw93025001001_02102_00001_nrca2_uncal.fits']}
+
+
+
+
Obtaining Filenames Associated with Proposal
+
+ A user is interested in all of the thumbnail associated with the Fine Guider Sensors (FGS).
+
+
+
+ from urllib import request
+ import json
+
+ # Build the URL https://dljwql.stsci.edu/api/instrument/service/
+ url = 'https://dljwql.stsci.edu/api/fgs/thumbnails/'
+ r = request.urlopen(url)
+ thumbnails = json.loads(r.read().decode())
+
+ print(thumbnails)
+
+ {'thumbnails': ['jw97012001003_02101_00001_guider1_trapsfilled_integ2.thumb',
+ 'jw97012001001_02101_00001_guider1_rateints_integ1.thumb',
+ 'jw97012001002_02101_00001_guider1_trapsfilled_integ2.thumb',
+ 'jw97012001004_02101_00001_guider1_rateints_integ0.thumb',
+ 'jw97012001003_02101_00001_guider1_rateints_integ0.thumb',
+ 'jw97012001001_02101_00001_guider1_cal_integ0.thumb',
+ 'jw97012001001_02101_00001_guider1_rateints_integ0.thumb',
+ 'jw97012001004_02101_00001_guider1_rate_integ0.thumb',
+ 'jw97012001004_02101_00001_guider1_trapsfilled_integ0.thumb',
+ 'jw97012001001_02101_00001_guider1_trapsfilled_integ1.thumb',
+ 'jw97012001004_02101_00001_guider1_trapsfilled_integ1.thumb',
+ ...,
+ ...]}
+
+
+
+
Obtaining Filenames Associated with Proposal
+
+ A user is interested in all of the thumbnail associated with the Fine Guider Sensors (FGS).
+
+
+
+ from urllib import request
+ import json
+
+ # Build the URL https://dljwql.stsci.edu/api/proposal/service/
+ url = 'https://dljwql.stsci.edu/api/86600/filenames/'
+ r = request.urlopen(url)
+ filenames = json.loads(r.read().decode())
+
+ print(filenames)
+
+ {'filenames': ['jw86600001001_02101_00001_guider1_cal.fits',
+ 'jw86600001001_02101_00001_guider1_rate.fits',
+ 'jw86600001001_02101_00001_guider1_trapsfilled.fits',
+ 'jw86600001001_02101_00001_guider1_uncal.fits',
+ 'jw86600001001_02101_00002_guider1_cal.fits',
+ 'jw86600001001_02101_00002_guider1_rate.fits',
+ 'jw86600001001_02101_00002_guider1_trapsfilled.fits',
+ 'jw86600001001_02101_00002_guider1_uncal.fits',
+ 'jw86600001001_02101_00003_guider1_cal.fits',
+ 'jw86600001001_02101_00003_guider1_rate.fits',
+ 'jw86600001001_02101_00003_guider1_trapsfilled.fits',
+ 'jw86600001001_02101_00003_guider1_uncal.fits',
+ 'jw86600001001_02101_00004_guider1_cal.fits',
+ 'jw86600001001_02101_00004_guider1_rate.fits',
+ 'jw86600001001_02101_00004_guider1_trapsfilled.fits',
+ ...,
+ ...]}
+
+
+
+
+
+
List of Available Services
+
+ All Proposals
+ Instrument Proposals
+ Preview Images by Instrument
+ Thumbnails by Instrument
+ Filenames by Proposal
+ Preview Images by Proposal
+ Filenames by Rootname
+ Preview Images by Rootname
+ Thumbnails by Rootname
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/jwql/website/apps/jwql/templates/base.html b/jwql/website/apps/jwql/templates/base.html
index b9bfd92ec..823a1692e 100644
--- a/jwql/website/apps/jwql/templates/base.html
+++ b/jwql/website/apps/jwql/templates/base.html
@@ -229,5 +229,11 @@
+
+
+
+
+