Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.22.0 [master] #496

Merged
merged 106 commits into from
Aug 27, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
79396ed
Updated some docstrings
bourque Apr 2, 2019
5ece36f
Initial commit of test_data_containers
bourque Apr 2, 2019
db13f5a
Minor tweaks to codecov settings
bourque Apr 2, 2019
910aa97
Initial commit of test_context_processors
bourque Apr 3, 2019
f8cf7b2
Attempting to add web app tests to Jenkins build
bourque Apr 3, 2019
c5e33ee
That might work, but it requires the config.json file.
bourque Apr 3, 2019
e5c9b6e
Added code to update the monitor table with status and affected tables
bourque Apr 22, 2019
0232f6c
Minor changes to appease @pep8speaks
bourque Apr 22, 2019
598320e
Merge branch 'develop' of https://github.com/spacetelescope/jwql into…
bhilbert4 May 8, 2019
9759fdd
Merge branch 'dark-monitor-all-instruments' of https://github.com/bou…
bhilbert4 May 8, 2019
c84e540
Add code to support MIRI's unique pixel readout patterns
bhilbert4 May 13, 2019
25feabe
Playing with instrument names
bhilbert4 May 14, 2019
c7f632f
Add observation times to the database tables
bhilbert4 Jun 27, 2019
531aae5
Add function to collect observation times from files
bhilbert4 Jun 27, 2019
df86a3e
Fix circular imports bet. utils and logging
bhilbert4 Jun 27, 2019
10c7b86
initial commit of bokeh_templating subpackage
gkanarek Jun 28, 2019
63108a1
moving bokeh_templating to the correct directory
gkanarek Jun 28, 2019
d60c53c
initial commit of monitor pages and monitor updates
gkanarek Jun 28, 2019
7013bb9
Merge branch 'develop' into bokeh_templating
bourque Jul 16, 2019
589903c
Merge branch 'develop' into add-time-to-dark-database
bourque Jul 16, 2019
3b38f8b
Fixed minor formatting errors to appease sphinx
bourque Jul 24, 2019
cc75a8a
Attempting to install jwst directly from git instead of pip to appeas…
bourque Jul 24, 2019
f1ae02e
Using stable version of jwst instead of master
bourque Jul 24, 2019
db27871
Including monitor table definition files
bourque Jul 24, 2019
697227d
Merge pull request #471 from spacetelescope/release-0.21.0
bourque Jul 29, 2019
4bdde0f
Update bokeh from 1.2.0 to 1.3.0
pyup-bot Jul 29, 2019
d853f7c
Update ipython from 7.6.1 to 7.7.0
pyup-bot Jul 29, 2019
f38de5a
Update numpy from 1.16.4 to 1.17.0
pyup-bot Jul 29, 2019
0af0e63
Update pytest-cov from 2.6.0 to 2.7.1
pyup-bot Jul 29, 2019
63392d2
Updates for pyup dependencies 07-29-2019
bourque Jul 29, 2019
1ab3944
Merge branch 'develop' of github.com:spacetelescope/jwql into add-tim…
bhilbert4 Aug 5, 2019
8035214
Ensure observation times going into datetime are ints
bhilbert4 Aug 5, 2019
9445b09
Merge branch 'add-time-to-dark-database' of github.com:bhilbert4/jwql…
bhilbert4 Aug 5, 2019
75de584
Fix bug for finding baseline mean dark
bhilbert4 Aug 5, 2019
393e056
Correct length of bad pixel list
bhilbert4 Aug 5, 2019
648cbca
Return to looping over all instruments and apertures
bhilbert4 Aug 5, 2019
8a541e7
Update bokeh from 1.2.0 to 1.3.2
pyup-bot Aug 5, 2019
f3380f9
Update django from 2.2.3 to 2.2.4
pyup-bot Aug 5, 2019
85cf6d3
Update ipython from 7.6.1 to 7.7.0
pyup-bot Aug 5, 2019
f277559
Update jsonschema from 3.0.1 to 3.0.2
pyup-bot Aug 5, 2019
b525148
Update numpy from 1.16.4 to 1.17.0
pyup-bot Aug 5, 2019
4215181
Update pytest-cov from 2.6.0 to 2.7.1
pyup-bot Aug 5, 2019
70eb49a
Merge branch 'develop' into dark-monitor-all-instruments
bhilbert4 Aug 6, 2019
7e6c3cf
Minor change to see if Jenkins builds still fail
bourque Aug 6, 2019
e29c892
Merge pull request #475 from spacetelescope/pyup/scheduled-update-201…
bourque Aug 6, 2019
b486e83
Merge branch 'develop' into pyup/scheduled-update-2019-08-05
bourque Aug 6, 2019
6167dce
Updates for aug 5 dependency updates from pyup
bourque Aug 6, 2019
3f35b6a
Merge branch 'develop' into update-docs
bourque Aug 6, 2019
36a4f9a
Merge pull request #478 from spacetelescope/pyup/scheduled-update-201…
bourque Aug 6, 2019
db86ab1
Merge branch 'develop' into update-docs
bourque Aug 6, 2019
21da9a2
Merge pull request #474 from spacetelescope/update-docs
bourque Aug 6, 2019
64c7e9d
Minor edits based on flake8 suggestions
bourque Aug 6, 2019
6db1ff4
Merge branch 'develop' into dark-monitor-all-instruments
bourque Aug 6, 2019
0298fe3
asdf requires an explicit version of jsonschema
bourque Aug 6, 2019
2ea7bc7
Merge branch 'dark-monitor-all-instruments' of github.com:bourque/jwq…
bourque Aug 6, 2019
6eea82f
Added fix to determine full path to baseline file
bourque Aug 6, 2019
353874d
Put constants in alphabetical order
bourque Aug 6, 2019
815b8c3
Added missing components to amplifier 4 boundaries for nircam, fgs, n…
bourque Aug 6, 2019
90eb4d5
end bracket typo
bourque Aug 6, 2019
0ee5e34
Merge pull request #377 from bourque/dark-monitor-all-instruments
bourque Aug 7, 2019
768f19a
Merge branch 'develop' into add-time-to-dark-database
bourque Aug 7, 2019
be48fb8
Merge pull request #456 from bhilbert4/add-time-to-dark-database
bourque Aug 7, 2019
4c09340
Some updates to 3.6 conda environment to get it working on a linux di…
bourque Aug 8, 2019
1f27316
Updated astropy dependency
bourque Aug 8, 2019
55096eb
Merge pull request #482 from bourque/env-update-for-linux-distro
bourque Aug 8, 2019
562b442
Updated conda environments, setup, and requirements to only contain h…
bourque Aug 9, 2019
2a02d60
Removed pysqlite3
bourque Aug 9, 2019
23422f4
Added asdf dependency
bourque Aug 9, 2019
6b7c83b
Merge pull request #483 from bourque/simplify-conda-envs
bourque Aug 9, 2019
45e7fb5
Updated branch with upstream/develop
bourque Aug 12, 2019
726da61
Minor changes based on flake8 and @pep8speaks suggestions
bourque Aug 12, 2019
2043824
Removed code pertaining to TA monitor. This can be added in a separa…
bourque Aug 12, 2019
c6756c6
Some more edits based on @pep8speaks suggestions
bourque Aug 12, 2019
4665891
Merge branch 'develop' into web-app-tests
bourque Aug 12, 2019
68c4a7c
Added API docs for new test modules
bourque Aug 12, 2019
f64e36e
Added pytest skipif if on Jenkins since these test require access to …
bourque Aug 12, 2019
96d38a7
Removed thumbnails() function and corresponding test since it is no l…
bourque Aug 12, 2019
d5d3336
Fixed small bug in pytest skipif condition
bourque Aug 12, 2019
726ee2e
Fixed small bug in pytest skipif condition
bourque Aug 12, 2019
df8ae67
Attempting to use pytest.importskipif istead
bourque Aug 12, 2019
3a7a790
What if we put the utils import first
bourque Aug 12, 2019
310b1d5
Trying try/except approach to solving jenkins errors
bourque Aug 12, 2019
859eff2
Update bokeh from 1.3.2 to 1.3.4
pyup-bot Aug 12, 2019
5d76f83
Update flake8 from 3.7.7 to 3.7.8
pyup-bot Aug 12, 2019
e0cf2ff
Update pysiaf from 0.3.1 to 0.4.0
pyup-bot Aug 12, 2019
6a29213
Update scipy from 1.3.0 to 1.3.1
pyup-bot Aug 12, 2019
8b85c84
Updated for 08/12/2019 dependencies
bourque Aug 12, 2019
e608193
Merge pull request #485 from spacetelescope/pyup/scheduled-update-201…
bourque Aug 12, 2019
cf82880
Added July 2019 TIPS presentation
bourque Aug 14, 2019
606a010
Merge pull request #487 from bourque/add-tips-presentation
bourque Aug 14, 2019
13eaf4d
Merge branch 'develop' into web-app-tests
bourque Aug 14, 2019
fed0959
Added a few more assert statements to check that some of the dictiona…
bourque Aug 15, 2019
553ba78
Merge branch 'web-app-tests' of github.com:bourque/jwql into web-app-…
bourque Aug 15, 2019
520eccc
Merge pull request #354 from bourque/web-app-tests
bourque Aug 15, 2019
5f799f5
Fixed order of import statements
bourque Aug 15, 2019
5bfe632
Added dark monitor bokeh templates
bourque Aug 15, 2019
cf28ea0
Merge branch 'develop' into bokeh_templating
bourque Aug 15, 2019
c192348
Merge pull request #459 from spacetelescope/bokeh_templating
bourque Aug 15, 2019
5f92ef6
Hotfix to revert monitor_filesystem.py and monitor_mast.py to state b…
bourque Aug 16, 2019
b97105a
Update pytest from 5.0.1 to 5.1.0
pyup-bot Aug 19, 2019
15a3a83
Update sphinx from 2.1.2 to 2.2.0
pyup-bot Aug 19, 2019
94340c1
Update sqlalchemy from 1.3.6 to 1.3.7
pyup-bot Aug 19, 2019
4e5ed14
Updates for aug 19 2019 dependency updates
bourque Aug 19, 2019
63840c6
Merge pull request #492 from spacetelescope/pyup/scheduled-update-201…
bourque Aug 19, 2019
f4d631b
Updated changelog and version number for v0.22 release
bourque Aug 26, 2019
0ee0e0c
Merge branch 'master' into v0.22
bourque Aug 27, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
0.22.0 (2019-08-26)
===================

