Utilities for building and installing Astropy, Astropy affiliated packages, and their respective documentation.
- Stable versions: https://pypi.org/project/astropy-helpers/
- Development version, issue tracker: https://github.com/astropy/astropy-helpers
Please note that version v3.0 and later of astropy-helpers does require Python 3.5 or later. If you wish to maintain Python 2 support for your package that uses astropy-helpers, then do not upgrade the helpers to v3.0+. We will still provide Python 2.7 compatible releases on the v2.0.x branch during the lifetime of the astropy core package LTS of v2.0.x.
This project provides a Python package, astropy_helpers, which includes many build, installation, and documentation-related tools used by the Astropy project, but packaged separately for use by other projects that wish to leverage this work. The motivation behind this package and details of its implementation are in the accepted Astropy Proposal for Enhancement (APE) 4.
The astropy_helpers.extern sub-module includes modules developed elsewhere that are bundled here for convenience. At the moment, this consists of the following two sphinx extensions:
- numpydoc, a Sphinx extension developed as part of the Numpy project. This is used to parse docstrings in Numpy format
- sphinx-automodapi, a Sphinx extension developed as part of the Astropy project. This used to be developed directly in astropy-helpers but is now a standalone package.
Issues with these sub-modules should be reported in their respective repositories, and we will regularly update the bundled versions to reflect the latest released versions.
astropy_helpers includes a special “bootstrap” module called ah_bootstrap.py which is intended to be used by a project’s setup.py in order to ensure that the astropy_helpers package is available for build/installation. This is similar to the ez_setup.py module that is shipped with some projects to bootstrap setuptools.
As described in APE4, the version numbers for astropy_helpers follow the corresponding major/minor version of the astropy core package, but with an independent sequence of micro (bugfix) version numbers. Hence, the initial release is 0.4, in parallel with Astropy v0.4, which will be the first version of Astropy to use astropy-helpers.
For examples of how to implement astropy-helpers in a project, see the setup.py and setup.cfg files of the Affiliated package template.