Add loader and writer for SpectrumDM
- Dominant language
- Python
- Stars
- 204
- Forks
- 135
- Avg merge
- 12h 55m
- Merged PRs (30d)
- 1
Description
This came up in Astropy Coordination Meeting 2025 breakout session on "stalled development effort." If there is already an issue somewhere, please cross-link and close this as duplicate (I couldn't find it).
Problem: [SpectrumDM](https://github.com/ivoa-std/SpectrumDM) is a thing, but `specutils.Spectrum` cannot read files that adhere to this standard.
Work requested:
* Add loader and writer for `SpectrumDM`.
* Need to improve header manipulation. And writing/validating headers.
* When writing out, emit a warning to the user if a `Spectrum` object does not adhere to `SpectrumDM` standard.
* Enable converter. (I do not know exactly what this converter is supposed to do, so hopefully SpectrumDM people can clarify.)
Affected missions:
* Euclid
* SPHEREx
Interested parties: @aragilar @bsipocz @kelle
This issue might also end up in Astropy roadmap. cc @astropy/strategic-planning
Contributor guide
Research direction
Start with the specutils.Spectrum entry point and clarify the SpectrumDM converter requirements with the interested parties before locating implementation points. Review how Spectrum objects represent and manipulate headers, then define completion around SpectrumDM loading, writing, validation warnings, and the agreed converter behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100