Changelog
Notable changes to hst123. Version numbering follows semantic versioning for full releases.
Pre-releases (historical)
v1.00 (2019-02-07) — Base: download, tweakreg, drizzle, dolphot parameters.
v1.01 (2019-02-15) — Run dolphot and scrape dolphot output.
v1.02 (2019-02-22) — Fake star injection.
v1.03 (2019-06-02) — Drizzle-all options and option/syntax cleanup.
v1.04 (2020-02-10) — Python 3.7.
v1.05 (2020-03-04) — Sanitizing reference images for tweakreg/dolphot.
v1.06 (2020-03-07) — Archiving (
--archive) for large-volume analysis.v1.07 (2020-03-08) — Archiving updates;
construct_hst_archive.pyhelper.
Documentation (Sphinx)
Expanded sources:
installation.rst(Python 3.12, Conda, DrizzlePac, DOLPHOT helper),user_guide.rst(work-directory layout, CLI overview, redo flags, output formats),api.rst(CLI entry point, fullhst123pipeline class,options,paths,stdio,workdir_cleanup,dolphot_catalog_hdf5,datamodels,BasePrimitive).
Releases
Unreleased — Python: 3.12 only (
requires-python>=3.12,<3.13; NumPy 1.x / Astropy 5.x / DrizzlePac stack). Documentation: Sphinx uses MyST (Markdown) + reStructuredText, sphinx_rtd_theme, custom CSS/layout (Swift_host_subtraction-style), intersphinx (Python/NumPy/Astropy), and GitHub Pages via CI; README badges for build, docs workflow, and site.hst123.utils.dolphot_catalog_hdf5: parse DOLPHOT*.columns/*.param/*.info/*.data/*.warningsand write HDF5 (pip install h5pyorpip install .[hdf5]) with the full numeric catalog plus descriptive column names and JSON metadata (merged perimgNNNNwhen possible).get_dolphot_columnusesparse_column_index_and_descriptionfor robust column index parsing.install_psfsends withrelocate_all_legacy_psf_into_canonical_layout: merges legacydolphot2.0/...*.psfinto the canonical tree for ACS, WFC3 (wfc3/data,wfc3/IR,wfc3/UVIS), and WFPC2 (wfpc2/data), including siblingdolphot2.0/next todolphot3.1/(common conda layout).relocate_acs_psf_into_canonical_layoutremains for ACS-only use.hst123-install-dolphotappliesapply_dolphot_source_patchesbeforemake: patches upstreamdolphot.c(mainstack buffer 82→4096 bytes) to avoid macOSsprintfoverflow / SIGTRAP on long absolute output paths;--no-source-patchesopts out.tests/test_dolphot_c_python_parity.pydocuments C vs Python parity for calcsky, splitgroups, acsmask, wfc3mask, wfpc2mask (optional binaries + DOLPHOT tree; markerdolphot_parity).hst123.utils.progress_log.LoggedProgress: throttledlogger.infoprogress lines (#---bar, %, counts, elapsed, est. total duration, remaining) for reuse; wired to calcsky stage 1 inwrite_sky_fits_fallback/compute_sky_map_dolphot(Python per-row updates; Numba: one full parallel pass then a single progress completion—no sequential batched kernels that ruined throughput). Disable withHST123_CALCSKY_PROGRESS=0orHST123_PROGRESS_LOG=0. Optionalpip install .[perf]addsnumba;environment.ymlincludesnumbafor conda users.*drc.noise.fits(sky copy for drizzled stacks) removed inrun_dolphotandget_dolphot_photometryprimitive cleanup withrespect_keep_artifacts=Falseso they are still removed when--keep-drizzle-artifactsis set (not in per-filter astrodrizzle cleanup, which would delete prior filters’ noise). Same glob listed insettings.pipeline_productsfor scripted cleanup; seetests/test_pipeline_cleanup_validation.py. Removed legacy CLI--make-clean,--no-large-reduction,--large-numandhst123.make_clean/check_large_reduction. CI: workflow usespip install -e ".[test]";_psf_already_satisfiedtreats ACS WFC PAM as present if eithermake_rootorsource_dirhas a validacs/datapayload; scrape-dolphot unit tests supply minimalpipeline.options. Pure-Python DOLPHOTsplitgroups(hst123.utils.dolphot_splitgroups);HST123_DOLPHOT_SPLITGROUPS_EXTERNAL=1forces the C binary.DOLPHOT_REQUIRED_SCRIPTSno longer listssplitgroups. DOLPHOT installer:ACS_WFC_PAM.tar.gzextracts underdolphot2.0/acs/data/; files are now copied toacs/data/anddolphot_acs_data_dirprefers directories that contain both PAM FITS. Pythoncalcskyport: vectorized second pass (summed-area table); Numba first pass uses precomputed annulus offsets and a per-row scratch buffer (no per-pixelcalloc).v1.1.0 (2025-03-02) — Post–v1.07: refactored pipeline (utils, primitives), setuptools-scm versioning, tests and docs updates.
Full releases are added here when tagging. Run from the repo root:
python scripts/update_changelog.py "Brief summary of changes"