[ascl:2208.011]
POIS: Python Optical Interferometry Simulation

POIS (Python Optical Interferometry Simulation) provides the building blocks to simulate the operation of a ground-based optical interferometer perturbed by atmospheric seeing perturbations. The package includes functions to generate simulated atmospheric turbulent wavefront perturbations, correct these perturbations using adaptive optics, and combine beams from an arbitrary number of telescopes, with or without spatial filtering, to provide complex fringe visibility measurements.

[ascl:2403.005]
Poke: Polarization ray tracing and Gaussian beamlet module for Python

Ashcraft, Jaren N.; Mulhal, Kenji; Douglas, Ewan S.; Kim, Daewook; Riggs, A.J. E.; Anche, Ramya M.; Brendel, Trent; Derby, Kevin Z.; Dube, Brandon D.; Jarecki, Quinn; Jenkins, Emory; Milani, Kian

Poke (pronounced /poʊˈkeɪ/ or po-kay) uses commercial ray tracing APIs and open-source physical optics engines to simultaneously model scalar wavefront error, diffraction, and polarization to bridge the gap between ray trace models and diffraction models. It operates by storing ray data from a commercial ray tracing engine into a Python object, from which physical optics calculations can be made. Poke provides two propagation physics modules, Gaussian Beamlet Decomposition and Polarization Ray Tracing, that add to the utility of existing scalar diffraction models. Gaussian Beamlet Decomposition is a ray-based approach to diffraction modeling that integrates physical optics models with ray trace models to directly capture the influence of ray aberrations in diffraction simulations. Polarization Ray Tracing is a ray-based method of vector field propagation that can diagnose the polarization aberrations in optical systems.

[ascl:1505.018]
POKER: P Of K EstimatoR

POKER (P Of K EstimatoR) estimates the angular power spectrum of a 2D map or the cross-power spectrum of two 2D maps in the flat sky limit approximation in a realistic data context: steep power spectrum, non periodic boundary conditions, arbitrary pixel resolution, non trivial masks and observation patch geometry.

[ascl:1807.001]
POLARIS: POLArized RadIation Simulator

POLARIS (POLArized RadIation Simulator) simulates the intensity and polarization of light emerging from analytical astrophysical models as well as complex magneto-hydrodynamic simulations on various grids. This 3D Monte-Carlo continuum radiative transfer code is written in C++ and is capable of performing dust heating, dust grain alignment, line radiative transfer, and synchrotron simulations to calculate synthetic intensity and polarization maps. The code makes use of a full set of physical quantities (density, temperature, velocity, magnetic field distribution, and dust grain properties as well as different sources of radiation) as input.

[ascl:2402.006]
polarizationtools: Polarization analysis and simulation tools in python

polarizationtools converts, analyzes, and simulates polarization data. The different python scripts (1) convert Stokes parameters into linear polarization parameters with proper treatment of the uncertainties and vice versa; (2) shift electric vector position angle (EVPA) data points in time series to account for the 180 degrees ambiguity; (3) identify rotations of the EVPA e.g. in blazar polarization monitoring data according to various rotation definitions; and (4) simulate polarization time series as a random walk in the Stokes Q-U plane.

[ascl:2102.011]
polgraw-allsky: All-sky almost-monochromatic gravitational-wave pipeline

Astone, Pia; Bejger, Michał; Bolek, Jan; Ciecieląg, Paweł; Dorosh, Orest; Garus, Aleksander; Królak, Andrzej; Nagy-Egri, Máté Ferenc; Piętka, Maciej; Pisarski, Andrzej; Poghosyan, Gevorg; Sieniawska, Magdalena; Skrzypiec, Rafał

polgraw-allsky searches for almost monochromatic gravitational wave signals. This pipeline searches for continuous gravitational wave signals in time-domain data using the F-statistic on data from a network of detectors. The software generates a parameter space grid, conducts a coherent search for candidate signals in narrowband time segments, and searches for coincidences among different time segments. The pipeline also estimates the false alarm probability of coincidences and follows up on interesting outliers.

[ascl:1406.012]
POLMAP: Interactive data analysis package for linear spectropolarimetry

POLMAP provides routines for displaying and analyzing spectropolarimetry data that are not available in the complementary TSP package. Commands are provided to read and write TSP (ascl:1406.011) polarization spectrum format files from within POLMAP. This code is distributed as part of the Starlink software collection (ascl:1110.012).

[ascl:1405.014]
POLPACK: Imaging polarimetry reduction package

POLPACK maps the linear or circular polarization of extended astronomical objects, either in a single waveband, or in multiple wavebands (spectropolarimetry). Data from both single and dual beam polarimeters can be processed. It is part of the Starlink software collection (ascl:1110.012).

[ascl:1603.018]
PolRadTran: Polarized Radiative Transfer Model Distribution

PolRadTran is a plane-parallel polarized radiative transfer model. It is used to compute the radiance exiting a vertically inhomogeneous atmosphere containing randomly-oriented particles. Both solar and thermal sources of radiation are considered. A direct method of incorporating the polarized scattering information is combined with the doubling and adding method to produce a relatively simple formulation.

[ascl:1109.005]
PolSpice: Spatially Inhomogeneous Correlation Estimator for Temperature and Polarisation

PolSpice (aka Spice) is a tool to statistically analyze Cosmic Microwave Background (CMB) data, as well as any other diffuse data pixelized on the sphere.

This Fortran90 program measures the 2 point auto (or cross-) correlation functions w(θ) and the angular auto- (or cross-) power spectra C(l) from one or (two) sky map(s) of Stokes parameters (intensity I and linear polarisation Q and U). It is based on the fast Spherical Harmonic Transforms allowed by isolatitude pixelisations such as Healpix [for Npix pixels over the whole sky, and a C(l) computed up to l=lmax, PolSpice complexity scales like Npix1/2 lmax2 instead of Npix lmax2]. It corrects for the effects of the masks and can deal with inhomogeneous weights given to the pixels of the map. In the case of polarised data, the mixing of the E and B modes due to the cut sky and pixel weights can be corrected for to provide an unbiased estimate of the "magnetic" (B) component of the polarisation power spectrum. Most of the code is parallelized for shared memory (SMP) architecture using OpenMP.

[ascl:2307.020]
PolyBin: Binned polyspectrum estimation on the full sky

PolyBin estimates the binned power spectrum, bispectrum, and trispectrum for full-sky HEALPix maps such as the CMB. This can include both spin-0 and spin-2 fields, such as the CMB temperature and polarization, or galaxy positions and galaxy shear. Alternatively, one can use only scalar maps. For each statistic, two estimators are available: the standard (ideal) estimators, which do not take into account the mask, and window-deconvolved estimators. For the second case, a Fisher matrix must be computed; this depends on binning and the mask, but does not need to be recomputed for each new simulation. PolyBin can compute both the parity-even and parity-odd components, accounting for any leakage between the two, for the bispectrum and trispectrum.

[ascl:1502.011]
PolyChord: Nested sampling for cosmology

PolyChord is a Bayesian inference tool for the simultaneous calculation of evidences and sampling of posterior distributions. It is a variation on John Skilling's Nested Sampling, utilizing Slice Sampling to generate new live points. It performs well on moderately high dimensional (~100s D) posterior distributions, and can cope with arbitrary degeneracies and multimodality.

[ascl:2007.009]
polyMV: Multipolar coefficients converter

polyMV converts multipolar coefficients (alms in healpix order) into Multipole Vectors (MVs) and also Fréchet Vectors (FVs) given a specific multipole. The code uses MPSolve (ascl:2007.008) and is order of magnitudes faster than other existing public codes at high multipoles.

[ascl:1912.001]
Polyspectrum: Computing polyspectra using an FFT estimator

Polyspectrum computes the polyspectrum from 3D grids using a fast Fourier transformation (FFT) estimator. The code, written in C and MPI-parallelized, support the computation of power- and bispectra; it also supports higher-order polyspectra, but streamlining the input data is required.

[ascl:2012.016]
Pomegranate: Probabilistic model builder

Pomegranate builds probabilistic models in Python that is implemented in Cython for speed. The code merges the easy-to-use API of scikit-learn with the modularity of probabilistic modeling, including general mixture and hidden Markov models and Bayesian networks, to allow users to specify complicated models without the need to be concerned about implementation details. The models are built from the ground up and natively support features such as multi-threaded parallelism and out-of-core processing.

[ascl:1805.011]
PoMiN: A Post-Minkowskian N-Body Solver

PoMiN is a lightweight N-body code based on the Post-Minkowskian N-body Hamiltonian of Ledvinka, Schafer, and Bicak, which includes General Relativistic effects up to first order in Newton's constant G, and all orders in the speed of light c. PoMiN is a single file written in C and uses a fourth-order Runge-Kutta integration scheme. PoMiN has also been written to handle an arbitrary number of particles (both massive and massless) with a computational complexity that scales as O(N^2).

[ascl:2007.006]
PoPE: Population Profile Estimator

PoPE (Population Profile Estimator) analyzes spatial distribution or internal spatial structure problems of samples of astronomical systems. This population-based Bayesian inference model uses the conditional statistics of spatial profile of multiple observables assuming the individual observations are measured with errors of varying magnitude. Assuming the conditional statistics of the observables can be described with a multivariate normal distribution, the model reduces to the conditional average profile and conditional covariance between all observables. The method consists of two steps: (1) reconstructing the average profile using non-parametric regression with Gaussian Processes and (2) estimating the property profiles covariance given a set of independent variable. PoPE is computationally efficient and capable of inferring average profiles of a population from noisy measurements without stacking and binning nor parameterizing the shape of the average profile.

[ascl:1602.018]
POPPY: Physical Optics Propagation in PYthon

Perrin, Marshall; Long, Joseph; Douglas, Ewan; Sivaramakrishnan, Anand; Slocum, Christine; and others

POPPY (Physical Optics Propagation in PYthon) simulates physical optical propagation including diffraction. It implements a flexible framework for modeling Fraunhofer and Fresnel diffraction and point spread function formation, particularly in the context of astronomical telescopes. POPPY provides the optical modeling framework for WebbPSF (ascl:1504.007) and was developed as part of a simulation package for JWST, but is available separately and is broadly applicable to many kinds of imaging simulations.

[ascl:0202.001]
PopRatio: A program to calculate atomic level populations in astrophysical plasmas

PopRatio is a Fortran 90 code to calculate atomic level populations in astrophysical plasmas. The program solves the equations of statistical equilibrium considering all possible bound-bound processes: spontaneous, collisional or radiation induced (the later either directly or by fluorescence). There is no limit on the number of levels or in the number of processes that may be taken into account. The program may find a wide range of applicability in astronomical problems, such as interpreting fine-structure absorption lines or collisionally excited emission lines and also in calculating the cooling rates due to collisional excitation.

[ascl:1912.008]
PopSyCLE: Population Synthesis for Compact object Lensing Events

PopSyCLE performs compact object population synthesis while taking photometric and astrometric microlensing effects into consideration. It uses Galaxia (ascl:1101.007) to produces a synthetic survey, injects compact objects into the resulting survey, and then produces a list of microlensing events, enabling the discovery of black holes with microlensing. It can be used to examine historical microlensing events from photometric surveys to statistically constrain the abundance of black holes in our galaxy, and to forward model microlensing survey results to constrain, for example, the properties of compact objects, Galactic structure, and the initial-final mass relation.

[ascl:2202.021]
popsynth: Observed surveys from latent population models

Popsynth provides an abstract way to generate survey populations from arbitrary luminosity functions and redshift distributions. Additionally, auxiliary quantities can be sampled and stored. Populations can be saved and restored via an HDF5 files for later use, and population synthesis routines can be created via classes or structured YAML files. Users can construct their own classes for spatial, luminosity, and other distributions, all of which can be connected to arbitrarily complex selection functions.

[ascl:2106.037]
PORTA: POlarized Radiative TrAnsfer

PORTA solves three-dimensional non-equilibrium radiative transfer problems with massively parallel computers. The code can be used for modeling the spectral line polarization produced by the scattering of anisotropic radiation and the Hanle and Zeeman effects assuming complete frequency redistribution, either using two-level or multilevel atomic models. The numerical method of solution used to find the self-consistent values of the atomic density matrix at each point of the model’s Cartesian grid is based on Jacobi iterative scheme and on a short-characteristics formal solver of the Stokes-vector transfer equation that uses monotonic Bézier interpolation. The code can also be used to compute the linear polarization of the continuum radiation caused by Rayleigh and Thomson scattering in 3D models of stellar atmospheres, and to solve the simpler 3D radiative transfer problem of unpolarized radiation in multilevel systems. PORTA accepts/produces HDF5 input/output and offers an advanced graphical user interface.

[ascl:2003.006]
PORTAL: POlarized Radiative Transfer Adapted to Lines

PORTAL (POlarized Radiative Transfer Adapted to Lines), a 3D polarized radiative transfer code, simulates the emergence of polarization in the emission of atomic or molecular (sub-)millimeter lines. Written in Fortran90, PORTAL can be used in standalone mode or can process the output of other 3D radiative transfer codes

[ascl:2104.031]
Posidonius: N-Body simulator for planetary and/or binary systems

Posidonius is a N-body code based on the tidal model used in Mercury-T (ascl:1511.020). It uses the REBOUND (ascl:1110.016) symplectic integrator WHFast to compute the evolution of positions and velocities, which is also combined with a midpoint integrator to calculate the spin evolution in a consistent way. As Mercury-T, Posidonius takes into account tidal forces, rotational-flattening effects and general relativity corrections. It also includes different evolution models for FGKML stars and gaseous planets. The N-Body code is written in Rust; a Python package is provided to easily define simulation cases in JSON format, which is readable by the Posidonius integrator.

[ascl:1411.021]
POSTMORTEM: Visibility data reduction and map making package

POSTMORTEM is the visibility data reduction and map making package from MRAO (Mullard Radio Astronomy Observatory) and is used with the Ryle and CLFST telescopes at Cambridge. It contains sub-systems for nonitoring telescope performance, displaying and editing the visibility data, performing calibrations, removing flux from interfering bright sources, and map-making. It requires PGPLOT (ascl:1103.002), SLALIB (ascl:1403.025), and NAG numerical routines, all of which are distributed with the STARLINK software collection (ascl:1110.012) or available separately.

[ascl:2210.019]
POSYDON: Single and binary star population synthesis code

Fragos, Tassos; Andrews, Jeff J.; Bavera, Simone S.; Berry, Christopher P. L.; Coughlin, Scott; Dotter, Aaron; Giri, Prabin; Kalogera, Vicky; Katsaggelos, Aggelos; Kovlakas, Konstantinos; Lalvani, Shamal; Misra, Devina; Srivastava, Philipp M.; Qin, Ying; Rocha, Kyle A.; Roman-Garza, Jaime; Serra, Juan Gabriel; Stahle, Petter; Sun, Meng; Teng, Xu; Trajcevski, Goce; Hai Tran, Nam; Xing, Zepei; Zapartas, Emmanouil; Zevin, Michael

POSYDON (POpulation SYnthesis with Detailed binary-evolution simulatiONs) incorporates full stellar structure and evolution modeling for single and binary-star population synthesis. The code is modular and allows the user to specify initial population properties and adopt choices that determine how stellar evolution proceeds. Populations are simulated with the use of MESA (ascl:1010.083) evolutionary tracks for single, non-interacting, and interacting binaries organized in grids. Machine-learning methods are incorporated and applied on the grids for classification and various interpolation calculations, and the development of irregular grids guided by active learning, for computational efficiency.

[ascl:2006.018]
Powderday: Dust radiative transfer package

Narayanan, Desika; Turk, Matthew J.; Robitaille, Thomas; Kelly, Ashley J.; Connor McClellan, B.; Sharma, Ray S.; Garg, Prerak; Abruzzo, Matthew; Choi, Ena; Conroy, Charlie; Johnson, Benjamin D.; Kimock, Benjamin; Li, Qi; Lovell, Christopher C.; Lower, Sidney; Privon, George C.; Roberts, Jonathan; Sethuram, Snigdaa; Snyder, Gregory F.; Thompson, Robert; Wise, John H.

The dust radiative transfer software Powderday interfaces with galaxy formation simulations to produce spectral energy distributions and images. The code uses fsps (ascl:1010.043) and its Python bindings python-fsps for stellar SEDs, Hyperion (ascl:1207.004) for dust radiative transfer, and works with a variety of packages, including Arepo (ascl:1909.010), Changa (ascl:1105.005), Gasoline (ascl:1710.019), and Gizmo (ascl:1410.003); threaded throughout is yt (ascl:1011.022).

[ascl:1807.021]
POWER: Python Open-source Waveform ExtractoR

POWER (Python Open-source Waveform ExtractoR) monitors the status and progress of numerical relativity simulations and post-processes the data products of these simulations to compute the gravitational wave strain at future null infinity.

[ascl:1805.001]
powerbox: Arbitrarily structured, arbitrary-dimension boxes and log-normal mocks

powerbox creates density grids (or boxes) with an arbitrary two-point distribution (i.e. power spectrum). The software works in any number of dimensions, creates Gaussian or Log-Normal fields, and measures power spectra of output fields to ensure consistency. The primary motivation for creating the code was the simple creation of log-normal mock galaxy distributions, but the methodology can be used for other applications.

