specutils is an Astropy-affiliated Python library providing a unified framework for representing, reading, writing, analyzing, and manipulating 1D astronomical spectra. Its architecture centers on the `Spectrum` class, which encapsulates flux, spectral axis (via WCS), uncertainty, and mask data. The library is structured as a monolith with well-defined subpackages for spectra, IO, analysis, manipulation, and fitting, heavily leveraging the Astropy ecosystem (units, modeling, WCS, NDData) and GWCS. In production, specutils serves as a critical bridge between raw astronomical data and scientific analysis. Its primary data flow involves ingesting spectra from dozens of survey-specific FITS formats (SDSS, JWST, DESI, APOGEE, HST, etc.) via a plugin-based IO registry, transforming them into a standard `Spectrum` object, applying analysis (line flux, centroid, FWHM, template matching) or manipulation (resampling, smoothing, region extraction), and optionally writing results. The library handles complex real-world data concerns including uncertainty propagation, mask handling, and multi-dimensional flux arrays. The codebase demonstrates high craftsmanship through several genuinely reusable components: the `QuantityModel` wrapper for unit-aware Astropy modeling, the `SpectralRegion` class with interval algebra (union, intersection, XOR), the `data_loader` decorator pattern for extensible IO, and a family of resampling algorithms using the Strategy pattern. While some survey-specific loaders are inherently fragile due to format evolution, the core abstractions are robust, well-tested, and exhibit non-obvious domain expertise. Maintenance is active with recent commits and modern dependency pinning, resulting in low technical drift.
Astroterm is a terminal-based star map application written in C. It renders the real-time positions of stars, planets, the Moon, and constellation figures using ASCII or Unicode characters. The system computes celestial positions from the Yale Bright Star Catalog, Keplerian orbital elements, and user-specified date/time and location (latitude/longitude or city name). It projects the visible sky onto the terminal via a stereographic projection and uses ncurses for display and input. The build system is Meson with Ninja, supporting Linux, macOS, and Windows. The codebase is well-structured into separate modules for astronomy calculations (astro.c), coordinate transforms (coord.c), terminal rendering (drawing.c, term.c), and data parsing (parse_BSC5.c, city.c). It includes comprehensive unit tests using Unity and CI via GitHub Actions. The application is highly configurable through command-line arguments and demonstrates strong craftsmanship in astronomical computations and terminal graphics.
Solar Wanderer is a browser-based 1:1 real-time solar system explorer powered by NASA JPL ephemerides. Built with Three.js 0.165 and Vite 5, it renders the entire solar system at true scale (0.5m to 1e15 km) using a floating-origin world engine, logarithmic depth buffer, and Keplerian orbital mechanics. Users can seamlessly fly through space, walk on planetary surfaces (including real DEM terrain for Earth, Moon, Mars), dive into Earth's oceans, or orbit from a Google Earth-style camera. The application includes a bilingual (Chinese/English) interface with 7-language i18n, search, guided tours, educational facts with NASA sources, mobile touch controls, and shareable URLs. All ephemeris data—planets, 21 moons, 28 TNOs, 4 comets, and ~5400 small bodies—is generated offline via scripts that fetch from NASA JPL and fitted to Horizons state vectors. The architecture is a client-only SPA with modular ES modules; no backend, no registration, no cookies. The codebase demonstrates high craftsmanship in its floating-origin precision, pure-function ephemeris, procedural terrain generation, and real-time atmosphere scattering, though it carries technical debt from a monolithic main.js and incomplete i18n for half its languages.
GraXpert is a desktop application (with CLI support) for astronomical image processing, specifically for removing background gradients from astrophotos. It provides multiple interpolation methods (RBF, Splines, Kriging) that require manual selection of background sample points, as well as an AI-based method that automatically extracts the background using ONNX Runtime models. The application also includes AI-powered denoising and deconvolution (object-only and stars-only) features. The architecture is a monolithic Python application using customtkinter for the GUI, with multiprocessing for parallel interpolation and onnxruntime for AI inference. It supports common astronomical image formats (FITS, XISF, TIFF) and includes a command-line interface for batch processing. The codebase is well-structured with design patterns (command, repository, event bus), localization, and CI/CD pipelines for cross-platform builds.
The Multimodal Universe is a large-scale astronomical data repository that aggregates ~30 surveys (Legacy Survey, HSC, JWST, Gaia, SDSS, DESI, TESS, etc.) into a unified, HEALPix-partitioned HDF5 format, exposed through Hugging Face datasets. It covers multiple modalities: images (multi-band), spectra (1D), time series (light curves), and tabular catalogs. The repository provides dataset builder scripts (GeneratorBasedBuilder subclasses) per survey, cross-matching utilities, and benchmark training code (PyTorch Lightning) for downstream tasks like photometric redshift estimation and galaxy property regression. While primarily a data research project, it also includes application-like components such as baseline classifiers (Informer for PLAsTiCC) and experimental benchmark pipelines. The data is designed for training foundation models in astronomy, with streaming support and standardized column naming. Notable patterns include HEALPix-based spatial indexing, parallel processing in build scripts, and a consistent Hugging Face dataset interface across all surveys. The codebase is well-structured for its purpose, though many scripts are tightly coupled to specific surveys and external data sources, limiting direct reuse without adaptation.