-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Minutes for Astropy Meeting 2018
This is a summary written by Pey Lian Lim based on the main meeting document for Astropy Coordination Meeting at NOAO in Tucson, AZ, which ran from December 3-7, 2018. The meeting was generously hosted by NOAO, Gemini, and LSST. This meeting was bound by Astropy Code of Conduct and AURA Code of Conduct.
The following people, ordered alphabetically by last name, were present at least partly throughout the meeting (people who only showed up during sprint days are not included):
- Tom Aldcroft (Center for Astrophysics | Harvard & Smithsonian)
- Ken Anderson (Gemini Observatory; remote)
- Matteo Bachetti (INAF-Osservatorio Astronomico di Cagliari; remote)
- Jim Bosch (Princeton University; remote)
- Larry Bradley (STScI; remote)
- Simon Conseil (CRAL, Univ Lyon1, CNRS; remote)
- Matt Craig (Minnesota State University Moorhead)
- Steve Crawford (STScI)
- Kelle Cruz (CUNY Hunter College)
- Lia Corrales (University of Michigan)
- Dan D’Avella (STScI; remote)
- Nadia Dencheva (STScI)
- Gregory Dubois-Felsmann (Caltech/IPAC; remote)
- Nick Earl (STScI)
- Glenn Eychaner (Datalab/NOAO/AURA)
- Mike Fitzpatrick (NOAO)
- Adam Ginsburg (NRAO)
- Tatiana Goldina (Caltech/IPAC; remote)
- Perry Greenfield (STScI)
- Leanne Guy (LSST; remote)
- Tim Jenness (LSST)
- Stephanie Juneau (NOAO)
- Kathleen Labrie (Gemini Observatory)
- Pey Lian Lim (STScI)
- Stuart Mumford (The University of Sheffield)
- Robert Nikutta (NOAO)
- Dara Norman (NOAO)
- John Parejko (University of Washington; remote)
- Tim Pickering (MMT Observatory)
- Adrian Price-Whelan (Princeton University)
- Bruno Quint (SOAR Telescope; remote)
- Tom Robitaille (Aperio Software Ltd.)
- Trey Roby (Caltech/IPAC; remote)
- David Shupe (Caltech/IPAC)
- Jonathan Sick (LSST)
- Chris Simpson (Gemini Observatory; remote)
- Brigitta Sipocz (DIRAC Institute, University of Washington)
- Megan Sosey (STScI)
- Joanna Thomas-Osip (Gemini Observatory; remote)
- Erik Tollerud (STScI)
- James Turner (Gemini Observatory; remote)
- Marten van Kerkwijk (University of Toronto; remote)
- Ben Weaver (NOAO)
Agenda summary:
The focus for this day was the Astropy core package.
Tom Aldcroft presented the status of the Astropy core package to start off
relevant discussions. This was followed by subpackage maintainers providing
updates to their respective subpackages. There had been great progress since
the last meeting; e.g., dropping Python 2 support in 3.0, implementing APE 14
for WCS, velocities in coordinates, new uncertainty
subpackage, and
performance enhancements in 3.1. Furthermore, citation of Astropy in other
works was increasing rapidly, partly a reflection of community and journal
standards. On the Google Summer of Code (GSoC) side, Astropy had been active
since 2013, mentoring 2-7 students per summer.
Sustainability remains an open issue, as top 15 contributors were responsible
for 85% of the commits and 80% of the comments. Several subpackages (i.e.,
cosmology
, io.ascii
, io.misc
, io.fits
, io.votable
, modeling
, samp
,
stats
, table
, time
, and wcs
) were in need of help. For a complicated
subpackage such as io.fits
, it was particularly difficult to find a lead
maintainer without institution support. Perhaps ASDF would replace FITS but
not in the near future. Meanwhile, io.misc
should probably have at least
one maintainer per format (e.g., HDF5 and ASDF).
There was also a need for more people on the team with broader knowledge of the
code base; i.e., contributors who are comfortable with reviewing code that
is not "theirs." In addition, there was desire to expand the team of core
contributors, more so than one-time contributors.
Nadia Dencheva presented a post-3.1 release analysis. The release, which
happened during the meeting, involved 250 pull requests (34 were related to
performance enhancements) and 107 contributors (60 of which were new).
There were some significant speed-ups and new benchmarks
(e.g., convolution
, coordinates
, stats
, and units
). However, not all
concerns from the performance survey were addressed (e.g., io.ascii
,
io.fits
, modeling
, and table
).
The lack of adherence to feature freeze deadline led to extra burden on the release manager. Some ideas to improve the process were discussed, including but not limited to separating "feature" and "code" freezes.
Despite the success, Astropy still had work to be done. Among them was
consolidating units
subpackage with unyt
, which originated from the yt
project. David Shupe led this discussion, along with Erik Tollerud and
Marten van Kerkwijk. Astropy's units
subpackage is not very accessible
outside the astronomy community, yet there were reasons to not replace it
altogether with unyt
(e.g., overhead of refactoring with little performance
gain and reliance on sympy
).
Therefore, it was deemed beneficial to instead implement an interoperability layer between them. Such a project, albeit experimental, could possibly be funded by NumFOCUS or GSoC. Marten was to spearhead this effort, starting with #8213.
There was also a Coord
package by LSST DESC, which duplicated
functionality of coordinates
subpackage; This was brought up but not
discussed in great detail.
NDData: Currently, it had container classes (e.g., NDData
, NDDataArray
,
and CCDData
) and three uncertainty classes. Enhancements such as APE 11,
pixel origin, bit plane/mask operations, and memory mapping were discussed.
Gemini Observatory had adopted NDDataRef
for their DRAGONS and astrodata
packages. Handling of large data cubes, including relevant packages such as
MPDAF and spectral-cube
, was also discussed with the conversation being
continued on Astropy Slack's #cubes
channel.
pandas and table: Better interoperability between pandas
and the table
subpackage was desired to leverage other developer efforts and to reduce
duplication of functionality. Completely replacing table
with pandas
was
currently not feasible due to differences in masking, etc. Thomas Robitaille
would submit feature requests to pandas
in the hope that it would be possible
to rely on them more in the future. Meanwhile, Tom Aldcroft would improve
interoperability via #8247.
Kelle Cruz would ask for a small grant from NumFOCUS to fund more related work.
ASDF and FITS: STScI no longer had resources to maintain io.fits
unless
it was a critical and necessary fix. DKIST had adopted ASDF usage; using FITS
was merely because it was a requirement. Regardless of format, there was a
desire for C/C++ library as well as Python. Performance and common API were
also discussed. STScI would commit resources to assist with ASDF usage.
coordinates: Documentation and API enhancements were discussed. There
was a desire for easier to discover documentation. It was agreed to prioritize
programmatic leap second support
and hence addressing a related issue regarding implementing a new and separate
Python bindings to ERFA library, which is then bundled with Astropy. Concerns
regarding network calls by EarthLocation
and IERS in batch jobs were also
raised.
modeling: Perry Greenfield's pull request to refactor the modeling
subpackage was discussed. It would disable combining model classes and only
allow combining instances. There was a suggestion to make Model.parameters
private. Fitting and serializing compound models with quantities and
equivalencies were desired and should be easier to implement after this
refactoring.
Time series: APE 9 and astropy-timeseries
were discussed. AAS wanted more
interactive figures, so this would be a priority. A goal was to make it easy
to do from Astropy.
Erik Tollerud gave a talk detailing Astropy's governance structure, followed by discussions. Coordinating committee (CoCo) remained the top-most governing body, followed by ombudsperson, core team, and coordinated package maintainers. Astropy still followed a consensus model and mostly funded by NumFOCUS. Following Guido's retirement from the CPython project, Astropy submitted its governance structure to PEP 8002 for consideration.
Roadmap was deemed necessary for big-picture planning and securing funding.
An example was presented for astropy-timeseries
, which was funded by AAS.
The roadmap needed to state Astropy's direction in the next few years and
any plans for future papers. Several funding options were discussed, with
emphasis on sustainability. Funding proposals would be distributed to core
maintainers' mailing list for review.
It was decided, by concensus made while CoCo was temporarily removed from the room, that the current CoCo was doing a good job. However, there was still a need to define a "step down" procedure and to revise the governance structure to scale with the project; Writing down the current structure would help identify weak spots.
The effectiveness of lead/deputy roles were called into question. Some current subpackage maintainers wished to step down from their roles but there was no one to fill their shoes. Meanwhile, some were named in the roles but were not active. Furthermore, people not listed in those roles were reluctant to review pull requests. Last but not least, not all roles were created equal but such inequality was not reflected on Astropy's webpage. Some suggestions to remove or rename roles were voiced.
There was unanimous concensus to better recognize first-time contributors by highlighting their names in release announcements, similar to what SunPy did. More thoughts were needed on how to better recognize significant contributions.
Adrian Price-Whelan led the discussion on writing white papers for the Astro2020 decadal survey, covering years of 2022-2032, in anticipation of calls for "State of the Profession" and "Project" topics. Fiona Harrison and Rob Kennicutt had been named chairs for the panel. Papers would be due on February 18, 2019.
The papers would champion for open source software (OSS), related infrastructure, and training/education/career development. Ideas were solicited for different software needs, recommendations, funding paths, and dispelling common misconceptions regarding OSS, among other things.
The focus for this day was the Astropy ecosystem.
Thomas Robitaille presented a talk on the status of the Astropy ecosystem beyond the core package, which included infrastructure, tutorials, and affiliated packages (coordinated or otherwise). The ecosystem now contained 41 affiliated packages. Their review process was revamped.
There was a need to trim tools that were no longer suitable for the project (e.g., UserEcho). A new place was needed for feature requests currently in UserEcho, preferably the same place as the roadmap, with link from tutorials website. Astropy had since abandoned Gitter and IRC, focusing instead on Slack and its Matrix bridge.
As for infrastructure, astropy-helpers
was in need of refactoring;
but meanwhile, it was at least better documented.
Some code (e.g., documentation and test helpers) was broken out into separate
packages for ease of maintenance. A generic portion of astropy-bot
was also
broken off into baldrick
in the Open Astronomy GitHub organization for wider
use.
A mechanism for distributing infrastructure updates besides
astropy-helpers
to relevant package was needed; This was an overhead that
came with having an ecosystem. Even with this in place, some package
maintainers might not desire such updates. Proper tagging of Astropy package
template was also requested.
Last but not least, Lia Corrales successfully led the tutorials effort, including a GSoC project to redesign the tutorials website.
Nadia Dencheva presented status of current contributors and led the discussion on ways to recruit new developers. Conferences such as SciPy, PyCon, and ADASS might be good venue for recruitment. Workshops also provided opportunity for users to become contributors. GSoC remained a hit-or-miss recruiting venue as the summer students stopped being contributors as they went on to different career paths. The best result still came from institutions or managers giving dedicated time to developers to work on the Astropy project. The challenge to convince Director-level management to provide developer time remained.
There was a need for "road warriors" to attend the aforementioned conferences as part of the recruiting effort. In spite of Astropy's rising recognition (e.g., Megan Sosey was thanked at PyCon for the project), some road blocks remained (e.g., Astropy workshop proposal was not accepted for ADASS 2018). There was also concern that sprints might not be the best way to recruit and retain the "top 15" contributors. The current contributors got involved in the project for various reasons; e.g., needed something for work/research, GSoC, Python in Astronomy, and interest in OSS.
CoCo made an action item to look into ways to identify potential talents and recruit them. Perhaps improving the process for first-time contributors would also help in this regard.
Steve Crawford presented a talk about inclusivity in the Astropy project and led the ensuing discussion. In the recent Astropy 2.0 paper (Astropy Collaboration, 2018), the word "inclusive" was removed from its title based on referee feedback. Astropy had since established contact with NumFOCUS DISC program as a follow-up. Currently, as ranked by inequality of underrepresnted groups in PyData leadership, Astropy was not doing so badly as it was ranked 8th in equality out of 24. Still, there was work to be done.
One suggestion was to translate Astropy webpages to other languages using available resources such as Weblate. In addition, the recruitment process could also expand to underrepresented groups; e.g., from the LSSTC Data Science Fellows pool. Meanwhile, current maintainers were encouraged to take implicit bias tests for better understanding of our own unconcious biases.
Nick Earl gave an update on specutils
package. It was abandoned for a while
but now undergoing active development and currently included features such as
region operations, analysis functions, spectral arithmetic, spectral fitting,
and line finding. Future enhancements would include stellar population models
in fitting and support interpolation into new wavelength grids.
Binned spectra was not yet supported. Its developers were soliciting more
examples of complete workflows.
Brigitta Sipocz led the discussions on testing in Astropy, with a focus on possible enhancements that would increase productivity.
It was agreed upon that we should use nightly builds provided by our
dependencies (e.g., Numpy, SciPy, and Matplotlib) for more robust testing
against upstream changes and faster continuous integration (CI) turnaround.
The switch to using tox
was also discussed and reception was generally
favorable. This also led to discussion on the desire of refactoring of
Astropy's test runner and getting rid of setup.py test
command altogether.
An improved CI dashboard
was desired, particularly for testing downstream affiliated packages against
development version of Astropy core (astropy-dev
). This is to avoid finding
bugs too late, especially after a major release. Perhaps astropy-bot
could
even open issues downstream if something in astropy-dev
broke the affected
packages.
Stuart Mumford suggested retiring pytest-remotedata
and switching to
pytest-socket
, to which Dan D'Avella seconded. There was concern about
overhead and possibility of the latter being abandoned. Other ideas raised
included trying out Azure pipeline and Travis CI with Docker.
Brigitta Sipocz also led the discussion on the Astropy infrastructure.
There was a concensus to remove tools that were no longer necessary to
reduce maintenance burden. There was also desire to get rid of astropy-helpers
as
a git submodule
and either reducing it into a single file or removing it
altogether. Dan D'Avella mentioned that pyproject.toml
could be used to
ensure dependencies were installed before setup.py
was run, thus replacing
parts of astropy-helpers
.
There was a need for a visible place to announce known CI issues
(e.g., pytest
such-and-such broke this-and-that); Suggestions included
pinning annoucements on Astropy Slack's ci-issues
channel and informing
some sort of GitHub Team. A better remote data solution was also needed;
suggestions included git lfs
(limitation with free version), Zenodo
(very flaky), and Dropbox/Box (not free).
Lia Corrales presented a talk on the history and status of Astropy tutorials. Tutorials were useful in testing a user's workflow, finding bugs, identifying missing features, and testing effectiveness of existing documentation. The effort ramped up after obtaining funding and after a targeted workshop at University of Wisconsin–Madison. Currently, there were 16 tutorials and growing. Telecons were held every Tuesday. Planning was done with GitHub project board. Furthermore, funding was secured to pay for a copy editor. During GSoC 2018, Manan Agrawal helped revamp and launch learn.astropy.org. Ensuing discussion included usage of Google Colaboratory in new tutorial development, testing the notebooks, and long-term goals. Kelle Cruz and Erik Tollerud did a related fact-finding survey and would distribute the results when available.
- "Spectroscopy: Automated wavelength calibration" by Chris Simpson
- "Instant Messaging" by Stuart Mumford
- "Astroquery update" by Adam Ginsburg and Brigitta Sipocz
- "Astrodata" by Kathleen Labrie
- "Ginga demo that loads ASDF and ASDF-in-FITS" by Pey Lian Lim
Thomas Robitaille led the discussions on Astropy affiliated packages. CoCo had been reviewing outstanding applications, with three left to be done. Steve Crawford and Erik Tollerud would approach Arfon Smith in regards to incorporating JOSS reviews as part of the application. Astropy could provide JOSS with an editor and a list of possible reviewers.
The discussion then moved on to when to merge affiliated packages destined for
the core package. Merging them would ease the installation process for users,
while not merging would reduce CI complications. There was also the question on
whether cosmology
and samp
really belonged in the core. Criteria used to
determine whether a package is ready to be merged: Stable, useful, and received
positive user feedback. Spectrum1D
class (in specutils
), GWCS, regions
,
and timeseries
needed more development before they were ready for the core.
There was no objection against moving astropy-healpix
into the core.
On the other hand, astroscrappy
, astroquery
, ccdproc
, imexam
,
photutils
, and spectral-cube
would not be merged for their own reasons.
Coordinated packages (e.g., astroplan
, astroquery
, ccdproc
, photutils
,
and reproject
) needed a mention in the main Astropy documentation for more
exposure. "Coordinated" was a special category of affiliated that was
actively maintained by the Astropy project itself.
There was a need to better understand how users discover a functionality
(e.g., which package to use); Kathleen Labrie volunteered to be a "normal user"
in this regard and would provide feedback.
In the review of an affiliated package, requirements were assessed and each given a color-coded status, from red (worst) to green (best). Going from red to green was straight-forward because package maintainers would proactively pursue it. However, there was no procedure to re-assess, say, an abandoned package, and changing the status from green to red. This should not be another burden to Astropy maintainers, but rather should be automated (e.g., check if pull requests were getting merged, CI was passing, or date of last commit was recent, and then ping the maintainers). Where automation could not be done, perhaps we could rely on dashboard or user feedback. There was a suggestion to solicit JOSS for ideas on addressing this as well.
The focus for this day was Astropy and the astronomy community.
Kelle Cruz presented a talk on the status of the Astropy project in the astronomy community. Over the years, this project had grown to be highly regarded and well respected. Criticism such as "rude" or "snobby" was no longer an issue, though it was unclear whether the same message was now delivered differently ("too smart"). Some areas to be improved were the venues for users to get help and the barriers to becoming a contributor. For the latter, perhaps improving developer instructions or following up on comments on this Twitter thread. Most contributors were volunteers. It was still unclear on where to focus the recruiting effort.
On the social media, Facebook's "Python Users in Astronomy" group remained
very popular with over 2500 active users per month. In order to increase
inclusivity, Facebook group users would be encouraged to post in native
language. Given its popularity, scraping data for metrics and analysis on the
project was also suggested. Meanwhile, Twitter (@astropy
) was also popular
with over 2500 followers. Unfortunately, the Twitter account was abandoned
and needed a new lead, for which Matt Craig volunteered. An idea to increase
Twitter usage was to have a bot to use that account to do Astropy paper
citation announcements. Even with Facebook and Twitter, users from some
countries (e.g., China) were still excluded due to political interference.
Astropy blog or newsletter could also be another way to disseminate
information.
On GitHub, existing maintainers were doing a great job providing pull request
reviews, with some help from astropy-bot
. Despite that, faster turnaround
time was still desired but not feasible given the volunteer nature of the
project. There was a need for mentorship of new contributors.
In terms of physical presence, project members could attend conferences and present posters, which would require grant money. For instance, Brigitta Sipocz planned to present a talk on Astroquery at Winter AAS 2019. Departmental or institution visits to give talks or workshops could be possible as well (also required money). Astropy apparels were also a good way to advertise the project, whether an "earned" (for maintainers and workshop teachers) or a "bought" version. Apparels were available for sale at Astropy Logo store and NumFOCUS store.
Tim Jenness, Kathleen Labrie, and Stuart Mumford talked about collaboration between Astropy and LSST, Gemini Observatory, and DKIST, respectively.
LSST published a proceeding on
Investigating interoperability of the LSST data management software stack with Astropy
back in 2016. Two years later, the biggest challenge was interfacing between
Python (Astropy) and C/C++ (LSST). For instance, LSST used only ICRS
coordinates frame internally in its C++ layer and had user-facing code to
convert to other frames using Astropy. Other Astropy components used included
Quantity
/units
(a lot), table
, time
, nddata
, and pytest-openfiles
.
There was work in progress to interface between GWCS and its own WCS.
Some LSST products like
astro_metadata_translator
and Generic Data Butler might apply for affiliated status in the future.
While LSST was using Astropy in a significant way, they could not justify
committing developer time to the project unless the work directly impacted
LSST, which remained mostly in C++. While they could encourage their staff to
use science time on the project, they had no direct oversight on how that time
was actually spent. Perhaps once LSST had a need for science platforms, they
could be more involved in Astropy but that remained to be seen.
DESI also used Astropy but remained with the LTS release (Astropy 2.x) instead
of upgrading due to growing pains from switching from Astropy 1.0 to 2.0.
They mentioned desire for better documentation on how to catch up with
Astropy's changes (both code and infrastructure). A suggestion was given back
to them to test against astropy-dev
in their CI.
Unfortunately, no notes were taken regarding inputs from Gemini Observatory and DKIST, though it was known that the latter used Astropy widely and even adopted ASDF.
STScI was actively committing resources into sustaining the Astropy project (e.g., hiring maintainers and allocating developer time). A question was raised on whether other institutions present at the meeting would follow suit (e.g., offering contracts to maintainers). Gemini Observatory had done so in the past in their campaign to switch from PyRAF to Python. Unfortunately, it was unclear how they could fold this into a project manager's budget. NOAO Data Lab could involve their students but their hurdle was in changing the community perception that contributing to OSS was not a waste of time.
Stephanie Juneau gave a talk on the NOAO Data Lab. Given that the data size and complexity were growing, their mission was to bring their users to the data rather than the other way around. Their science platform had access to extensive range of surveys from NOAO facilities. They provided large catalogs, pixel data, virtual storage, visualization, and compute processing.
Meanwhile, Megan Sosey talked about STScI tools. Various data analysis and
visualization packages existed for HST and JWST (e.g., imexam
and stginga
).
HST public data had been made available on Amazon Web Services (AWS).
WFIRST planned on using JupyterLab.
David Shupe gave a demo on Firefly, which had a JupyterLab extension and a
Python client as well. The former could display both images and tables.
It could be wrapped by ipywidgets
to be used in JupyterLab too. All its
widgets and tabs were linked by default (e.g., point selection in one
component was reflected in others). LSST was interested in collaborating to
develop simple Python interface that was display backend agnostic
(one already existed for displayed its afw
image objects). Erik Tollerud
brought up astrowidgets
as a possibility in such collaboration. There was a
need for resources for new users on which tools to use.
Erik Tollerud provided a demo if glue-jupyter
, which allowed interfacing
with Glue in a Jupyter notebook. It involved the study of the Pleiades star
cluster using Gaia data.
Matt Craig gave a demo on astrowidgets
with Ginga backend in a Jupyter
notebook used in an undergraduate observational astronomy course. A subset
of image processing and photometry materials was showcased.
Science platforms, especially the hosted ones, were also especially useful for workshops and tutorials. The source materials there were tested and known to work, much unlike the unpredictability of participants' own machines.
Roles: There was concensus to retain the lead/deputy roles. However, there needed to be a mechanism for assessing them in a realistic timeframe. It was better to have a role unfilled than to fill it with someone without commitment. A decision was made to solicit feedback from core maintainers every 6 months (a month after release) via Google form. Core maintainers mailing list would be kept in sync with the website listing. A new mentorship program for new maintainer onboarding was proposed. For unfilled roles, applications could be solicited from Astropy developers mailing list. Applicants, if not qualified, would have to be trained/mentored prior to be offered a deputy role. The website's "want to step down" footnote would be removed; names currently in that category would be automatically moved from lead to deputy role, with the former becoming unfilled. Roles for "Distribution" would be removed. CoCo would develop a strategy to obtain institutional support, especially the non-US based ones, for FITS and WCS lead roles.
Data cubes/specutils: Cube-related use cases, spectral slicing, spectral
coordinates, binning, and WCS were discussed. Considerations were given to
moving/merging spectral-region
to astropy-region
. MPDAF and PySynphot
functionalities that could be useful were also looked into.
GWCS: Discussions on producing an interoperable model for AST and GWCS. A common format would make external support (e.g., Aladin) possible. STC-2 would be used as a shared vocabulary, with IVOA open to changes if necessary. Decisions were still needed regarding format (YAML or JSON), keywords, and spectroscopy support. Contacts were established for further communications after this meeting.
Infrastructure: In terms of parallelization, Dask integration would be
given higher priority than OpenMP, with the latter as a last resort option.
Usage of tox
should move ahead as an experiment. Other items to be discussed
beyond this meeting were lined up in the
infrastructure project board.
p.s. Too much time was spent in figuring out how to show emojis in the
board column titles...
Spectroscopic data reductions: Existing reduction tools were listed by
each participating institution. Discussion included the possibility of
combining effort, moving common code up to specreduce
or specutils
, WCS,
and data containers.
Tutorial content: A series of action items for tutorials were
accomplished, including website, job advertisement, documentation, and
infrastructure. General topics desired were identified, namely spectroscopy
(specutils
), image processing (e.g., regions and filtering FITS files), and
I/O of various file formats, including special cases.
Kelle Cruz led the discussion on future astronomy missions. Several missions were identified, namely Euclid, SKA, ngVLA, PLATO, WFIRST, TMT/GMT, Keck, Mauna Kea Spectroscopic Explorer, and SDSS-V. The goal was to reach out to these or other missions, dispel misconceptions (e.g., regarding OSS), and make connections. Those with contacts already were tasked with reaching out right away.
Steve Crawford led the discussion on release goals for Astropy 3.2 (April 2019) and Astropy 4.0 (October 2019). The latter would be the new LTS, replacing the 2.x series. Then, we moved on to goals for the Astropy project as a whole.
Astropy 3.2:
- Move periodogram from
stats
totimeseries
. - Implement WCS with spectral properties and time properties
(APE 14):
-
SpectralQuantity
? - Wrap
wcslib
6.2 withTime
functionality.
-
- Implement CODATA 2017 constants and the new definition of SI units (#8155).
- Enable easier usage of non-default constants (#6948).
- Interoperability with the
unyt
package. - Implement
NDData
pixel origin (#8242). - Implement names in
nddata
bitplanes. - Address
coordinates
performance issues. - Address issues on ERFA usage.
- Add support for leap seconds (affects both
coordinates
andtime
). - Add
WAV-TAB
support for FITS WCS. - Emit deprecation warning for combining classes in
modeling
. - Improve documentation for unified I/O, like when typing
table.read
(#8255). - Add final Planck numbers to
cosmology
(#8111). - Clean-up of
convolution
corner cases (#8122). - Add support for APE 14 in
WCSAxes
. - Remove deprecated
pytest_plugin.py
(#7786), but only after opening PR updates for packages using the template. - Caching of the sites for
EarthLocation
(#7653).
Astropy 4.0:
- Bump up minimum versions for dependencies (Python, Numpy, etc).
- Revamp
astropy-helpers
. - Remove other tools from Astropy ecosystem that are no longer necessary (e.g., pytest-remotedata).
- Remove unused and unnecessary imports (subpackage maintainers need to look in their respective subpackages).
- Splitting out ERFA.
- Refactor
modeling
subpackage (#7945). - Change
representations
usage to emit exceptions instead of warnings. - Move
Spectrum1D
to core (possibly could also be in by 3.2).
Astropy project:
- Improve first-time contributor experience.
- Interoperate/merge with broader Python ecosystem units packages.
- Create a roadmap for
uncertainties
. - Identify leadership for FITS, WCS, and
cosmology
. - Recruit more maintainers.
- Create a long-term roadmap for the core package.
- Improve governance documentation.
- Hold regular sprints/office hours.
- Hold pre-release in-person sprints?
- Make an official release of the tutorials pages.
- Continue to hold monthly developer telecons.
- Engage with large institutions and missions.
- Write an Astro2020 white paper.
- Improve language inclusion.
- Continue to seek support from private and public funding sources.
- Increase international participation.
Sprint were held on Thursday and Friday (Dec 6-7, 2018). Many topics were suggested, involving tasks from across the Astropy project. During this time, Astropy 3.1, Astroquery 0.3.9, and Specviz 0.6.1 were all released. Besides those, proof-of-concepts were tested out, pull requests were made, and plane/train tickets were bought. A small debate regarding line-length vs. alphabetical order preference for system package imports happened without clear resolution. The sprints ended with screening of an episode of Black Adder ("I have a cunning plan!").
Last but not least, Lia Corrales gave an NOAO lunch talk titled "Collaborations in the Extreme: The Rise of Open Code Development in the Scientific Community" on behalf of Kelle Cruz. This was followed by Brigitta Sipocz, who talked about "The Astropy Project: A Community Python Ecosystem for Astronomy". Meanwhile, Adrian Price-Whelan gave a colloquium titled "The Dynamic Milky Way in the Gaia Era" across the street at Steward Observatory.