[ascl:1110.017]
POWMES: Measuring the Power Spectrum in an N-body Simulation

POWMES is a F90 program to measure very accurately the power spectrum in a N-body simulation, using Taylor expansion of some order on the cosine and sine transforms. It can read GADGET format and requires FFTW2 to be installed.

[ascl:2301.023]
PoWR: Potsdam Wolf-Rayet Models

Hamann, W. R.; Gräfener, G.; Koesterke, L.; Sander, A.; Shenar, T.; Hainich, R.; Gímenez-García, A.; Todt, H.

PoWR (Potsdam Wolf-Rayet Models) calculates synthetic spectra for Wolf-Rayet and OB stars from model atmospheres which account for Non-LTE, spherical expansion and metal line blanketing. The model data is provided through a web interface and includes Spectral Energy Distribution, line spectrum in high resolution for different wavelength bands, and atmosphere stratification. For Wolf-Rayet stars of the nitrogen subclass, there are grids of hydrogen-free models and of models with a specified mass fraction of hydrogen. The iron-group and total CNO mass fractions correspond to the metallicity of the Galaxy, the Large Magellanic Cloud, or the Small Magellanic Cloud, respectively. The source code is available as a tarball on the same web interface.

[ascl:2212.017]
powspec: Power and cross spectral density of 2D arrays

powspec provides functions to compute power and cross spectral density of 2D arrays. Units are properly taken into account. It can, for example, create fake Gaussian field images, compute power spectra P(k) of each image, shrink a mask with regard to a kernel, generate a Gaussian field, and plot various results.

[ascl:1401.009]
PPF module for CAMB

The main CAMB code supports smooth dark energy models with constant equation of state and sound speed of one, or a quintessence model based on a potential. This modified code generalizes it to support a time-dependent equation of state w(a) that is allowed to cross the phantom divide, i.e. w=-1 multiple times by implementing a Parameterized Post-Friedmann(PPF) prescription for the dark energy perturbations.

[ascl:1507.009]
PPInteractions: Secondary particle spectra from proton-proton interactions

PPInteractions generates the secondary particle energy spectra produced in proton-proton interactions over the entire chosen energy range for any value of the primary proton spectral index by adjusting the low energy part of the spectra (below 0.1TeV) to the high energy end of the spectra (above 0.1TeV). This code is based on the parametrization of Kelner et al (2006), in which the normalization of the low energy part of the spectra is given only for 3 values of the primary proton spectral indices (2, 2.5, 3).

[ascl:2004.008]
PPMAP: Column density mapping with extra dimensions

PPMAP provides column density mapping with extra dimensions (temperature and dust opacity index); it generate image cubes of differential column density as a function of (x,y) sky position and temperature for diffuse dusty structures. The code incorporates parallel processing using OpenMP for some of the more CPU-intensive steps. It is currently configured for the "Raven" cluster at Cardiff University and runs in a mode in which the computations are split between 16 separate nodes, each of which uses 16 cores with OpenMP.

[ascl:1210.002]
pPXF: Penalized Pixel-Fitting stellar kinematics extraction

pPXF extracts the stellar kinematics or stellar population from absorption-line spectra of galaxies using the Penalized Pixel-Fitting method (pPXF) developed by Cappellari & Emsellem (2004, PASP, 116, 138). Additional features implemented in the pPXF routine include:

- Optimal template: Fitted together with the kinematics to minimize template-mismatch errors. Also useful to extract gas kinematics or derive emission-corrected line-strengths indexes. One can use synthetic templates to study the stellar population of galaxies via "Full Spectral Fitting" instead of using traditional line-strengths.
- Regularization of templates weights: To reduce the noise in the recovery of the stellar population parameters and attach a physical meaning to the output weights assigned to the templates in term of the star formation history (SFH) or metallicity distribution of an individual galaxy.
- Iterative sigma clipping: To clean the spectra from residual bad pixels or cosmic rays.
- Additive/multiplicative polynomials: To correct low frequency continuum variations. Also useful for calibration purposes.

The code is available in IDL and in Python versions.

[ascl:1611.004]
PRECESSION: Python toolbox for dynamics of spinning black-hole binaries

PRECESSION is a comprehensive toolbox for exploring the dynamics of precessing black-hole binaries in the post-Newtonian regime. It allows study of the evolution of the black-hole spins along their precession cycles, performs gravitational-wave-driven binary inspirals using both orbit-averaged and precession-averaged integrations, and predicts the properties of the merger remnant through fitting formulas obtained from numerical-relativity simulations. PRECESSION can add the black-hole spin dynamics to larger-scale numerical studies such as gravitational-wave parameter estimation codes, population synthesis models to predict gravitational-wave event rates, galaxy merger trees and cosmological simulations of structure formation, and provides fast and reliable integration methods to propagate statistical samples of black-hole binaries from/to large separations where they form to/from small separations where they become detectable, thus linking gravitational-wave observations of spinning black-hole binaries to their astrophysical formation history. The code is also useful for computing initial parameters for numerical-relativity simulations targeting specific precessing systems.

[ascl:2004.016]
PRECISION: Astronomical infrared observations data reduction

PRECISION reduces astronomical IR imaging data. Written with SPHERE data in mind, it provides a fast and easy reduction of bright sources suitable for science. While it may not extract the absolute maximum amount of science, the objective is to provide a means to get science-ready data with minimal computing time or human interaction.

[ascl:1710.024]
pred_loggs: Predicting individual galaxy G/S probability distributions

Eckert, Kathleen D.; Kannappan, Sheila J.; Stark, David V.; Moffett, Amanda J.; Norris, Mark A.; Snyder, Elaine M.; Hoversten, Erik A.

pred_loggs models the entire PGF probability density field, enabling iterative statistical modeling of upper limits and prediction of full G/S probability distributions for individual galaxies.

[ascl:1112.016]
PREDICT: Satellite tracking and orbital prediction

PREDICT is an open-source, multi-user satellite tracking and orbital prediction program written under the Linux operating system. PREDICT provides real-time satellite tracking and orbital prediction information to users and client applications through:

- the system console
- the command line
- a network socket
- the generation of audio speech

[ascl:1910.002]
PreProFit: Pressure Profile Fitter for galaxy clusters in Python

PreProFit fits the pressure profile of galaxy clusters using Markov chain Monte Carlo (MCMC). The software can analyze data from different sources and offers flexible parametrization for the pressure profile. PreProFit accounts for Abel integral, beam smearing, and transfer function filtering when fitting data and returns χ2, model parameters and uncertainties in addition to marginal and joint probability contours, diagnostic plots, and surface brightness radial profiles. The code can be used for analytic approximations for the beam and transfer functions for feasibility studies.

[ascl:1305.006]
Pressure-Entropy SPH: Pressure-entropy smooth-particle hydrodynamics

Pressure-Entropy SPH, a modified version of GADGET-2, uses the Lagrangian “Pressure-Entropy” formulation of the SPH equations. This removes the spurious “surface tension” force substantially improving the treatment of fluid mixing and contact discontinuities. Pressure-Entropy SPH shows good performance in mixing experiments (e.g. Kelvin-Helmholtz & blob tests), with conservation maintained even in strong shock/blastwave tests, where formulations without manifest conservation produce large errors. This improves the treatment of sub-sonic turbulence and lessens the need for large kernel particle numbers.

[ascl:1107.017]
PRESTO: PulsaR Exploration and Search TOolkit

PRESTO is a large suite of pulsar search and analysis software. It was primarily designed to efficiently search for binary millisecond pulsars from long observations of globular clusters (although it has since been used in several surveys with short integrations and to process a lot of X-ray data as well). To date, PRESTO has discovered well over a hundred and fifty pulsars, including approximately 100 recycled pulsars, about 80 of which are in binaries. It is written primarily in ANSI C, with many of the recent routines in Python.

Written with portability, ease-of-use, and memory efficiency in mind, it can currently handle raw data from the following pulsar machines or formats:

- PSRFITS search-format data (as from GUPPI at the GBT and the Mock Spectrometers at Arecibo)

- SPIGOT at the GBT

- Most Wideband Arecibo Pulsar Processor (WAPP) at Arecibo

- The Parkes and Jodrell Bank 1-bit filterbank formats

- Berkeley-Caltech Pulsar Machine (BCPM) at the GBT (may it RIP...)

- 8-bit filterbank format from SIGPROC (other formats will be added if required)

- A time series composed of single precision (i.e. 4-byte) floating point data

- Photon arrival times (or events) in ASCII or double-precision binary formats

[submitted]
PREVIS: Python Request Engine for Virtual Interferometric Survey

PREVIS is a Python module that provides functions to help determine the observability of astronomical sources from long-baseline interferometers worldwide: VLTI (ESO, Chile) and CHARA (USA). PREVIS uses data from the Virtual Observatory (OV), such as magnitudes, Spectral Energy Distribution (SED), celestial coordinates or Gaia distances. Then, it compares the target brightness to the limiting magnitudes of each instrument to determine whether the target is observable with present performances. PREVIS includes main facilities at the VLTI with PIONIER (H band), GRAVITY (K band) and MATISSE (L, M, N bands), and at CHARA array with VEGA (V band), PAVO (R bands), MIRC (H band), CLIMB (K band) and CLASSIC (H, K bands). PREVIS also uses the V or G magnitudes to check the guiding restriction or the tip/tilt correction limit. For the VLTI: if the star is too faint in G mag, PREVIS will look for the list of stars around the target (57 arcsec) with the appropriate magnitude and give the list of celestial coordinates usable as the guiding star.

[ascl:1903.009]
PRF: Probabilistic Random Forest

PRF (Probabilistic Random Forest) is a machine learning algorithm for noisy datasets. The PRF is a modification of the long-established Random Forest (RF) algorithm, and takes into account uncertainties in the measurements (i.e., features) as well as in the assigned classes (i.e., labels). To do so, the Probabilistic Random Forest (PRF) algorithm treats the features and labels as probability distribution functions, rather than as deterministic quantities.

[ascl:2006.002]
PRIISM: Python module for Radio Interferometry Imaging with Sparse Modeling

PRIISM images radio interferometry data using the sparse modeling technique. In addition to generating an image, PRIISM can choose the best image from a range of processing parameters using cross validation. User can obtain statistically optimal images by providing the visibility data with some configuration parameters. The software is implemented as a Python module.

[ascl:2006.010]
PRISim: Precision Radio Interferometer Simulator

PRISim is a modular radio interferometer array simulator, including the radio sky and instrumental effects, and generates a transit dataset in HD5 format.

[ascl:1907.021]
PRISM: Probabilistic Regression Instrument for Simulating Models

PRISM analyzes scientific models using the Bayes linear approach, the emulation technique, and history matching to construct an approximation ('emulator') of any given model. The software facilitates and enhances existing MCMC methods by restricting plausible regions and exploring parameter space efficiently and can be used as a standalone alternative to MCMC for model analysis, providing insight into the behavior of complex scientific models. PRISM stores results in HDF5-files and can be executed in serial or MPI on any number of processes. It accepts any type of model and comparison data and can reduce relevant parameter space by factors over 100,000 using only a few thousand model evaluations.

[ascl:1601.020]
ProC: Process Coordinator

Hovest, Wolfgang; Knoche, Jörg; Hell, Reinhard; Doerl, Uwe; Riller, Thomas; Matthai, Frank; Ensslin, Torsten A.; Rachen, Jörg; Robbers, Georg; Adorf, Hans-Martin; Reinecke, Martin; Bartelmann, Matthias

ProC (short for Process Coordinator) is a versatile workflow engine that allows the user to build, run and manage workflows with just a few clicks. It automatically documents every processing step, making every modification to data reproducible. ProC provides a graphical user interface for constructing complex data processing workflows out of a given set of computer programs. The user can, for example, specify that only data products which are affected by a change in the input data are updated selectively, avoiding unnecessary computations. The ProC suite is flexible and satisfies basic needs of data processing centers that have to be able to restructure their data processing along with the development of a project.

[submitted]
prodimopy: Python tools for the radiation thermo-chemical code ProDiMo.

Rab, Christian; Arabhavi, Aditya M.; Chaparro Molano, G.; Backs, Frank; Kamp, Inga; Thi, Wing-Fai; Woitke , Peter

