Skip to content

v2.0.0

Choose a tag to compare

@ErickShepherd ErickShepherd released this 08 Jul 14:06

[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, distribution noaa-gml-file-reader. NOAA renamed
    ESRL's Global Monitoring Division (GMD) to the Global Monitoring Laboratory
    (GML) in 2020.
  • read_data now 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
    NaN so 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).