New Features
------------

Project & API Documentation
~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Added slides from July 2019 TIPS presentation to ``presentations/`` directory


``jwql`` Repository
~~~~~~~~~~~~~~~~~~~

- Updated dark monitor to support all five JWST instruments, instead of only NIRCam
- Changed the ``jwql-3.5`` and ``jwql-3.6`` conda environments to be more simple and to work on Linux distributions
- Added library code for creating instrument monitoring ``bokeh`` plots with new ``bokeh`` templating software


Bug Fixes
---------

Project & API Documentation
~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Fixed various bugs that were causing the ``sphinx`` API documentation to crash on ReadTheDocs


0.21.0 (2019-07-23)
===================

Expand Down
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@ include setup.py
recursive-include notebooks *
recursive-include style_guide *
recursive-include typing_demo *
recursive-include jwql/database/monitor_table_definitions *.txt

exclude *.pyc
3 changes: 2 additions & 1 deletion codecov.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
codecov:
notify:
require_ci_to_pass: yes
require_ci_to_pass: no

coverage:
precision: 2
Expand All @@ -27,6 +27,7 @@ comment:

ignore:
- "jwql/database/"
- "jwql/tests/"
- "jwql/instrument_monitors/miri_monitors/data_trending/plots/"
- "jwql/instrument_monitors/nirspec_monitors/data_trending/plots/"
- "*__init__.py*"
Expand Down
18 changes: 15 additions & 3 deletions docs/source/tests.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,26 @@ test_calculations.py
:members:
:undoc-members:

test_context_processors.py
--------------------------
.. automodule:: jwql.tests.test_context_processors
:members:
:undoc-members:

test_dark_monitor.py
--------------------
.. automodule:: jwql.tests.test_dark_monitor
:members:
:undoc-members:

test_edb_interface.py
---------------------
test_data_containers.py
-----------------------
.. automodule:: jwql.tests.test_data_containers
:members:
:undoc-members:

test_edb.py
-----------
.. automodule:: jwql.tests.test_edb
:members:
:undoc-members:
Expand All @@ -33,7 +45,7 @@ test_instrument_properties.py
:undoc-members:

test_loading_times.py
--------------------
---------------------
.. automodule:: jwql.tests.test_loading_times
:members:
:undoc-members:
Expand Down
48 changes: 24 additions & 24 deletions environment_python_3_5.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
channels:
- http://ssb.stsci.edu/astroconda-dev
- defaults
- http://ssb.stsci.edu/astroconda-dev
dependencies:
- asdf=2.3.0
- astropy>=3.1.2
- astroquery=0.3.9
- bokeh=0.13.0
- crds>=7.2.7
- django=2.1.1
- bokeh=1.3.2
- django=2.2.1
- flake8=3.7.7
- inflection=0.3.1
- ipython=6.5.0
- ipython=7.7.0
- jinja2=2.10
- jsonschema>=2.6.0
- jsonschema=2.6.0
- jwst=0.13.0
- matplotlib=3.0.0
- numpy=1.15.2
- numpydoc=0.8.0
- pandas=0.23.4
- matplotlib=3.1.0
- numpy=1.16.4
- numpydoc=0.9.0
- pandas=0.24.2
- pip=19.1.1
- postgresql=9.6.6
- psycopg2=2.7.5
- python=3.5.6
- python-dateutil=2.7.3
- pytest=3.8.1
- pytest-cov=2.6.0
- pytest-html=1.19.0
- sphinx=2.0.1
- sphinx_rtd_theme=0.1.9
- sqlalchemy=1.2.11
- python=3.6.4
- pytest=5.0.1
- pytest-cov=2.7.1
- scipy=1.3.0
- setuptools=41.0.1
- sphinx=2.1.0
- sqlalchemy=1.3.5
- stsci_rtd_theme=0.0.2
- twine=1.11.0
- twine=1.13.0
- pip:
- authlib==0.10
- asdf==2.3.3
- astropy==3.2.1
- authlib==0.11
- codecov==2.0.15
- jwedb>=0.0.3
- pysiaf==0.2.5
- sphinx-automodapi==0.10
- pysiaf==0.3.1
- pysqlite3==0.2.2
35 changes: 17 additions & 18 deletions environment_python_3_6.yml
Original file line number Diff line number Diff line change
@@ -1,38 +1,37 @@
channels:
- http://ssb.stsci.edu/astroconda-dev
- defaults
- http://ssb.stsci.edu/astroconda-dev
dependencies:
- asdf=2.3.1
- astropy>=3.1.2
- astroquery=0.3.9
- bokeh=1.2.0
- crds>=7.2.7
- bokeh=1.3.4
- django=2.2.1
- flake8=3.7.7
- inflection=0.3.1
- ipython=7.6.1
- ipython=7.7.0
- jinja2=2.10
- jsonschema>=3.0.1
- jwst=0.13.1
- jsonschema=2.6.0
- jwst=0.13.0
- matplotlib=3.1.0
- numpy=1.16.4
- numpydoc=0.9.0
- pandas=0.24.2
- pip=19.1.1
- postgresql=9.6.6
- psycopg2=2.7.5
- python=3.6.4
- python-dateutil=2.7.5
- pytest=5.0.1
- pytest-cov=2.6.1
- pytest-html=1.19.0
- sphinx=2.1.0
- sphinx_rtd_theme=0.1.9
- sqlalchemy=1.3.5
- sqlparse=0.3.0
- pytest-cov=2.7.1
- scipy=1.3.0
- setuptools=41.0.1
- sphinx=2.1.2
- sqlalchemy=1.3.7
- stsci_rtd_theme=0.0.2
- twine=1.13.0
- pip:
- authlib==0.10
- asdf==2.3.3
- astropy==3.2.1
- authlib==0.11
- codecov==2.0.15
- jwedb>=0.0.3
- pysiaf==0.3.1
- sphinx-automodapi==0.10
- pysiaf==0.4.0
- pysqlite3==0.2.2
1 change: 1 addition & 0 deletions jwql/bokeh_templating/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .template import BokehTemplate
172 changes: 172 additions & 0 deletions jwql/bokeh_templating/bokeh_surface.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Mon May 21 13:45:34 2018