prodimopy is an open-source Python package to read, analyze and plot modelling results of the radiation thermo-chemical disk code ProDiMo (PROtoplanetary DIsk MOdel, https://prodimo.iwf.oeaw.ac.at). It also includes tools to run ProDiMo in 1D slap model mode, to run simple ProDimo model grids and to interface ProDiMo with 1D and 2D disk codes (i.e. use input structure from hydrodynamic models).

prodimopy can also be used independently of ProDiMo (no ProDiMo installation is required) and hence is also useful to extract information from already available ProDiMo models (e.g. as input for other codes) or for model comparison.

[ascl:1608.011]
PROFFIT: Analysis of X-ray surface-brightness profiles

PROFFIT analyzes X-ray surface-brightness profiles for data from any X-ray instrument. It can extract surface-brightness profiles in circular or elliptical annuli, using constant or logarithmic bin size, from the image centroid, the surface-brightness peak, or any user-given center, and provides surface-brightness profiles in any circular or elliptical sectors. It offers background map support to extract background profiles, can excise areas using SAO DS9-compatible (ascl:0003.002) region files to exclude point sources, provides fitting with a number of built-in models, including the popular beta model, double beta, cusp beta, power law, and projected broken power law, uses chi-squared or C statistic, and can fit on the surface-brightness or counts data. It has a command-line interface similar to HEASOFT’s XSPEC (ascl:9910.005) package, provides interactive help with a description of all the commands, and results can be saved in FITS, ROOT or TXT format.

[ascl:1705.010]
PROFILER: 1D galaxy light profile decomposition

Written in Python, PROFILER analyzes the radial surface brightness profiles of galaxies. It accurately models a wide range of galaxies and galaxy components, such as elliptical galaxies, the bulges of spiral and lenticular galaxies, nuclear sources, discs, bars, rings, and spiral arms with a variety of parametric functions routinely employed in the field (Sérsic, core-Sérsic, exponential, Gaussian, Moffat and Ferrers). In addition, Profiler can employ the broken exponential model (relevant for disc truncations or antitruncations) and two special cases of the edge-on disc model: namely along the major axis (in the disc plane) and along the minor axis (perpendicular to the disc plane).

[ascl:1612.004]
ProFit: Bayesian galaxy fitting tool

ProFit is a Bayesian galaxy fitting tool that uses the fast C++ image generation library libprofit (ascl:1612.003) and a flexible R interface to a large number of likelihood samplers. It offers a fully featured Bayesian interface to galaxy model fitting (also called profiling), using mostly the same standard inputs as other popular codes (e.g. GALFIT ascl:1104.010), but it is also able to use complex priors and a number of likelihoods.

[ascl:1204.015]
PROFIT: Emission-line PROfile FITting routine

The PROFIT is an IDL routine to do automated fitting of emission-line profiles by Gaussian curves or Gauss-Hermite series optimized for use in Integral Field and Fabry-Perot data cubes. As output PROFIT gives two-dimensional FITS files for the emission-line flux distribution, centroid velocity, velocity dispersion and higher order Gauss-Hermite moments (h3 and h4).

[ascl:1804.006]
ProFound: Source Extraction and Application to Modern Survey Data

ProFound detects sources in noisy images, generates segmentation maps identifying the pixels belonging to each source, and measures statistics like flux, size, and ellipticity. These inputs are key requirements of ProFit (ascl:1612.004), our galaxy profiling package; these two packages used in unison semi-automatically profile large samples of galaxies. The key novel feature introduced in ProFound is that all photometry is executed on dilated segmentation maps that fully contain the identifiable flux, rather than using more traditional circular or ellipse-based photometry. Also, to be less sensitive to pathological segmentation issues, the de-blending is made across saddle points in flux. ProFound offers good initial parameter estimation for ProFit, and also segmentation maps that follow the sometimes complex geometry of resolved sources, whilst capturing nearly all of the flux. A number of bulge-disc decomposition projects are already making use of the ProFound and ProFit pipeline.

[ascl:2204.018]
ProFuse: Galaxies and components modeler

ProFuse produces physical models of galaxies and their components by combining the functionalities of the source extraction code PROFOUND (ascl:1804.006), the Bayesian galaxy fitting tool ProFit (ascl:1612.004), and the spectral generation package ProSpect (ascl:2002.007). ProFuse uses a self-consistent model for the star formation and metallicity history of the bulge and disk separately to generate images. The package then defines the model likelihood and optimizes the physical galaxy reconstruction using target images across a range of wavelengths.

[ascl:1306.004]
PROM4: 1D isothermal and isobaric modeler for solar prominences

PROM4 computes simple models of solar prominences which consist of plane-parallel slabs standing vertically above the solar surface. Each model is defined by 5 parameters: temperature, density, geometrical thickness, microturbulent velocity and height above the solar surface. PROM4 solves the equations of radiative transfer, statistical equilibrium, ionization and pressure equilibria, and computes electron and hydrogen level populations and hydrogen line profiles. Written in Fortran 90 and with two versions available (one with text in English, one with text in French), the code needs 64-bit arithmetic for real numbers.

PROM7 (ascl:1805.023) is a more recent version of this code.

[ascl:1805.023]
PROM7: 1D modeler of solar filaments or prominences

PROM7 is an update of PROM4 (ascl:1306.004) and computes simple models of solar prominences and filaments using Partial Radiative Distribution (PRD). The models consist of plane-parallel slabs standing vertically above the solar surface. Each model is defined by 5 parameters: temperature, density, geometrical thickness, microturbulent velocity and height above the solar surface. It solves the equations of radiative transfer, statistical equilibrium, ionization and pressure equilibria, and computes electron and hydrogen level population and hydrogen line profiles. Moreover, the code treats calcium atom which is reduced to 3 ionization states (Ca I, Ca II, CA III). Ca II ion has 5 levels which are useful for computing 2 resonance lines (H and K) and infrared triplet (to 8500 A).

[ascl:1511.023]
PromptNuFlux: Prompt atmospheric neutrino flux calculator

PromptNuFlux computes the prompt atmospheric neutrino flux E3Φ(GeV2/(cm2ssr)), including the total associated theory uncertainty, for a range of energies between E=103 GeV and E=107.5 GeV. Results are available for five different parametrizations of the input cosmic ray flux: BPL, H3P, H3A, H14a, H14b.

[ascl:2312.020]
ProPane: Image warping and stacking utilities

Robotham, A. S. G.; Tobar, R.; Bellstedt, S.; Casura, S.; Cook, R. H. W.; D'Silva, J. C. J.; Davies, L. J.; Driver, S. P.; Li, J.; Garate-Nuñez, L. P.

The ProPane package comes with key utilities for warping between different WCS systems: propaneWarp (for warping individual frames once). ProPane also contains the various functions for creating large stacks of many warped frames (which is of class ProPane, which is roughly meant to suggest the idea of many panes of glass being stacked together). It uses the wcslib C library (ascl:1108.003) for projections (all legal ones are supported) via the Rwcs package, and uses the threaded Cimg C++ library via the imager library to do image warping. ProPane also contains functions converted from older (deprecated) Rwcs and ProFound (ascl:1804.006) related functions.

[ascl:1405.006]
PROPER: Optical propagation routines

PROPER simulates the propagation of light through an optical system using Fourier transform algorithms (Fresnel, angular spectrum methods). Available in IDL, Python, and Matlab, it includes routines to create complex apertures, aberrated wavefronts, and deformable mirrors. It is especially useful for the simulation of high contrast imaging telescopes (extrasolar planet imagers like TPF).

[ascl:1904.025]
Properimage: Image coaddition and subtraction

Properimage processes astronomical image; it is specially written for coaddition and image subtraction. It performs the statistical proper-coadd of several images using a spatially variant PSF estimation, and also difference image analysis by several strategies developed by others. Most of the code is based on a class called SingleImage, which provides methods and properties for image processing such as PSF determination.

[ascl:1306.005]
PROS: Multi-mission X-ray analysis software system

PROS is a multi-mission x-ray analysis software system designed to run under IRAF. The PROS software includes spatial, spectral, timing, data I/O and conversion routines, plotting applications, and general algorithms for performing arithmetic operations with imaging data.

[ascl:2111.006]
prose: FITS images processing pipeline

Garcia, Lionel J.; Timmermans, Mathilde; Pozuelos, Francisco J.; Ducrot, Elsa; Gillon, Michaël; Delrez, Laetitia; Wells, Robert D.; Jehin, Emmanuël

prose provides pipelines for performing common tasks, such as automated calibration, reduction and photometry, and makes building custom pipelines easy. The prose framework is instrument-agnostic and makes constructing pipelines easy. It offers a wide range of implemented building blocks and also allows users to define their own.

[ascl:2312.002]
PROSPECT: Profile likelihood for frequentist cosmological inference

PROSPECT infers cosmological parameters using profile likelihoods. It constructs an approximate profile likelihood from an MCMC and optimizes it using simulated annealing, a gradient-free stochastic optimization algorithm. It employs an automatic tuning of the step size parameter and binned covariance matrices from the MCMC to achieve efficient optimizations of the profile likelihood.

[ascl:2002.007]
ProSpect: Spectral generation package

ProSpect generates good quality SEDs that can be used to estimate the broad band photometric properties of galaxies that have known star formation and gas metallicity histories. It allows for complex star formation and metallicity histories to be specified, and can be used in a generative or fitting (Bayesian) mode. ProSpect provides a high level interface to the BC03 (low and high resolution) and EMILES libraries, as well as the Dale 2014 dust emission templates. Its source code is available for download, and it is also available as an interactive web tool.

[ascl:1905.025]
Prospector: Stellar population inference from spectra and SEDs

Prospector conducts principled inference of stellar population properties from photometric and/or spectroscopic data. The code combine photometric and spectroscopic data rigorously using a flexible spectroscopic calibration model and infer high-dimensional stellar population properties using parameteric SFHs (with ensemble MCMC sampling). Prospector also constrains the linear combination of stellar population components that are present in a galaxy (e.g. non-parametric SFHs) using spectra and/or photometry, and fits individual stellar spectra using large interpolated grids.

[ascl:2001.006]
Protostellar Evolution: Stellar evolution simulator

Protostellar Evolution simulates the evolution of stellar stellar radius and luminosity from the bound core stage through to the core hydrogen ignition as a zero-age main-sequence (ZAMS) star and beyond. Written in Fortran 90, the code is implemented as a module of the FLASH astrophysical fluid dynamics code (ascl:1010.082).

[ascl:2205.016]
Pryngles: PlanetaRY spaNGLES

Pryngles produces visualizations of the geometric configuration of a ringed exoplanet (an exoplanet with a ring or exoring for short) and calculates the light-curve signatures produced by these kind of planets. The model behind the package has been developed in an effort to predict the signatures that exorings may produce not only in the light-curve of transiting exoplanets (a problem that has been extensively studied) but also in the light of stars having non-transiting exoplanets.

[ascl:1301.001]
PSFEx: Point Spread Function Extractor

PSFEx (“PSF Extractor”) extracts models of the Point Spread Function (PSF) from FITS images processed with SExtractor and measures the quality of images. The generated PSF models can be used for model-fitting photometry or morphological analyses.

[ascl:2306.056]
PSFMachine: Toolkit for doing PSF photometry

PSFMachine creates models of instrument effective Point Spread Functions (ePSFs), also called Pixel Response Functions (PRFs). These models are then used to fit a scene in a stack of astronomical images. PSFMachine is able to quickly derive photometry from stacks of Kepler and TESS images and separate crowded sources.

[ascl:2210.005]
PSFr: Point Spread Function reconstruction

PSFr empirically reconstructs an oversampled version of the point spread function (PSF) from astronomical imaging observations. The code provides a light-weighted API of a refined version of an algorithm originally implemented in lenstronomy (ascl:1804.012). It provides user support with different artifacts in the data and supports the masking of pixels, or the treatment of saturation levels. PSFr has been used to reconstruct the PSF from multiply imaged lensed quasar images observed by the Hubble Space Telescope in a crowded lensing environment and more recently with James Webb Space Telescope (JWST) imaging data for a wide dynamical flux range.

[ascl:2202.013]
PSLS: PLATO Solar-like Light-curve Simulator

Samadi, R.; Deru, A.; Reese, D.; Marchiori, V.; Grolleau, E.; Green, J. J.; Pertenais, M.; Lebreton, Y.; Deheuvels, S.; Mosser, B.; Belkacem, K.; Börner, A.; Smith, A. M. S.

PSLS simulates solar-like oscillators representative of PLATO targets. It includes planetary transits, stochastically-excited oscillations, granulation and activity background components, as well as instrumental systematic errors and random noises representative for PLATO.

[ascl:1208.005]
PSM: Planck Sky Model

Ashdown, Mark; Aumont, Jonathan; Baccigalupi, Carlo; Banday, Anthony; Basak, Soumen; Bernard, Jean-Philippe; Betoule, Marc; Bouchet, François; Castex, Guillaume; Clements, Dave; Da Silva, Antonio; De Zotti, Gianfranco; Delabrouille, Jacques; Dickinson, Clive; Dodu, Fabrice; Dolag, Klaus; Elsner, Franz; Fauvet, Lauranne; Faÿ, Gilles; Giardino, Giovanna; Gonzalez-Nuevo, Joaquin; le Jeune, Maude; Leach, Samuel; Lesgourgues, Julien; Liguori, Michele; Macias, Juan; Massardi, Marcella; Matarrese, Sabino; Mazzotta, Pasquale; Melin, Jean-Baptiste; Miville-Deschênes, Marc-Antoine; Montier, Ludovic; Mottet, Sylvain; Paladini, Roberta; Partridge, Bruce; Piffaretti, Rocco; Prézeau, Gary; Prunet, Simon; Ricciardi, Sara; Roman, Matthieu; Schaefer, Bjorn; Toffolatti, Luigi

The Planck Sky Model (PSM) is a global representation of the multi-component sky at frequencies ranging from a few GHz to a few THz. It summarizes in a synthetic way as much of our present knowledge as possible of the GHz sky. PSM is a complete and versatile set of programs and data that can be used for the simulation or the prediction of sky emission in the frequency range of typical CMB experiments, and in particular of the Planck sky mission. It was originally developed as part of the activities of Planck component separation Working Group (or "Working Group 2" - WG2), and of the ADAMIS team at APC.

PSM gives users the opportunity to investigate the model in some depth: look at its parameters, visualize its predictions for all individual components in various formats, simulate sky emission compatible with a given parameter set, and observe the modeled sky with a synthetic instrument. In particular, it makes possible the simulation of sky emission maps as could be plausibly observed by Planck or other CMB experiments that can be used as inputs for the development and testing of data processing and analysis techniques.

[ascl:1705.013]
PSOAP: Precision Spectroscopic Orbits A-Parametrically

PSOAP (Precision Spectroscopic Orbits A-Parametrically) uses Gaussian processes to infer component spectra of single-lined and double-lined spectroscopic binaries, while simultaneously exploring the posteriors of the orbital parameters and the spectra themselves. PSOAP accounts for the natural λ-covariances in each spectrum, thus providing a natural "de-noising" of the spectra typically offered by Fourier techniques.

[ascl:1010.011]
PSpectRe: A Pseudo-Spectral Code for (P)reheating

PSpectRe, written in C++, uses Fourier-space pseudo-spectral methods to evolve interacting scalar fields in an expanding universe. The code is optimized for the analysis of parametric resonance in the post-inflationary universe and provides an alternative to finite differencing codes. PSpectRe has both second- (Velocity-Verlet) and fourth-order (Runge-Kutta) time integrators. In some circumstances PSpectRe obtains reliable results while using substantially fewer points than a finite differencing code by computing the post-resonance equation of state. PSpectRe is designed to be easily extended to other problems in early-universe cosmology, including the generation of gravitational waves during phase transitions and pre-inflationary bubble collisions.

[ascl:1710.020]
PSPLINE: Princeton Spline and Hermite cubic interpolation routines

PSPLINE is a collection of Spline and Hermite interpolation tools for 1D, 2D, and 3D datasets on rectilinear grids. Spline routines give full control over boundary conditions, including periodic, 1st or 2nd derivative match, or divided difference-based boundary conditions on either end of each grid dimension. Hermite routines take the function value and derivatives at each grid point as input, giving back a representation of the function between grid points. Routines are provided for creating Hermite datasets, with appropriate boundary conditions applied. The 1D spline and Hermite routines are based on standard methods; the 2D and 3D spline or Hermite interpolation functions are constructed from 1D spline or Hermite interpolation functions in a straightforward manner. Spline and Hermite interpolation functions are often much faster to evaluate than other representations using e.g. Fourier series or otherwise involving transcendental functions.

[ascl:1105.014]
PSRCHIVE: Development Library for the Analysis of Pulsar Astronomical Data

PSRCHIVE is an Open Source C++ development library for the analysis of pulsar astronomical data. It implements an extensive range of algorithms for use in pulsar timing, polarimetric calibration, single-pulse analyses, RFI mitigation, scintillation studies, etc. These tools are utilized by a powerful suite of user-end programs that come with the library.

[ascl:2110.003]
PSRDADA: Distributed Acquisition and Data Analysis for Radio Astronomy

PSRDADA supports the development of distributed data acquisition and analysis systems; it provides a flexible and well-managed ring buffer in shared memory with a variety of applications for piping data from device to ring buffer and from ring buffer to device. PSRDADA allows more than one data set to be queued in the ring buffer at one time, and data may be recorded in selected bursts using data validity flags. A variety of clients have been implemented that can write data to the ring buffer and read data from it. The primary write clients can be controlled via a simple, text-based socket interface, and read client software exists for writing data to an array of disks, sending data to an array of nodes, or processing the data directly from RAM. At the highest level of control and configuration, scripts launch the PSRDADA configuration across all nodes in the cluster, monitor all relevant processes, configure and control through a web-based interface, interface with observatory scheduling tools, and manage the ownership and archival of project data. It has been used in the implementation of baseband recording and processing instrumentation for radio pulsar astronomy.

[ascl:1107.019]
PSRPOP: Pulsar Population Modelling Programs

PSRPOP is a package developed to model the Galactic population and evolution of radio pulsars. It is a collection of modules written in Fortran77 for an analysis of a large sample of pulsars detected by the Parkes Multibeam Pulsar Survey. The main programs are: 1.) populate, which creates a model Galaxy of pulsars distributed according according to various assumptions; 2.) survey, which searches the model galaxies generated using populate using realistic models of pulsar surveys; and 3.) visualize, a Tk/PGPLOT script to plot various aspects of model detected pulsars from survey. A sample screenshot from visualize can be found here.

[ascl:1501.006]
PsrPopPy: Pulsar Population Modelling Programs in Python

PsrPopPy is a Python implementation of the Galactic population and evolution of radio pulsars modelling code PSRPOP (ascl:1107.019).

[ascl:1812.017]
psrqpy: Python module to query the ATNF Pulsar Catalogue

psrqpy directly queries the Australia Telescope National Facility (ATNF) Pulsar Catalogue by downloading and parsing the full catalog database, which is cached and can be reused. The module assists astronomers who want access to the latest pulsar information via a script rather than through the standard web interface.

[ascl:2007.007]
PSRVoid: Statistical suite for folded pulsar data

PSRVoid performs RFI excision, flux calibration and timing of folded pulsar data. RFI excision is administered via both traditional and multi-layered deep learning neural network algorithms. The software offers full neural network control (over training set creation and manipulation and network parameters). PSRVoid also contains useful data miners for the ATNF, a multitude of plotting tools, as well as many useful pulsar processing macros such as space velocity simulators and Tempo2 (ascl:1210.015) wrappers.

[ascl:2210.001]
PSS: Pulsar Survey Scraper

Pulsar Survey Scraper aggregates pulsar discoveries before they are included in the ATNF pulsar catalog and enables searching and filtering based on position and dispersion measure. This facilitates identifying new pulsar discoveries. Pulsar Survey Scraper can be downloaded or run online using the Pulsar Survey Scraper webform.

[ascl:2111.003]
PSwarm: Global optimization solver for bound and linear constrained problems

PSwarm is a global optimization solver for bound and linear constrained problems (for which the derivatives of the objective function are unavailable, inaccurate or expensive). The algorithm combines pattern search and particle swarm. Basically, it applies a directional direct search in the poll step (coordinate search in the pure simple bounds case) and particle swarm in the search step. PSwarm makes no use of derivative information of the objective function. It has been shown to be efficient and robust for smooth and nonsmooth problems, both in serial and in parallel.

[ascl:2110.021]
PT-REX: Point-to-point TRend EXtractor

PT-REX (Point-to-point TRend EXtractor) performs ptp analysis on every kind of extended radio source. The code exploits a set of different fitting methods to allow study of the spatial correlation, and is structured in a series of tasks to handle the individual steps of a ptp analysis independently, from defining a grid to sample the radio emission to accurately analyzing the data using several statistical methods. A major feature of PT-REX is the use of an automatic, randomly-generated sampling routine to combine several SMptp analysis into a Monte Carlo ptp (MCptp) analysis. By repeating several cycles of SMptp analysis with randomly-generated grids, PT-REX produces a distribution of values of k that describe its parameter space, thus allowing a reliably estimate of the trend (and its uncertainties).

[ascl:2211.001]
PTAfast: PTA correlations from stochastic gravitational wave background

PTAfast calculates the overlap reduction function in Pulsar Timing Array produced by the stochastic gravitational wave background for arbitrary polarizations, propagation velocities, and pulsar distances.

[ascl:2101.006]
ptemcee: A parallel-tempered version of emcee

ptemcee, pronounced "tem-cee", is fork of Daniel Foreman-Mackey's emcee (ascl:1303.002) to implement parallel tempering more robustly. As far as possible, it is designed as a drop-in replacement for emcee. It is helpful for characterizing awkward, multi-modal probability distributions.

[ascl:1912.017]
PTMCMCSampler: Parallel tempering MCMC sampler package written in Python

PTMCMCSampler performs MCMC sampling using advanced techniques. The code implements a variety of proposal schemes, including adaptive Metropolis, differential evolution, and parallel tempering, which can be used together in the same run.

[ascl:2303.019]
pulsar_spectra: Pulsar flux density measurements, spectral models fitting, and catalog

