diff --git a/README.md b/README.md index 02e6795..930e5a5 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ longer-term roadmap (WFC3, JWST, per-exposure frame products) in ## Installation ```bash -pip install autoreduce # core (outputs + packaging only) -pip install "autoreduce[hst]" # + the STScI HST reduction stack (drizzlepac) -pip install "autoreduce[psf]" # + high-fidelity PSF reconstruction back-ends +pip install pyautoreduce # core (outputs + packaging only) +pip install "pyautoreduce[hst]" # + the STScI HST reduction stack (drizzlepac) +pip install "pyautoreduce[psf]" # + high-fidelity PSF reconstruction back-ends ``` diff --git a/autoreduce/__init__.py b/autoreduce/__init__.py index 97c7429..85a9143 100644 --- a/autoreduce/__init__.py +++ b/autoreduce/__init__.py @@ -13,7 +13,11 @@ from importlib.metadata import version as _version, PackageNotFoundError try: - __version__ = _version("autoreduce") + # The distribution is `pyautoreduce`; the import package is `autoreduce` + # (PyAutoReduce#71). Looking up "autoreduce" here would resolve to the + # unrelated PyPI project of that name when it happens to be installed, and + # fall back to "0.0.dev0" when it is not. + __version__ = _version("pyautoreduce") except PackageNotFoundError: __version__ = "0.0.dev0" diff --git a/autoreduce/package/cosmic_rays.py b/autoreduce/package/cosmic_rays.py index a139504..9c6d290 100644 --- a/autoreduce/package/cosmic_rays.py +++ b/autoreduce/package/cosmic_rays.py @@ -50,7 +50,7 @@ def masker_for(adapter_key: str) -> Callable[[np.ndarray], np.ndarray]: except ImportError as err: raise ImportError( "frame_products needs deepCR for per-frame cosmic-ray masks — " - "pip install autoreduce[frames] (or pip install deepCR)" + "pip install pyautoreduce[frames] (or pip install deepCR)" ) from err model = deepCR(mask=DEEPCR_MODELS[adapter_key], device="CPU") diff --git a/autoreduce/psf/stpsf_model.py b/autoreduce/psf/stpsf_model.py index 7733299..608ffc7 100644 --- a/autoreduce/psf/stpsf_model.py +++ b/autoreduce/psf/stpsf_model.py @@ -48,7 +48,7 @@ def model_frame_psf( import stpsf except ImportError as err: raise ImportError( - "tier-2b model PSFs need stpsf — pip install autoreduce[psf] " + "tier-2b model PSFs need stpsf — pip install pyautoreduce[psf] " "(or pip install stpsf, plus its reference data)" ) from err import poppy diff --git a/docs/design/hst_acs_pipeline.md b/docs/design/hst_acs_pipeline.md index e9fbb0d..97d638b 100644 --- a/docs/design/hst_acs_pipeline.md +++ b/docs/design/hst_acs_pipeline.md @@ -476,7 +476,7 @@ Design decisions: model + threshold, so datasets remain re-maskable). WFC3/IR skips deepCR — calwf3 up-the-ramp fitting already flags IR CRs in DQ. Mask-only by contract: deepCR inpainting is never used — bad pixels are - masked, never fabricated. Optional dependency: `autoreduce[frames]`. + masked, never fabricated. Optional dependency: `pyautoreduce[frames]`. - **Masking policy** — any nonzero DQ bit, deepCR CR pixel, off-chip or non-finite/non-positive-ERR pixel is masked-by-noise (`noise = MASKED_NOISE_VALUE`, `data = 0`), so each frame's diff --git a/pyproject.toml b/pyproject.toml index 1ed0907..75a8e57 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,13 @@ requires = ["setuptools>=79.0", "setuptools-scm", "wheel"] build-backend = "setuptools.build_meta" [project] -name = "autoreduce" +# The distribution name is `pyautoreduce`, NOT `autoreduce`: `autoreduce` on +# PyPI belongs to an unrelated, actively maintained project +# (github.com/ayush9pandey/AutoReduce — automated model reduction of nonlinear +# dynamical systems, 0.1.0 in 2020 through 0.9 in 2026). We cannot publish +# under it, and until 2026-08-24 our own README told users to install it. +# The IMPORT package stays `autoreduce` — see PyAutoReduce#71. +name = "pyautoreduce" dynamic = ["version"] description = "Data reduction of HST (and future JWST/other) imaging into modeling-ready datasets for PyAutoLens and PyAutoGalaxy" readme = { file = "README.md", content-type = "text/markdown" }