1. @kellecruz
@astropy
Kelle Cruz
Coordinating Committee, Astropy Project
City University of New York (CUNY) Hunter College
The Astropy Project:
Overview and Updates for
the ADASS Community
Special thanks to Adrian Price-Whelan, Brett Morris, Pey-Lian Lim
for graphics and feedback.
2. @kellecruz @astropy
Components of
The Astropy Project
• Code Ecosystem
• Core package: astropy
• Coordinated packages
• Affiliated packages
• Education resources (content and infrastructure)
• Community of maintainers, developers, and
contributors
• User Community
3. @kellecruz @astropy
Coordinated Packages
• astroquery
• regions
• astropy-healpix
• reproject
• photutils
• ccdproc
• specutils
Packages crucial to the ecosystem and managed by the
Project
4. @kellecruz @astropy
Affiliated Packages
• Currently 42 packages
• Packages align with Astropy
goals of improving reuse,
maximizing interoperability,
following interface standards, and
reducing duplication.
• New packages reviewed
based on
• Functionality
• Integration with Astropy
ecosystem
• Documentation
• Testing
• Development status
• Python 3 compatibility
https://www.astropy.org/affiliated/
Ecosystem of specialized, domain-specific interoperable
packages
https://github.com/astropy/astropy-project/blob/master/
affiliated/affiliated_package_review_guidelines.md
6. @kellecruz @astropy
New in astropy since Jan 2020
v4.1
• A SpectralCoord class for representing and transforming spectral quantities
• Support for writing Dask arrays to FITS files
• Support for table cross-match join with SkyCoord or N-d columns
• Support for custom attributes in Table subclasses
• Support for replacing submodels in CompoundModel
• Support for units on otherwise unitless models via the Model.coerce_units method
• Support for ASDF serialization of models
v4.0
• Improved Consistency of Physical Constants and Units
• New Table Methods and significant performance improvements for Tables
• Major Improvements in Compatibility of Quantity Objects with NumPy Functions
• New Context Manager for plotting time values
• Improvements to Folding for Time Series
• Improved downloading and caching of remote files
• New ymdhms Time Format
https://docs.astropy.org/en/stable/whatsnew/
7. @kellecruz @astropy
astropy core library
~100 citations per month and
growing (~2–5% of papers)
Over ~3,000 citations total
~16,000 dependent repositories
~879 dependent packages
(as of July 2020)
The core astronomy package for Python
8. @kellecruz @astropy
astropy: LTS and Requirements
• astropy v4.0.x series is the long term support
release. Supported until the end of 2021.
• astropy v4.0.x series supports Python 3+.
• Plan to bump requirements in v4.3 (April 2021):
Python 3.7+ & numpy 1.17+
https://github.com/astropy/astropy-APEs/pull/63
9. @kellecruz @astropy
• Site overhaul in 2021
Contributed and cross-listed
tutorials welcome!
• Check out nbcollection
package for testing and
rendering notebooks.
10. @kellecruz @astropy
What contributing looks like
• A Chandra developer implemented a flexible way to add persistent attributes to an
Astropy table in the Chandra application and later ported this feature to astropy.
• Members of Rubin Observatory have contributed documentation updates, code for
constructing color images from three-band data, support for new units, and fixes
for io.fits issues.
• Developers of the Cherenkov Telescope Array have contributed a method to speed
up coordinate transformations for large arrays of observation times. They also
contributed bug fixes and enhancements for io.fits, tables, coordinates,
and units sub-packages.
• JWST developers at STScI develop and maintain the WCS
and modeling sub-packages and the photutils and
regions coordinated packages.
11. @kellecruz @astropy
Contribution Workflow
1) Identify a feature in core you’d like to add or bug which
needs fixing. Over 1000 open issues.
https://github.com/astropy/astropy/issues
2) Discuss informally with package maintainers via GitHub
issues or Slack
http://joinslack.astropy.org
3) Follow Guidelines guidelines
- https://docs.astropy.org/en/latest/
development/codeguide.html
- https://docs.astropy.org/en/latest/
development/workflow/development_workflow.html
Contribute to maintaining and improving this community
resource!
13. @kellecruz @astropy
Join our community of
developers & maintainers
Astropy Slack
• Developer focused
• channels for each sub-package
• http://joinslack.astropy.org
Astropy-dev Google Group
• Stay up-to-date with major changes
and/or discussions
• https://groups.google.com/g/astropy-dev
14. @kellecruz @astropy
The Astropy Project, now with funding!
Current Activities
• Funding available for existing core maintainers as
contractors, summer salary, teaching release. No FTEs.
• Progress on formalized governance structure and charter.
APE0: https://github.com/astropy/astropy-APEs/pull/61
• Working towards “radical transparency.”
Nearly $1 million from Moore Foundation over 3 years,
starting Oct 2019
https://github.com/astropy/
astropy-project/issues
15. @kellecruz @astropy
Planned Activities:
• Funding to support community-led efforts.
• Apply for NASA grant.
E.7 Support for Open Source Tools, Frameworks, and Libraries
• Institute a contributor-to-maintainer mentoring program.
• Find more ways to distribute workload.
https://github.com/astropy/
astropy-project/issues
The Astropy Project, now with funding!
16. @kellecruz @astropy
The Project succeeds because of contributions of effort from
institutionally-supported developers and folks using science time.
GOAL:
Use grant funding to support the community development
model, not to cover the entire costs of the Project.
The Astropy Project, now with funding
But we still need you!
17. @kellecruz @astropy
Astropy Project Summary for ADASS
• The Astropy Project is healthy!
• Codebase is well-maintained and is growing.
• Funding is helping with sustainability and enabling
growth.
• Learn.astropy.org is a potential future home or discovery
portal for your educational resources.
• The Project needs more contributors from the ADASS
community!
• We urge individuals and institutions to
find ways to incorporate contributing
to Astropy into everyday operations.
20. @kellecruz @astropy
Tutorials Update
Content
• Currently 18 tutorials covering many common tasks
• Several tutorials in the pipeline, including updates to existing
tutorials.
Infrastructure
• Active development of nbcollection package to render and test
Jupiter notebooks to HTML
https://github.com/astropy/nbcollection/
• Expect website overhaul in 2021, in collaboration with Dunlap Institute.
• Will be able to index tutorials hosted
on other sites
• Implementing multi-domain search using Algolia
21. @kellecruz @astropy
Contribute Tutorials
• Add issue with description of tutorial
https://github.com/astropy/astropy-tutorials/issues
• Read Contributing and Style guides
• https://github.com/astropy/astropy-tutorials/blob/master/
CONTRIBUTING.rst
• https://github.com/spacetelescope/style-guides/blob/
master/guides/jupyter-notebooks.md
• Upload/develop tutorial as
Google Colab notebook.