pulsar_spectra provides a pulsar flux density catalog and automated spectral fitting software for finding spectral models. The package can also produce publication-quality plots and allows users to add new spectral measurements to the catalog. The spectral fitting software uses robust statistical methods to determine the best-fitting model for individual pulsar spectra.

[ascl:1811.020]
PulsarHunter: Searching for and confirming pulsars

Pulsarhunter searches for and confirms pulsars; it provides a set of time domain optimization tools for processing timeseries data produced by SIGPROC (ascl:1107.016). The software can natively write candidate lists for JReaper (included in the package), removing the need to manually import candidates into JReaper; JReaper also reads the PulsarHunter candidate file format.

[ascl:2312.012]
PulsarX: Pulsar searching

The folding pipeline PulsarX searches for pulsars. The code includes radio frequency interference mitigation, de-dispersion, folding, and parameter optimization, and supports both psrfits and filterbank data formats. The toolset has two implementations of the folding pipelines; one uses a brute-force de-dispersion algorithm, and the other an algorithm that becomes more efficient than the brute-force de-dispersion algorithm as the number of candidates increases. PulsarX is appropriate for large-scale pulsar surveys.

[ascl:1606.013]
Pulse Portraiture: Pulsar timing

Pulse Portraiture is a wideband pulsar timing code written in python. It uses an extension of the FFTFIT algorithm (Taylor 1992) to simultaneously measure a phase (TOA) and dispersion measure (DM). The code includes a Gaussian-component-based portrait modeling routine. The code uses the python interface to the pulsar data analysis package PSRCHIVE (ascl:1105.014) and also requires the non-linear least-squares minimization package lmfit (ascl:1606.014).

[ascl:1807.022]
PUMA: Low-frequency radio catalog cross-matching

PUMA (Positional Update and Matching Algorithm) cross-matches low-frequency radio catalogs using a Bayesian positional probability with spectral matching criteria. The code reliably finds the correct spectral indices of sources and recovers ionospheric offsets. PUMA can be used to facilitate all-sky cross-matches with further constraints applied for other science goals.

[ascl:1110.014]
pureS2HAT: S 2HAT-based Pure E/B Harmonic Transforms

The pS2HAT routines allow efficient, parallel calculation of the so-called 'pure' polarized multipoles. The computed multipole coefficients are equal to the standard pseudo-multipoles calculated for the apodized sky maps of the Stokes parameters Q and U subsequently corrected by so-called counterterms. If the applied apodizations fullfill certain boundary conditions, these multipoles correspond to the pure multipoles. Pure multipoles of one type, i.e., either E or B, are ensured not to contain contributions from the other one, at least to within numerical artifacts. They can be therefore further used in the estimation of the sky power spectra via the pseudo power spectrum technique, which has to however correctly account for the applied apodization on the one hand, and the presence of the counterterms, on the other.

In addition, the package contains the routines permitting calculation of the spin-weighted apodizations, given an input scalar, i.e., spin-0 window. The former are needed to compute the counterterms. It also provides routines for maps and window manipulations. The routines are written in C and based on the S2HAT library, which is used to perform all required spherical harmonic transforms as well as all inter-processor communication. They are therefore parallelized using MPI and follow the distributed-memory computational model. The data distribution patterns, pixelization choices, conventions etc are all as those assumed/allowed by the S2HAT library.

[ascl:2301.027]
Puri-Psi: Radio interferometric imaging

Puri-Psi addresses radio interferometric imaging problems using state-of-the-art optimization algorithms and deep learning. It performs scalable monochromatic, wide-band, and polarized imaging. It also provide joint calibration and imaging, and scalable uncertainty quantification. A scalable framework for wide-field monochromatic intensity imaging is also available, which encompasses a pure optimization algorithm, as well as an AI-based method in the form of a plug-and-play algorithm propelled by Deep Neural Network denoisers.

[ascl:1307.019]
PURIFY: Tools for radio-interferometric imaging

PURIFY is a collection of routines written in C that implements different tools for radio-interferometric imaging including file handling (for both visibilities and fits files), implementation of the measurement operator and set-up of the different optimization problems used for image deconvolution. The code calls the generic Sparse OPTimization (SOPT) (ascl:1307.020) package to solve the imaging optimization problems.

[ascl:1608.010]
pvextractor: Position-Velocity Diagram Extractor

Given a path defined in sky coordinates and a spectral cube, pvextractor extracts a slice of the cube along that path and along the spectral axis to produce a position-velocity or position-frequency slice. The path can be defined programmatically in pixel or world coordinates, and can also be drawn interactively using a simple GUI. Pvextractor is the main function, but also includes a few utilities related to header trimming and parsing.

[ascl:1210.026]
PVS-GRMHD: Conservative GRMHD Primitive Variable Solvers

Conservative numerical schemes for general relativistic magnetohydrodynamics (GRMHD) require a method for transforming between "conserved'' variables such as momentum and energy density and "primitive" variables such as rest-mass density, internal energy, and components of the four-velocity. The forward transformation (primitive to conserved) has a closed-form solution, but the inverse transformation (conserved to primitive) requires the solution of a set of five nonlinear equations. This code performs the inversion.

[ascl:1704.001]
pwkit: Astronomical utilities in Python

pwkit is a collection of miscellaneous astronomical utilities in Python, with an emphasis on radio astronomy, reading and writing various data formats, and convenient command-line utilities. Utilities include basic astronomical calculations, data visualization tools such as mapping arbitrary data to color scales and tracing contours, and data input and output utilities such as streaming output from other programs.

[ascl:1806.032]
pwv_kpno: Modeling atmospheric absorption

pwv_kpno provides models for the atmospheric transmission due to precipitable water vapor (PWV) at user specified sites. Atmospheric transmission in the optical and near-infrared is highly dependent on the PWV column density along the line of sight. The pwv_kpno package uses published SuomiNet data in conjunction with MODTRAN models to determine the modeled, time-dependent atmospheric transmission between 3,000 and 12,000 Å. By default, models are provided for Kitt Peak National Observatory (KPNO). Additional locations can be added by the user for any of the hundreds of SuomiNet locations worldwide.

[ascl:2006.012]
pxf_kin_err: Radial velocity and velocity dispersion uncertainties estimator

pxf_kin_err estimates the radial velocity and velocity dispersion uncertainties based solely on the shape of a template spectrum used in the fitting procedure and signal-to-noise information. This method can be used for exposure time calculators, in the design of observational programs and estimates on expected uncertainties for spectral surveys of galaxies and star clusters, and as an accurate substitute for Monte-Carlo simulations when running them for large samples of thousands of spectra is unfeasible.

[submitted]
Py-PDM: A Python wrapper of the Phase Dispersion Minimization (PDM)

