Astropy is a collection of software packages written in the
Python programming language and designed for use in
astronomy
Astronomy () is a natural science that studies astronomical object, celestial objects and phenomena. It uses mathematics, physics, and chemistry in order to explain their origin and chronology of the Universe, evolution. Objects of interest ...
.
[
] The software is a single,
free
Free may refer to:
Concept
* Freedom, having the ability to do something, without having to obey anyone/anything
* Freethought, a position that beliefs should be formed only on the basis of logic, reason, and empiricism
* Emancipate, to procur ...
, core package for astronomical utilities due to the increasingly widespread usage of Python by
astronomer
An astronomer is a scientist in the field of astronomy who focuses their studies on a specific question or field outside the scope of Earth. They observe astronomical objects such as stars, planets, moons, comets and galaxies – in either o ...
s, and to foster interoperability between various extant Python astronomy packages.
[
] Astropy is included in several large Python distributions; it is part of
package managers for
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
and
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
,
[
][
][
] the
Anaconda Python Distribution,
Enthought Canopy
Enthought, Inc. is a software company based in Austin, Texas, United States that develops scientific and analytic computing solutions using primarily the Python programming language. It is best known for the early development and maintenance o ...
and Ureka.
[
]
Development
Around the turn of the millennium the
Space Telescope Science Institute (STScI) started development of Python-based utilities to extend or substitute existing astronomical data analysis tools on a modern,
object-oriented platform. Among the first projects were a replacement of the command language for the Image Reduction and Analysis Facility (
IRAF
IRAF (Image Reduction and Analysis Facility) is a collection of software written at the National Optical Astronomy Observatory (NOAO) geared towards the reduction of astronomical images and spectra in pixel array form. This is primarily data take ...
) with a Python frontend,
and the PyFITS interface to the
Flexible Image Transport System.
Since the existing ''Numeric'' module for handling vectors and arrays in Python turned out to be inadequate for large astronomical datasets, a new library better tuned for large array sizes was subsequently developed at STScI. Both libraries were merged into a new array package by
Travis Oliphant in 2005–2006, creating
NumPy, now the de facto standard for numerical data handling in Python. In the following years the existing software packages maintained by STScI as part of their stsci_python suite were ported to NumPy as well. This, together with the more extensive
SciPy computing environment, provided a platform to develop customized scripts and applications for a variety of astronomical tasks.
By 2011, the use of Python in astronomy had reached significant levels. At the 2012 .Astronomy meeting, 42% of attendees preferred
Python according to an informal survey.
Many astronomy-related Python packages have been developed over the years, albeit without cooperation or coordination, which led to duplication and difficult interoperability between packages. There was also no easy way install all the required packages needed in an astronomer’s toolkit. A number of smaller packages are sometimes no longer maintained or unavailable. The Astropy project started in 2011, motivated by these difficulties, and a desire to unite developers in astronomy to coordinate the development of a unified set of Python modules for astronomers, and reduce the confusion of available packages.
The Space Telescope Science Institute, operators of the
Hubble Space Telescope
The Hubble Space Telescope (often referred to as HST or Hubble) is a space telescope that was launched into low Earth orbit in 1990 and remains in operation. It was not the first space telescope, but it is one of the largest and most ver ...
, are merging the work on Astropy into stsci_python releases. PyFITS and PyWCS will be maintained solely within Astropy, with separate releases of these packages stopping, after the next release. PyFITS has been included as part of the Astropy project, and as a result, the next release of STScI_Python will depend on Astropy for the PyFITS library instead of using this standalone release.
Use
* The
National Virtual Observatory
The US ''National Virtual Observatory-NVO- (nowadays VAO - Virtual Astronomical Observatory) was conceived to allow scientists to access data from multiple astronomical observatories, including ground and space-based facilities, through a single po ...
Python integration includes support for the Astropy VOTable class
* The
Subaru Telescope Hyper Suprime-Cam, a 900-megapixel ultra-wide-field camera
* A data mining toolkit for exploring large data cubes in radioastronomy from facilities like
ALMA
Alma or ALMA may refer to:
Arts and entertainment
* ''Alma'' (film), a 2009 Spanish short animated film
* ''Alma'' (Oswald de Andrade novel), 1922
* ''Alma'' (Le Clézio novel), 2017
* ''Alma'' (play), a 1996 drama by Joshua Sobol about Alma ...
or
CARMA.
* pcigale, the port to Python o
CIGALE(Code Investigating Galaxy Emission)
* Analyzing the optical afterglow of
gamma-ray bursts
* The
High Energy Astrophysics Science Archive Research Center (HEASARC) refers to Astropy as "A single core package for Astronomy in Python"
* Projec
PANOPTES"makes extensive use of the Astropy package"
* Astropy has been accepted to th
Astrophysics Source Code Library – Starship Asterisk*
Video sources
There are several videos recorded in seminars and conferences. These are intended to help beginners learn how Astropy works. The .Astronomy 4 meeting (9–11 July 2012) held a session on Astropy.
Core functionality
Core data structures and operations
* Generalized container classes for representing gridded and tabular data as multidimensional arrays or tables
* Unit and physical quantity conversions
* Physical constants specific to astronomy
*
Celestial coordinate and time transformations
* World coordinate system (WCS) support, implementing PyWCS, the Python wrapper to WCSLIB. WCSLIB is a C library which implements the WCS standard in the
Flexible Image Transport System (FITS) standard.
File I/O
* FITS files, implementing the former standalone PyFITS interface
*
Virtual Observatory (VO) tables
* Common
ASCII
ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
table formats, e.g. for online catalogues or data supplements of scientific publications
*
Hierarchical Data Format (HDF5) files
Computational utilities
* Framework for
cosmological transformations and conversions
* Toolset for
statistical analyses
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 but has been suggested for inclusion as part of the project’s community. Such packages are intended to improve reuse, interoperability, and interface standards for Python astronomy and astrophysics packages.
Current affiliated packages include:
* montage-wrapper
* ginga
* APLpy
* astroML: tools for
machine learning
Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence.
Machine ...
and
data mining in astronomy
* Astropysics: library of
IDL
IDL may refer to:
Computing
* Interface description language, any computer language used to describe a software component's interface
** IDL specification language, the original IDL created by Lamb, Wulf and Nestor at Queen's University, Canada
...
astronomy routines converted to Python.
* astroplan: observation planning for astronomers
A few additional affiliated packages are currently in development, including:
* photutils:
photometry tools
* astroquery: online
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spa ...
querying
* specutils:
spectroscopic analysis utilities
* kcorrect: Python bindings to
kcorrect code of Blanton et al. 2007
* gammapy: A high level
gamma-ray astronomy data analysis package
See also
*
List of numerical analysis software
*
Planetarium software
*
List of observatory software
References
External links
*
GitHub repositoryScipy2013 presentation videoADASS Poster abstract
Publications
Books and scientific publications citing Astropy
*
*
*
{{DEFAULTSORT:Astropy
Free astronomy software
Free software programmed in Python
Numerical analysis software for Linux
Numerical analysis software for macOS
Numerical analysis software for Windows
Python (programming language) scientific libraries
Software using the BSD license