Contributing To/Developing Astropy or Affiliated Packages

Summary

As described in Vision for a Common Astronomy Python Package, development of components intended for inclusion in the core astropy package will initially be done by different teams via affiliated packages. These affiliated packages will then be submitted for inclusion in the astropy core package by creating a git fork of the core repository, merging the new component into the fork, and submitting the package as a pull request. The step of creating a fork and merging the affiliated package into the fork can be done either by the team contributing the affiliated package, or by the coordination committee if requested.

Once an affiliated package has been accepted and integrated as a component into the core astropy package, subsequent improvements and bug fixes can be made in the same way by forking the core repository and submitting a pull request.

The bottom line is that teams working on various components are free to choose the version control system and workflow that they want, but ultimately the changes need to be merged into a fork of the core repository and submitted via a pull request to the core repository, either by the team or by the coordination committee.

For the Impatient

The only absolutely necessary configuration step is identifying yourself and your contact info:

git config --global user.name "Your Name"
git config --global user.email you@yourdomain.example.com

More detailed information and instructions are below.

After that, if you then just want to get the latest astropy source code, cd to a directory on your computer you want to put the source code, and do:

git clone git@github.com:astropy/astropy.git

You will then have a new copy of the source code in the astropy directory.

Later, if you want to update to the most recent version of the astropy code, just go do:

cd astropy
git pull

If you find a bug and want to fix it, see Development Workflow (Beginner) or Development Workflow (Advanced) depending on how comfortable you are with git.

Git Documentation

The following sections cover the installation of the git software, the basic configuration, and links to resources to learn more about using git. However, you can also directly go to the GitHub help pages which offer a great introduction to git and GitHub.

Workflow

The following two sections describe the workflow for the astropy core package, but teams working on affiliated packages that have chosen to use git are encouraged to also follow these guidelines internally.

Project Versions

Table Of Contents

Previous topic

Vision for a Common Astronomy Python Package

Next topic

Installing git

This Page