Phase Dispersion Minimization (PDM) is a periodical signal detection method, and it is originally implemented by Stellingwerf with C (https://www.stellingwerf.com/rfs-bin/index.cgi?action=PageView&id=34). With the help of Cython, Py-PDM is much faster than other Python implementations.

[ascl:1808.009]
py-sdm: Support Distribution Machines

py-sdm (Support Distribution Machines) is a Python implementation of nonparametric nearest-neighbor-based estimators for divergences between distributions for machine learning on sets of data rather than individual data points. It treats points of sets of data as samples from some unknown probability distribution and then statistically estimates the distance between those distributions, such as the KL divergence, the closely related Rényi divergence, L2 distance, or other similar distances.

[ascl:1712.003]
Py-SPHViewer: Cosmological simulations using Smoothed Particle Hydrodynamics

Py-SPHViewer visualizes and explores N-body + Hydrodynamics simulations. The code interpolates the underlying density field (or any other property) traced by a set of particles, using the Smoothed Particle Hydrodynamics (SPH) interpolation scheme, thus producing not only beautiful but also useful scientific images. Py-SPHViewer enables the user to explore simulated volumes using different projections. Py-SPHViewer also provides a natural way to visualize (in a self-consistent fashion) gas dynamical simulations, which use the same technique to compute the interactions between particles.

[ascl:1905.002]
Py4CAtS: PYthon for Computational ATmospheric Spectroscopy

Py4CAtS (PYthon scripts for Computational ATmospheric Spectroscopy) implements the individual steps of an infrared or microwave radiative transfer computation in separate scripts (and corresponding functions) to extract lines of relevant molecules in the spectral range of interest, compute line-by-line cross sections for given pressure(s) and temperature(s), combine cross sections to absorption coefficients and optical depths, and integrate along the line-of-sight to transmission and radiance/intensity. The code is a Python re-implementation of the Fortran code GARLIC (Generic Atmospheric Radiation Line-by-line Code) and uses the Numeric/Scientific Python modules for computationally-intensive highly optimized array-processing. Py4CAtS can be used in the console/terminal, inside the (I)Python interpreter, and in Jupyter notebooks.

[ascl:1906.010]
PyA: Python astronomy-related packages

Czesla, Stefan; Schröter, Sebastian; Schneider, Christian P.; Huber, Klaus F.; Pfeifer, Fabian; Andreasen, Daniel T.; Zechmeister, Mathias

The PyA (PyAstronomy) suite of astronomy-related packages includes a convenient fitting package that provides support for minimization and MCMC sampling, a set of astrophysical models (*e.g.*, transit light-curve modeling), and algorithms for timing analysis such as the Lomb-Scargle and the Generalized Lomb-Scargle periodograms.

[ascl:1806.007]
PyAMOR: AMmOnia data Reduction

PyAMOR models spectra of low level ammonia transitions (between (J,K)=(1,1) and (5,5)) and derives parameters such as intrinsic linewidth, optical depth, and rotation temperature. For low S/N or low spectral resolution data, the code uses cross-correlation between a model and a regridded spectrum (e.g. 10 times smaller channel width) to find the velocity, then fixes it and runs the minimization process. For high S/N data, PyAMOR runs with the velocity as a free parameter.

[ascl:1707.003]
pyaneti: Multi-planet radial velocity and transit fitting

Pyaneti is a multi-planet radial velocity and transit fit software. The code uses Markov chain Monte Carlo (MCMC) methods with a Bayesian approach and a parallelized ensemble sampler algorithm in Fortran which makes the code fast. It creates posteriors, correlations, and ready-to-publish plots automatically, and handles circular and eccentric orbits. It is capable of multi-planet fitting and handles stellar limb darkening, systemic velocities for multiple instruments, and short and long cadence data, and offers additional capabilities.

[ascl:2102.028]
PyAutoFit: Classy probabilistic programming

PyAutoFit supports advanced statistical methods such as massively parallel non-linear search grid-searches, chaining together model-fits and sensitivity mapping. It is a Python-based probabilistic programming language which composes and fits models using a range of Bayesian inference libraries, such as emcee (ascl:1303.002) and dynesty (ascl:1809.013). It performs model composition and customization, outputting results, model-specific visualization and posterior analysis. Built for big-data analysis, results are output as a database which can be loaded after model-fitting is complete.

[ascl:1807.003]
PyAutoLens: Strong lens modeling

PyAutoLens models and analyzes galaxy-scale strong gravitational lenses. This automated module suite simultaneously models the lens galaxy's light and mass while reconstructing the extended source galaxy on an adaptive pixel-grid. Source-plane discretization is amorphous, adapting its clustering and regularization to the intrinsic properties of the lensed source. The lens's light is fitted using a superposition of Sersic functions, allowing PyAutoLens to cleanly deblend its light from the source. Bayesian model comparison is used to automatically chose the complexity of the light and mass models. PyAutoLens provides accurate light, mass, and source profiles inferred for data sets representative of both existing Hubble imaging and future Euclid wide-field observations.

[ascl:1502.007]
PyBDSF: Python Blob Detection and Source Finder

PyBDSF (Python Blob Detector and Source Finder, formerly PyBDSM) decomposes radio interferometry images into sources and makes their properties available for further use. PyBDSF can decompose an image into a set of Gaussians, shapelets, or wavelets as well as calculate spectral indices and polarization properties of sources and measure the psf variation across an image. PyBDSF uses an interactive environment based on CASA (ascl:1107.013); PyBDSF may also be used in Python scripts.

[ascl:2104.023]
PyBird: Python code for biased tracers in redshift space

PyBird evaluates the multipoles of the power spectrum of biased tracers in redshift space. In general, PyBird can evaluate the power spectrum of matter or biased tracers in real or redshift space. The code uses FFTLog (ascl:1512.017) to evaluate the one-loop power spectrum and the IR resummation. PyBird is designed for a fast evaluation of the power spectra, and can be easily inserted in a data analysis pipeline. It is a standalone tool whose input is the linear matter power spectrum which can be obtained from any Boltzmann code, such as CAMB (ascl:1102.026) or CLASS (ascl:1106.020). The Pybird output can be used in a likelihood code which can be part of the routine of a standard MCMC sampler. The design is modular and concise, such that parts of the code can be easily adapted to other case uses (e.g., power spectrum at two loops or bispectrum). PyBird can evaluate the power spectrum either given one set of EFT parameters, or independently of the EFT parameters. If the former option is faster, the latter is useful for subsampling or partial marginalization over the EFT parameters, or to Taylor expand around a fiducial cosmology for efficient parameter exploration.

[ascl:1204.002]
pyBLoCXS: Bayesian Low-Count X-ray Spectral analysis

Siemiginowska, Aneta; Kashyap, Vinay; Refsdal, Brian; van Dyk, David; Connors, Alanna; Park, Taeyoung

pyBLoCXS is a sophisticated Markov chain Monte Carlo (MCMC) based algorithm designed to carry out Bayesian Low-Count X-ray Spectral (BLoCXS) analysis in the Sherpa environment. The code is a Python extension to Sherpa that explores parameter space at a suspected minimum using a predefined Sherpa model to high-energy X-ray spectral data. pyBLoCXS includes a flexible definition of priors and allows for variations in the calibration information. It can be used to compute posterior predictive p-values for the likelihood ratio test. The pyBLoCXS code has been tested with a number of simple single-component spectral models; it should be used with great care in more complex settings.

[ascl:2306.057]
pybranch: Calculate experimental branching fractions and transition probabilities from atomic spectra

pybranch calculates experimental branching fractions and transition probabilities from measurements of atomic spectra. Though the program is usually used with spectral line lists from intensity-calibrated spectra from Fourier transform spectrometers, it can in principle be used with any calibrated spectra that meet the input requirements. pybranch takes a set of linelists, computes a weighted average branching fraction (Fki) for each line, combines these branching fractions with the level lifetime to obtain the transition probability, and then prints the calibrated intensities and S/N ratios for all the lines observed from a particular upper level in each spectrum. One line can be chosen to use as a reference to put all of the intensities on the same scale. pybranch can use calculated transition probabilities to calculate a residual from lines that have not been observed.

[ascl:2312.025]
pyC^{2}Ray: Python interface to C^{2}Ray with GPU acceleration

Hirling, Patrick; Bianco, Michele; Giri, Sambit K.; Iliev, Ilian T.; Mellema, Garrelt; Kneib, Jean-Paul

pyC^{2}Ray updates C^{2}-Ray (ascl:2312.022), an astrophysical radiative transfer code used to simulate the Epoch of Reionization (EoR). pyC^{2}Ray includes a new raytracing method, ASORA, developed for GPUs, and provides a Python interface for customizable use of the code. The core features of C^{2}-Ray, written in Fortran90, are wrapped using f2py as a Python extension module, while the raytracing library ASORA is implemented in C++ using CUDA. Both are native Python C-extensions and can be directly accessed from any Python script.

[ascl:2107.017]
PyCactus: Post-processing tools for Cactus computational toolkit simulation data

PyCactus contains tools for postprocessing data from numerical simulations performed with the Einstein Toolkit, based on the Cactus computational toolkit. The main package is PostCactus, which provides a high-level Python interface to the various data formats in a simulation folder. Further, the package SimRep allows the automatic creation of html reports for a simulation, and the SimVideo package allows the creation of movies visualizing simulation data.

[ascl:2206.021]
PyCASSO2: Stellar population and emission line fits in integral field spectra

de Amorim, André Luiz; Vale Asari, Natalia; Cid Fernandes, Roberto; García-Benito, Rubén; Werle, Ariel

PyCASSO runs the STARLIGHT code (ascl:1108.006) in integral field spectra (IFS). Cubes from various instruments are supported, including PMAS/PPAK (CALIFA), MaNGA, GMOS and MUSE. Emission lines can be measured using DOBBY, which is included in the package. The package also includes tools for IFS cubes analysis and plotting.

[ascl:1805.030]
PyCBC: Gravitational-wave data analysis toolkit

PyCBC analyzes data from gravitational-wave laser interferometer detectors, finds signals, and studies their parameters. It contains algorithms that can detect coalescing compact binaries and measure the astrophysical parameters of detected sources. PyCBC was used in the first direct detection of gravitational waves by LIGO and is used in the ongoing analysis of LIGO and Virgo data.

[ascl:1805.032]
PyCCF: Python Cross Correlation Function for reverberation mapping studies

PyCCF emulates a Fortran program written by B. Peterson for use with reverberation mapping. The code cross correlates two light curves that are unevenly sampled using linear interpolation and measures the peak and centroid of the cross-correlation function. In addition, it is possible to run Monto Carlo iterations using flux randomization and random subset selection (RSS) to produce cross-correlation centroid distributions to estimate the uncertainties in the cross correlation results.

[ascl:2112.001]
pycelp: Python package for Coronal Emission Line Polarization

pyCELP (aka "pi-KELP") calculates Coronal Emission Line Polarization. It forward synthesizes the polarized emission of ionized atoms formed in the solar corona and calculates the atomic density matrix elements for a single ion under coronal equilibrium conditions and excited by a prescribed radiation field and thermal collisions. pyCELP solves a set of statistical equilibrium equations in the spherical statistical tensor representation for a multi-level atom for the no-coherence case. This approximation is useful in the case of forbidden line emission by visible and infrared lines, such as Fe XIII 1074.7 nm and Si X 3934 nm.

[submitted]
pycf3 - Cosmicflows-3 Distance-Velocity Calculator client for Python

The project is a simple Python client for Cosmicflows-3 Distance-Velocity Calculator at distances less than 400 Mpc (http://edd.ifa.hawaii.edu/CF3calculator/)

Compute expectation distances or velocities based on smoothed velocity field from the Wiener filter model of https://ui.adsabs.harvard.edu/abs/2019MNRAS.488.5438G/abstract.

[ascl:2312.034]
pycheops: Light curve analysis for ESA CHEOPS data

Maxted, P. F. L.; Ehrenreich, D.; Wilson, T. G.; Alibert, Y.; Cameron, A. Collier; Hoyer, S.; Sousa, S. G.; Olofsson, G.; Bekkelien, A.; Deline, A.; Delrez, L.; Bonfanti, A.; Borsato, L.; Alonso, R.; Anglada Escudé, G.; Barrado, D.; Barros, S. C. C.; Baumjohann, W.; Beck, M.; Beck, T.; Benz, W.; Billot, N.; Biondi, F.; Bonfils, X.; Brandeker, A.; Broeg, C.; Bárczy, T.; Cabrera, J.; Charnoz, S.; Corral Van Damme, C.; Csizmadia, Sz; Davies, M. B.; Deleuil, M.; Demangeon, O. D. S.; Demory, B. -O.; Erikson, A.; Florén, H. G.; Fortier, A.; Fossati, L.; Fridlund, M.; Futyan, D.; Gandolfi, D.; Gillon, M.; Guedel, M.; Guterman, P.; Heng, K.; Isaak, K. G.; Kiss, L.; Laskar, J.; Lecavelier des Etangs, A.; Lendl, M.; Lovis, C.; Magrin, D.; Nascimbeni, V.; Ottensamer, R.; Pagano, I.; Pallé, E.; Peter, G.; Piotto, G.; Pollacco, D.; Pozuelos, F. J.; Queloz, D.; Ragazzoni, R.; Rando, N.; Rauer, H.; Reimers, C.; Ribas, I.; Salmon, S.; Santos, N. C.; Scandariato, G.; Simon, A. E.; Smith, A. M. S.; Steller, M.; Swayne, M. I.; Szabó, Gy M.; Ségransan, D.; Thomas, N.; Udry, S.; Van Grootel, V.; Walton, N. A.

pycheops analyzes CHEOPS light curve data. The models in the package can also be applied to other types of data. pycheops includes a "cook book" and examples; in addition, it provides a command-line tool that aids in the preparation of observing requests for CHEOPS observers.

[submitted]
Pyckles

A super lightweight interface in Python to load spectra from the Pickles 1998 (stellar) and Brown 2014 (galactic) spectral catalogues

[ascl:1304.020]
pyCloudy: Tools to manage astronomical Cloudy photoionization code

PyCloudy is a Python library that handles input and output files of the Cloudy photoionization code (Gary Ferland). It can also generate 3D nebula from various runs of the 1D Cloudy code. pyCloudy allows you to:

- define and write input file(s) for Cloudy code. As you can have it in a code, you may generate automatically sets of input files, changing parameters from one to the other.<

- read the Cloudy output files and play with the data: you will be able to plot line emissivity ratio vs. the radius of the nebula, the electron temperature, or any Cloudy output.

- build pseudo-3D models, a la Cloudy_3D, by running a set of models, changing parameters (e.g. inner radius, density) following angular laws, reading the outputs of the set of models and interpolating the results (Te, ne, line emissivities) in a 3D cube.

[ascl:1509.007]
pycola: N-body COLA method code

pycola is a multithreaded Python/Cython N-body code, implementing the Comoving Lagrangian Acceleration (COLA) method in the temporal and spatial domains, which trades accuracy at small-scales to gain computational speed without sacrificing accuracy at large scales. This is especially useful for cheaply generating large ensembles of accurate mock halo catalogs required to study galaxy clustering and weak lensing. The COLA method achieves its speed by calculating the large-scale dynamics exactly using LPT while letting the N-body code solve for the small scales, without requiring it to capture exactly the internal dynamics of halos.

[ascl:2303.007]
PyCom: Interstellar communication

PyCom provides function calls for deriving the optimal communication scheme to maximize the data rate between a remote probe and home-base. It includes models for the loss of photons from diffraction, technological limitations, interstellar extinction and atmospheric transmission, and manages major atmospheric, zodiacal, stellar and instrumental noise sources. It also includes scripts for creating figures appearing in the referenced paper.

[ascl:1311.002]
PyCOOL: Cosmological Object-Oriented Lattice code

PyCOOL is a Python + CUDA program that solves the evolution of interacting scalar fields in an expanding universe. PyCOOL uses modern GPUs to solve this evolution and to make the computation much faster. The code includes numerous post-processing functions that provide useful information about the cosmological model, including various spectra and statistics of the fields.

[ascl:2403.009]
pycorr: Two-point correlation function estimation

pycorr wraps two-point counter engines such as Corrfunc (ascl:1703.003) to estimate the correlation function. It supports theta (angular), s, s-mu, rp-pi binning schemes, analytical two-point counts with periodic boundary conditions, and inverse bitwise weights (in any integer format) and (angular) upweighting. It also provides MPI parallelization and jackknife estimate of the correlation function covariance matrix.

[ascl:1210.027]
PyCosmic: Detecting cosmics in CALIFA and other fiber-fed integral-field spectroscopy datasets

The detection of cosmic ray hits (cosmics) in fiber-fed integral-field spectroscopy (IFS) data of single exposures is a challenging task because of the complex signal recorded by IFS instruments. Existing detection algorithms are commonly found to be unreliable in the case of IFS data, and the optimal parameter settings are usually unknown a priori for a given dataset. The Calar Alto legacy integral field area (CALIFA) survey generates hundreds of IFS datasets for which a reliable and robust detection algorithm for cosmics is required as an important part of the fully automatic CALIFA data reduction pipeline. PyCosmic combines the edge-detection algorithm of L.A.Cosmic with a point-spread function convolution scheme. PyCosmic is the only algorithm that achieves an acceptable detection performance for CALIFA data. Only for strongly undersampled IFS data does L.A.Cosmic exceed the performance of PyCosmic by a few percent. Thus, PyCosmic appears to be the most versatile cosmics detection algorithm for IFS data.

[ascl:2004.007]
PyCosmo: Multi-purpose cosmology calculation tool

Tarsitano, Federica; Schmitt, Uwe; Refregier, Alexandre; Akeret, Joel; Amara, Adam; Gamper, Lukas; Nicola, Andrina

PyCosmo provides accurate predictions for cosmological observables including background quantities, power spectra and Limber and beyond-Limber angular power spectra. The software is designed to be interactive and user-friendly. It is available for download and is also offered on an interactive platform (PyCosmo Hub), which allows users to perform their own computations using Jupyter Notebooks without installing any software.

[ascl:1810.008]
pycraf: Spectrum-management compatibility

The pycraf Python package provides functions and procedures for spectrum-management compatibility studies, such as calculating the interference levels at a radio telescope produced from a radio broadcasting tower. It includes an implementation of ITU-R Recommendation P.452-16 for calculating path attenuation for the distance between an interferer and the victim service. It supports NASA's Shuttle Radar Topography Mission (SRTM) data for height-profile generation, includes a full implementation of ITU-R Rec. P.676-10, which provides two atmospheric models to calculate the attenuation for paths through Earth's atmosphere, and provides various antenna patterns necessary for compatibility studies (e.g., RAS, IMT, fixed-service links). The package can also convert power flux densities, field strengths, transmitted and received powers at certain distances and frequencies into each other.

[ascl:2307.040]
pycrires: Data reduction pipeline for VLT/CRIRES+

pycrires runs the CRIRES+ recipes of EsoRex. The pipeline organizes the raw data, creates SOF and configuration files, runs the calibration and science recipes, and creates plots of the images and extracted spectra. Additionally, it corrects remaining inaccuracies in the wavelength solution and the spectrum curvature. pycrires also provides dedicated routines for the extraction, calibration, and detection of spatially-resolved objects such as directly imaged planets.

[ascl:1509.010]
PyCS : Python Curve Shifting

PyCS is a software toolbox to estimate time delays between multiple images of strongly lensed quasars, from resolved light curves such as obtained by the COSMOGRAIL monitoring program. The pycs package defines a collection of classes and high level functions, that you can script in a flexible way. PyCS makes it easy to compare different point estimators (including your own) without much code integration. The package heavily depends on numpy, scipy, and matplotlib.

[submitted]
pydftools: Distribution function fitting in Python

pydftools is a pure-python port of the dftools R package (ascl:1805.002), which finds the most likely P parameters of a D-dimensional distribution function (DF) generating N objects, where each object is specified by D observables with measurement uncertainties. For instance, if the objects are galaxies, it can fit a MF (P=1), a mass-size distribution (P=2) or the mass-spin-morphology distribution (P=3). Unlike most common fitting approaches, this method accurately accounts for measurement in uncertainties and complex selection functions. Though this package imitates the dftools package quite closely while being as Pythonic as possible, it has not implemented 2D+ nor non-parametric.

[ascl:2106.003]
PyDoppler: Wrapper for Doppler tomography software

PyDoppler is a python-based wrapper for the Spruit Doppler tomography software dopmap (ascl:2106.002). PyDoppler is designed to study time-resolved spectroscopic datasets of accreting compact binaries. This code can produce a trail spectra of a dataset and create Doppler tomography maps. It is intended to be a light-weight code for single emission line datasets.

[ascl:1401.005]
PyDrizzle: Python version of Drizzle

PyDrizzle provides a semi-automated interface for computing the parameters necessary for running Drizzle (ascl:1212.011). PyDrizzle performs the task of determining the parameters necessary for aligning images based on the WCS information in the input image headers, as well as any supplemental alignment information provided in shift files, and combines the images onto the same WCS. Though it does not identify cosmic rays, it has the ability to ignore pixels flagged as bad, such as pixels identified by other programs as affected by cosmic rays.

[ascl:2103.008]
Pyedra: Python implementation for asteroid phase curve fitting

Pyedra performs asteroid phase curve fitting. From a simple table containing the asteroid MPC number, phase angle and reduced magnitude, Pyedra estimates the parameters of the phase function using the least squares method. The user can choose from three different models for the phase curve fit: H-G model, H-G1-G2 model and the Shevchenko model. The output in all cases is a table containing the adjusted parameters and their corresponding errors. This package allows carrying out phase function analysis for a few asteroids as well as to process large volumes of data such as those released by current large surveys.

[ascl:1112.014]
PyEphem: Astronomical Ephemeris for Python

PyEphem provides scientific-grade astronomical computations for the Python programming language. Given a date and location on the Earth’s surface, it can compute the positions of the Sun and Moon, of the planets and their moons, and of any asteroids, comets, or earth satellites whose orbital elements the user can provide. Additional functions are provided to compute the angular separation between two objects in the sky, to determine the constellation in which an object lies, and to find the times at which an object rises, transits, and sets on a particular day.

The numerical routines that lie behind PyEphem are those from the XEphem astronomy application (ascl:1112.013), whose author, Elwood Downey, generously gave permission for us to use them as the basis for PyEphem.

[ascl:1609.025]
PYESSENCE: Generalized Coupled Quintessence Linear Perturbation Python Code

PYESSENCE evolves linearly perturbed coupled quintessence models with multiple (cold dark matter) CDM fluid species and multiple DE (dark energy) scalar fields, and can be used to generate quantities such as the growth factor of large scale structure for any coupled quintessence model with an arbitrary number of fields and fluids and arbitrary couplings.

[ascl:2301.013]
pyExoRaMa: An interactive tool to investigate the radius-mass diagram for exoplanets

pyExoRaMa visualizes and manipulates data related to exoplanets and their host stars in a multi-dimensional parameter space. It enables statistical studies based on the large and constantly increasing number of detected exoplanets, identifies possible interdependence among several physical parameters, and compares observables with theoretical models describing the exoplanet composition and structure.

[ascl:1403.002]
pyExtinction: Atmospheric extinction

The Python script/package pyExtinction computes and plots total atmospheric extinction from decomposition into physical components (Rayleigh attenuation, ozone absorption, aerosol extinction). Its default extinction parameters are adapted to mean Mauna Kea summit conditions.

[ascl:2109.009]
pyFFTW: Python wrapper around FFTW

pyFFTW is a pythonic wrapper around FFTW (ascl:1201.015), the speedy FFT library. Both the complex DFT and the real DFT are supported, as well as on arbitrary axes of arbitrary shaped and strided arrays, which makes it almost feature equivalent to standard and real FFT functions of numpy.fft. Additionally, it supports the clongdouble dtype, which numpy.fft does not, and operating FFTW in multithreaded mode.

[ascl:1207.009]
PyFITS: Python FITS Module

Barrett, Paul; Hsu, J. C.; Hanley, Chris; Taylor, James; Droettboom, Michael; Bray, Erik M.; Hack, Warren; Greenfield, Perry; Wyckoff, Eric; Jedrzejewski, Robert; De La Pena, Michele; Hodge, Phil

PyFITS provides an interface to FITS formatted files in the Python scripting language and PyRAF, the Python-based interface to IRAF. It is useful both for interactive data analysis and for writing analysis scripts in Python using FITS files as either input or output. PyFITS is a development project of the Science Software Branch at the Space Telescope Science Institute.

**PyFITS has been deprecated. Please see Astropy**.

[ascl:1103.012]
Pyflation: Second Order Perturbations During Inflation Beyond Slow-roll

Pyflation calculates cosmological perturbations during an inflationary expansion of the universe. The modules in the pyflation Python package can be used to run simulations of different scalar field models of the early universe. The main classes are contained in the cosmomodels module and include simulations of background fields and first order and second order perturbations. The sourceterm package contains modules required for the computation of the term required for the evolution of second order perturbations.

Alongside the Python package, the bin directory contains Python scripts which can run first and second order simulations. A helper script called pyflation-qsubstart.py sets up a full second order run (including background, first order and source calculations) to be used on queueing system which contains the qsub executable (e.g. a Rocks cluster).

[submitted]
PyFOSC: a pipeline toolbox for BFOSC/YFOSC long-slit spectroscopy data reduction

PyFOSC is a pipeline toolbox for long-slit spectroscopy data reduction written in Python. It can be used for FOSC (Faint Object Spectrograph and Camera) data from Xinglong/Lijiang 2-meter telescopes in China. This pipeline privodes a neat way for data pre-processing, including updating missing header fileds for BFOSC data, reducing fits file extension for YFOSC data, etc. And it makes the data reduction procedure efficient by using previously identified lamp spectra as re-identification references during wavelength calibration, and applying multiprocessing in some modules. PyFOSC also enables customization for any other long-slit spectroscopy data.

[ascl:2102.027]
PyFstat: Continuous gravitational-wave data analysis

PyFstat performs F-statistic-based continuous gravitational wave (CW) searches and other CW data analysis tasks. It is built on top of the LALSuite library (ascl:2012.021), making that library's functionality more accessible through a Python interface; it also provides MCMC-based followup of promising candidates from wide-parameter-space searches.

[ascl:2203.005]
pygacs: Toolkit to manipulate Gaia catalog tables

pygacs manipulates Gaia catalog tables hosted at ESA's Gaia Archive Core Systems (GACS). It provides python modules for the access and manipulation of tables in GACS, such as a basic query on a single table or crossmatch between two tables. It employs the TAP command line access tools described in the Help section of the GACS web pages. Both public and authenticated access have been implemented.

[ascl:1811.014]
pygad: Analyzing Gadget Simulations with Python

pygad provides a framework for dealing with Gadget snapshots. The code reads any of the many different Gadget (ascl:0003.001) formats, allows easy masking snapshots to particles of interest, decorates the data blocks with units, allows to add automatically updating derived blocks, and provides several binning and plotting routines, among other tasks, to provide convenient, intuitive handling of the Gadget data without the need to worry about technical details. pygad provides access to single stellar population (SSP) models, has an interface to Rockstar (ascl:1210.008) output files, provides its own friends-of-friends (FoF) finder, calculates spherical overdensities, and has a sub-module to generate mock absorption lines.

[ascl:1411.001]
pyGadgetReader: GADGET snapshot reader for python

pyGadgetReader is a universal GADGET snapshot reader for python that supports type-1, type-2, HDF5, and TIPSY (ascl:1111.015) binary formats. It additionally supports reading binary outputs from FoF_Special, P-StarGroupFinder, Rockstar (ascl:1210.008), and Rockstar-Galaxies.

[ascl:1603.013]
PyGDSM: Python interface to Global Diffuse Sky Models

PyGDSM (formely PyGSM) is a Python interface for the Global Sky Model (GSM, ascl:1011.010). The GSM is a model of diffuse galactic radio emission, constructed from a variety of all-sky surveys spanning the radio band (e.g. Haslam and WMAP). PyGDSM uses the GSM to generate all-sky maps in Healpix format of diffuse Galactic radio emission from 10 MHz to 94 GHz. The PyGDSM module provides visualization utilities, file output in FITS format, and the ability to generate observed skies for a given location and date. PyGDSM requires Healpy (ascl:2008.022), PyEphem (ascl:1112.014), and AstroPy (ascl:1304.002).

[ascl:1402.021]
PyGFit: Python Galaxy Fitter

PyGFit measures PSF-matched photometry from images with disparate pixel scales and PSF sizes; its primary purpose is to extract robust spectral energy distributions (SEDs) from crowded images. It fits blended sources in crowded, low resolution images with models generated from a higher resolution image, thus minimizing the impact of crowding and also yielding consistently measured fluxes in different filters which minimizes systematic uncertainty in the final SEDs.

[ascl:1611.013]
pyGMMis: Mixtures-of-Gaussians density estimation method

pyGMMis is a mixtures-of-Gaussians density estimation method that accounts for arbitrary incompleteness in the process that creates the samples as long as the incompleteness is known over the entire feature space and does not depend on the sample density (missing at random). pyGMMis uses the Expectation-Maximization procedure and generates its best guess of the unobserved samples on the fly. It can also incorporate an uniform "background" distribution as well as independent multivariate normal measurement errors for each of the observed samples, and then recovers an estimate of the error-free distribution from which both observed and unobserved samples are drawn. The code automatically segments the data into localized neighborhoods, and is capable of performing density estimation with millions of samples and thousands of model components on machines with sufficient memory.

[ascl:1907.004]
pyGTC: Parameter covariance plots

pyGTC creates giant triangle confusogram (GTC) plots. Triangle plots display the results of a Monte-Carlo Markov Chain (MCMC) sampling or similar analysis. The recovered parameter constraints are displayed on a grid in which the diagonal shows the one-dimensional posteriors (and, optionally, priors) and the lower-left triangle shows the pairwise projections. Such plots are useful for seeing the parameter covariances along with the priors when fitting a model to data.

[ascl:2311.013]
pygwb: Lighweight python stochastic GWB analysis pipeline

Renzini, Arianna I.; Romero-Rodríguez, Alba; Talbot, Colm; Lalleman, Max; Kandhasamy, Shivaraj; Turbang, Kevin; Biscoveanu, Sylvia; Martinovic, Katarina; Meyers, Patrick; Tsukada, Leo; Janssens, Kamiel; Davis, Derek; Matas, Andrew; Charlton, Philip; Liu, Guo-Chin; Dvorkin, Irina; Banagiri, Sharan; Bose, Sukanta; Callister, Thomas; De Lillo, Federico; D'Onofrio, Luca; Garufi, Fabio; Harry, Gregg; Lawrence, Jessica; Mandic, Vuk; Macquet, Adrian; Michaloliakos, Ioannis; Mitra, Sanjit; Pham, Kiet; Poggiani, Rosa; Regimbau, Tania; Romano, Joseph D.; van Remortel, Nick; Zhong, Haowen

pygwb analyzes laser interferometer data and designs a gravitational wave background (GWB) search pipeline. Its modular and flexible codebase is tailored to current ground-based interferometers such as LIGO Hanford, LIGO Livingston, and Virgo, but can be generalized to other configurations. It is based on GWpy (ascl:1912.016) and bilby (ascl:1901.011) for optimal integration with widely-used gravitational wave data analysis tools. pygwb also includes a set of scripts to analyze data and perform large-scale searches on a high-performance computing cluster efficiently.

[ascl:2007.020]
pygwinc: Gravitational Wave Interferometer Noise Calculator

pygwinc processes and plots noise budgets for ground-based gravitational wave detectors. Its primary feature is a collection of mostly analytic noise calculation functions for various sources of noise affecting detectors, including quantum and seismic noise, mirror coating and substrate thermal noise, suspension fiber thermal noise, and residual gas noise. It is also a generalized noise budgeting tool that allows users to create arbitrary noise budgets for any experiment, not just ground-based GW detectors, using measured or analytically calculated data.

[ascl:2307.025]
pyhalomodel: Halo-model implementation for power spectra

pyhalomodel computes halo-model power spectra for any desired tracer combination. The software requires only halo profiles for the tracers to be specified; these could be matter profiles, galaxy profiles, or something else, such as electron-pressure or HI profiles. pyhalomodel makes it easier to perform basic calculations using the halo model by reducing the changes of variables required to integrate halo profiles against halo mass functions, which can be confusing and tedious.

[ascl:2002.011]
PyHammer: Python spectral typing suite

Kesseli, Aurora; West, Andrew; Veyette, Mark; Harrison, Brandon; Feldman, Dan; Morgan, Dylan; Theissen, Chris; Robinson, Connor

PyHammer performs rapid and automatic spectral classification of stars according to the Morgan-Keenan classification system; it is a Python revision of the IDL code The Hammer (ascl:1405.003) and offers additional capabilities. Working in the range of 3,650-10,200 Angstroms, the automatic spectral typing algorithm compares important spectral lines to template spectra and determines the best matching spectral type, ranging from O to L type stars. The code can also determine a star's metallicity ([Fe/H]) and radial velocity shifts. Once the automatic classification algorithm has run, PyHammer provides the user an interface for determining spectral types visually by comparing their spectra to provided templates.

[ascl:2206.010]
pyHIIexplorerV2: Integrated spectra of HII regions extractor

Espinosa-Ponce, C.; Sánchez, S. F.; Morisset, C.; Barrera-Ballesteros, J. K.; Galbany, L.; García-Benito, R.; Lacerda, E. A. D.; Mast, D.

pyHIIexplorerV2 extracts the integrated spectra of HII regions from integral field spectroscopy (IFS) datacubes. The detection of HII regions performed by pyHIIexplorer is based on two assumptions: 1) HII regions have strong emission lines that are clearly above the continuum emission and the average ionized gas emission across each galaxy, and 2) the typical size of HII regions is about a few hundreds of parsecs, which corresponds to a usual projected size of a few arcsec at the distance of our galaxies. These assumptions will define clumpy structures with a high Ha emission line contrast in comparison to the continuum. pyHIIexplorerV2 is written in Python; it is based on and is a successor to HIIexplorer (ascl:1603.017).

