HOME

TheInfoList



OR:

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 celestial objects and phenomena. It uses mathematics, physics, and chemistry in order to explain their origin and evolution. Objects of interest include planets, moons, stars, nebulae, g ...
. The software is a single, free, 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 ...
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, whi ...
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 computers. Within the market of desktop and la ...
, 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 of ...
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 Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
platform. Among the first projects were a replacement of the command language for the Image Reduction and Analysis Facility ( IRAF) 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 SciPy (pronounced "sigh pie") is a free and open-source Python library used for scientific computing and technical computing. SciPy contains modules for optimization, linear algebra, integration, interpolation, special functions, FFT, ...
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 vers ...
, 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 Python integration includes support for the Astropy VOTable class * The
Subaru Telescope is the telescope of the National Astronomical Observatory of Japan, located at the Mauna Kea Observatory on Hawaii. It is named after the open star cluster known in English as the Pleiades. It had the largest monolithic primary mirror in t ...
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 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 Statistics (from German: '' Statistik'', "description of a state, a country") is the discipline that concerns the collection, organization, analysis, interpretation, and presentation of data. In applying statistics to a scientific, industr ...
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 astronomy routines converted to Python. * astroplan: observation planning for astronomers A few additional affiliated packages are currently in development, including: * photutils:
photometry Photometry can refer to: * Photometry (optics), the science of measurement of visible light in terms of its perceived brightness to human vision * Photometry (astronomy), the measurement of the flux or intensity of an astronomical object's electro ...
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 ...
querying * specutils: spectroscopic analysis utilities * kcorrect: Python bindings to kcorrect code of Blanton et al. 2007 * gammapy: A high level
gamma-ray astronomy Gamma-ray astronomy is the astronomical observation of gamma rays,Astronomical literature generally hyphenates "gamma-ray" when used as an adjective, but uses "gamma ray" without a hyphen for the noun. the most energetic form of electromagne ...
data analysis package


See also

*
List of numerical analysis software Listed here are notable end-user computer applications intended for use with numerical or data analysis: Numerical-software packages General-purpose computer algebra systems Interface-oriented Language-oriented Historically signific ...
* Planetarium software *
List of observatory software The following is a list of astronomical observatory software. Commercial software * MaximDL * XEphem Non-commercial software {{columns-list, colwidth=30em, * Aladin Sky Atlas * Astropy * Cartes du Ciel * Celestia * Google Sky * Hallo North ...


References


External links

*
GitHub repository

Scipy2013 presentation video

ADASS 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