Effort-high: longer term issues
You may also want to familiarize yourself with the developer documentation, particularly the coding and documentation guidelines.
Once you have a change to propose, if it's a simple fix to just a single file, you can even just browse to the appropriate file and use the "edit" button on github. If it's a more complex change, we suggest you follow the developer install instructions, and use that with Astropy's github page to issue a pull request with your changes. If you aren't familiar with github, we suggest you looking over our workflow documentation. Once your code is accepted, you are officially an Astropy contributor and eligible to be included on the author list of future publications.
If you want to propose a larger change to Astropy, there's a procedure for that: Astropy Proposals for Enhancement (APEs) (modeled after Python's PEPs). The sort of changes that APEs are intended for include plans for new sub-packages, wide-ranging code re-organizations, a new procedure needing review by a lot of the Astropy community, or an informational document on some decision for Astropy that you want remembered. For more background on APEs, check out APE #1 and the APE repository's README. There is also a wiki page on Astropy's github repository that has an overview of the existing APEs.
If you are interested in a higher level of contribution to the project, you can consider taking on one of the formal
project roles as listed in the Astropy Team page.
In order to be nominated for a named Astropy role, it is typical that a person will have
been actively involved in the project for a considerable amount of time (at least a year
and often longer) and have made substantial contributions. They will have shown a
sustained commitment to Astropy by participating actively already in activities related
to the role. This could involve submitting pull requests and participating in
reviews, or discussions in other channels such as mailing lists or Slack, or other
contributions as defined by a particular role. Finally, they need to express a desire to
maintain this involvement going forward and accept the responsibility of having a role.
For example, being a core sub-package maintainer involves interacting with users and
responding to bug reports in a timely manner. If you are interested in taking on such a role, you can volunteer
either on astropy-dev, by talking to a holder of the
role you are interested in, or a coordination committee member.
Develop an affiliated package¶
Whether you have an idea for a new Astronomy package, or already have a package that you want to integrate with the Astropy project, you can develop an affiliated package! You'll want to join the astropy-dev list so you can notify other developers of your intent to develop an affiliated package, and the astropy-affiliated-maintainers mailing list to be kept informed of any discussions related to setting up affiliated packages. Then you can check out the affiliated package guidelines to get started.
Contribute Financially¶
Donations to Astropy are managed by NumFOCUS. For donors in the United States, your gift is tax-deductible to the extent provided by law. As with any donation, you should consult with your tax adviser about your particular tax situation. If you would like to donate to astropy, please see the NumFOCUS contribution page for the Astropy Project:
Donate to Astropy
For academics: How to justify your contribution¶
While in some more technical areas, contributing code is recognized as a
goal in and of itself, some academic fields have not yet developed a clear
understanding of the role of code development relative to other more
traditional contributions like publication. This section aims to
provide suggestions to academics for how you might justify contributions
to the Astropy project if you are in a field or institution that needs
convincing of the value of such contributions.
Contributing to the Astropy Project as a volunteer directly benefits
the astronomical research community in tangible ways. Nevertheless,
people employed in academic departments may be asked to justify their
time and efforts in terms of direct benefit to their own department or
organization. In this case it is worth highlighting the
well-established role of community service in academia, including:
- Referring journal papers
- Reviewing proposals for funding or for an observatory time allocation committee
- Serving on a conference science organizing committee
- Serving on an external review committee such as the NASA Senior Review
These volunteer duties typically bring no direct benefit to the home
department of a researcher, yet they are widely accepted as
necessary to the functioning of global research astronomy. We should
now add the following to the above list of community service duties:
- Contribute to open source software projects that benefit astronomical research