[ascl:1511.005]
pyhrs: Spectroscopic data reduction package for SALT

The pyhrs package reduces data from the High Resolution Spectrograph (HRS) on the Southern African Large Telescope (SALT). HRS is a dual-beam, fiber fed echelle spectrectrograph with four modes of operation: low (R~16000), medium (R~34000), high (R~65000), and high stability (R~65000). pyhrs, written in Python, includes all of the steps necessary to reduce HRS low, medium, and high resolution data; this includes basic CCD reductions, order identification, wavelength calibration, and extraction of the spectra.

[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:2205.010]
pyICs: Initial Conditions creator for isolated galaxy formation simulations

pyICs creates initial condition (IC) files for N-body simulations of the formation of isolated galaxies. It uses the pynbody analysis package (ascl:1305.002) to create the actual IC files. pyICs generates dark matter halos (DM) in dynamical equilibrium which host a rotating gas sphere. The DM particle velocities are drawn from the equilibrium distribution function and the gas sphere has an angular momentum profile. The DM and the gas share the same 3D radial density profile. The code natively supports the αβγ-models: ρ ~ (r/a)-γ[1+(r/a)α](γ-β)/α. If γ <= 3, the profiles are smoothly truncated outside the virial radius. The radial profile can be arbitrary as long as python functions for the profile itself and its first and second derivative with radius are given.

[ascl:2307.023]
PyIMRPhenomD: Stellar origin black hole binaries population estimator

PyIMRPhenomD estimates the population of stellar origin black hole binaries for LISA observations using a Bayesian parameter estimation algorithm. The code reimplements IMRPhenomD (ascl:2307.019) in a pure Python code, compiled with the Numba just-in-time compiler. The module implements the analytic first and second derivatives necessary to compute t(f) and t'(f) rather than computing them numerically. Using the analytic derivatives increases the code complexity but produces faster and more numerically accurate results; the improvement in numerical accuracy is particularly significant for t'(f).

[ascl:2004.014]
PyKat: Python interface and tools for Finesse

Brown, Daniel D.; Jones, Philip; Rowlinson, Samuel; Freise, Andreas; Leavey, Sean; Green, Anna C.; Toyra, Daniel

The Python wrapper PyKat extends the optical interferometer modeling software Finesse (ascl:2004.013). It provides an efficient GUI for conducting complex numerical simulations and manipulating and viewing simulation setups, and enables the use of Python's extensive scientific software ecosystem.

[ascl:1208.004]
PyKE: Reduction and analysis of Kepler Simple Aperture Photometry data

PyKE is a python-based PyRAF package that can also be run as a stand-alone program within a unix-based shell without compiling against PyRAF. It is a group of tasks developed for the reduction and analysis of Kepler Simple Aperture Photometry (SAP) data of individual targets with individual characteristics. The main purposes of these tasks are to i) re-extract light curves from manually-chosen pixel apertures and ii) cotrend and/or detrend the data in order to reduce or remove systematic noise structure using methods tunable to user and target-specific requirements. PyKE is an open source project and contributions of new tasks or enhanced functionality of existing tasks by the community are welcome.

[ascl:1506.001]
pyKLIP: PSF Subtraction for Exoplanets and Disks

Wang, Jason J.; Ruffio, Jean-Baptise; De Rosa, Robert J.; Aguilar, Jonathan; Wolff, Schuyler G.; Pueyo, Laurent

pyKLIP subtracts out the stellar PSF to search for directly-imaged exoplanets and disks using a Python implementation of the Karhunen-Loève Image Projection (KLIP) algorithm. pyKLIP supports ADI, SDI, and ADI+SDI to model the stellar PSF and offers a large array of PSF subtraction parameters to optimize the reduction. pyKLIP relies on a minimal amount of dependencies (numpy, scipy, and astropy) and parallelizes the KLIP algorithm to speed up the reduction. pyKLIP supports GPI and P1640 data and can interface with other data sources with the addition of new modules. It also can inject simulated planets and disks as well as automatically search for point sources in PSF-subtracted data.

[ascl:1708.016]
pyLCSIM: X-ray lightcurves simulator

pyLCSIM simulates X-ray lightcurves from coherent signals and power spectrum models. Coherent signals can be specified as a sum of one or more sinusoids, each with its frequency, pulsed fraction and phase shift; or as a series of harmonics of a fundamental frequency (each with its pulsed fraction and phase shift). Power spectra can be simulated from a model of the power spectrum density (PSD) using as a template one or more of the built-in library functions. The user can also define his/her custom models. Models are additive.

[ascl:1510.003]
PyLDTk: Python toolkit for calculating stellar limb darkening profiles and model-specific coefficients for arbitrary filters

PyLDTk automates the calculation of custom stellar limb darkening (LD) profiles and model-specific limb darkening coefficients (LDC) using the library of PHOENIX-generated specific intensity spectra by Husser et al. (2013). It facilitates exoplanet transit light curve modeling, especially transmission spectroscopy where the modeling is carried out for custom narrow passbands. PyLDTk construct model-specific priors on the limb darkening coefficients prior to the transit light curve modeling. It can also be directly integrated into the log posterior computation of any pre-existing transit modeling code with minimal modifications to constrain the LD model parameter space directly by the LD profile, allowing for the marginalization over the whole parameter space that can explain the profile without the need to approximate this constraint by a prior distribution. This is useful when using a high-order limb darkening model where the coefficients are often correlated, and the priors estimated from the tabulated values usually fail to include these correlations.

[ascl:1811.008]
Pylians: Python libraries for the analysis of numerical simulations

Pylians facilitates the analysis of numerical simulations (both N-body and hydro). This set of libraries, written in python, cython and C, compute power spectra, bispectra, and correlation functions, identifies voids, and populates halos with galaxies using an HOD. Pylians can also apply HI+H2 corrections to the output of hydrodynamic simulations, makes 21cm maps, computes DLAs column density distribution functions, and plots density fields. A Python 3 version of this code, Pylians3 (ascl:2403.012) is available.

[ascl:2403.012]
Pylians3: Libraries to analyze numerical simulations in Python 3

Pylians3 (Python3 libraries for the analysis of numerical simulations) provides a Python 3 version of Pylians (ascl:1811.008), which analyzes numerical simulations (both N-body and hydrodynamic); parts of the codebase are also written in cython and C. It computes density fields, power spectra, bispectra, and correlation functions, identifies voids, and populates halos with galaxies using an HOD. Pylians3 also applies HI+H2 corrections to the output of hydrodynamic simulations, make 21cm maps, computes DLAs column density distribution functions, and can plot density fields and make movies.

[ascl:1612.018]
pylightcurve: Exoplanet lightcurve model

pylightcurve is a model for light-curves of transiting planets. It uses the four coefficients law for the stellar limb darkening and returns the relative flux, *F*(*t*), as a function of the limb darkening coefficients, *a _{n}*, the

[ascl:1906.022]
pyLIMA: Microlensing modeling package

pyLIMA (python Lightcurve Identification and Microlensing Analysis) fits microlensing lightcurves and derives the physical quantities of lens systems. The package provides microlensing modeling, and the magnification estimation for high cadence lightcurves has been optimized. pyLIMA is designed to make microlensing modeling and event simulation widely available to the community.

[ascl:1506.005]
PyMC: Bayesian Stochastic Modelling in Python

PyMC is a python module that implements Bayesian statistical models and fitting algorithms, including Markov chain Monte Carlo. Its flexibility and extensibility make it applicable to a large suite of problems. Along with core sampling functionality, PyMC includes methods for summarizing output, plotting, goodness-of-fit and convergence diagnostics.

[ascl:1610.016]
PyMC3: Python probabilistic programming framework

PyMC3 performs Bayesian statistical modeling and model fitting focused on advanced Markov chain Monte Carlo and variational fitting algorithms. It offers powerful sampling algorithms, such as the No U-Turn Sampler, allowing complex models with thousands of parameters with little specialized knowledge of fitting algorithms, intuitive model specification syntax, and optimization for finding the maximum a posteriori (MAP) point. PyMC3 uses Theano to compute gradients via automatic differentiation as well as compile probabilistic programs on-the-fly to C for increased speed.

[ascl:2212.007]
PyMCCF: Python Modernized Cross Correlation Function for reverberation mapping studies

PyMCCF (Python Modernized Cross Correlation Function), also known as MCCF, cross correlates two light curves that are unevenly sampled using linear interpolation and measures the peak and centroid of the cross-correlation function. Based on PyCCF (ascl:1805.032) and ICCF, it introduces a new parameter, MAX, to reduce the number of interpolated points used to just those which are not farther from the nearest real one than the MAX. This significantly reduces noise from interpolation errors. The estimation of the errors in PyMCCF is exactly the same as in PyCCF.

[ascl:2309.010]
pymccorrelation: Correlation coefficients with uncertainties

pymccorrelation calculates correlation coefficients for data, using bootstrapping and/or perturbation to estimate the uncertainties on the correlation coefficient and p-value. The code supports Pearson's r, Spearman's rho, and Kendall's tau. Calculations of Kendall's tau additionally support censored data. This code supercedes and expands the deprecated code pymcspearman (ascl:2309.009).

[ascl:2207.024]
pymcfost: Python interface to the MCFOST 3D radiative transfer code

pymcfost provides an interface to and can be used to visualize results from the 3D radiative transfer code MCFOST (ascl:2207.023). pymcfost can set up continuum and line models, read a single model or library of models, plot basic quantities such as density structures and temperature maps, and plot observables, including SEDs, polarization maps, visibilities, and channels maps (with spatial and spectral convolution). It can also convert units (*e.g.* W.m-2 to Jy or brightness temperature), and it provides an interface to the ALMA CASA simulator (ascl:1107.013).

[ascl:2309.009]
pymcspearman: Monte carlo calculation of Spearman's rank correlation coefficient with uncertainties

pymcspearman is a python implementation of MCSpearman (ascl:1504.008) and calculates Spearman's rank correlation coefficient for data, using bootstrapping and/or perturbation to estimate the uncertainties on the correlation coefficient. This software project has migrated (and expanded) to pymccorrelation (ascl:2309.010).

[ascl:1505.025]
pyMCZ: Oxygen abundances calculations and uncertainties from strong-line flux measurements

Bianco, Federica B.; Modjaz, Maryam; Oh, Seung Man; Fierroz, David; Liu, Yuqian; Kewley, Lisa; Graur, Or

pyMCZ calculates metallicity according to a number of strong line metallicity diagnostics from spectroscopy line measurements and obtains uncertainties from the line flux errors in a Monte Carlo framework. Given line flux measurements and their uncertainties, pyMCZ produces synthetic distributions for the oxygen abundance in up to 13 metallicity scales simultaneously, as well as for E(B-V), and estimates their median values and their 68% confidence regions. The code can output the full MC distributions and their kernel density estimates.

[ascl:1902.003]
PyMF: Matched filtering techniques for astronomical images

PyMF performs spatial filtering (matched filter, matched multifilter, constrained matched filter and constrained matched mutifilter) image processing that provides optimal reduction of the contamination introduced by sources that can be approximated by templates. These techniques use the flat-sky approximation.

