- Added project citation information to
README
, along with a Zenodo badge - Added API Documentation for
bokeh
templating software
- Reorganized and made aesthetic improvements to instrument landing pages to be more user-friendly
- Enabled more dynamic search options and aesthetic improvements for anomaly query webpage
- Added web app view for displaying a particular table of the
jwqldb
database - Added webpage for displaying Bias Monitor results with
bokeh
plots
- Changed
utils.credentials.py
to always authenticate a MAST user with a user-identified token in theconfig.json
file, instead of using a cached token, which was sometimes causes errors - Updated software to support the latest versions of
django
andbokeh
- Removed
affected_tables
column ofmonitor
database table, as it stored redundant information - Updated the Readnoise Monitor to work for all JWST instruments
- Fixed bug in Readnoise Monitor webpage that was causing the web app and
jwql
database to hang
- Fixed bug that was causing the
test_amplifier_info()
test intest_instrument_properties.py
to fail; truth values were updated to reflect a change in the format of the returned dictionaries from theamplifier_info()
function - Fixed bug in
get_header_info()
that was causingtest_data_containers.py
to fail; the function expected the filename without the FITS extension, and the returned header info is in a dictionary (not a string) - Fixed bug in
test_utils.py
, and changedutils.py
to make it robust in matching upper and lowercase detector names - Updated
utils.instrument_properties
fix MIRI amplifier bounds calculation when omitting reference pixels
- Added API documentation for Bias, Bad Pixel, and Readnoise Monitors
- Added webpage that describes how to use the JWQL web app API
- Added webpage that enables a user to query the
jwqldb
database contents - Enabled more search options and aesthetic improvements for anomaly query webpage
- Added webpage for displaying Readnoise Monitor results with
bokeh
plots - Added webpage for displaying Bad Pixel Monitor results with
bokeh
plots
- Added support for Python versions 3.7 and 3.8
- Added unit tests for Readnoise Monitor
- Added unit tests for Bias Monitor
- Added unit tests for Bad Pixel Monitor
- Added unit tests for
bokeh
templating library
- Updated broken links to JWST instrument JDox pages
- Fixed various issues that was cuasing authentication through
auth.mast
to fail
- Fixed bug that was causing Dark Monitor to crash on recently added apertures from
pysiaf
- Fixed several bugs in
bokeh
templating library - Fixed bug that was causing unit tests for
permissions.py
to fail - Fixed bug that was causing
most_recent_search
function in Dark Monitor to fail
- The
jwql_web_app
PowerPoint presentation has been updated - The bokeh templating software now has full API documentation
- Updated
README
and About webpage to reflect changes to development team members
- Added webpage to view FITS headers of each extension for a given dataset
- Added webpage for displaying Dark Monitor results with
bokeh
plots - Added webpage for viewing contents of a given JWQL database table
- Added webpage for querying and displaying anomaly results
- Added slider bar for easily navigating through integrations in preview image display
- The list of anomalies one can flag in a preview image is now instrument specific
- The
jwql-3.6
conda environment now uses theastroconda
channel instead ofastroconda-dev
- Added Bias Monitor module, which currently monitors the bias levels for NIRCam
- Added Readnoise Monitor module, which monitors readnoise for all instruments except FGS
- Added Bad Pixel Monitor module, which tracks bad pixels for all instruments
- Cron job logs now include a print out of the complete
conda
environment being used
- Fixed broken link to
numpydoc
docstring convention in Style Guide
- Added slides from July 2019 TIPS presentation to
presentations/
directory
- Updated dark monitor to support all five JWST instruments, instead of only NIRCam
- Changed the
jwql-3.5
andjwql-3.6
conda environments to be more simple and to work on Linux distributions - Added library code for creating instrument monitoring
bokeh
plots with newbokeh
templating software
- Fixed various bugs that were causing the
sphinx
API documentation to crash on ReadTheDocs
- Updated
README
to include instructions on package installation viapip
.
- Updated all webpages to conform to Web Application Accessibility Guidelines.
- Upgraded to
django
version 2.2. bokeh
is now imported inbase
template so that the version being used is consistent across all HTML templates.
- The
jwql
package is now available on PyPI (https://pypi.org/project/jwql/) and installable viapip
. - Updated Jenkins configuration file to include in-line comments and descriptions.
- Added
utils
function to validate theconfig.json
file during import ofjwql
package. - Added support for monitoring contents of the
jwql
central storage area in the filesystem monitor.
- Fixed position error of JWQL version display in footer.
- Fixed spelling error in dark monitor database column names.
- Fixed dark monitor to avoid processing files that are not in the filesystem.
- Updated the notebook exemplifying how to perform an engineering database (EDB) telemetry query.
- Updated the README for the
style_guide
directory.
- Added form on preview image pages to allow users to submit image anomalies.
- Added buttons for users to download the results of EDB telemetry queries as CSV files.
- Enabled users to search for or navigate to program numbers without requiring leading zeros (i.e. "756" is now treated equivalently to "00756").
- Enabled authentication for EDB queries via the web login (rather than requiring authentication information to be present in the configuration file).
- Added custom 404 pages.
- Added adaptive redirect feature so that users are not sent back to the homepage after login.
- Added more descriptive errors if a user tries to run the web application without filling out the proper fields in the configuration file.
- Replaced all EDB interface code within
jwql
with the newjwedb
`package<https://github.com/spacetelescope/jwst-dms-edb>`_. - Fully incorporated Python 3.5 testing into the Jenkins test suite.
- Fixed bug in which dashboard page would throw an error.
- Fixed incorrect dashboard axis labels.
- Added guidelines to the style guide for logging the execution of instrument monitors
- Added example usage of logging in the
example.py
module
- Modified various web app views to enable faster loading times
- Modified archive and preview image views to only display data for an authenticated user
- Added views for MIRI and NIRSpec Data Trending Monitors, which monitors the behavior of select MIRI and NIRSpec Engineering Database mnemonics over time
- Added Dark Monitor module, which monitors the dark current and hot pixel populations for each JWST instrument
- Added software for producing MIRI and NIRSpec Data Trending Monitors (described above)
- Modified
generate_preview_images
module to support the creation of preview images for stage 3 data products - Refactored
monitor_filesystem
to utilize PostgreSQL database tables to store archive filesystem statistics - Configured
codecov
for the project. The project homepage can be found at https://codecov.io/gh/spacetelescope/jwql - Modified
logging_functions
module to enable dev, test, and production logging environments - Added convenience decorator to
logging_functions
module to time the execution of a function or method - Modified
monitor_cron_jobs
module to make use of updatedlogging_functions
- Fixed API views to only return the basenames of file paths, instead of full directory names
- Fixed
logging_functions
module to properly parse new format ofINSTALL_REQUIRES
dependency insetup.py
for logging system dependencies and their versions - Fixed
Jenkinsfile
to not allow for one failed unit test in Jenkins builds
- Added instructions in
README
that details how to supply the requiredconfig.json
configuration file - Updated installation instructions in
README
to be more comprehensive - Updated API docs for JavaScript functions in web app
- Added a webpage for interacting with the JWST Engineering Database (EDB), including searching for available mneumonics and plotting mneumonic time series data
- Added
context_processors
module that provides functions that define context inherent to all views - Added display of package version in footer
- Moved all JavaScript functions in HTML templates into the
jwql.js
module - Modified links to external webpages to open in new tab
- Added
__version__
package attribute - Updated
install_requires
insetup.py
to adhere to best practices - Added template branch and supporting documentation for how to contribute a new webpage in the
jwql
web application - Added custom error message if required
config.json
configuration file is missing - Updated
database_interface
module to dynamically create tables to store instrument monitoring data from user-supplied table definition files - Added Jupyter notebook that describes how to integrate
auth.mast
service in adjang`
web application - Updated
utils.filename_parser
function to handle stage 2C and guider filenames - Updated
utils.filename_parser
function to always provide aninstrument
key, as needed by several webpages within the web app - Added separate file suffix type lists in
constants.py
module - Added
reset_database
module that resets and rebuilds a database provided by theconnection_string
key in theconfig.json
configuration file - Added
pytest
results file in order to fix Jenkins CI builds
- Fixed navbar padding
- Fixed broken instrument logos on homepage
- Fixed
monitor_mast
module to actually be command-line executable
- Added a wiki page for how to do a software release
- Added a wiki page with a checklist for contributors and reviewers of pull requests
- Added a wiki page about how the web server is configured
- Defined specific variable value/type standards for JWST instruments and program/proposal identifiers in the Style Guide
- Added authentication to all pages using the
auth.mast
service provided by the Archive Services Branch - Implemented AJAX requests to load the
thumbnails.html
andarchive.html
pages - Used regular expressions to restrict URLs to specific patterns
- Added a loading widget while thumbnails compile
- Added interface with the JWST DMS engineering database:
utils.engineering_database
- Expanded
utils.filename_parser
to handle time series and DMS stage 3 file names - Consolidated important constants in new
utils.constants
module
- Updated permissions in
nginx
settings to fix bug where dashboard page would not display
This is the first release of the new release procedures of jwql
. The development team is now developing in release-driven sprints, so future releases will be less frequent, but with more changes
Changes since the 0.15.3
release include:
- Updated
bokeh
to version 1.0 - Updated
django
to fix security issues - Added
pandas
as a dependency
- Added a project description in the API docs
- Added web app API docs
- Made changes to the code to get it working on the web development server
- Added several REST API services
- Added API documentation button to the navbar and anded link to API documentation in the
about
page - Added instrument-specific documentation button to the instrument landing pages
- Replaced
monitor_mast
donut charts with bar charts - Removed dashboard and database query buttons from homepage
- Added form to homepage that allows user to view preview images for a given rootname or proposal number
- Changed URL patters to allow for separation between nominal web app and REST API service
- Added
monitor_cron_jobs
monitor that builds and renders a table displayingcron
job execution status
- Added badges to the
README
- Configured
pyup
service for thejwql
repository via.pyup.yml
file - Added a separate
requirement.txt
file to keep track of requirements needed by ReadTheDocs and thepyup
service - Added various
jwql
presentations in separatepresentations/
directory
- Changed
logging_functions.py
to be more conservative on when to write log files to the production area - Added
plotting.py
module (and supporting unit tests), which stores various plotting-related functions
- Added
.readthedocs.yml
, which configures thejwql
project documentation with ReadtheDocs
- Reorganized the
jwql
repository into a structure that better incorporates instrument-specific monitoring scripts
- Added
.pep8speaks.yml
, which configures thepep8speaks
service for thejwql
repository
- Added
monitor_template.py
, which serves as a template with examples for instrument-specific monitors that we may write one day
- Moved all of the
jwql
web app code into thejwql
package proper
- Added a feature to
generate_preview_images
andpreview_image
that creates mosaicked preview images for NIRCam when applicable
- Changed the way
monitor_mast
andmonitor_filesystem
bokeh
plots are saved and displayed in the web application, from usinghtml
to using embeddedboken
components - Added some logging to
monitor_filesystem
andmonitor_mast
- Added
database_interface.py
and supporting documentation; this module enables the creation and maintenance of database tables in thejwqldb
postgresql
database - Added the
anomalies
table indatabase_interface.py
- Fixed some minor formatting issues with the
sphinx
docs formonitor_filesystem
andmonitor_mast
- Added
ipython
to thejwql
environment
- Added a prototype of the
django
web application via thewebsite/
directory
- Added the
jwql
code of conduct
- Changes to
monitor_filesystem
, namely addingsphinx
docs and adding a plot that shows the total file sizes and counts broken down by instrument
- Renamed instances of
dbmonitor
tomonitor_mast
to be more consistent withmonitor_filesystem
- Removed the
_static
file from thehtml_static_paths
parameters in theconf.py
of thesphinx
docs to avoid unnecessary warnings when trying to build thesphinx
docs
- Changed the default value for the
verbose
option fromTrue
toFalse
inpermissions.set_permissions
- Added unit tests for
preview_images.py
- Added
logging.logging_functions.py
, which provides a way to log the execution of modules
- Added an update to the version of
django
for use by the web application
- Fixed the
Jenkinsfile
to usename
forbuild_mode
- Changed
setup.py
to adhere toPEP-8
standards
- Added
sphinx
API documentation fordb_monitor.py
andtest_db_monitor.py
- Added
monitor_filesystem.py
, which provides stats files andbokeh
plots that describe the content of the MAST data cache
- Added
db_monitor.py
and supporting tests; this module createsbokeh
plots and returns tables to describe the contents of the MAST database
- Added the
generate_preview_images
module, which generates preview images and thumbnails for all files in the filesystem
- Added a new
jupyter
notebook that identifies keywords that are in the MAST skipped list and also exist in the headers of multiple extensions
- Changed the structure of the API docs, separating the modules into their own
.rst
files
- Added a
filename_parser
function in autils.py
module that returns a dictionary of elements contained in a given JWST filename
- Added API documentation build using
sphinx
; the documentation is located in thedocs
directory
- Added
permissions.py
andtest_permissions.py
, which are modules to help manage file and directory permissions
- Changed the
README
to describe how to clone thejwql
repository using two-factor authentication/sftp
- Added
preview_image.py
, a module for generating a preview image for a given JWST observation
- Added package structure to the
jwql
repository, making it an installable package
- Added a
README
file that describes how to install and contribute to thejwql
repository - Added an
environment.yml
file that contains thejwqldev
environment
- Added the
jwql
style guide.