Change History

Note

Python 2 end of support

spec2nexus stopped development for Python 2 after release 2021.1.7, 2019-11-21. For more information, visit https://python3statement.org/.

Production

2021.1.8:

released 2020.11.10

  • #221
    move CI from travis-ci to Github Actions, test with python 3.8
  • #217
    raise ValueError when #L and #N lines do not agree
2021.1.7:

released 2019-11-21

Note: Last version with support for Python 2

  • #213
    copy data file to gallery
  • #208
    add more diagnostics to gallery web page comments
  • #191
    write each positioner to NXpositioner group
  • #188
    catenate continued lines before parsing data
  • #186
    remove unused code
2021.1.6:

released 2019.11.01

  • #210
    add -c prjemian conda channel
2021.1.5:

released 2019.11.01

  • #209
    pyRestTable added to installation requirements
2021.1.4:

released 2019.10.18

  • #206
    specplot_gallery: replot shows all existing plots
2021.1.3:

released 2019.08.19 - only update plots with new content

  • #202
    specplot_gallery: switch to SVG (from PNG) for plots
  • #201
    spec: subsequent calls to read() duplicate scans – FIXED
  • #126
    spec: new update_available property
  • #108
    specplot_gallery: only update plots with new content
2021.1.2:

released 2019.08.15, plugin enhancements

  • #197
    plugins: handle empty empty #O0 or #P0 list
  • #195
    drop CII badge: not useful to spec2nexus
  • #190
    writer: link content into NXinstrument group
  • #51
    plugins: interpret #Gn control lines
2021.1.1:

released 2019.07.22, refactor

  • #181
    plugins: revised technique to load control line handlers
2021.1.0:

released 2019.07.15, new features

NEW

  • support for #UXML metadata
  • support for hklscan scans
  • improved support for mesh and hklmesh scans
  • #159
    handle #UXML metadata control lines
  • #155
    module: writer - recognize hklscan
  • #150
    module: writer - increase coverage of unit tests: mesh, hklmesh
  • #148
    module: eznx - increase coverage of unit tests
2021.0.1:

released 2019.07.13, plugin loading and documentation

  • #170
    describe how to write & load Control Line Handler plugins
  • #169
    announce deprecation of python 2
  • #165
    resolve conda build error
  • #149
    unit tests: units module
2021.0.0:

released 2019.07.12, API change affecting plugins

API change: Changed how plugins are defined and registered. Custom plugins must be modified and import code revised to work with new system.

  • #168
    plugins are now self-registering
  • #166
    fix conda packaging
2020.0.2:

released 2019.07.09, bug fixes and code review suggestions

NOTE: conda package is broken (no plugins directory). Only use pip install spec2nexus with this release.

  • #164
    post conda packages to aps-anl-tag channel
  • #161
    read files with no #E control line
  • #156
    LGTM code review
  • #153
    LGTM code review
2020.0.0:

released 2019.05.16, major release

  • #145
    unit tests for header content
  • #144
    eznx makeDataset() now recognizes if data is ndarray
  • #123
    Accept data files with no header control lines (#F #E #D #C sequence)
  • #113
    unit tests for eznx
  • #70
    remove h5toText, find this now in punx package
2019.0503.0:

released 2019.05.03, tag

  • #142
    DuplicateSpecScanNumber with multiple #F sections
  • #137
    (again) bug in #U control line handling
2019.0501.0:

released 2019.05.01, tag

  • #137
    bug in #U control line handling
  • #140
    change: #U data goes into <object>.U list (name changed from UserReserved)
2.1.0:

2019.04.26, release

  • #135

    switch to semantic versioning

  • #133

    support user control line “#U ” with plugin

  • #131

    support #MD control lines from apstools.SpecWriterCallback

  • #125

    fluorescence spectra in files for RSM3D

  • #120

    do not mock six package in documentation

  • #119

    delimiters in #H/#V lines with or without text values

  • #116

    process data from spock

    see [release notes](https://github.com/prjemian/spec2nexus/wiki/releasenotes__2-1-0)

    It takes a couple steps to upgrade an existing conda installation from version 2017.nnnn to newer version 2.1.0

    • add a declaration of spec2nexus < 2000 in the conda-meta/pinned file in the conda environment
    • conda update -c prjemian spec2nexus (should change to 2.1.0)

    It may still be necessary to uninstall and reinstall spec2nexus to effect an update:

    conda uninstall -y spec2nexus conda install -c prjemian spec2nexus

2019.0422.0:

(tag only)

  • tag as-is, for issue #131
2019.0321.0:

(tag only)

  • tag as-is, post conda noarch package and post to pypi
2017.901.4:
  • #62
    support Python3
  • #112
    merge py3-62 branch
  • #111
    Change raise statements to use parens around arguments. Affects issue #62
  • #114
    travis-ci for python 3.5 & 3.6
  • #107
    Problems accessing SpecDataFileScan.data
  • #95
    document final release steps
2017.711.0:
  • #110
    Ownership of info between #L/data & #S n
  • #109 Spaces in data labels on #L and other lines
2017.522.1:
  • #105 ignore extra content in #@CALIB control lines
  • #104 use versioneer (again)
  • #101
    documentation URL & date/time added to every gallery page
  • #100 conda package installs properly on Windows now
  • #99 BUG: specplot_gallery: plots of hklscan from file lmn40.spe
  • #98 BUG: specplot_gallery: identify as directory not found
  • #52 remove deprecated prjPySpec code
2017.317.0:
  • minor update of the 2017.3.0 release
2017.3.0:
  • #103 changed converters back to utils
  • #97 PyPI project description now formatted properly
  • #90 use versioneer (again)
2017-0202.0:
  • #99 fix list index error in hklscan when hkl are all constant
  • #96 combine steps when publishing to PyPI
2017-0201.0:
  • milestone punch list
  • #73 refactor mesh and MCA data parsing code
  • #67 apply continuous integration via travis-ci
  • #66 add verbosity option
  • #65 apply unit testing
  • #64 extractSpecScan: fixed list index out of range
  • #63 extractSpecScan: command line option to select range of scans
  • #56 specplot and specplot_gallery: add from USAXS instrument and generalize
2016.1025.0:

standardize the versioning kit with pyRestTable and pvWebMonitor

2016.1004.0:
  • #61 release info from git (dropped versioneer package)
2016.0829.0:
  • #60 Add new plugin test for XPCS plugin (thanks to John Hammonds)
2016.0615.1:
  • #57 keep information from unrecognized control lines,
  • #56 add specplot support,
  • #55 accept arbitrary number of MCA spectra
2016.0601.0:

match complete keys, use unix EOL internally, do not fail if no metadata

2016.0216.0:
  • #36 identify NIAC2014-compliant NeXus files
2016.0210.0:

bugfix: eznx.makeGroup() now correctly sets attributes on new group + documentation for NIAC2014 attributes

2016.0204.0:
  • #45 handle case when no data points in scan ,
  • #46 spec.getScan() ensures argument is used as str
2016.0201.0:

added spec.getScanNumbersChronological(), spec.getFirstScanNumber(), and spec.getLastScanNumber()

2016.0131.0:
  • #43 support new NeXus method for default/signal/axes/_indices,
2016.0130.0:

fixed #44

2015.1221.1:
  • #40 added versioneer support
2015.1221.0:
  • #39 read scans with repeated scan numbers
2015.0822.0:

extractSpecScan: add option to report scan heading data, such as positioners and Q

2015.0214.0:

h5toText: handle HDF5 ‘O’ data type (variable length strings)

2015.0127.0:

spec: ignore bad data lines

2015.0125.0:

spec: change handling of #L & #X, refactor detection of scanNum and scanCmd

2015.0113.0:

dropped requirement of lxml package

2014.1228.1:

spec: build mne:name cross-references for counters and positioners

2014.1228.0:

show version in documentation

2014.1028.0:

spec: quietly ignore unrecognized scan content for now

2014.1027.1:

spec: major changes in SPEC file support: custom plugins

  • spec based on plugins for each control line, users can add plugins
  • declared prjPySpec module as legacy, code is frozen at 2014.0623.0 release
  • added spec module to replace prjPySpec
2014.0623.0:

updated argparse settings

2014.0622.2:

added extractSpecScan.py to the suite from the USAXS project

2014.0410.0:

restore scan.fileName variable to keep interface the same for some legacy clients

2014.0404.1:

fix sdist utf8 problem, see: http://bugs.python.org/issue11638

2014.0404.0:

tree_api_parser moved back into NeXpy project

2014.0320.6:

handle multiple header sections in SPEC data file

2014.0320.5:

fix the new project URL

2014.0320.4:

Sphinx cannot build PDF with code-block in a footnote

2014.0320.3:

note the new home URL in the packaging, too, drop nexpy requirement, default docs theme

2014.0320.2:

tree_api_parse will go back into nexpy project, remove docs of it here

2014.0320.1:

allow readthedocs to build Sphinx without extra package requirements

2014.0320.0:
  • new home page at http://spec2nexus.readthedocs.org, easier to publish there
  • move common methods from __init__.py so docs will build at readthedocs.org
  • new test case fails existing SPEC reader, ignore blank lines
2014.03.11:

documentation

2014.03.09:

h5toText: option to suppress printing of attributes, put URLs in command-line usage documentation, better test of is_spec_file()

2014.03.08:

fixed string writer and content display bug in eznx, added h5toText.py, prjPySpec docs improved again

2014.03.051:

prjPySpec now handles SPEC v6 data file header additions, add new getScanCommands() method

2014.03.04:

(2014_Mardi_Gras release) removed nexpy project requirement from setup, prjPySpec raises exceptions now

2014.03.02:

drops nexus tree API (and its dependencies) in favor of native h5py writer

Development: GitHub repository

2014.02.20:version number fits PEP440, LICENSE file included in sdist, more documentation and examples
2014-02-19:reference published documentation (re-posted)
2014-02-19:add documentation framework
2014-02-18:fork to GitHub to make generally available

Development: NeXpy branch

2014-01:

briefly, a branch in https://github.com/nexpy/nexpy

  • spec2nexus added during this phase
  • relies on nexpy.api.nexus for NeXus support

Production: USAXS livedata

2010-2014:

production use

2000-2010:

Tcl code (readSpecData.tcl) in production use at APS sectors 32, 33, & 34