Skip to content

Minutes for Astropy Meeting 2018

P. L. Lim edited this page Dec 20, 2018 · 37 revisions

DOI

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.

[Jump to agenda summary]

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:

(Back to top)

Main Meeting

Monday (Dec 3, 2018)

The focus for this day was the Astropy core package.

Status of 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.

(Back to top)

Release of 3.1: How Did We Do?

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.

(Back to top)

unyt and units

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.

(Back to top)

Breakout Sessions

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.

(Back to top)

Astropy Governance

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.

(Back to top)

Software White Papers

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.

(Back to top)

Tuesday (Dec 4, 2018)

The focus for this day was the Astropy ecosystem.

Status of 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.

(Back to top)

Recruiting New Developers

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.

(Back to top)

Making the Project More Inclusive

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.

(Back to top)

Spectroscopy

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.

(Back to top)

Testing

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.

(Back to top)

Infrastructure

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

(Back to top)

Tutorials

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.

(Back to top)

Lightning Talks

  • "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

(Back to top)

Affiliated Packages

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.

(Back to top)

Wednesday (Dec 5, 2018)

The focus for this day was Astropy and the astronomy community.

(Back to top)

Status of Astropy Project in the 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.

(Back to top)

Collaboration with LSST/Gemini/DKIST/Astropy

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.

(Back to top)

Science Platforms and Visualization

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.

(Back to top)

Breakout Sessions

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.

(Back to top)

Future Missions

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.

(Back to top)

Goals for 2019

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 to timeseries.
  • Implement WCS with spectral properties and time properties (APE 14):
    • SpectralQuantity?
    • Wrap wcslib 6.2 with Time 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 and time).
  • 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.

(Back to top)

Sprints

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.

(Back to top)

Clone this wiki locally