@author: gkanarek
"""

from bokeh.core.properties import Instance, String, Any, Dict
from bokeh.models import ColumnDataSource, LayoutDOM

DEFAULTS = {
'width': '600px',
'height': '600px',
'style': 'surface',
'showPerspective': True,
'showGrid': True,
'keepAspectRatio': True,
'verticalRatio': 1.0,
'legendLabel': 'stuff',
'cameraPosition': {
'horizontal': -0.35,
'vertical': 0.22,
'distance': 1.8,
}
}

JS_CODE = """
# This file contains the JavaScript (CoffeeScript) implementation
# for a Bokeh custom extension. The "surface3d.py" contains the
# python counterpart.
#
# This custom model wraps one part of the third-party vis.js library:
#
# http://visjs.org/index.html
#
# Making it easy to hook up python data analytics tools (NumPy, SciPy,
# Pandas, etc.) to web presentations using the Bokeh server.

# These "require" lines are similar to python "import" statements
import * as p from "core/properties"
import {LayoutDOM, LayoutDOMView} from "models/layouts/layout_dom"

# This defines some default options for the Graph3d feature of vis.js
# See: http://visjs.org/graph3d_examples.html for more details.
OPTIONS =
width: '600px'
height: '600px'
style: 'surface'
showPerspective: true
showGrid: true
keepAspectRatio: true
verticalRatio: 1.0
legendLabel: 'stuff'
cameraPosition:
horizontal: -0.35
vertical: 0.22
distance: 1.8

