There is a newer version of the record available.

Published December 9, 2025 | Version 0.8.1
Software Open

hed-standard/hed-python: Release 0.8.1 December 9, 2025

  • 1. Dartmouth College, @dandi, @Debian, @DataLad, @neurodebian, @PyMVPA, @fail2ban
  • 2. CatalystNeuro

Description

The primary purpose of this release was to correct the JSON format for HED schemas so that it accurately distinguishes between inherited and non-inherited attributes. The default XML schema version was also updated, and the documentation layout was improved with quick links and header polish. CI workflows were refreshed as part of routine maintenance.

Highlights

  • HED schema JSON export is now cleaner: empty list attributes are omitted instead of written as empty arrays, with stronger tests around inheritance and round-trip behavior. (PRs #1158, #1159 by @VisLab)

  • Default HED XML schema version bumped to 8.4.0, so helper functions pick up the latest standard without extra configuration.
    (PR #1156 by @bendichter – first contribution)

  • Sphinx docs get a polished Furo theme setup, project logo, sidebar quick links, dark-mode fixes, and a proper GitHub repo icon.
    (Primarily in PR #1158 by @VisLab)

  • CI updated to use actions/checkout@v6, keeping workflows current with the latest GitHub Actions recommendations.
    (PR #1155 by @dependabot[bot])

  • CHANGELOG entries finalized and cleaned up in preparation for this release.
    (PR #1160 by @VisLab)

What's Changed

Schema & JSON I/O

  • Omit empty list attributes in schema JSON
    Updated build_attributes_dict in schema2json.py so list-valued attributes like suggestedTag, relatedTag, valueClass, and unitClass are only written when non-empty, instead of always being present as []. This produces a more compact JSON representation and avoids ambiguous "empty list means nothing" cases.

  • Stronger JSON format tests
    Refined tests in test_json_explicit_attributes.py and test_schema_format_roundtrip.py to assert that:

    • Tags without relatedTag / valueClass / unitClass simply do not have those keys in attributes.
    • Any list attributes that are present must be non-empty.
    • A full 8.4.0 schema is saved as JSON and scanned to ensure no empty list attributes sneak into the output.
  • Schema comparison & round-trip robustness
    Extended round-trip tests for JSON schema export/import so that schema comparison is aligned with the new "omit empty lists" behavior and no longer relies on placeholder empty arrays.

  • Default XML schema → 8.4.0
    Updated the default XML schema version used by helper utilities to 8.4.0 (from 8.3.0). This ensures load_schema_version() and similar functions resolve to the current standard HED schema by default.

Documentation & Site

  • Furo theme configuration and versioning
    Updated docs/conf.py to:

    • Set release = "0.8.0" for the docs.
    • Use the Furo theme with html_static_path = ["_static"].
    • Register extra assets: custom.css and gh_icon_fix.js.
    • Attach a project logo via html_logo.
  • Sidebar quick links
    Added a new quicklinks.html sidebar template and wired it into html_sidebars so all pages include a "Quick links" section pointing to HED homepage, resources, schema browser, specification, and online tools.

  • Dark-mode & header polish
    Extended custom.css and the new gh_icon_fix.js helper to:

    • Make the sidebar search box readable in dark mode (background, placeholder, and icon colors).
    • Hide the raw "view source" / "edit this page" links in the header.
    • Replace them with a single GitHub icon button that points to the repo root and works in both light and dark themes.
  • Minor formatting clean-ups
    Small documentation/test formatting adjustments, including updating tests to load schema version 8.4.0 and aligning text with the new JSON behavior.

CI / Tooling

  • GitHub Actions: actions/checkout v6
    Dependabot PR #1155 updates all workflows to use actions/checkout@v6 instead of v5, pulling in the latest upstream improvements (including updated runner behaviors and ecosystem support).

  • CHANGELOG maintenance
    Final updates to the CHANGELOG and release metadata to reflect 0.8.1.
    (PR #1160)

Contributors

  • @bendichter – first contribution in PR #1156 (Update default XML version to 8.4.0).
  • Additional changes in this release were made by @VisLab (PRs #1158, #1159, #1160) and @dependabot[bot] (PR #1155).

Files

hed-standard/hed-python-0.8.1.zip

Files (2.9 MB)

Name Size Download all
md5:c9f566410e817f16ef88f54bc3eaf268
2.9 MB Preview Download

Additional details

Related works