v2.0.0
[2.0.0] — 2026-07-08
Modernization release. Breaking — the package is renamed and unparseable
input now raises instead of returning an empty DataFrame.
Changed
- Renamed the package: import
noaa_esrl_gmd_file_reader→
noaa_gml_file_reader, distributionnoaa-gml-file-reader. NOAA renamed
ESRL's Global Monitoring Division (GMD) to the Global Monitoring Laboratory
(GML) in 2020. read_datanow auto-detects the header dialect and parses both the legacy
# number_of_header_lines:format and the current# header_lines :format,
extracting column names correctly for each.- Documented missing-value sentinels (
-999.99,-999.999,nan) are mapped to
NaNso numeric columns parse numeric. - Relicensed AGPL-3.0 → MIT.
- Modern packaging:
pyproject.toml(hatchling), package split into
_reader.py, full type hints, and updated docstrings.
Added
UnrecognizedFormatError(carries the file path and its first line), raised on
unrecognized, malformed, truncated, or empty input.- Offline pytest suite over committed fixtures and a GitHub Actions CI workflow
(ruff + pytest on Python 3.10–3.13 +python -m build+twine check).
Removed
- The silent empty-DataFrame return on parse failure (v1 behavior) — it made a
parse failure indistinguishable from an empty file, so v1 failed silently on
every current NOAA file.
Fixed
- Current (post-2020) NOAA GML files now parse instead of returning empty.
- The inconsistent GPL/AGPL wording in the v1 module docstring (removed; the
LICENSE file governs).