diff --git a/affiliated/index.html b/affiliated/index.html index 77cfef5d..54fa92c7 100644 --- a/affiliated/index.html +++ b/affiliated/index.html @@ -170,7 +170,6 @@

Affiliated Packages RegistryAPE 22 in January 2024. We are in the midst of transitioning to the new process in partnership with pyOpenSci, so we really appreciate your patience. - Pre-APE 22 legacy listing is available here.

- - - - - -
- -
- - -

Legacy Page: Pre-APE 22

- -

This page contains the legacy process and listing of Astropy Affiliated Packages -that pre-dated APE 22. -This page is frozen as of March 6, 2024.

- -

Astropy Affiliated Packages

- -

A major part of the Astropy Project is the concept of “Astropy - affiliated packages”. An affiliated package is an astronomy-related Python - package that is not part of the astropy core package, and is not managed by - the project but is a 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. In many (but not all) cases, affiliated packages - also follow similar development processes and package templates as for the - core package.

- -

If you are a developer interested in signing up as an affiliated package, - details are in the Becoming an - Affiliated Package section.

- -

Astropy Coordinated Packages

- -

A related concept is that of “Astropy coordinated packages”. Coordinated - packages are similar to affiliated packages, but the Astropy Project as a - whole maintains them. In practice this means the Astropy coordination - committee has administrative control of a coordinated package repository - (delegated to the maintainers), and that maintainers of these packages have - formal roles in the Astropy Project. The most - prominent of these coordinated packages is the Astropy core package itself. - In some cases these are packages identified by the core team as needing - development separate from the core (either they are experimental or problem - space-focused), while others started as affiliated packages but have become - so important to the ecosystem that they grew to become coordinated.

- -

Astropy Infrastructure Packages

- -

One final related category are the "Astropy infrastructure packages". - These packages are those that are necessary infrastructure for Astropy - packages - e.g. testing and documentation machinery. While occasionally - these have astro-specific functionality, in general they are more generic - packages that are useful to packages outside of astronomy, and as a result - may have some maintainers outside the Astropy project. But some are also - Astropy coordinated packages, with maintainers drawn from the infrastructure - roles. -

- -
- -
- -

Installing Affiliated and Coordinated 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 setup.py 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.

- -
- -
-

Coordinated Packages

-

The following table lists all current Astropy coordinated packages. They are determined from the json file, which is the actual authoritative registry.

- -

Total number of coordinated packages:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Loading...    
  
- -
- -
-

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:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Loading...    
  
- -
- -
- -

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:

- -
    - -
  • Be potentially useful to astronomers. This can mean useful to a - specific sub-domain of astronomy, or more broadly useful to a large - fraction of astronomy (or beyond, as long as it is also useful for - astronomy).
  • - -
  • Specifically use, interface with, or provide complementary capabilities - to other Astropy packages.
  • - -
  • Be written in a way that is readable and understandable by others. While - not a strict requirement, we also provide coding - guidelines that will make your code easier to read by members of the - community.
  • - -
  • Use classes and functions from the - astropy core package wherever possible and appropriate, and (as much as - possible) avoid duplication with other packages in the Astropy ecosystem. - This facilitates re-use of code and sharing of resources.
  • - -
  • Have documentation that adequately explains the use - of the package. Additionally, - user-facing classes and functions should all have docstrings. We suggest - using sphinx, with the numpydoc-like docstring - standards used by astropy, but this is not a strict requirement as long - as the documentation is of comparable quality.
  • - -
  • Make a best-effort to include an easy-to-run test - suite that covers its intended functionality. We realize this is not always - possible, but when it is, a test suite is a crucial element of stable - software and reproducible science.
  • - -
  • Use Python 3.x. Packages are allowed to be 2.x compatible, but must support recent versions of Python 3.x.
  • - -
  • Be open to contributions from others. While this most straightforwardly - means it follows a Github-based open development model (like the Astropy core - package), alternative approaches are perfectly valid as long as they are - consistent with basic principles of open source. (E.g., - an OSI-approved license)
  • - -
  • Include instructions to users on how to cite your package. This is commonly done - with a CITATION file. This file could include a Zenodo record (highly recommended), - acknowledgement text, and/or journal article(s). Where possible, full BibTeX entries of these citations - are recommended.
  • - -
  • Include citations to other relevant papers and software following - leading - practices for citing astronomy software.
  • - -
-

- -

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, you can use the OpenAstronomy packaging guide to - make it much easier to meet these standards. It reflects up-to-date Python packaging techniques - 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.

- - - - -
- - - -
- - -