astropy / astropy/astro-image-display-api

Tracking: findings from the 2026-07 code review

Open
#106 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
4
Forks
5
PR merge metrics
No merged PRs in 30d

Description

This issue tracks the findings of a critical review of the package (source, tests, docs) done in July 2026. Bugs that can silently affect science results are listed first. Each linked issue contains a reproduction script or permalinks to the relevant code at 7f8e611.

**High priority — science-affecting bugs**
- [ ] #89 FOV ↔ pixel-scale conversions index the wrong axis of `proj_plane_pixel_scales` (H1)
- [x] #90 `get_catalog` broken: crash on fresh viewer, KeyError/silent no-op with column names, returns internal table by reference (H2)
- [ ] #91 Catalog pixel↔sky conversions use the last-loaded image's WCS (H3)
- [ ] #92 Unlabeled images/catalogs silently lost or shadowed; "unique name" not implemented (H4)

**Medium priority — correctness, test-suite validity, packaging**
- [x] #93 `get_viewport` sky/pixel default keyed to last-loaded image's WCS (M1)
- [ ] #94 Operations on an empty viewer silently succeed (M2)
- [x] #95 `get_catalog_style`/`set_catalog_style` pollute the registry via `defaultdict` (M3)
- [x] #96 `remove_catalog("*")` skips default-state setup (M4)
- [ ] #97 Initial viewport center off by half a pixel (M5)
- [ ] #98 api_test contradicts the interface contract (M6)
- [ ] #99 api_test weak assertions and coverage gaps (M7)
- [ ] #100 Packaging: `__version__` always empty; license metadata mismatch (M8)
- [ ] #101 Deduplicate label-resolution helpers, fix error wording (M9)

**Low priority — docs and polish**
- [x] #102 `get_cuts` return annotation contradicts interface (L1)
- [ ] #103 Docstring drift (`set_catalog_style`, stale `remove_catalog` doc) (L2)
- [ ] #104 Testing docs reference nonexistent `ImageDisplayInterface` (L3)
- [ ] #105 Duplicate docstring test in `api_test.py` and `tests/` (L4)

Suggested ordering note: M6 (fixing api_test's empty-viewer tests) should land before or with M2, since two api_test tests currently depend on the buggy behavior.

---
*From a code review of `main` @ [`7f8e611`](https://github.com/astropy/astro-image-display-api/commit/7f8e611994deda64244ca49f990b5f8a1cb0ed69); reproductions were run against that commit.*

Contributor guide

No contributing guide indexed for this repository

Research direction

This is a tracking issue rather than a standalone change. Start by selecting one unchecked issue from #89–#105 and follow its reproduction script or code permalink at commit 7f8e611; api_test.py and the tests/ documentation are named for some findings. Done means the selected finding is fixed or clarified, with its relevant tests, packaging, or documentation updated and the tracker checkbox resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, documentation, testing
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.