Affiliated Packages

A major part of the Astropy project is the concept of “Affiliated Packages”. An affiliated package is an astronomy-related Python package that is not part of the astropy core package, but has requested to be included as part of the Astropy project’s community. These packages are expressing an interest in Astropy’s goals of improving reuse, interoperability, and interface standards for python astronomy and astrophysics packages.

If you are developer interested in signing up as an affiliated package, details are at the end of this page.

Installing Affiliated Packages

The simplest way to install and keep up-to-date most affiliated packages is to use the Anaconda python distribution. This distribution provides Astropy built-in, and affiliated packages are available from a "channel" maintained by the Astropy community. You can see the affiliated packages in the channel here, and if you have anaconda installed, you can do conda search -c astropy some_affiliated_package. Most importantly, you can then install them with conda install -c astropy some_affiliated_package.

If you do not have Anaconda or wish to install from source, for most affiliated packages, downloading the source code and doing python install will work. Many also support the Astropy core package's additional build and install options, as they use the affiliated package template (detailed more below). That said, affiliated packages are developed independently of the Astropy core library. This means they are free to develop their packages as they see fit, and can have a variety of different requirements or unusual install procedures. Hence you should refer to the package's documentation first if you encounter problems.

Affiliated Packages Registry

The following tables list all currently registered affiliated packages. They are determined from the json file, which is the actual authoritative registry. The Stable column indicates whether the package maintainer consider the package to be ready for use. Packages that are under heavy development and for which the user interface is likely to change significantly in the near future are marked as No.

Affiliated Packages

Package Name Stable PyPI Name Web Page Code Repository Maintainer

While the above table lists all the full affiliated package,the below table indicates packages that have been provisionally accepted as affiliated packages, but may be removed from the registry in the future if they don't make sufficient progress towards meeting Astropy standards (See below for more details).

Provisionally accepted Affiliated packages

Package Name Stable PyPI Name Web Page Code Repository Maintainer

Other astronomy packages

This section lists some packages that are not affiliated pacakges, but are useful reference (i.e. precursors, overlapping in functionality, etc).

Becoming an Affiliated Package

If you are a developer of an astronomy package and would like your package to become affiliated with the Astropy project, leave a message on the astropy-dev group requesting affiliated package status. If you are comfortable doing so, you should also create a pull request adding your package to the registry file on the github repository for this web site. The Astropy coordination commitee and community will then consider your package based on the standards below.

If your package is judged by the coordination committe to meet these standards, it will be added to the affiliated package registry. If the package is not quite at these standards, but working towards them, the package will be given "provisional" status. Provisional packages will be re-evaluated yearly by the coordinating committee, or earlier if the package author requests a review. (You can e-mail a member of the coordination committee or to request such a review). In this re-evaluation, the committee will look at progress the package has made over the previous year. If it has been advanced sufficiently to meet the standards above, it will be considered a full affiliated package (no longer provisional). If it has made some progress but is not yet up to the standards, provisional status will be renewed for a year. If no progress seems to be being made, the committee will contact the authors and determine what their plans are to improve the situation. Based on that, the committee may decide to renew the provisional status, or remove the package from the registry.

Affiliated Package Template

If you are considering creating a new astronomy package and would like it to be an Astropy affiliated package, we provide a package template to make it much easier to meet these standards. It provides the necessary structure to generate documentation like that used in the astropy package, a ready-to-use testing framework, and a variety of tools that streamline tasks like user configuration, caching downloaded files, or linking C-compiled extensions. More details on this template are available in the usage instructions for the template.

We recommend that you join the astropy-affiliated-maintainers mailing list to be kept informed of updates to the package template, as well as to have any dicussions related to setting up affiliated packages.