This page contains ideas for code refactoring ideas and hack proposals for the LSST2017 meeting. The "Hack Lounge" is open from Monday morning to Thursday evening in the COTTONWOOD room. On Friday the Python 3 session is in ASTER II.
Please edit this page with ideas. Larger changes should get their own confluence page linked from here. Standalone tasks should be linked to JIRA tickets that should be included below.
Use pytest as test runner
See - RFC-370Getting issue details... STATUS and - DM-11514Getting issue details... STATUS .
To use the pytest test runner you will need to use lsstsw rebuild with:
$ rebuild -r tickets/DM-11514 -r tickets/DM-11514-base
The first step is to have a clean build of lsst_sims
and lsst_ci
with the above ticket branches. If everyone is happy with the way pytest is working we can then merge these changes and start making changes that depend on this.
- For each package that has had the tests renamed as
test_
(see next entry) you can setpyList=[]
in thetests/SConscript
file to enable automatic test discovery. - Once automatic test discovery is enabled you can enable flake8 testing by copying in a
setup.cfg
from, for example, theshapelet
package. (see also the one inmeas_base
which shows how to disable some flake8 tests per file).
Test file renaming and removing executable bit (Jonathan Sick)
Migrate from pyfits to astropy.io.fits
- afw
- daf_butlerUtils
- galsim (looks like this just needs edit to table file)
- obs_base
- obs_subaru
Flake8 fixes
For each package, make it flake8 clean and update the travis settings in the repository to use flake8 to check each pull request.
As we make packages flake8 clean and "pytest" clean we can add the --flake8
option to pytest so that flake8 consistency is checked during test phase.
Update Flake8 to check docstring/comment line length independently of code line length
See https://github.com/PyCQA/pycodestyle/issues/344
John Parejko and Paul Price have expressed interest in leading this one. Jonathan Sick might have some ideas on where to implement.
Warnings from tests
Many tests generate warnings (3 tests in afw), we should assess these and try to fix them.
Many tests trigger deprecation warnings. afw
issues some for incorrect assert
calls. Run pytest -Wd
to display all the warnings – afw
currently has 123 warnings.
SAL Updates (Dave Mills / Unknown User (pschella))
- Pybind11
- Python 3
- Ndarray?
Migrate to matplotlib2? (Michael Wood-Vasey?)
We will need an RFC to change the minimal version of matplotlib
, but we can use this week to demonstrate the benefits from that change.