Astrophysics Source Code Library

Making codes discoverable since 1999

Browsing Codes

Title Date
Abstract Compact
Per Page
[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

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

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

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

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

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, an, the Rp/R* ratio and all the orbital parameters based on the nonlinear limb darkening model (Claret 2000).

[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

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.

Would you like to view a random code?