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 community. These packages demonstrate a commitment to 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 in the Becoming an Affiliated Package section.

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 includes the Astropy core package already built in, and you can then easily install or update affiliated packages using the Astropy Conda channel of binary installable packages. Once you have Anaconda installed, you can do conda search --channel astropy some_affiliated_package. Most importantly, you can then install them with conda install --channel astropy some_affiliated_package. The Astropy channel is maintained by the Astropy Project on Github via code in the conda-channel-astropy repository.

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 in the Becoming an Affiliated Package section). 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 table lists all currently registered affiliated packages. They are determined from the json file, which is the actual authoritative registry.

Total number of affiliated packages:


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, please take a look at the instructions for proposing an affiliated package. We recommend that you also take a look at the guidelines for reviewing affiliated packages since this will give you a sense of whether your package is ready for review. Broadly speaking, your package should:

In addition, you should make an effort to connect with the Astropy developer community, including developers from the core astropy package or any related affiliated packages. If your package is determined to meet the above standards, it will be accepted and added to the affiliated package registry. Note however that if packages become unmaintained or do not meet the standards anymore, they may be removed from the list of affiliated packages.

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.