# To create custom model extensions that will render on to the HTML canvas
# or into the DOM, we must create a View subclass for the model. Currently
# Bokeh models and views are based on BackBone. More information about
# using Backbone can be found here:
#
# http://backbonejs.org/
#
# In this case we will subclass from the existing BokehJS ``LayoutDOMView``,
# corresponding to our
export class Surface3dView extends LayoutDOMView

initialize: (options) ->
super(options)

url = "https://cdnjs.cloudflare.com/ajax/libs/vis/4.16.1/vis.min.js"

script = document.createElement('script')
script.src = url
script.async = false
script.onreadystatechange = script.onload = () => @_init()
document.querySelector("head").appendChild(script)

_init: () ->
# Create a new Graph3s using the vis.js API. This assumes the vis.js has
# already been loaded (e.g. in a custom app template). In the future Bokeh
# models will be able to specify and load external scripts automatically.
#
# Backbone Views create <div> elements by default, accessible as @el. Many
# Bokeh views ignore this default <div>, and instead do things like draw
# to the HTML canvas. In this case though, we use the <div> to attach a
# Graph3d to the DOM.
@_graph = new vis.Graph3d(@el, @get_data(), @model.options)

# Set Backbone listener so that when the Bokeh data source has a change
# event, we can process the new data
@listenTo(@model.data_source, 'change', () =>
@_graph.setData(@get_data())
)

# This is the callback executed when the Bokeh data has an change. Its basic
# function is to adapt the Bokeh data source to the vis.js DataSet format.
get_data: () ->
data = new vis.DataSet()
source = @model.data_source
for i in [0...source.get_length()]
data.add({
x: source.get_column(@model.x)[i]
y: source.get_column(@model.y)[i]
z: source.get_column(@model.z)[i]
})
return data

# We must also create a corresponding JavaScript Backbone model sublcass to
# correspond to the python Bokeh model subclass. In this case, since we want
# an element that can position itself in the DOM according to a Bokeh layout,
# we subclass from ``LayoutDOM``
export class Surface3d extends LayoutDOM

# This is usually boilerplate. In some cases there may not be a view.
default_view: Surface3dView

# The ``type`` class attribute should generally match exactly the name
# of the corresponding Python class.
type: "Surface3d"

# The @define block adds corresponding "properties" to the JS model. These
# should basically line up 1-1 with the Python model class. Most property
# types have counterparts, e.g. ``bokeh.core.properties.String`` will be
# ``p.String`` in the JS implementatin. Where the JS type system is not yet
# as rich, you can use ``p.Any`` as a "wildcard" property type.
@define {
x: [ p.String ]
y: [ p.String ]
z: [ p.String ]
data_source: [ p.Instance ]
options: [ p.Any, OPTIONS ]
}
"""


# This custom extension model will have a DOM view that should layout-able in
# Bokeh layouts, so use ``LayoutDOM`` as the base class. If you wanted to create
# a custom tool, you could inherit from ``Tool``, or from ``Glyph`` if you
# wanted to create a custom glyph, etc.
class Surface3d(LayoutDOM):

# The special class attribute ``__implementation__`` should contain a string
# of JavaScript (or CoffeeScript) code that implements the JavaScript side
# of the custom extension model.
__implementation__ = JS_CODE

# Below are all the "properties" for this model. Bokeh properties are
# class attributes that define the fields (and their types) that can be
# communicated automatically between Python and the browser. Properties
# also support type validation. More information about properties in
# can be found here:
#
# http://bokeh.pydata.org/en/latest/docs/reference/core.html#bokeh-core-properties

# This is a Bokeh ColumnDataSource that can be updated in the Bokeh
# server by Python code
data_source = Instance(ColumnDataSource)

# The vis.js library that we are wrapping expects data for x, y, z, and
# color. The data will actually be stored in the ColumnDataSource, but
# these properties let us specify the *name* of the column that should
# be used for each field.
x = String
y = String
z = String
color = String

options = Dict(String, Any, default=DEFAULTS)
Loading