[ascl:2109.008]
pyia: Python package for working with Gaia data
pyia provides tools for working with Gaia data. It accesses Gaia data columns as Quantity objects, i.e., with units (e.g., data.parallax will have units ‘milliarcsecond’)
, constructs covariance matrices for Gaia data, and generates random samples from the Gaia error distribution per source. pyia can also create SkyCoord objects from Gaia data and execute simple (small) remote queries via the Gaia science archive and automatically fetch the results.
[ascl:2510.013]
Lux: Generative latent-variable modeling of astronomical data
Lux models astronomical data with noisy labels using a multi-output, latent-variable framework. It simultaneously infers latent parameters and predicts multiple observed properties while accounting for measurement uncertainties and label noise. The code generates synthetic observations for model validation and supports probabilistic analyses of stellar and galactic datasets. Lux enables flexible model training and evaluation and handles heterogeneous datasets efficiently.
[ascl:2412.023]
cogsworth: Self-consistent population synthesis and galactic dynamics simulations
cogsworth merges rapid population synthesis and galactic dynamics together; the code can evolve a population of stars using population synthesis while self-consistently integrating their orbits with a chosen galactic potential. This enables exploration of the full evolutionary history (both stellar and orbital) of a population of stars and the ability to make predictions for present day kinematics and other distributions. cogsworth also provides tools for transforming the intrinsic populations into observables and for classifying the nature of each system.
[ascl:2004.010]
kombine: Kernel-density-based parallel ensemble sampler
kombine is an ensemble sampler built for efficiently exploring multimodal distributions. By using estimates of ensemble’s instantaneous distribution as a proposal, it achieves very fast burnin, followed by sampling with very short autocorrelation times.
[ascl:1907.001]
schwimmbad: Parallel processing pools interface
schwimmbad provides a uniform interface to parallel processing pools and enables switching easily between local development (e.g., serial processing or with multiprocessing) and deployment on a cluster or supercomputer (via, e.g., MPI or JobLib). The utilities provided by schwimmbad require that tasks or data be “chunked” and that code can be “mapped” onto the chunked tasks.
[ascl:1707.006]
Gala: Galactic astronomy and gravitational dynamics
Gala is a Python package (and Astropy affiliated package) for Galactic astronomy and gravitational dynamics. The bulk of the package centers around implementations of gravitational potentials, numerical integration, nonlinear dynamics, and astronomical velocity transformations (i.e. proper motions). Gala uses the Astropy units and coordinates subpackages extensively to provide a clean, pythonic interface to these features but does any heavy-lifting in C and Cython for speed.
[ascl:1701.001]
The Joker: A custom Monte Carlo sampler for binary-star and exoplanet radial velocity data
Given sparse or low-quality radial-velocity measurements of a star, there are often many qualitatively different stellar or exoplanet companion orbit models that are consistent with the data. The consequent multimodality of the likelihood function leads to extremely challenging search, optimization, and MCMC posterior sampling over the orbital parameters. The Joker is a custom-built Monte Carlo sampler that can produce a posterior sampling for orbital parameters given sparse or noisy radial-velocity measurements, even when the likelihood function is poorly behaved. The method produces correct samplings in orbital parameters for data that include as few as three epochs. The Joker can therefore be used to produce proper samplings of multimodal pdfs, which are still highly informative and can be used in hierarchical (population) modeling.
[ascl:1511.001]
SuperFreq: Numerical determination of fundamental frequencies of an orbit
SuperFreq numerically estimates the fundamental frequencies and orbital actions of pre-computed orbital time series. It is an implementation of a version of the Numerical Analysis of Fundamental Frequencies close to that by Monica Valluri, which itself is an implementation of an algorithm first used by Jacques Laskar.
[ascl:1304.002]
Astropy: Community Python library for astronomy
Greenfield, Perry;
Robitaille, Thomas;
Tollerud, Erik;
Aldcroft, Tom;
Barbary, Kyle;
Barrett, Paul;
Bray, Erik;
Crighton, Neil;
Conley, Alex;
Conseil, Simon;
Davis, Matt;
Deil, Christoph;
Dencheva, Nadia;
Droettboom, Michael;
Ferguson, Henry;
Ginsburg, Adam;
Grollier, Frédéric;
Moritz Günther, Hans;
Hanley, Chris;
Hsu, J. C.;
Kerzendorf, Wolfgang;
Kramer, Roban;
Lian Lim, Pey;
Muna, Demitri;
Nair, Prasanth;
Price-Whelan, Adrian;
Shiga, David;
Singer, Leo;
Taylor, James;
Turner, James;
Woillez, Julien;
Zabalza, Victor
Astropy provides a common framework, core package of code, and affiliated packages for astronomy in Python. Development is actively ongoing, with major packages such as
PyFITS, PyWCS, vo, and asciitable already merged in. Astropy is intended to contain much of the core functionality and some common tools needed for performing astronomy and astrophysics with Python.
[ascl:1303.002]
emcee: The MCMC Hammer
emcee is an extensible, pure-Python implementation of Goodman & Weare's Affine Invariant Markov chain Monte Carlo (MCMC) Ensemble sampler. It's designed for Bayesian parameter estimation. The algorithm behind emcee has several advantages over traditional MCMC sampling methods and has excellent performance as measured by the autocorrelation time (or function calls per independent sample). One advantage of the algorithm is that it requires hand-tuning of only 1 or 2 parameters compared to $sim N^2$ for a traditional algorithm in an N-dimensional parameter space. Exploiting the parallelism of the ensemble method, emcee permits any user to take advantage of multiple CPU cores without extra effort.