The main aim of the astropy-helpers
is to make it easier to build, test, and produce documentation in packages. For
example, it defines a python setup.py test
command that can be used to run
all the tests, and a python setup.py build_docs
command that will automatically
build the documentation using Sphinx. For more informaiton, see the
README.rst
file for astropy-helpers.
The source code for the website which appears at http://www.astropy.org is stored in the (astropy.github.com)[https://github.com/astropy/astropy.github.com] repository. In addition to the website itself, the repository contains a machine-readable file listing the existing affiliated packages, as well as machine-readable files describing roles in the project as well as role assignments, and the registry of current affiliated packages.
The sphinx-astropy package serves multiple purposes: it provides a default configuration that astropy and other packages using astropy can chose to use (and modify) rather than starting from scratch, it defines a few custom sphinx extensions that are specific to the astropy project, and it serves as a meta-package that includes all documentation built dependencies. When building the documentation with astropy-helpers, sphinx-astropy will get automatically downloaded and temporarily installed, but you can also chose to just install sphinx-astropy manually.
The astropy-sphinx-theme package defines a theme uses by the core package documentation as well as the documentation of various affiliated packages.
The sphinx-automodapi Sphinx extension provides an easy way to automatically build API documentation pages for Python modules.
The pytest-astropy package is a meta-package that, when installed, causes pytest and various plugin packages to be installed. We now list the plugin packages that we have developed and released.
The pytest-doctestplus package provides a plugin contains a plugin for pytest that provides advanced testing of code examples (doctests) in docstrings as well as in reStructuredText (".rst") files in the documentation.
The pytest-remotedata package provides a plugin for pytest that allows developers to control unit tests that require access to data from the internet.
The pytest-openfiles package provides a plugin for pytest that allows developers to detect whether any file handles or other file-like objects were inadvertently left open at the end of a unit test.
The pytest-arraydiff plugin for
pytest facilitates the generation and comparison of data arrays produced during
tests, in particular in cases where the arrays are too large to conveniently
hard-code them in the tests (e.g. np.testing.assert_allclose(x, [1, 2, 3])
).
The ci-helpers repository contains a set of scripts that make it easy to set up dependencies on various continuous integration serves using conda.
The package-template repository contains a template package for anyone interested in quickly getting started with setting up their own package, with support for e.g. astropy-helpers built in. The template is meant to be used with the cookiecutter package.