close

ASCL.net

Astrophysics Source Code Library

Making codes discoverable since 1999

Welcome to the ASCL

The Astrophysics Source Code Library (ASCL) is a free online registry and repository for source codes of interest to astronomers and astrophysicists, including solar system astronomers, and lists codes that have been used in research that has appeared in, or been submitted to, peer-reviewed publications. The ASCL is indexed by the SAO/NASA Astrophysics Data System (ADS) and Web of Science and is citable by using the unique ascl ID assigned to each code. The ascl ID can be used to link to the code entry by prefacing the number with ascl.net (i.e., ascl.net/1201.001).


Most Recently Added Codes

2026 Apr 30

[ascl:2604.025] linmix: Python port of LINMIX_ERR IDL package

linmix implements a Bayesian approach to linear regression when there are measurement errors in both the independent and dependent variables. The code performs linear regression of y on x with intrinsic scatter, models the latent independent-variable distribution as a mixture of normal components, and uses Markov chain Monte Carlo to draw samples from the posterior. linmix ports Brandon C. Kelly’s LINMIX_ERR IDL package to Python, reproducing the original hierarchical model and inference scheme.

[ascl:2604.024] t-cup: Robust linear regression

t‑cup implements a statistical model for robust linear regression when both independent and dependent variables are measured with measurement error; the model is designed to remain reliable in the presence of outliers and mis-specified noise. The code is distributed as a Python package and is bundled with XDGMM (ascl:1708.001), a Python package implementing the extreme deconvolution algorithm.

[ascl:2604.023] SIMPL: Solar Imaging Pipeline for LOFAR

SIMPL (Solar Imaging Pipeline for LOFAR) processes and images interferometric solar observations from the Low Frequency Array (LOFAR). It provides calibration, phase center correction, self-calibration, and snapshot imaging to produce high-quality solar radio images across multiple frequencies and time intervals. The pipeline generates dynamic spectra, snapshot images with user-defined time and frequency resolution, and multi-frequency synthesis images, and organizes these products by frequency for scientific analysis. It produces calibrated measurement sets, calibration tables, FITS dynamic spectra, diagnostic plots, and detailed logs in a structured directory tree to support inspection and reproducibility. SIMPL offers command-line and file-based configuration to control imaging and self-calibration parameters, parallel processing options, and checkpointing; it also includes graphical tools to monitor logs, inspect dynamic spectra, and visualize calibration tables in real time.

[ascl:2604.022] CLAPP: AI pair programmer for the CLASS cosmology code

CLAPP provides an AI pair programming assistant specialized for the CLASS cosmology code. Implemented as a Streamlit application, the code uses LangChain with large language models and retrieval-augmented generation over CLASS documentation and example code to answer questions, explain parameters, and assist with cosmology coding tasks. It integrates directly with CLASS and its Python wrapper, offering built-in tools to test installations, run cosmological calculations, execute Python code snippets, and generate plots from CLASS outputs. CLAPP supports multiple response modes, including a fast mode for quick interaction and a multi-agent “swarm” mode for refined answers, and allows users to select between several backends.

[ascl:2604.021] fastparquet: Python implementation of the Parquet columnar format

fastparquet implements the Apache Parquet columnar storage format in Python for high-performance reading and writing of Parquet files. Inspired by parquet-python, the library supports a wide range of Parquet features, including nested data, row groups, and multiple compression codecs, and offers competitive I/O performance in a small dependency footprint. It integrates with NumPy and pandas to read and write DataFrames, and is used implicitly by higher-level projects such as Dask and intake-parquet for parallel, distributed data processing workflows. As of March 2026, the code is no longer being developed.

[ascl:2604.020] gdpyc: Galactic hydrogen column density and extinction estimator

gdpyc estimates Galactic hydrogen column densities, extinction, and reddening along arbitrary lines of sight. The package wraps HEALPix all-sky gas and dust maps, downloading and processing them as needed to provide map-based queries for individual sky coordinates or source lists. gdpyc offers functionality similar to commonly used nh tools, exposing both command-line and Python interfaces for integrating column-density and extinction estimates into analysis workflows.

[ascl:2604.019] tilepy: Tool for observation scheduling in poorly localized events

tilepy performs gravitational-wave follow-up scheduling and simulations with imaging atmospheric Cherenkov telescopes (IACTs). The package supports two- and three-dimensional tiling strategies, with the 3D algorithm using a preprocessed GLADE+ galaxy catalog converted to an HDF5 format via a supplied conversion script. It organizes the scheduling workflow around a manager script, with core modules defining campaigns, observatories, pointing tools and plotting, tiling determination, and ranking of observation times. The code includes additional tools for catalog cleaning and visualization. Configuration files describe observatory properties, visibility constraints, operational parameters, and tiling options such as probability thresholds, distance cuts, sky localization coverage, HEALPix resolutions, and optional weighting by host galaxy mass. tilepy is designed to follow-up poorly localized transient and multi-messenger events using gravitational-wave skymaps and galaxy catalogs to prioritize tiles.

[ascl:2604.018] DeepFMKit: Simulation and analysis toolkit for Deep Frequency Modulation Interferometry

DeepFMKit simulates, processes, and analyzes data from Deep Frequency Modulation Interferometry experiments. The package offers a detailed physics engine that models time-of-flight delays, dynamic path length changes, user-prescribed colored noise sources via amplitude spectral densities, and arbitrary laser modulation waveforms. It includes modular, interchangeable fitting algorithms, notably a parallelized frequency-domain non-linear least-squares fitter and a time-domain extended Kalman filter for real-time state tracking. DeepFMKit supports large-scale parameter sweeps and Monte Carlo studies through a declarative experimentation framework and supplies tools for data handling, configuration management, and visualization of simulated and analyzed results.

[ascl:2604.017] PyWavelets: Discrete and continuous wavelet transforms

PyWavelets, also known as pywt, provides one- and multi-dimensional forward and inverse discrete wavelet transforms, including multilevel decompositions, stationary (undecimated) wavelet transforms, and wavelet packet decomposition and reconstruction. It also implements a one-dimensional continuous wavelet transform, routines to compute approximations of wavelet and scaling functions, and supports real and complex data in single or double precision. PyWavelets includes over 100 built-in wavelet filters and allows users to define custom wavelets, with results designed to be compatible with the MATLAB Wavelet Toolbox.

[ascl:2604.016] PyOperators: Operators and solvers for high-performance computing

PyOperators defines composable operators and solvers for high-performance computing. The package represents operators as multi-dimensional functions with optimized, controlled memory management that, when linear, behave like sparse matrices and can be converted to dense form as needed. It provides a rich set of predefined linear and nonlinear operators, including identity, diagonal, clipping, and Fourier transform operators, and allows users to define custom operators via functions or subclasses with declarative flags that encode algebraic properties such as symmetry, idempotence, and involution. Operators can be combined by addition, composition, or element-wise multiplication, and built-in algebraic rules automatically simplify expressions to accelerate execution. Optional integrations with PyFFTW (ascl:2109.009), PyWavelets (ascl:2604.017), and MPI enable efficient Fourier and wavelet transforms and distributed-memory parallelism.