diff options
author | Justin Ely <ely@stsci.edu> | 2016-09-30 15:45:09 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@users.noreply.github.com> | 2016-09-30 15:45:09 -0400 |
commit | 767c217f3cd34e33f0aab5b7415badbe0733d8c2 (patch) | |
tree | f0c04a5c2c8eacff8e39df9db6498a638ae2650a | |
parent | fb19feed0bc525bc58832a39cd9e11a717b68f8f (diff) | |
download | astroconda-767c217f3cd34e33f0aab5b7415badbe0733d8c2.tar.gz |
Create release_notes and package_manifest automatically (#24)
* auto creating release_notes and package_manifest
release_notes now provide links to individual
repository release notes instead of collecting them
together
Using anonymous access with github3. Note that this
has API call restrictions, so can only do so many times
within an hour before being blocked.
setup.py install now runs the two scripts in source
to generate the manifest and release notes rst files.
minor changes to py scripts to use different org access
calls, and defining output path to not be CWD.
requirement and calls to pandoc have also been removed.
files are written directly to rst instead of being
written to md and converted.
* Exclude non-astroconda packages from release_notes
* change disclaimer at top of release notes
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | .travis.yml | 62 | ||||
-rw-r--r-- | setup.py | 22 | ||||
-rw-r--r-- | source/package_manifest.py | 91 | ||||
-rw-r--r-- | source/package_manifest.rst | 1177 | ||||
-rw-r--r-- | source/release_notes.py | 203 | ||||
-rw-r--r-- | source/release_notes.rst | 719 | ||||
-rw-r--r-- | source/rtd-pip-requirements.txt | 1 |
8 files changed, 209 insertions, 2069 deletions
@@ -2,3 +2,6 @@ build source/*.html TOKEN + +source/package_manifest.rst +source/release_notes.rst diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..767db38 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,62 @@ +language: python + +# Setting sudo to false opts in to Travis-CI container-based builds. +sudo: false + +# The apt packages below are needed for sphinx builds, which can no longer +# be installed with sudo apt-get. +addons: + apt: + packages: + - graphviz + - texlive-latex-extra + - dvipng + +os: + - linux + + +python: + - 3.5 + +env: + global: + # SET DEFAULTS TO AVOID REPEATING IN MOST CASES + - SETUPTOOLS_VERSION=stable + - PIP_INSTALL='pip install' + - INSTALL_OPTIONAL=true + - SETUP_CMD='test' + +before_install: + + # USE UTF8 ENCODING. SHOULD BE DEFAULT, BUT THIS IS INSURANCE AGAINST + # FUTURE CHANGES + - export PYTHONIOENCODING=UTF8 + + # http://conda.pydata.org/docs/travis.html#the-travis-yml-file + - wget https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh; + - bash miniconda.sh -b -p $HOME/miniconda + - export PATH="$HOME/miniconda/bin:$PATH" + - hash -r + - conda config --set always_yes yes --set changeps1 no + - conda update -q conda + - conda info -a + + #CHECK INTERACTIVE MATPLOTLIB BACKENDS + - export DISPLAY=:99.0 + - sh -e /etc/init.d/xvfb start + + +install: + - conda create -n test python=$TRAVIS_PYTHON_VERSION + - source activate test + + # ADD STSCI ASTROCONDA CHANNEL + - conda config --add channels http://ssb.stsci.edu/astroconda + + # RTD deps + - $PIP_INSTALL -r source/rtd-pip-requirements.txt + + +script: + - python setup.py install diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..a19c009 --- /dev/null +++ b/setup.py @@ -0,0 +1,22 @@ +import os +from setuptools import setup, find_packages +from setuptools.command.install import install + +import sys +sys.path.insert(0, 'source/') +import release_notes +import package_manifest + +class MyInstall(install): + def run(self): + install.run(self) + release_notes.generate_release_notes() + package_manifest.generate_manifest() + +setup( + name = 'astroconda', + version = '0.0.1', + author = 'Joseph Hunkeler', + cmdclass = {'install': MyInstall}, + install_requires = ['pypandoc', 'github3.py'] + ) diff --git a/source/package_manifest.py b/source/package_manifest.py index a179888..5e9d80a 100644 --- a/source/package_manifest.py +++ b/source/package_manifest.py @@ -1,6 +1,13 @@ +from __future__ import print_function + import json +import os from collections import OrderedDict -from urllib.request import urlopen +try: + from urllib.request import urlopen +except ImportError: + from urllib2 import urlopen + from pprint import pprint ARCHITECTURE = [ 'linux-64', 'osx-64'] @@ -38,45 +45,47 @@ def get_repodata(architecture): return data +def generate_manifest(): + python_versions = dict( + py27='2.7', + py34='3.4', + py35='3.5' + ) -if __name__ == '__main__': + with open(os.path.join('source', 'package_manifest.rst'), 'w+') as pfile: + print('Packages', file=pfile) + print('========\n\n', file=pfile) + print('{0}\n\n'.format(MESSAGE), file=pfile) + + repo_data = OrderedDict() + for arch in ARCHITECTURE: + repo_data[arch] = get_repodata(arch) + + metapackages = [] + for mpkg, mpkg_version in METAPACKAGES: + for key, value in repo_data[arch].items(): + if mpkg == repo_data[arch][key]['name']: + if mpkg_version == repo_data[arch][key]['version']: + metapackages.append(('-'.join([value['name'], value['version']]), value['build'], value['depends'])) + + print('{arch} metapackages'.format(arch=arch), file=pfile) + print('------------------------\n\n', file=pfile) - python_versions = dict( - py27='2.7', - py34='3.4', - py35='3.5' - ) - - with open('package_manifest.rst', 'w+') as pfile: - print('Packages', file=pfile) - print('========\n\n', file=pfile) - print('{0}\n\n'.format(MESSAGE), file=pfile) - - repo_data = OrderedDict() - for arch in ARCHITECTURE: - repo_data[arch] = get_repodata(arch) - - metapackages = [] - for mpkg, mpkg_version in METAPACKAGES: - for key, value in repo_data[arch].items(): - if mpkg == repo_data[arch][key]['name']: - if mpkg_version == repo_data[arch][key]['version']: - metapackages.append(('-'.join([value['name'], value['version']]), value['build'], value['depends'])) - - print('{arch} metapackages'.format(arch=arch), file=pfile) - print('------------------------\n\n', file=pfile) - - metapackages = sorted(metapackages, key=lambda k: k[0]) - for name, build, dependencies in metapackages: - print('- **{name} ({python})**\n'.format(name=name, python=build), file=pfile) - for pkg in dependencies: - print(' - {:<20s}\n'.format(pkg), file=pfile) - - print('{arch} packages'.format(arch=arch), file=pfile) - print('------------------------\n\n', file=pfile) - - _packages = sorted(repo_data[arch].values(), key=lambda k: k['name']) - packages = set(['-'.join([d['name'], d['version']]) for d in _packages]) - - for record in sorted(packages): - print('- {name}\n'.format(name=record, header='-' * len(record)), file=pfile) + metapackages = sorted(metapackages, key=lambda k: k[0]) + for name, build, dependencies in metapackages: + print('- **{name} ({python})**\n'.format(name=name, python=build), file=pfile) + for pkg in dependencies: + print(' - {:<20s}\n'.format(pkg), file=pfile) + + print('{arch} packages'.format(arch=arch), file=pfile) + print('------------------------\n\n', file=pfile) + + _packages = sorted(repo_data[arch].values(), key=lambda k: k['name']) + packages = set(['-'.join([d['name'], d['version']]) for d in _packages]) + + for record in sorted(packages): + print('- {name}\n'.format(name=record, header='-' * len(record)), file=pfile) + + +if __name__ == '__main__': + generate_manifest() diff --git a/source/package_manifest.rst b/source/package_manifest.rst deleted file mode 100644 index 509201e..0000000 --- a/source/package_manifest.rst +++ /dev/null @@ -1,1177 +0,0 @@ -Packages -======== - - - -Packaging reference key: - -:: - - [package]-[version]-[glob]_[build_number] - ^Name ^Version ^ ^Conda package revision - | - npXXpyYY - ^ ^ - | | - | Compiled for Python version - | - Compiled for NumPY version - - - - - -linux-64 metapackages ------------------------- - - -- **stsci-1.0.1 (np111py27_0)** - - - astropy >=1.1 - - - cfitsio >=3.370 - - - d2to1 >=0.2.12 - - - ds9 >=7.1 - - - fftw >=3.3.4 - - - htc_utils >=0.1 - - - imexam >=0.5.2 - - - numpy 1.11* - - - photutils >=0.2.1 - - - poppy >=0.4.0 - - - purge_path >=1.0.0 - - - pyds9 >=1.8.1 - - - pyfftw >=0.9.2 - - - python 2.7* - - - stsci-data-analysis - - - stsci-hst - - - webbpsf >=0.4.0 - - - webbpsf-data >=0.4.0 - -- **stsci-1.0.1 (np111py35_0)** - - - astropy >=1.1 - - - cfitsio >=3.370 - - - d2to1 >=0.2.12 - - - ds9 >=7.1 - - - fftw >=3.3.4 - - - htc_utils >=0.1 - - - imexam >=0.5.2 - - - numpy 1.11* - - - photutils >=0.2.1 - - - poppy >=0.4.0 - - - purge_path >=1.0.0 - - - pyds9 >=1.8.1 - - - pyfftw >=0.9.2 - - - python 3.5* - - - stsci-data-analysis - - - stsci-hst - - - webbpsf >=0.4.0 - - - webbpsf-data >=0.4.0 - -- **stsci-data-analysis-1.0.0 (np111py35_1)** - - - asdf ==1.0.2 - - - astroimtools ==0.1 - - - astropy >=1.1 - - - asv ==0.1.1 - - - cube-tools ==0.0.0 - - - numpy 1.11* - - - python 3.5* - - - specview ==0.1 - - - stginga ==0.0.0 - -- **stsci-data-analysis-1.0.0 (np110py34_0)** - - - asdf ==1.0.2 - - - astroimtools ==0.1 - - - astropy >=1.1 - - - asv ==0.1.1 - - - cube-tools ==0.0.0 - - - numpy 1.10* - - - python 3.4* - - - specview ==0.1 - - - stginga ==0.0.0 - -- **stsci-data-analysis-1.0.0 (np111py35_2)** - - - asdf >=1.0.2 - - - astroimtools >=0.1 - - - astropy >=1.1 - - - asv >=0.1.1 - - - cube-tools >=0.0.0 - - - numpy 1.11* - - - python 3.5* - - - specview >=0.1 - - - stginga >=0.1 - -- **stsci-data-analysis-1.0.0 (np111py27_2)** - - - asdf >=1.0.2 - - - astroimtools >=0.1 - - - astropy >=1.1 - - - asv >=0.1.1 - - - cube-tools >=0.0.0 - - - numpy 1.11* - - - python 2.7* - - - specview >=0.1 - - - stginga >=0.1 - -- **stsci-data-analysis-1.0.0 (np110py27_0)** - - - asdf ==1.0.2 - - - astroimtools ==0.1 - - - astropy >=1.1 - - - asv ==0.1.1 - - - cube-tools ==0.0.0 - - - numpy 1.10* - - - python 2.7* - - - specview ==0.1 - - - stginga ==0.0.0 - -- **stsci-data-analysis-1.0.0 (np110py35_0)** - - - asdf ==1.0.2 - - - astroimtools ==0.1 - - - astropy >=1.1 - - - asv ==0.1.1 - - - cube-tools ==0.0.0 - - - numpy 1.10* - - - python 3.5* - - - specview ==0.1 - - - stginga ==0.0.0 - -- **stsci-hst-1.0.4 (np111py27_0)** - - - acstools >=2.0.0 - - - astropy >=1.1 - - - calcos >=3.1.8 - - - costools >=1.2.1 - - - crds >=7.0.1 - - - d2to1 >=0.2.12 - - - drizzlepac >=2.1.3 - - - fitsblender >=0.2.6 - - - hstcal >=1.0.0 - - - nictools >=1.1.3 - - - numpy 1.11* - - - purge_path >=1.0.0 - - - pyregion >=1.1.2 - - - pysynphot >=0.9.8.2 - - - python 2.7* - - - reftools >=1.7.1 - - - stistools >=1.1 - - - stsci.convolve >=2.1.3 - - - stsci.distutils >=0.3.8 - - - stsci.image >=2.2.0 - - - stsci.imagemanip >=1.1.2 - - - stsci.imagestats >=1.4.1 - - - stsci.ndimage >=0.10.1 - - - stsci.numdisplay >=1.6.1 - - - stsci.skypac >=0.9 - - - stsci.sphere >=0.2 - - - stsci.sphinxext >=1.2.2 - - - stsci.stimage >=0.2.1 - - - stsci.tools >=3.4.1 - - - stwcs >=1.2.3 - - - wfc3tools >=1.3.1 - - - wfpc2tools >=1.0.3 - -- **stsci-hst-1.0.4 (np111py35_0)** - - - acstools >=2.0.0 - - - astropy >=1.1 - - - calcos >=3.1.8 - - - costools >=1.2.1 - - - crds >=7.0.1 - - - d2to1 >=0.2.12 - - - drizzlepac >=2.1.3 - - - fitsblender >=0.2.6 - - - hstcal >=1.0.0 - - - nictools >=1.1.3 - - - numpy 1.11* - - - purge_path >=1.0.0 - - - pyregion >=1.1.2 - - - pysynphot >=0.9.8.2 - - - python 3.5* - - - reftools >=1.7.1 - - - stistools >=1.1 - - - stsci.convolve >=2.1.3 - - - stsci.distutils >=0.3.8 - - - stsci.image >=2.2.0 - - - stsci.imagemanip >=1.1.2 - - - stsci.imagestats >=1.4.1 - - - stsci.ndimage >=0.10.1 - - - stsci.numdisplay >=1.6.1 - - - stsci.skypac >=0.9 - - - stsci.sphere >=0.2 - - - stsci.sphinxext >=1.2.2 - - - stsci.stimage >=0.2.1 - - - stsci.tools >=3.4.1 - - - stwcs >=1.2.3 - - - wfc3tools >=1.3.1 - - - wfpc2tools >=1.0.3 - -linux-64 packages ------------------------- - - -- acstools-2.0.0 - -- acstools-2.0.2 - -- acstools-2.0.4 - -- appdirs-1.4.0 - -- aprio-1.0.1 - -- asdf-1.0.2 - -- asdf-1.0.3 - -- asdf-standard-1.0.0 - -- astroimtools-0.1 - -- astrolib.coords-0.39.6 - -- asv-0.1.1 - -- calcos-3.1.3 - -- calcos-3.1.7 - -- calcos-3.1.8 - -- cfitsio-3.370 - -- costools-1.2.1 - -- crds-0.0.0 - -- crds-6.0.0 - -- crds-7.0.1 - -- cube-tools-0.0.0 - -- cube-tools-0.0.1 - -- d2to1-0.2.12 - -- decorator-4.0.9 - -- drizzle-1.1 - -- drizzlepac-2.1.3 - -- drizzlepac-2.1.4 - -- drizzlepac-2.1.5 - -- drizzlepac-2.1.6 - -- ds9-7.1 - -- ds9-7.4 - -- fftw-3.3.4 - -- fitsblender-0.2.6 - -- ginga-2.5.20151215011852 - -- ginga-2.5.20160627100500 - -- ginga-2.5.20160706100500 - -- ginga-2.5.20160801083400 - -- glue-vispy-viewers-0.4 - -- glueviz-0.8.2 - -- gwcs-0.5 - -- gwcs-0.5.1 - -- gwcs-0.6rc1 - -- hstcal-1.0.0 - -- hstcal-1.0.1 - -- htc_utils-0.1 - -- imexam-0.5.2 - -- iraf-2.16.1 - -- jwst_lib-0.0.0 - -- jwst_pipeline-0.0.0 - -- jwst_tools-0.0.0 - -- nictools-1.1.3 - -- opuscoords-1.0.2 - -- pandokia-1.3.11 - -- photutils-0.2.1 - -- photutils-0.2.2 - -- poppy-0.4.0 - -- poppy-0.5.0 - -- purge_path-1.0.0 - -- pydrizzle-6.4.4 - -- pyds9-1.8.1 - -- pyfftw-0.9.2 - -- pyqtgraph-0.9.10 - -- pyqtgraph-0.9.11 - -- pyraf-2.1.10 - -- pyraf-2.1.11 - -- pyregion-1.1.2 - -- pysynphot-0.9.8.2 - -- pysynphot-0.9.8.3 - -- pysynphot-0.9.8.4 - -- python-daemon-2.0.5 - -- pytools-2016.1 - -- pywcs-1.12.1 - -- recon-1.0.2 - -- reftools-1.7.1 - -- reftools-1.7.3 - -- relic-1.0.4 - -- relic-1.0.5 - -- selenium-2.49.2 - -- shunit2-2.0.3 - -- specutils-0.2.1 - -- specview-0.1 - -- specviz-0.1.2rc3 - -- specviz-0.2.0rc3 - -- specviz-0.2.1rc4 - -- specviz-0.2.1rc5 - -- sphere-1.0.6 - -- sphere-1.0.7 - -- sphinx_rtd_theme-0.1.9 - -- sphinxcontrib-programoutput-0.8 - -- stginga-0.0.0 - -- stginga-0.1 - -- stginga-0.1.1 - -- stginga-0.1.2 - -- stistools-1.1 - -- stsci-1.0.0 - -- stsci-1.0.1 - -- stsci-data-analysis-1.0.0 - -- stsci-hst-1.0.0 - -- stsci-hst-1.0.1 - -- stsci-hst-1.0.2 - -- stsci-hst-1.0.3 - -- stsci-hst-1.0.4 - -- stsci.convolve-2.1.3 - -- stsci.distutils-0.3.8 - -- stsci.image-2.2.0 - -- stsci.imagemanip-1.1.2 - -- stsci.imagestats-1.4.1 - -- stsci.ndimage-0.10.1 - -- stsci.numdisplay-1.6.1 - -- stsci.skypac-0.9 - -- stsci.sphere-0.2 - -- stsci.sphinxext-1.2.2 - -- stsci.stimage-0.2.1 - -- stsci.tools-3.4.1 - -- stwcs-1.2.3 - -- wcstools-3.9.2 - -- webbpsf-0.4.0 - -- webbpsf-0.5.0 - -- webbpsf-data-0.4.0 - -- webbpsf-data-0.5.0 - -- wfc3tools-1.3.1 - -- wfpc2tools-1.0.3 - -- xpa-2.1.17 - -osx-64 metapackages ------------------------- - - -- **stsci-1.0.1 (np111py27_0)** - - - astropy >=1.1 - - - cfitsio >=3.370 - - - d2to1 >=0.2.12 - - - ds9 >=7.1 - - - fftw >=3.3.4 - - - htc_utils >=0.1 - - - imexam >=0.5.2 - - - numpy 1.11* - - - photutils >=0.2.1 - - - poppy >=0.4.0 - - - purge_path >=1.0.0 - - - pyds9 >=1.8.1 - - - pyfftw >=0.9.2 - - - python 2.7* - - - stsci-data-analysis - - - stsci-hst - - - webbpsf >=0.4.0 - - - webbpsf-data >=0.4.0 - -- **stsci-1.0.1 (np111py35_0)** - - - astropy >=1.1 - - - cfitsio >=3.370 - - - d2to1 >=0.2.12 - - - ds9 >=7.1 - - - fftw >=3.3.4 - - - htc_utils >=0.1 - - - imexam >=0.5.2 - - - numpy 1.11* - - - photutils >=0.2.1 - - - poppy >=0.4.0 - - - purge_path >=1.0.0 - - - pyds9 >=1.8.1 - - - pyfftw >=0.9.2 - - - python 3.5* - - - stsci-data-analysis - - - stsci-hst - - - webbpsf >=0.4.0 - - - webbpsf-data >=0.4.0 - -- **stsci-data-analysis-1.0.0 (np111py27_2)** - - - asdf >=1.0.2 - - - astroimtools >=0.1 - - - astropy >=1.1 - - - asv >=0.1.1 - - - cube-tools >=0.0.0 - - - numpy 1.11* - - - python 2.7* - - - specview >=0.1 - - - stginga >=0.1 - -- **stsci-data-analysis-1.0.0 (np110py35_0)** - - - asdf ==1.0.2 - - - astroimtools ==0.1 - - - astropy >=1.1 - - - asv ==0.1.1 - - - cube-tools ==0.0.0 - - - numpy 1.10* - - - python 3.5* - - - specview ==0.1 - - - stginga ==0.0.0 - -- **stsci-data-analysis-1.0.0 (np110py34_0)** - - - asdf ==1.0.2 - - - astroimtools ==0.1 - - - astropy >=1.1 - - - asv ==0.1.1 - - - cube-tools ==0.0.0 - - - numpy 1.10* - - - python 3.4* - - - specview ==0.1 - - - stginga ==0.0.0 - -- **stsci-data-analysis-1.0.0 (np111py35_2)** - - - asdf >=1.0.2 - - - astroimtools >=0.1 - - - astropy >=1.1 - - - asv >=0.1.1 - - - cube-tools >=0.0.0 - - - numpy 1.11* - - - python 3.5* - - - specview >=0.1 - - - stginga >=0.1 - -- **stsci-data-analysis-1.0.0 (np110py27_0)** - - - asdf ==1.0.2 - - - astroimtools ==0.1 - - - astropy >=1.1 - - - asv ==0.1.1 - - - cube-tools ==0.0.0 - - - numpy 1.10* - - - python 2.7* - - - specview ==0.1 - - - stginga ==0.0.0 - -- **stsci-hst-1.0.4 (np111py35_0)** - - - acstools >=2.0.0 - - - astropy >=1.1 - - - calcos >=3.1.8 - - - costools >=1.2.1 - - - crds >=7.0.1 - - - d2to1 >=0.2.12 - - - drizzlepac >=2.1.3 - - - fitsblender >=0.2.6 - - - hstcal >=1.0.0 - - - nictools >=1.1.3 - - - numpy 1.11* - - - purge_path >=1.0.0 - - - pyregion >=1.1.2 - - - pysynphot >=0.9.8.2 - - - python 3.5* - - - reftools >=1.7.1 - - - stistools >=1.1 - - - stsci.convolve >=2.1.3 - - - stsci.distutils >=0.3.8 - - - stsci.image >=2.2.0 - - - stsci.imagemanip >=1.1.2 - - - stsci.imagestats >=1.4.1 - - - stsci.ndimage >=0.10.1 - - - stsci.numdisplay >=1.6.1 - - - stsci.skypac >=0.9 - - - stsci.sphere >=0.2 - - - stsci.sphinxext >=1.2.2 - - - stsci.stimage >=0.2.1 - - - stsci.tools >=3.4.1 - - - stwcs >=1.2.3 - - - wfc3tools >=1.3.1 - - - wfpc2tools >=1.0.3 - -- **stsci-hst-1.0.4 (np111py27_0)** - - - acstools >=2.0.0 - - - astropy >=1.1 - - - calcos >=3.1.8 - - - costools >=1.2.1 - - - crds >=7.0.1 - - - d2to1 >=0.2.12 - - - drizzlepac >=2.1.3 - - - fitsblender >=0.2.6 - - - hstcal >=1.0.0 - - - nictools >=1.1.3 - - - numpy 1.11* - - - purge_path >=1.0.0 - - - pyregion >=1.1.2 - - - pysynphot >=0.9.8.2 - - - python 2.7* - - - reftools >=1.7.1 - - - stistools >=1.1 - - - stsci.convolve >=2.1.3 - - - stsci.distutils >=0.3.8 - - - stsci.image >=2.2.0 - - - stsci.imagemanip >=1.1.2 - - - stsci.imagestats >=1.4.1 - - - stsci.ndimage >=0.10.1 - - - stsci.numdisplay >=1.6.1 - - - stsci.skypac >=0.9 - - - stsci.sphere >=0.2 - - - stsci.sphinxext >=1.2.2 - - - stsci.stimage >=0.2.1 - - - stsci.tools >=3.4.1 - - - stwcs >=1.2.3 - - - wfc3tools >=1.3.1 - - - wfpc2tools >=1.0.3 - -osx-64 packages ------------------------- - - -- acstools-2.0.0 - -- acstools-2.0.2 - -- acstools-2.0.4 - -- appdirs-1.4.0 - -- aprio-1.0.1 - -- asdf-1.0.2 - -- asdf-1.0.3 - -- asdf-standard-1.0.0 - -- astroimtools-0.1 - -- astrolib.coords-0.39.6 - -- asv-0.1.1 - -- calcos-3.1.3 - -- calcos-3.1.7 - -- calcos-3.1.8 - -- cfitsio-3.370 - -- costools-1.2.1 - -- crds-0.0.0 - -- crds-6.0.0 - -- crds-7.0.1 - -- cube-tools-0.0.0 - -- cube-tools-0.0.1 - -- d2to1-0.2.12 - -- decorator-4.0.9 - -- drizzle-1.1 - -- drizzlepac-2.1.3 - -- drizzlepac-2.1.4 - -- drizzlepac-2.1.5 - -- drizzlepac-2.1.6 - -- ds9-7.1 - -- ds9-7.4 - -- fftw-3.3.4 - -- fitsblender-0.2.6 - -- ginga-2.5.20151215011852 - -- ginga-2.5.20160627100500 - -- ginga-2.5.20160706100500 - -- ginga-2.5.20160801083400 - -- glue-vispy-viewers-0.4 - -- glueviz-0.8.2 - -- gwcs-0.5 - -- gwcs-0.5.1 - -- gwcs-0.6rc1 - -- hstcal-1.0.0 - -- hstcal-1.0.1 - -- htc_utils-0.1 - -- imexam-0.5.2 - -- iraf-2.16.1 - -- jwst_lib-0.0.0 - -- jwst_pipeline-0.0.0 - -- jwst_tools-0.0.0 - -- nictools-1.1.3 - -- opuscoords-1.0.2 - -- pandokia-1.3.11 - -- photutils-0.2.1 - -- photutils-0.2.2 - -- poppy-0.4.0 - -- poppy-0.5.0 - -- purge_path-1.0.0 - -- pydrizzle-6.4.4 - -- pyds9-1.8.1 - -- pyfftw-0.9.2 - -- pyobjc-core-3.0.4 - -- pyobjc-core-3.1.1 - -- pyobjc-framework-cocoa-3.0.4 - -- pyobjc-framework-cocoa-3.1.1 - -- pyobjc-framework-quartz-3.0.4 - -- pyobjc-framework-quartz-3.1.1 - -- pyqtgraph-0.9.10 - -- pyqtgraph-0.9.11 - -- pyraf-2.1.10 - -- pyraf-2.1.11 - -- pyregion-1.1.2 - -- pysynphot-0.9.8.2 - -- pysynphot-0.9.8.3 - -- pysynphot-0.9.8.4 - -- python-daemon-2.0.5 - -- pytools-2016.1 - -- pywcs-1.12.1 - -- recon-1.0.2 - -- reftools-1.7.1 - -- reftools-1.7.3 - -- relic-1.0.4 - -- relic-1.0.5 - -- selenium-2.49.2 - -- sextractor-2.19.5 - -- shunit2-2.0.3 - -- specutils-0.2.1 - -- specview-0.1 - -- specviz-0.1.2rc3 - -- specviz-0.2.0rc3 - -- specviz-0.2.1rc5 - -- sphere-1.0.6 - -- sphere-1.0.7 - -- sphinx_rtd_theme-0.1.9 - -- sphinxcontrib-programoutput-0.8 - -- stginga-0.0.0 - -- stginga-0.1 - -- stginga-0.1.1 - -- stginga-0.1.2 - -- stistools-1.1 - -- stsci-1.0.0 - -- stsci-1.0.1 - -- stsci-data-analysis-0.0.0.dev0 - -- stsci-data-analysis-1.0.0 - -- stsci-hst-1.0.0 - -- stsci-hst-1.0.1 - -- stsci-hst-1.0.2 - -- stsci-hst-1.0.3 - -- stsci-hst-1.0.4 - -- stsci.convolve-2.1.3 - -- stsci.distutils-0.3.8 - -- stsci.image-2.2.0 - -- stsci.imagemanip-1.1.2 - -- stsci.imagestats-1.4.1 - -- stsci.ndimage-0.10.1 - -- stsci.numdisplay-1.6.1 - -- stsci.skypac-0.9 - -- stsci.sphere-0.2 - -- stsci.sphinxext-1.2.2 - -- stsci.stimage-0.2.1 - -- stsci.tools-3.4.1 - -- stwcs-1.2.3 - -- wcstools-3.9.2 - -- webbpsf-0.4.0 - -- webbpsf-0.5.0 - -- webbpsf-data-0.4.0 - -- webbpsf-data-0.5.0 - -- wfc3tools-1.3.1 - -- wfpc2tools-1.0.3 - -- xpa-2.1.17 - diff --git a/source/release_notes.py b/source/release_notes.py index 3c1b397..fc3bbb3 100644 --- a/source/release_notes.py +++ b/source/release_notes.py @@ -6,176 +6,115 @@ import math from collections import OrderedDict try: - from github3 import login + from urllib.request import urlopen +except ImportError: + from urllib2 import urlopen + +try: + import github3 + from github3 import organization from github3 import GitHubError except ImportError: print('github3.py required.') print('pip install https+git://github.com/sigmavirus24/github3.py') exit(1) -try: - import pypandoc -except ImportError: - print('pypandoc required.') - print('conda install -c https://conda.anaconda.org/janschulz pypandoc') - exit(1) +from package_manifest import ARCHITECTURE, get_repodata header = """ -# Release Notes +Release Notes +============= + +For individual package release notes, please follow the links below. +Note that not all packages have release notes, and may simply provide +numbered releases. + """ -title = """ -## {name} + +item = """ +- `{} <{}>`__ """ -message = """ -### {title} -*{date}* +#------------------------------------------------------------------------------- -{body} +def any_releases(url): + """Check if there are any releases in a given github release page -""" + Parameters + ---------- + url: str + URL of a valid github reposoitory release pages + Returns + ------- + any_releases: bool + True if there are found releases, False otherwise -def explode_newlines(s): - """Normalize newlines and double them up for MD->RST conversion. - """ - tmp = '' - for line in s.splitlines(): - line = line.replace('\r\n', '\n') - line = line + '\n\n' - tmp += line - - return tmp - -def transform_headings(s): - """Trust no one. - Header levels less than or equal to 3 are up-converted. - - 1 = 4 - 2 = 4 - 3 = 5 - 4 = 6 - 5 = 6 - 6 = 6 - - Oh well, sucks right? - """ - delim = '#' - headings = OrderedDict( - h6=delim * 6, - h5=delim * 5, - h4=delim * 4, - h3=delim * 3, - h2=delim * 2, - h1=delim * 1 - ) - output = '' - - for line in s.splitlines(): - length = len(line) - stop = len(headings.keys()) + 1 - - if length < stop: - stop = length - - block = line[:stop] - depth = 0 - for i, ch in enumerate(block, 1): - if ch != '#': break - depth = i - - if depth == 0 or depth > 3: - output += explode_newlines(line) - continue - - #print('length={:<10d} stop={:<10d} depth={:<10d} block={:>20s}'.format(length, stop, depth, block)) - - current = headings['h'+str(depth)] - try: - required = headings['h'+str(math.ceil(depth + depth / depth + 1))] - except KeyError: - required = headings['h'+str(len(headings) - 1)] - - if depth > 0 and depth <= 3: - print("Heading levels 1, 2, and 3 are allocated by this script...") - print("Offending line: '{0}'".format(line)) - print("Automatically converted to: '{0}'".format(required)) - print("(FIX YOUR RELEASE NOTES)\n\n") - - #print('Transformed "{0}" -> "{1}"'.format(current, required)) - line = line.replace(current, required) - output += explode_newlines(line) - - return output - -def read_token(filename): - """For the sake of security, paste your github auth token in a file and reference it using this function - - Expected file format (one-liner): - GITHUB_USER_AUTH_TOKEN_HERE """ - with open(filename, 'r') as f: - # Obtain the first line in the token file - token = f.readline().rstrip() - if not token: - return None + no_release_msg = b"<h3>There aren\xe2\x80\x99t any releases here</h3>" - for i, ch in enumerate(token): - if not ch.isalnum(): - raise ValueError('Invalid token: Non-alphanumeric character detected (Value: "{0}", ASCII: {1}, Index: {2}) '.format(ch, ord(ch), i)) + if no_release_msg in urlopen(url).read(): + return False - return token + return True +#------------------------------------------------------------------------------- -def pull_release_notes(tmpfile, outfile): - with open(tmpfile, 'w+') as mdout: +def pull_release_notes(org, outfile): + """ Get urls for release notes for all astroconda packages + + Only repositories that are included in ANY astroconda distribution (linux or OSX) + with tagged github releases will be included in the output release notes + rst file. + + Parameters + ---------- + org: github3 organization instance + All repositories from this org will be parsed for releases + outfile: str + Filename to write urls to. + + """ + + astroconda_packages = {item['name'] for arch in ARCHITECTURE for item in get_repodata(arch).values()} + + with open(outfile, 'w+') as mdout: # Write header (main title) print(header, file=mdout) # Sort repositories inline alphabetically, because otherwise its seemingly random order - for repository in sorted(list(org.repositories()), key=lambda k: k.as_dict()['name']): - repo = repository.as_dict() - repo_name = repo['name'].upper() + for repository in sorted(list(org.iter_repos()), key=lambda k: k.name): - # Ignore repositories without release notes - releases = list(repository.releases()) - if not releases: + if not repository.name in astroconda_packages: continue - # Write repository title - print(title.format(name=repo_name), file=mdout) + release_url = repository.html_url + '/releases' - for note in repository.releases(): - # RST is EXTREMELY particular about newlines. - body = explode_newlines(note.body) - body = transform_headings(note.body) - # Write release notes structure - print(message.format(title=note.name, - date=note.published_at, - body=body), file=mdout) + if not any_releases(release_url): + continue + print(item.format(repository.name.upper(), release_url), file=mdout) + +#------------------------------------------------------------------------------- + +def generate_release_notes(): + """Main function to create the release_notes.rst pages + """ -if __name__ == '__main__': owner = 'spacetelescope' - tmpfile = 'release_notes.md' - outfile = 'release_notes.rst' + org = github3.organization(owner) - gh = login(token=read_token('TOKEN')) - org = gh.organization(owner) + outfile = os.path.join('source', 'release_notes.rst') try: - pull_release_notes(tmpfile, outfile) + pull_release_notes(org, outfile) except GitHubError as e: print(e) exit(1) - if os.path.exists(outfile): - os.unlink(outfile) +#------------------------------------------------------------------------------- - if os.path.exists(tmpfile): - pypandoc.convert(source=tmpfile, - to='rst', - outputfile=outfile) - os.unlink(tmpfile) +if __name__ == '__main__': + generate_release_notes() diff --git a/source/release_notes.rst b/source/release_notes.rst deleted file mode 100644 index 640aea7..0000000 --- a/source/release_notes.rst +++ /dev/null @@ -1,719 +0,0 @@ -Release Notes -============= - -ACSTOOLS --------- - -ACSTOOLS v2.0.4 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-07-28 18:50:50+00:00* - -``stsci.xxx``, ``scipy``, and ``scikit-image`` are now *optional* -packages. That is, ``acstools`` would install without them but affected -task(s) will complain if they are missing. - -ACSTOOLS v2.0.3 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-07-28 17:27:15+00:00* - -Re-organize package for a cleaner look. Executable scripts are now entry -points (for Windows compatibility). Version tagging is now controlled by -``relic`` submodule. Miscellaneous clean ups that should not affect -functionality. - -ACSTOOLS v2.0.2 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-06-03 20:42:49+00:00* - -Bug fix release with a fix for outdated skimage import in satellite -detection tool. - -References: #6 - -ACSTOOLS v2.0.1 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-04-25 15:51:47+00:00* - -Bug fix release with a fix for satellite detection algorithm. - -References: #3, #4, FootPrints Ticket 8763. - -ACSTOOLS v2.0.0 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-03-17 16:37:53+00:00* - -The following changes were made since the last release in April 2014: - -- Removed standalone ``PixCteCorr`` task. Use ACSCTE step from HSTCAL - instead to have parallelization and consistent results with the - CALACS pipeline. - -- Removed ``runastrodriz`` task (moved to ``drizzlepac``). - -- Added masking, post-flash processing, iterative cleaning, and - alternative statistics to ``acs_destripe`` task. Masking is - particularly useful for polarized data. - -- Fixed bugs in ``acs_destripe`` task, including proper error handling - and pixel weighting. - -- Added new ``acs_destripe_plus`` task, which is particularly useful - for destriping subarrays with ``acs_destripe`` in the middle of - CALACS processing (between ACSCCD and ACSCTE steps). - -- Added new ``satdet`` module, which can detect and flag satellite - trails. - -- Added Python 3 support (untested). - -CALCOS ------- - -v3.1.3 -~~~~~~ - -*None* - -Most of the additions to the code were to make calcos run under Python -3. - -v3.1 -~~~~ - -*None* - -Calcos 3.1 includes the following bug fixes and features: - -Allow flux extraction from 0 to 100% -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The latest version of calcos (3.0) throws an IndexError when the range -of the 2zxtab is 0 to 100%. Handle this case separately, always -integrating over the whole height of the extraction box to duplicate the -behavior of the boxcar - -option. - -Ignore DQ flag DQ\_GAIN\_SAG\_HOLE in background regions in profile alignment step -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -CALCOS uses DQ flags in the profile alignment step, omitting columns -that have a pixel DQ value that contains any value in SDQFLAGS (read -from science data header). The flagging of large areas with gain sag -holes after the move to LP3 has made it very difficult to find -background regions that won't cause whole columns be omitted from the -alignment step, possibly resulting in not enough good columns to do the -alignment correction. - -To alleviate this, pixels in the background region should be able to -test against a different DQ value (e.g. one without the -DQ\_GAIN\_SAG\_HOLE value) from pixels in the target region. - -Shift DQ data array the same as data array in TRCECORR and ALGNCORR steps of calcos -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The data arrays are shifted in the Y direction in the TRCECORR and -ALGNCORR steps of calcos, but the DQ arrays are not currently shifted. -The DQ arrays should be shifted in the same way that the data arrays are -in the ALGNCORR and TRCECORR steps. - -Fix up x1d output for boxcar option -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -There are a number of shortcomings in the x1d output of calcos if the -XTRCTALG keyword is set to 'BOXCAR'. - -1. The BACKGROUND\_PER\_ROW column is calculated incorrectly (total - background is divided by the wrong number of rows) and should be - renamed to "BACKGROUND PER PIXEL" - -2. The NUM\_EXTRACT\_ROWS column is calculated incorrectly (off by 1). - -3. The Y\_LOWER\_OUTER, Y\_LOWER\_INNER, Y\_UPPER\_INNER and - Y\_UPPER\_OUTER columns are calculated incorrectly - they are - constants whereas they should follow the linear relation using the - SLOPE and INTERCEPT from the reference file. - -Restore display format for x1d columns -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -In the 3.0 update to CALCOS, the display formats for the columns in the -.x1d output table were removed. They should be restored. - -CalCOS should print warnings for certain conditions of HOTSPOT calibration -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The new code to support hot spot flagging with the associated reference -file will need to output warnings to the user in a couple select cases. - -1. If a DQ bit in SDQOUTER is not also in SDQFLAGS, a warning should be - printed. - -2. If the PHAMIN/PHAMAX header keywords of the applied SPOTTAB are more - inclusive that what is applied to the data itself, a warning should - be printed. - -Change DQ array handling in x1d with hotspot treatment -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -With the CalCOS change to handle the hot spots and the SPOTTAB reference -file, the DQ array in the output x1d files will change slightly. - -1. The data quality value for each pixel should be given by: (DQ\_INNER) - \| (DQ\_OUTER & SDQOUTER) - -An additional check should be done to verify that the DQ\_WGT in the -x1dsum is still calculated correctly after this modification. - -Events in COS data should now be flagged using the SPOTTAB -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -To handle the hot spots in COS data, a new reference file is being -delivered (SPOTTAB) that will specify physical regions on the detector -that should be flagged if they occur during any given dataset. CalCOS -needs to flag each region given in a SPOTTAB if the time of the event -(given by START, STOP in each row) overlaps with any good-time-interval -(GTI) in the observation. - -Modules changed: - -Setup.cfg: -'''''''''' - -Version changed. - -lib/calcos/timetag.py -''''''''''''''''''''' - -Added code to shift the DQ arrays by the amount of the trace correction -and alignment correction before doppler blurring. Added code to pass the -good time intervals to modules that need it to check for active -hotspots. Added - -code to make sure that events that get shifted into the active area -after their doppler correction is applied don't cause the minimum and -maximum X shifts to be drastically wrong. - -lib/calcos/cosutil.py -''''''''''''''''''''' - -Added code to check SPOTTAB keywords, and to add active hotspots to the -DQ flags for events and the DQ arrays. Added code to shift the DQ values -of events by the amount in the trace and alignment corrections. - -lib/calcos/calcos.py -'''''''''''''''''''' - -Added code to enable use of SPOTTAB reference file - -lib/calcos/concurrent.py -'''''''''''''''''''''''' - -Updated interface to cosutil.updateDQArray - -lib/calcos/extract.py -''''''''''''''''''''' - -Renamed BACKGROUND\_PER\_ROW table column to BACKGROUND\_PER\_PIXEL. -Restored display formet to table columns. Treat DQ flags in the outer -regions if affected by a hotspot by setting DQ\_WGT to 0. DQ\_ALL column -is now the OR of the DQ flags of all pixels in the extraction region. -Fixed an indexing bug in how the extraction regions were specified. - -lib/calcos/getinfo.py -''''''''''''''''''''' - -Added SPOTTAB capability. - -lib/calcos/trace.py -''''''''''''''''''' - -Added code to make sure that gain sag holes don't affect the background -DQ values. - -lib/calcos/x1d.py -''''''''''''''''' - -Added code to pass brftab reference file to timetag.getWavecalOffsets so -that the Active Area can be determined at the time the offsets are -calculated. - -CRDS ----- - -Server-side code for opus-2016.1-4 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*None* - -This release includes context pickling optimizations to address Isilon -file system performance issues. - -CUBE-TOOLS ----------- - -*2016-08-03 15:22:50+00:00* - -DRIZZLEPAC ----------- - -Public Release of v2.1.3 -~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-04-05 19:23:04+00:00* - -This version represents the same code, with a few additional -enhancements, as the code that was installed for operational calibration -of HST data as of 23 Feb 2016. This represents a major update to the -DrizzlePac software, and also the last version with significant new -features. Future releases will focus primarily on bug fixes that affect -operational use of this code. Full support for this package can be found -at http://drizzlepac.stsci.edu. - -A brief overview of the new features and major bug fixes found in this -version (relative to what was released as part of v1.1.16) includes: - -- Full Python 2.7 and 3.5 support - -- Built-in support for automatic mosaic creation - -- Tweakreg now aligns all images in a mosaic into a single undistorted - output frame even if some images do not overlap others in the mosaic - -- Improved sky matching - -- Produce seamless mosaics using new sky matching techniques. More - details can be found in an example where these techniques are - compared. - -- Support for the improved time-dependent ACS distortion model - -- Supports the new ACS distortion calibration: Only DrizzlePac 2.0 is - able to interpret and apply the latest ACS/WFC distortion reference - files - -- Support for alignment of data from different HST cameras - -- Specify separate source finding parameters for input and reference - images to optimize source detection from images taken with different - HST cameras. - -- Support for use of inclusion/exclusion regions in image alignment - -- Improved support for WFPC2 data - -- resolved problems processing WFPC2 data which had DGEOFILEs - specified. - -- now requires user to run 'updatewcs' task on WFPC2 data to enable - astrodrizzle and tweakreg to work with them seamlessly - -- **[API change]** Use of 'updatewcs' removed from TEAL interfaces - -- User and pipeline will need to run this task independently prior to - running astrodrizzle or tweakreg - -- Python scripts calling astrodrizzle and tweakreg can still set the - 'updatewcs' parameter and have it run as part of those tasks - (presumably, the user understands when this task will wipe out - previous updates in their own script) - -- **[API change]** The user interfaces to all 3 coordinate - transformation tasks now use 'coordfile' as the input file of - coordinates to transform. The use of 'coords' has been deprecated, - but still can be used if needed. However, use of 'coordfile' will - always override any input provided simultaneously with 'coords' - parameter. Help files have been updated to document this as clearly - as possible for users. - -- Now relies on astropy for WCS, coordinate specification and I/O - libraries - -- A full 6-parameter general linear fit can now be performed using - tweakreg, in addition to shift and rscale - -- WCS keywords updated by tweakreg will result in an undistorted output - frame with NO residual skew (as represented in the CD matrix - keywords) - -The full set of Release Notes can be found at -http://ssb.stsci.edu/doc/stsci\_python\_x/drizzlepac.doc/html/release\_v2\_0\_0\_notes.html. - -FITSBLENDER ------------ - -Public Release of v0.2.6 -~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-04-05 19:35:00+00:00* - -This version of fitsblender supports the release of drizzlepac v2.1.3 as -used in the operational HST calibration pipeline and archive as of 23 -Feb 2016. It primarily includes bug fixes; namely, - -- Fixed problem with random results from fitsblender by replacing use - of dict with OrderedDict. This problem resolves issues with which - image was interpreted as first and last when looking for values to - use to populate the combined header. - -- Default pipeline processing rules files for all instruments amended - to reset FLASHCUR header value to 'multi' instead of first. - -- Simple update to insure that any keyword deletion works cleanly with - astropy by trapping any KeyError? exceptions explicitly. - -- Replace use of pyfits with astropy.io.fits. - -- Now works as-is under Python 2.7 and Python 3.5 - -HSTCAL ------- - -HSTCAL v1.0.1 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-07-07 19:36:46+00:00* - -This release is to accommodate CALACS processing for new ACS subarrays -added by FSW change done in May 2016. Particularly, BLEVCORR is modified -to trim virtual overscans off the new subarrays (old subarrays do not -have virtual overscans). No changes are made for CALWF3 and CALSTIS. - -HSTCAL v1.0.0 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-03-17 17:46:33+00:00* - -The following changes were made since the last release in April 2014, -broken down by sub-components: - -General -^^^^^^^ - -- Fixed compilation warnings. - -WFC3 (v3.3) -^^^^^^^^^^^ - -- A new processing step, FLUXCORR, was added to the UVIS pipeline, and - is performed at the end of processing. It will scale the chip2 image - using the new PHTFLAM1 and PHTFLAM2 values in the IMPHTAB. New flat - fields for all filters, as well as a new IMPHTTAB have been delivered - by the team for this step to be completely implemented. - -- The CTE correction has been implemented for all full-frame UVIS data. - This is done in conjunction with a full run through of the pipeline - code without the CTE correction applied, such that both CTE corrected - and non-CTE corrected output files are saved. This correction is for - the same reasons as in ACS, but the CTE correction algorithm is - different; it is applied to the raw file instead of later in the - processing. Some sections of the CTE code support parallel processing - with OpenMP. The default for calwf3 is to use all available - processors. To restrict processing to 1 cpu use the flag -1 in the - call to calwf3.e The CTE processing is controlled with the PCTECORR - keyword. New CTE corrected output products will be produced at all - stages which involved changes to most of the controlling routines and - output trailers. See the team documentation for more complete - information on the updates. - -- In conjunction with the CTE correction, a standalone interface - ``wf3cte`` was created to perform just the CTE correction, similar to - ``wf32d`` etc. - -- Sink pixel detection is now performed in the UVIS pipeline for - full-frame images, using the SNKCFILE reference image, and the - science data DQ mask is updated with the detections. The reference - image has 2 extensions, each in the pre-overscan trimmed format. This - step is performed if DQICORR is PERFORM, and is done before BLEVCORR - while the science image is still untrimmed. - -- Some of the new reference files required new code to read them, - including the new format for the UVIS IMPHTTAB associated with the - FLUXCORR step - -- The default CRCORR behavior for IR SCAN data will now be set to OMIT - by default so that the resulting calibrated image is last read - - first read instead of the fit to the ramp. - -- All IR scan related keywords formerly in the SPT file will also be - present in the FLT file - -- For UVIS and IR, a copy of the CSMID keyword, formerly in the SPT - will also be in the FLT file, CSMID lists the channel select - mechanism ID. - -- bug fix: nrej initialized in ``wf3rej`` so that REJ\_RATE reported - consistently correct for the IR pipeline - -- bug fix: a wfc3 uvis association which specifies multiple products - wont finish processing and segfaults - -- An assortment of memory leaks were fixed - -- Explicit error added to report a non-WFC3 image used as input to the - pipeline - -- updated text in ``wf3rej`` to report that Astrodrizzle should be used - to align images instead of PyDrizzle since that’s how it’s advertised - to users - -- fixed SEGFAULT error in reference file checking when iref environment - variable not set by user, so can’t find file - -ACS -^^^ - -- Added support for 2K subarrays in PCTECORR. - -- ``acs2d.e`` reads calibration flags from image header instead of - command line. - -- Improved temporary file handling. - -- Improved error message if input image does not belong to ACS. - -- Added support for very long input list for ACSREJ. - -- Fixed memory leaks (non-critical). - -JWST\_VISIBILITY ----------------- - -*2016-08-01 19:12:06+00:00* - -The first tagged release of the tool for internal and external testing. -Target visibility plots from this tool should **always** be checked -against APT for consistency, as this tool does not account for all of -the same constraints (and is not intended to). - -PYRAF ------ - -Version 2.1.10.1 -~~~~~~~~~~~~~~~~ - -*2016-06-23 15:32:40+00:00* - -This is not a real release of PyRAF per-se, but it's first git/github -tag. - -PYSYNPHOT ---------- - -PySynphot v0.9.8.4 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-08-15 15:50:59+00:00* - -Fixed a bug of inconsistent ``waveset`` definitions across different -objects. Cleaned up setup files. Now uses ``relic`` submodule for -version tagging. - -PySynphot v0.9.8.3 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-07-07 21:09:08+00:00* - -Moved ``data``, ``test``, and ``src`` directories one-level down for -AstroConda. Minor documentation related updates. Typical users should -not see significant changes between this release and the previous -release of 0.9.8.2. - -PySynphot v0.9.8.2 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-03-17 17:20:03+00:00* - -The following changes were made since the last PyPi release (v0.9.7) in -October 19, 2015: - -- Updated spectra data including ACS ``wavecat`` and Vega reference - spectrum. - -- Replaced PyFITS dependency with ``astropy.io.fits``. - -- Added a lot of documentation and tutorials. - -- Bug fixes. - -- Python 3 support (untested). - -REFTOOLS --------- - -REFTOOLS v1.7.3 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-08-08 18:17:10+00:00* - -Fix AstroConda build by making TEAL import in ``tdspysyn`` completely -optional. - -REFTOOLS v1.7.2 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-08-02 15:30:44+00:00* - -Reorganized and cleaned up package. Updated documentation. Marked some -tests as expected failures. Overall, none of these changes should affect -end-user. - -REFTOOLS v1.7.1 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-03-17 16:55:15+00:00* - -The following changes were made since the last release in April 2014: - -- Added ``interpretdq`` module to interpret individual DQ flags from DQ - array. - -- Updated ``mkimphttab`` to handle WFC3 photometry keywords. - -- Replaced old ``stsci.*`` dependencies with SciPy. - -- Added Python 3 support (untested). - -SPECVIEW --------- - -Pre-release for May2015 JWST DA User Training -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2015-04-28 15:44:58+00:00* - -SPECVIZ -------- - -v0.2.1rc5 -~~~~~~~~~ - -*2016-07-19 13:20:03+00:00* - -Same as RC4, except we fixed ``ConfigParser`` compability with Python 3. - -v0.2.1rc4 -~~~~~~~~~ - -*2016-07-12 18:05:38+00:00* - -This release incorporates the specutils package, replacing the -previously used base spectrum object with the specutils object. - -v0.2.0rc3 -~~~~~~~~~ - -*2016-06-20 23:44:13+00:00* - -This release contains fixes and usability improvements from our first -round of internal testing. Its main priorities include: - -1. Remove dependency on Qt Creator - -2. Reincorporate all our tools as plugins - -It introduces a new plugin architecture for user-created extensions. - -v0.1.2rc3 -~~~~~~~~~ - -*2016-05-18 16:19:40+00:00* - -Minor improvements to: - -- unit behaviors - -- modelling behaviors - -- updated installation documentation - -v0.1.1rc3 -~~~~~~~~~ - -*2016-04-20 15:50:23+00:00* - -Minor bug fixes. - -v0.1.0rc3 -~~~~~~~~~ - -*2016-03-17 19:14:04+00:00* - -Feature complete (for this release) version of SpecViz. However, -usability bugs and minor tweaks are still to be expected. - -v0.1.0rc2 -~~~~~~~~~ - -*2016-02-15 17:55:20+00:00* - -- Installation improvements - -- Model fitting - -- ASCII table ingestion implemented - -- Bug fixes - -STGINGA -------- - -stginga 0.1.2 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-07-12 20:30:51+00:00* - -Added background mean calculation to ``SNRCalc`` local plugin. Removed -``unicode_literals`` from imports. - -stginga 0.1.1 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-07-07 18:40:22+00:00* - -This is a bug fix release that fixed ConfigParser error in Python 3. -Also updated astropy\_helpers to v1.2. - -First stginga release -~~~~~~~~~~~~~~~~~~~~~ - -*2016-06-21 21:23:26+00:00* - -Mostly working. Why not? - -STSCI.TOOLS ------------ - -stsci.tools v3.4.1 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-03-17 17:08:24+00:00* - -The following changes were made since the last release in October 19, -2015: - -- New ``convertlog`` task, which converts ASCII trailer files into FITS - files to replace use of IRAF ``stwfits`` in HST pipeline operations. - -- Bug fixes. - -- Python 3 support. - -WFPC2TOOLS ----------- - -WFPC2TOOLS v1.0.3 Release Notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -*2016-03-17 16:44:13+00:00* - -The following changes were made since the last release in April 2014: - -- Replaced old ``stsci.*`` dependencies with SciPy. - -- Added Python 3 support (untested). diff --git a/source/rtd-pip-requirements.txt b/source/rtd-pip-requirements.txt new file mode 100644 index 0000000..f4f11b4 --- /dev/null +++ b/source/rtd-pip-requirements.txt @@ -0,0 +1 @@ +github3.py |