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  and .


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.

Test file renaming and removing executable bit (Jonathan Sick)

Migrate from pyfits to astropy.io.fits

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))

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.