[ascl:1411.011]
PyMGC3: Finding stellar streams in the Galactic Halo using a family of Great Circle Cell counts methods

PyMGC3 is a Python toolkit to apply the Modified Great Circle Cell Counts (mGC3) method to search for tidal streams in the Galactic Halo. The code computes pole count maps using the full mGC3/nGC3/GC3 family of methods. The original GC3 method (Johnston *et al.*, 1996) uses positional information to search for 'great-circle-cell structures'; mGC3 makes use of full 6D data and nGC3 uses positional and proper motion data.

[ascl:1401.003]
PyMidas: Interface from Python to Midas

PyMidas is an interface between Python and MIDAS, the major ESO legacy general purpose data processing system. PyMidas allows a user to exploit both the rich legacy of MIDAS software and the power of Python scripting in a unified interactive environment. PyMidas also allows the usage of other Python-based astronomical analysis systems such as PyRAF.

[ascl:1808.008]
PyMieDap: Python Mie Doubling Adding Program

PyMieDAP (Python Mie Doubling Adding Program) makes light scattering computations with Mie scattering and radiative transfer computations with full orders of scattering and taking into account the polarization of the light scattered. Full planet modeling at any phase angle is possible. With the included subpackage exopy, it is also possible to simulate systems with a star, a planet and a possible moon.

[ascl:1707.005]
PyMOC: Multi-Order Coverage map module for Python

PyMOC manipulates Multi-Order Coverage (MOC) maps. It supports reading and writing the three encodings mentioned in the IVOA MOC recommendation: FITS, JSON and ASCII.

[ascl:1109.010]
PyModelFit: Model-fitting Framework and GUI Tool

PyModelFit provides a pythonic, object-oriented framework that simplifies the task of designing numerical models to fit data. This is a very broad task, and hence the current functionality of PyModelFit focuses on the simpler tasks of 1D curve-fitting, including a GUI interface to simplify interactive work (using Enthought Traits). For more complicated modeling, PyModelFit also provides a wide range of classes and a framework to support more general model/data types (2D to Scalar, 3D to Scalar, 3D to 3D, and so on).

[ascl:1906.009]
PyMORESANE: Python MOdel REconstruction by Synthesis-ANalysis Estimators

PyMORESANE is a Python and pyCUDA-accelerated implementation of the MORESANE deconvolution algorithm, a sparse deconvolution algorithm for radio interferometric imaging. It can restore diffuse astronomical sources which are faint in brightness, complex in morphology and possibly buried in the dirty beam’s side lobes of bright radio sources in the field.

[ascl:1310.002]
PyMSES: Python modules for RAMSES

PyMSES provides a python solution for getting data out of RAMSES (ascl:1011.007) astrophysical fluid dynamics simulations. It permits transparent manipulation of large simulations and interfaces with common Python libraries and existing code, and can serve as a post-processing toolbox for data analysis. It also does three-dimensional volume rendering with a specific algorithm optimized to work on RAMSES distributed data (Guillet et al. 2011 and Jones et a. 2011).

[ascl:2312.018]
PyMsOfa: Python package for the Standards of Fundamental Astronomy (SOFA) service

PyMsOfa accesses the International Astronomical Union’s SOFA library (ascl:1403.026) from Python. It offers a wrapper package based on a foreign function library for Python (ctypes), a wrapper with the foreign function interface for Python calling C code (cffi), and a package directly written in pure Python codes from SOFA subroutines. PyMsOfa is suitable for the astrometric detection of habitable planets of the Closeby Habitable Exoplanet Survey (CHES) mission and for the frontier themes of black holes and dark matter related to astrometric calculations and other fields.

[ascl:1606.005]
PyMultiNest: Python interface for MultiNest

PyMultiNest provides programmatic access to MultiNest (ascl:1109.006) and PyCuba, integration existing Python code (numpy, scipy), and enables writing Prior & LogLikelihood functions in Python. PyMultiNest can plot and visualize MultiNest's progress and allows easy plotting, visualization and summarization of MultiNest results. The plotting can be run on existing MultiNest output, and when not using PyMultiNest for running MultiNest.

[ascl:1806.028]
PyMUSE: VLT/MUSE data analyzer

PyMUSE analyzes VLT/MUSE datacubes. The package is optimized to extract 1-D spectra of arbitrary spatial regions within the cube and also for producing images using photometric filters and customized masks. It is intended to provide the user the tools required for a complete analysis of a MUSE data set.

[ascl:1703.009]
PyMVPA: MultiVariate Pattern Analysis in Python

PyMVPA eases statistical learning analyses of large datasets. It offers an extensible framework with a high-level interface to a broad range of algorithms for classification, regression, feature selection, data import and export. It is designed to integrate well with related software packages, such as scikit-learn, shogun, and MDP.

[ascl:2208.022]
PyNAPLE: Automated pipeline for detecting changes on the lunar surface

PyNAPLE (PYthon Nac Automated Pair Lunar Evaluator) detects changes and new impact craters on the lunar surface using Lunar Reconnaissance Orbiter Narrow Angle Camera (LRO NAC) images. The code enables large scale analyses of sub-kilometer scale cratering rates and refinement of both scaling laws and the luminous efficiency.

[ascl:1305.002]
pynbody: N-Body/SPH analysis for python

Pynbody is a lightweight, portable, format-transparent analysis package for astrophysical N-body and smooth particle hydrodynamic simulations supporting PKDGRAV/Gasoline, Gadget, N-Chilada, and RAMSES AMR outputs. Written in python, the core tools are accompanied by a library of publication-level analysis routines.

[ascl:1304.021]
PyNeb: Analysis of emission lines

PyNeb (previously PyNebular) is an update and expansion of the IRAF package NEBULAR; rewritten in Python, it is designed to be more user-friendly and powerful, increasing the speed, easiness of use, and graphic visualization of emission lines analysis. In PyNeb, the atom is represented as an n-level atom. For given density and temperature, PyNeb solves the equilibrium equations and determines the level populations. PyNeb can compute physical conditions from suitable diagnostic line ratios and level populations, critical densities and line emissivities, and can compute and display emissivity grids as a function of Te and Ne. It can also deredden line intensities, read and manage observational data, and plot and compare atomic data from different publications, and compute ionic abundances from line intensities and physical conditions and elemental abundances from ionic abundances and icfs.

[ascl:2403.001]
Pynkowski: Minkowski functionals and other higher order statistics

Pynkowski computes Minkowski Functionals and other higher order statistics of input fields, as well as their expected values for different kinds of fields. This package supports Minkowski functionals, and maxima and minima distributions. Supported input formats include scalar HEALPix maps such as those used by healpy (ascl:2008.022) and polarization HEALPix maps in the SO(3) formalism. Pynkowski also supports various theoretical fields, including Gaussian (*e.g.*, CMB Temperature or the initial density field), Chi squared (*e.g.*, CMB polarization intensity), and spin 2 maps in the SO(3) formalism.

[ascl:1812.010]
PynPoint 0.6.0: Pipeline for processing and analysis of high-contrast imaging data

PynPoint processes and analyzes high-contrast imaging data of exoplanets and circumstellar disks. The generic, end-to-end pipeline's modular architecture separates the core functionalities and the pipeline modules. These modules have specific tasks such as background subtraction, frame selection, centering, PSF subtraction with principal component analysis, estimation of detection limits, and photometric and astrometric analysis. All modules store their results in a central database. Management of the available hardware by the backend of the pipeline is in particular an advantage for data sets containing thousands of images, as is common in the mid-infrared wavelength regime. This version of PynPoint is a significant rewrite of the earlier PynPoint package (ascl:1501.001).

[ascl:1501.001]
PynPoint: Exoplanet image data analysis

PynPoint uses principal component analysis to detect and estimate the flux of exoplanets in two-dimensional imaging data. It processes many, typically several thousands, of frames to remove the light from the star so as to reveal the companion planet.

The code has been significantly rewritten and expanded; please see ascl:1812.010.

[ascl:2207.002]
pynucastro: Python interfaces to the nuclear reaction rate databases

pynucastro interfaces to the nuclear reaction rate databases, including the JINA Reaclib nuclear reactions database. This set of Python interfaces enables interactive exploration of rates and collection of rates (networks) in Jupyter notebooks and easy creation of the righthand side routines for reaction network integration (the ODEs) for use in simulation codes.

[ascl:2203.012]
pyobs: Python framework for autonomous astronomical observatories

pyobs enables remote and fully autonomous observation control of astronomical telescopes. It provides an abstraction layer over existing drivers and a means of communication between different devices (called modules in pyobs). The code can also act as a hardware driver for all the devices used at an observatory. In addition, pyobs offers non-hardware-related modules for automating focusing, acquisition, guiding, and other routine tasks.

[ascl:1612.008]
PyORBIT: Exoplanet orbital parameters and stellar activity

PyORBIT handles several kinds of datasets, such as radial velocity (RV), activity indexes, and photometry, to simultaneously characterize the orbital parameters of exoplanets and the noise induced by the activity of the host star. RV computation is performed using either non-interacting Kepler orbits or n-body integration. Stellar activity can be modeled either with sinusoids at the rotational period and its harmonics or Gaussian process. In addition, the code can model offsets and systematics in measurements from several instruments. The PyORBIT code is modular; new methods for stellar activity modeling or parameter estimation can easily be incorporated into the code.

[ascl:1802.012]
PyOSE: Orbital sampling effect (OSE) simulator

PyOSE is a fully numerical orbital sampling effect (OSE) simulator that can model arbitrary inclinations of the transiting moon orbit. It can be used to search for exomoons in long-term stellar light curves such as those by Kepler and the upcoming PLATO mission.

[ascl:1905.027]
PyPDR: Python Photo Dissociation Regions

PyPDR calculates the chemistry, thermal balance and molecular excitation of a slab of gas under FUV irradiation in a self-consistent way. The effect of FUV irradiation on the chemistry is that molecules get photodissociated and the gas is heated up to several 1000 K, mostly by the photoelectric effect on small dust grains or UV pumping of H2 followed by collision de-excitation. The gas is cooled by molecular and atomic lines, thus indirectly the chemical composition also affects the thermal structure through the abundance of molecules and atoms. To find a self-consistent solution between heating and cooling, the code iteratively calculates the chemistry, thermal-balance and molecular/atomic excitation.

[ascl:1911.004]
PypeIt: Python spectroscopic data reduction pipeline

Prochaska, J. Xavier; Hennawi, Joseph; Cooke, Ryan; Westfall, Kyle; Wang, Feige; Farina, Emanuele Paolo; Hsyu, Tiffany; Wasserman, Asher; Villaume, Alexa; Young, David; Simha, Sunil; Wilde, Matt; Tejos, Nicolas; Isbell, Jacob; Betts, Edward; Holden, Brad

PypeIt reduces data from echelle and low-resolution spectrometers; the code can be run in several modes of reduction that demark the level of sophistication (e.g. quick and dirty vs. MonteCarlo) and also the amount of output written to disk. It also generates numerous data products, including 1D and 2D spectra; calibration images, fits, and meta files; and quality assurance figures.

[ascl:2401.004]
pyPETaL: A Pipeline for Estimating AGN Time Lags

pyPETAL produces cross-correlation functions, discrete correlation functions, and mean time lags from multi-band AGN time-series data, combining multiple different codes (including pyCCF (ascl:1805.032), pyZDCF, PyROA (ascl:2107.012), and JAVELIN (ascl:1010.007)) used for active galactic nuclei (AGN) reverberation mapping (RM) analysis into a unified pipeline. This pipeline also implements outlier rejection using Damped Random Walk Gaussian process fitting, and detrending through the LinMix algorithm. pyPETAL implements a weighting scheme for all lag-producing modules, mitigating aliasing in peaks of time lag distributions between light curves. pyPETAL scales to any combination of internal code modules, supporting a variety of computational workflows.

[ascl:1609.022]
PyPHER: Python-based PSF Homogenization kERnels

Boucaud, Alexandre; Bocchio, Marco; Abergel, Alain; Orieux, François; Dole, Hervé; Amine Hadj-Youcef, Mohamed

PyPHER (Python-based PSF Homogenization kERnels) computes an homogenization kernel between two PSFs; the code is well-suited for PSF matching applications in both an astronomical or microscopy context. It can warp (rotation + resampling) the PSF images (if necessary), filter images in Fourier space using a regularized Wiener filter, and produce a homogenization kernel. PyPHER requires the pixel scale information to be present in the FITS files, which can if necessary be added by using the provided ADDPIXSCL method.

[ascl:2103.026]
PyPion: Post-processing code for PION simulation data

PyPion reads in Silo (ascl:2103.025) data files from PION (ascl:2103.024) simulations and plots the data. This library works for 1D, 2D, and 3D data files and for any amount of nested-grid levels. The scripts contained in PyPion save the options entered into the command line when the python script is run, open the silo file and save all of the important header variables, open the directory in the silo (or vtk, or fits) file and save the requested variable data (eg. density, temp, etc.), and set up the plotting function and the figure.

[ascl:2206.023]
pyPipe3D: Spectroscopy analysis pipeline

Lacerda, Eduardo A. D.; Sánchez, S. F.; Mejía-Narváez, A.; Camps-Fariña, A.; Espinosa-Ponce, C.; Barrera-Ballesteros, J. K.; Ibarra-Medel, H.; Lugo-Aranda, A. Z.

The spectroscopy analysis pipeline pyPipe3D produces coherent and easy to distribute and compare parameters of stellar populations and ionized gas; it is suited in particular for data from the most recent optical IFS surveys. The pipeline is build using pyFIT3D, which is the main spectral fitting module included in this package.

[ascl:2307.006]
pyPplusS: Modeling exoplanets with rings

pyPplusS calculates the light curves for ringed, oblate or spherical exoplanets in both the uniform and limb darkened cases. It can constrain the oblateness of planets using photometric data only. This code can be used to model light curves of more complicated configurations, including multiple planets, oblate planets, moons, rings, and combinations of these, while properly and efficiently taking into account overlapping areas and limb darkening.

[ascl:1612.005]
PyProfit: Wrapper for libprofit

pyprofit is a python wrapper for libprofit (ascl:1612.003).

[ascl:1706.011]
PyPulse: PSRFITS handler

PyPulse handles PSRFITS files and performs subsequent analyses on pulse profiles.

[ascl:1809.008]
PyQSOFit: Python code to fit the spectrum of quasars

The Python QSO fitting code (PyQSOFit) measures spectral properties of quasars. Based on Shen's IDL version, this code decomposes different components in the quasar spectrum, e.g., host galaxy, power-law continuum, Fe II component, and emission lines. In addition, it can run Monto Carlo iterations using flux randomization to estimate the uncertainties.

[ascl:1807.006]
pyqz: Emission line code

pyqz computes the values of log(Q) [the ionization parameter] and 12+log(O/H) [the oxygen abundance, either total or in the gas phase] for a given set of strong emission lines fluxes from HII regions. The log(Q) and 12+log(O/H) values are interpolated from a finite set of diagnostic line ratio grids computed with the MAPPINGS V code (ascl:1807.005). The grids used by pyqz are chosen to be flat, without wraps, to decouple the influence of log(Q) and 12+log(O/H) on the emission line ratios.

[ascl:1908.009]
PyRADS: Python RADiation model for planetary atmosphereS

The 1D radiation code PyRADS provides line-by-line spectral resolution. For Earth-like atmospheres, PyRADS currently uses HITRAN 2016 line lists and the MTCKD continuum model. A version for shortwave radiation (scattering) is also available.

[ascl:1602.002]
pyraf-dbsp: Reduction pipeline for the Palomar Double Beam Spectrograph

pyraf-dbsp is a PyRAF-based (ascl:1207.011) reduction pipeline for optical spectra taken with the Palomar 200-inch Double Beam Spectrograph. The pipeline provides a simplified interface for basic reduction of single-object spectra with minimal overhead. It is suitable for quicklook classification of transients as well as moderate-precision (few km/s) radial velocity work.

[ascl:1207.011]
PyRAF: Python alternative for IRAF

PyRAF is a command language for running IRAF tasks that is based on the Python scripting language. It gives users the ability to run IRAF tasks in an environment that has all the power and flexibility of Python. PyRAF can be installed along with an existing IRAF installation; users can then choose to run either PyRAF or the IRAF CL.

[ascl:2105.017]
Pyrat Bay: Python Radiative Transfer in a Bayesian framework

Pyrat Bay computes radiative-transfer spectra and fits exoplanet atmospheric properties, and is an efficient, user-friendly Python tool. The package offers transmission or emission spectra of exoplanet transit or eclipses respectively and forward-model or retrieval calculations. The radiative-transfer includes opacity sources from line-by-line molecular absorption, collision-induced absorption, Rayleigh scattering absorption, and more, including Gray aerosol opacities. Pyrat Bay's Bayesian (MCMC) posterior sampling of atmospheric parameters includes molecular abundances, temperature profile, pressure-radius, and Rayleigh and cloud properties.

[ascl:2312.021]
PyRaTE: Non-LTE spectral lines simulations

PyRaTE (Python Radiative Transfer Emission) post-processes astrochemical simulations. This multilevel radiative transfer code uses the escape probablity method to calculate the population densities of the species under consideration. The code can handle all projection angles and geometries and can also be used to produce mock observations of the Goldreich-Kylafis effect. PyRaTE is written in Python; it uses a parallel strategy and relies on the YT analysis toolkit (ascl:1011.022), mpi4py and numba.

[ascl:2207.007]
Pyriod: Period detection and fitting routines

Pyriod provides basic period detection and fitting routines for astronomical time series. Written in Python and designed to be run interactively in a Jupyter notebook, it displays and allows the user to interact with time series data, fit frequency solutions, and save figures from the toolbar. It can display original or residuals time series, fold the time series on some frequency, add selected peaks from the periodogram to the model, and refine the fit by computing a least-squared fit of the model using Lmfit (ascl:1606.014).

[ascl:2110.016]
pyro: Deep universal probabilistic programming with Python and PyTorch

Bingham, Eli; Chen, Jonathan P.; Jankowiak, Martin; Obermeyer, Fritz; Pradhan, Neeraj; Karaletsos, Theofanis; Singh, Rohit; Szerlip, Paul; Horsfall, Paul; Goodman, Noah D.

Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch. It can represent any computable probability distribution and scales to large data sets with little overhead compared to hand-written code. The library is implemented with a small core of powerful, composable abstractions. Its high-level abstractions express generative and inference models, but also allows experts to customize inference.

[ascl:1507.018]
pyro: Python-based tutorial for computational methods for hydrodynamics

pyro is a simple python-based tutorial on computational methods for hydrodynamics. It includes 2-d solvers for advection, compressible, incompressible, and low Mach number hydrodynamics, diffusion, and multigrid. It is written with ease of understanding in mind. An extensive set of notes that is part of the Open Astrophysics Bookshelf project provides details of the algorithms.

[ascl:2107.012]
PyROA: Modeling quasar light curves

PyROA models quasar light curves where the variability is described using a running optimal average (ROA), and parameters are sampled using Markov Chain Monte Carlo (MCMC) techniques using emcee (ascl:1303.002). Using a Bayesian approach, priors can be used on the sampled parameters. Currently it has three main uses: 1.) Determining the time delay between lightcurves at different wavelengths; 2.) Intercalibrating light curves from multiple telescopes, merging them into a single lightcurve; and 3.) Determining the time delay between images of lensed quasars, where the microlensing effects are also modeled. PyROA also includes a noise model, where there is a parameter for each light curve that adds extra variance to the flux measurments, to account for underestimated errors; this can be turned off if required. Example jupyter notebooks that demonstrate each of the three main uses of the code are provided.

[ascl:1904.026]
pyRSD: Accurate predictions for the clustering of galaxies in redshift-space in Python

pyRSD computes the theoretical predictions of the redshift-space power spectrum of galaxies. It also includes functionality for fitting data measurements and finding the optimal model parameters, using both MCMC and nonlinear optimization techniques.

[ascl:1207.010]
PySALT: SALT science pipeline

Crawford, S. M.; Still, M.; Schellart, P.; Balona, L.; Buckley, D. A. H.; Gulbis, A. A. S.; Kniazev, A.; Kotze, M.; Loaring, N.; Nordsieck, K. H.; Pickering, T. E.; Potter, S.; Romero Colmenero, E.; Vaisanen, P.; Wiliams, T.; Zietsman, E.

The PySALT user package contains the primary reduction and analysis software tools for the SALT telescope. Currently, these tools include basic data reductions for RSS and SALTICAM in both imaging, spectroscopic, and slot modes. Basic analysis software for slot mode data is also provided. These tools are primarily written in python/PyRAF with some additional IRAF code.

[ascl:2008.005]
PySAP: Python Sparse data Analysis Package

Farrens, S.; Grigis, A.; El Gueddari, L.; Ramzi, Z.; Chaithya G. R.; Starck, S.; Sarthou, B.; Cherkaoui, H.; Ciuciu, P.; Starck, J.-L.

PySAP (Python Sparse data Analysis Package) provides a common API for astronomical and neuroimaging datasets and access to iSAP's (ascl:1303.029) Sparse2D executables with both wrappers and bindings. It also offers a graphical user interface for exploring the provided functions and access to application specific plugins.

[ascl:1908.024]
PYSAT: Python Satellite Data Analysis Toolkit

The Python Satellite Data Analysis Toolkit (pysat) provides a simple and flexible interface for downloading, loading, cleaning, managing, processing, and analyzing space science data. The toolkit supports in situ satellite observations and many different types of ground- and space-based measurements. Its analysis routines are independent of instrument and data source.

[ascl:1805.026]
PySE: Python Source Extractor for radio astronomical images

Spreeuw, Hanno; Swinbank, John; Molenaar, Gijs; Staley, Tim; Rol, Evert; Sanders, John; Scheers, Bart; Kuiack, Mark

PySE finds and measures sources in radio telescope images. It is run with several options, such as the detection threshold (a multiple of the local noise), grid size, and the forced clean beam fit, followed by a list of input image files in standard FITS or CASA format. From these, PySe provides a list of found sources; information such as the calculated background image, source list in different formats (e.g. text, region files importable in DS9), and other data may be saved. PySe can be integrated into a pipeline; it was originally written as part of the LOFAR Transient Detection Pipeline (TraP, ascl:1412.011).

[ascl:2106.006]
Pyshellspec: Binary systems with circumstellar matter

Pyshellspec models binary systems with circumstellar matter (e.g. accretion disk, jet, shell), computes the interferometric observables |V2|, arg T3, |T3|, |dV|, and arg dV, and performs comparisons of light curves, spectro-interferometry, spectra, and SED with observations, and both global and local optimization of system parameters. The code solves the inverse problem of finding the stellar and orbital parameters of the stars and circumstellar medium. Pyshellspec is based on the long-characteristic LTE radiation transfer code Shellspec (ascl:1108.017).

[ascl:2204.016]
pySIDES: Simulated Infrared Dusty Extragalactic Sky in Python

pySIDES generates mock catalogs of galaxies in the (sub-)millimeter domain and associates spectral cubes (e.g., for intensity mapping experiments). It produces both continuum and CO, [CII], and [CI] line emissions. pySIDES is the Python version of the Simulated Infrared Dusty Extragalactic Sky (SIDES).

[ascl:1704.007]
PySM: Python Sky Model

PySM generates full-sky simulations of Galactic foregrounds in intensity and polarization relevant for CMB experiments. The components simulated are thermal dust, synchrotron, AME, free-free, and CMB at a given Nside, with an option to integrate over a top hat bandpass, to add white instrument noise, and to smooth with a given beam. PySM is based on the large-scale Galactic part of Planck Sky Model code and uses some of its inputs.

[ascl:2210.017]
PySME: Spectroscopy Made Easy reimplemented with Python

PySME is a partial reimplementation of Spectroscopy Made Easy (SME, ascl:1202.013), which fits an observed spectrum of a star with a model spectrum. The IDL routines of SME used to call a dynamically linked library of compiled C++ and Fortran programs have been rewritten in Python. In addition, an object oriented paradigm and continuous integration practices, including build automation, self-testing, and frequent builds, have been added.

[ascl:2003.012]
PYSOLATOR: Remove orbital modulation from a binary pulsar and/or its companion

PYSOLATOR removes the orbital modulation from a binary pulsar and/or its companion. In essence, it subtracts the predicted Roemer delay for the given orbit and then resamples the time series so as to make the signal appear as if it were emitted from the barycenter of the binary system, making the search for pulses easier and faster.

[ascl:1503.008]
pYSOVAR: Lightcurves analysis

The pYSOVAR code calculates properties for a stack of lightcurves, including simple descriptive statistics (mean, max, min, ...), timing (e.g. Lomb-Scargle periodograms), variability indixes (e.g. Stetson), and color properties (e.g. slope in the color-magnitude diagram). The code is written in python and is closely integrated with astropy tables. Initially, pYSOVAR was written specifically for the analysis of two clusters in the YSOVAR project, using the (not publicly released) YSOVAR database as an input. Additional functionality has been added and the code has become more general; it is now useful for other clusters in the YSOVAR dataset or for other projects that have similar data (lightcurves in one or more bands with a few hundred points for a few thousand objects), though may not work out-of-the-box for different datasets.

[ascl:1411.002]
pysovo: A library for implementing alerts triggered by VOEvents

pysovo contains basic tools to work with VOEvents. Though written for specific needs, others interested in VOEvents may find it useful to examine.

[ascl:1109.001]
PySpecKit: Python Spectroscopic Toolkit

PySpecKit is a Python spectroscopic analysis and reduction toolkit meant to be generally applicable to optical, infrared, and radio spectra. It is capable of reading FITS-standard and many non-standard file types including CLASS spectra. It contains procedures for line fitting including gaussian and voigt profile fitters, and baseline-subtraction routines. It is capable of more advanced line fitting using arbitrary model grids. Fitting can be done both in batch mode and interactively. PySpecKit also produces publication-quality plots with TeX axis labels and annotations. It is designed to be extensible, allowing user-written reader, writer, and fitting routines to be "plugged in." It is actively under development and currently in the 'alpha' phase, with plans for a beta release.

[ascl:2009.014]
pySpectrum: Power spectrum and bispectrum calculator

pySpectrum calculates the power spectrum and bispectrum for galaxies, halos, and dark matter.

[ascl:2206.004]
pystortion: Distortion measurement support

pystortion provides support for distortion measurements in astronomical imagers. It includes classes to support fitting of bivariate polynomials of arbitrary degree and helper functions for crossmatching catalogs. The crossmatching uses an iterative approach in which a two-dimensional distortion model is fit at every iteration and used to continuously refine the position of extracted sources.

[ascl:2111.017]
pySYD: Measuring global asteroseismic parameters

pySYD detects solar-like oscillations and measures global asteroseismic parameters. The code is a python-based implementation of the IDL-based SYD pipeline by Huber et al. (2009), which was extensively used to measure asteroseismic parameters for Kepler stars, and adapts the well-tested methodology from SYD and also improves these existing analyses. It also provides additional capabilities, including an automated best-fit background model selection, parallel processing, the ability to samples for further analyses, and an accessible and command-line friendly interface. PySYD provides best-fit values and uncertainties for the granulation background, frequency of maximum power, large frequency separation, and mean oscillation amplitudes.

[submitted]
pysymlog - Symmetric (signed) logarithm scale for your python plots

This package provides some utilities for binning, normalizing colors, wrangling tick marks, and more, in symmetric logarithm space. That is, for numbers spanning positive and negative values, working in log scale with a transition through zero, down to some threshold. This can be quite useful for representing data that span many scales like standard log-space, but that include values of zero (that might be returned by physical measurement) or even negative values (for example offsets from some reference, or things like temperatures). This package provides convenient functions for creating 1D and 2D histograms and symmetric log bins, generating logspace-like arrays through zero and managing matplotlib major and minor ticks in symlog space, as well as bringing symmetric log scaling functionality to plotly.

[ascl:1303.023]
pysynphot: Synthetic photometry software package

pysynphot is a synthetic photometry software package suitable for either library or interactive use. Intended as a modern-language successor to the IRAF/STSDAS synphot package, it provides improved algorithms that address known shortcomings in synphot, and its object-oriented design is more easily extensible than synphot's task-oriented approach. It runs under PyRAF (ascl:1207.011), and a backwards compatibility mode is provided that recognizes all spectral and throughput tables, obsmodes, and spectral expressions used by synphot, to facilitate the transition for legacy code.

[ascl:2212.014]
pyTANSPEC: Python tool for extracting 1D TANSPEC spectra from 2D images

pyTANSPEC extracts XD-mode spectra automatically from data collected by the TIFR-ARIES Near Infrared Spectrometer (TANSPEC) on India's ground-based 3.6-m Devasthal Optical Telescope at Nainital, India. The TANSPEC offers three modes of observations, imaging with various filters, spectroscopy in the low-resolution prism mode with derived R~ 100-400 and the high-resolution cross-dispersed mode (XD-mode) with derived median R~ 2750 for a slit of width 0.5 arcsec. In the XD-mode, ten cross-dispersed orders are packed in the 2048 x 2048 pixels detector to cover the full wavelength regime. The XD-mode is most utilized; pyTANSPEC provides a dedicated pipeline for consistent data reduction for all orders and to reduces data reduction time. The code requires nominal human intervention only for the quality assurance of the reduced data. Two customized configuration files are used to guide the data reduction. The pipeline creates a log file for all the fits files in a given data directory from its header, identifies correct frames (science, continuum and calibration lamps) based on the user input, and offers an option to the user for eyeballing and accepting/removing of the frames, does the cleaning of raw science frames and yields final wavelength calibrated spectra of all orders simultaneously.

[submitted]
Python “sgp4” module that offers official SGP4 C++ library

The “sgp4” module is a Python wrapper around the C++ version of the standard SGP4 algorithm for propagating Earth satellite positions from the element sets published by organizations like SpaceTrak and Celestrak. The code is the most recent version, including all of the corrections and bug fixes described in the paper _Revisiting Spacetrack Report #3_ (AIAA 2006-6753) by Vallado, Crawford, Hujsak, and Kelso. The test suite verifies that the Python wrapper returns exactly the coordinates specified in the C++ test cases.

[ascl:1612.001]
Python-CPL: Python interface for the ESO Common Pipeline Library

Python-CPL is a framework to configure and execute pipeline recipes written with the Common Pipeline Library (CPL) (ascl:1402.010) with Python2 or Python3. The input, calibration and output data can be specified as FITS files or as astropy.io.fits objects in memory. The package is used to implement the MUSE pipeline in the AstroWISE data management system.

[ascl:1501.003]
python-qucs: Python package for automating QUCS simulations

Characterization of the frequency response of coherent radiometric receivers is a key element in estimating the flux of astrophysical emissions, since the measured signal depends on the convolution of the source spectral emission with the instrument band shape. Python-qucs automates the process of preparing input data, running simulations and exporting results of QUCS (Quasi Universal Circuit Simulator) simulations.

[ascl:1501.010]
PythonPhot: Simple DAOPHOT-type photometry in Python

PythonPhot is a simple Python translation of DAOPHOT-type (ascl:1104.011) photometry procedures from the IDL AstroLib (Landsman 1993), including aperture and PSF-fitting algorithms, with a few modest additions to increase functionality and ease of use. These codes allow fast, easy, and reliable photometric measurements and are currently used in the Pan-STARRS supernova pipeline and the HST CLASH/CANDELS supernova analysis.

[ascl:2105.015]
PyTorchDIA: Difference Image Analysis tool

Hitchcock, James A.; Hundertmark, Markus; Foreman-Mackey, Daniel; Bachelet, Etienne; Dominik, Martin; Street, Rachel; Tsapras, Yiannis

PyTorchDIA is a Difference Image Analysis tool. It is built around the PyTorch machine learning framework and uses automatic differentiation and (optional) GPU support to perform fast optimizations of image models. The code offers quick results and is scalable and flexible.

[ascl:1505.024]
PyTransit: Transit light curve modeling

PyTransit implements optimized versions of the Giménez and Mandel & Agol transit models for exoplanet transit light-curves. The two models are implemented natively in Fortran with OpenMP parallelization, and are accessed by an object-oriented python interface. PyTransit facilitates the analysis of photometric time series of exoplanet transits consisting of hundreds of thousands of data points, and of multipassband transit light curves from spectrophotometric observations. It offers efficient model evaluation for multicolour observations and transmission spectroscopy, built-in supersampling to account for extended exposure times, and routines to calculate the projected planet-to-star distance for circular and eccentric orbits, transit durations, and more.

[ascl:1710.010]
PyTransport: Calculate inflationary correlation functions

PyTransport calculates the 2-point and 3-point function of inflationary perturbations produced during multi-field inflation. The core of PyTransport is C++ code which is automatically edited and compiled into a Python module once an inflationary potential is specified. This module can then be called to solve the background inflationary cosmology as well as the evolution of correlations of inflationary perturbations. PyTransport includes two additional modules written in Python, one to perform the editing and compilation, and one containing a suite of functions for common tasks such as looping over the core module to construct spectra and bispectra.

[ascl:1810.009]
PyUltraLight: Pseudo-spectral Python code to compute ultralight dark matter dynamics

PyUltraLight computes non-relativistic ultralight dark matter dynamics in a static spacetime background. It uses pseudo-spectral methods to compute the evolution of a complex scalar field governed by the Schrödinger-Poisson system of coupled differential equations. Computations are performed on a fixed-grid with periodic boundary conditions, allowing for a decomposition of the field in momentum space by way of the discrete Fourier transform. The field is then evolved through a symmetrized split-step Fourier algorithm, in which nonlinear operators are applied in real space, while spatial derivatives are computed in Fourier space. Fourier transforms within PyUltraLight are handled using the pyFFTW pythonic wrapper around FFTW (ascl:1201.015).

[ascl:2101.016]
pyUPMASK: Unsupervised clustering method for stellar clusters

pyUPMASK is an unsupervised clustering method for stellar clusters that builds upon the original UPMASK (ascl:1504.001) package. Its general approach makes it applicable to analyses that deal with binary classes of any kind, as long as the fundamental hypotheses are met. The core of the algorithm follows the method developed in UPMASK but introducing several key enhancements that make it not only more general, they also improve its performance.

Would you like to view a random code?