Skip to content

Releases: hed-standard/hed-python

Release 0.9.0 January 22, 2026

22 Jan 20:49
14eeef4

Choose a tag to compare

The main purpose of this release is to clean up the CLI for the hedtools and to improve the documentation in preparation for release of 1.0.0, which will be a breaking release.

Major changes

Command-line interface (CLI) overhaul

Complete CLI redesign with Git-Style commands

  • Introduced unified hedpy command-line interface with git-style subcommand structure
  • Replaced legacy standalone scripts with organized command groups: validate, schema, extract
  • Added comprehensive help system with detailed command documentation
  • Implemented click-option-group for organized command options

New commands:

  • hedpy validate bids-dataset - BIDS dataset validation
  • hedpy validate string - HED string validation
  • hedpy validate sidecar - JSON sidecar validation
  • hedpy validate tabular - TSV file validation
  • hedpy schema validate - Schema file validation
  • hedpy schema convert - Schema format conversion
  • hedpy schema add-ids - HED ID management
  • hedpy extract bids-sidecar - Sidecar template extraction
  • hedpy extract tabular-summary - Tabular file summarization

Enhanced output options:

  • Multiple output formats: text, json, json_pp (pretty-printed JSON with metadata)
  • Configurable error limiting per error type
  • File-based and per-error error counting options
  • Comprehensive logging configuration with file output support

Documentation improvements

Major documentation restructuring

  • Complete rewrite of user guide with comprehensive examples and workflows
  • Added detailed Jupyter notebook documentation section
  • Created extensive CLI documentation with command examples
  • Improved API reference organization with clearer section headers
  • Enhanced introduction page with quick start examples
  • Added troubleshooting section with common issues and solutions
  • Updated the RELEASE_GUIDE to better reflect current release process

New documentation features:

  • Sidebar quick links for easy navigation
  • Custom CSS styling for improved readability
  • Dark mode support with proper color theming
  • Brand customization with project logo and name
  • Better code block formatting and syntax highlighting
  • Comprehensive examples for all major workflows

Jupyter notebook examples

New example notebooks (examples/ directory)

  • extract_json_template.ipynb - Generate JSON sidecar templates
  • find_event_combinations.ipynb - Find unique value combinations
  • merge_spreadsheet_into_sidecar.ipynb - Merge edited annotations
  • sidecar_to_spreadsheet.ipynb - Convert JSON to spreadsheet format
  • summarize_events.ipynb - Summarize event file contents
  • validate_bids_dataset.ipynb - Validate BIDS datasets
  • validate_bids_dataset_with_libraries.ipynb - Validate with library schemas
  • validate_bids_datasets.ipynb - Batch validate multiple datasets
  • validate_bids_dataset_nondefault. ipynb - Non-standard validation scenarios

Notebook infrastructure:

  • Added comprehensive README for notebooks with usage instructions
  • Created optional dependencies group for Jupyter support
  • Added notebook testing framework for validation

Core functionality enhancements

Validation improvements:

  • Enhanced placeholder validation with units (e.g., "# m-per-s^2")
  • Fixed unit class validation for placeholders with units
  • Improved error reporting with better categorization
  • Added support for --no-log option to disable all logging

TabularSummary Enhancements:

  • Added categorical limit feature to prevent memory issues with high-cardinality columns
  • Implemented overflow column tracking for truncated summaries
  • Added categorical counts metadata (total values and file counts)
  • Improved summary statistics and reporting

Schema processing:

  • Enhanced schema validation error messages with specification links
  • Fixed schema attribute inheritance handling
  • Improved JSON schema format support
  • Updated conversion factor validation

Script and utility improvements

New scripts:

  • hed/scripts/validate_hed_string.py - Standalone HED string validation
  • hed/scripts/validate_hed_sidecar.py - Standalone sidecar validation
  • hed/scripts/validate_hed_tabular.py - Standalone tabular file validation
  • hed/scripts/extract_tabular_summary.py - Non-BIDS tabular summarization
  • hed/scripts/script_utils.py - Shared utility functions for scripts

Script uilities:

  • Centralized logging setup across all scripts
  • Standardized validation result formatting
  • Consistent error handling and reporting
  • Improved argument parsing with organized option groups

Dependencies and requirements

Updated Dependencies:

  • Added click-option-group>=0.5.0 for CLI option organization
  • Updated wordcloud from 1.9.4 to 1.9.5
  • Updated black to >=26.1.0 with Jupyter support
  • Added mdformat>=0.7.0 and mdformat-myst>=0.1.5 for markdown formatting
  • Updated Sphinx and documentation dependencies

New Optional Dependency Groups:

  • examples - Jupyter notebook support (jupyter, notebook, nbformat, ipykernel)
  • Updated docs group with version constraints
  • Enhanced dev group with markdown formatting tools

Testing enhancements

Schema test data:

  • Added extensive JSON test data for schema validation
  • New test files for schema attribute validation
  • Tests for conversion factors, HED IDs, unit classes, value classes
  • Tests for character validation and deprecation handling
  • Tests for library schema attributes

Test organization:

  • Improved test structure with categorized error cases
  • Added common causes and correction strategies to test metadata
  • Enhanced test documentation with specification references
  • Moved JSON test references from the hed-specification repository to the hed-tests repository

Documentation files

Updated documentation:

  • Comprehensive CHANGELOG.md updates
  • Enhanced CONTRIBUTING.md with detailed workflows
  • Improved README. md with better examples and structure
  • Updated RELEASE_GUIDE.md with detailed release procedures

Configuration files:

  • Added .lycheeignore for link checker exclusions
  • Added lychee.toml for link validation configuration
  • Enhanced .gitignore with additional patterns
  • Updated workflow configurations for GitHub Actions

GitHub actions and CI/CD

Workflow updates

Enhanced CI pipeline:

  • Updated cache actions from v4 to v5 across all workflows
  • Changed default branch references from develop to main
  • Renamed and reorganized workflow files (. yml → .yaml)
  • Improved Sphinx documentation build workflow

New workflows:

  • links. yaml - Lychee link checker for documentation (weekly schedule)
  • mdformat.yaml - Markdown formatting validation
  • notebook_tests.yaml - Jupyter notebook validation
  • ruff.yaml - Python linting with Ruff

Workflow improvements:

  • Updated codespell workflow to use main branch
  • Enhanced documentation deployment workflow
  • Added proper artifact handling for GitHub Pages
  • Improved test isolation and parallel execution

File organization and structure

Repository structure changes

Removed:

  • Removed spec_tests/hed-specification submodule (replaced with hed-tests)
  • Removed remodeling CLI commands (moved to separate repository)

Added:

  • New examples/ directory with Jupyter notebooks and README
  • New hed/scripts/script_utils.py for shared utilities
  • New validation scripts for string, sidecar, and tabular files
  • New extract script for non-BIDS tabular summaries

Updated:

  • Moved documentation assets from docs/assets/ to docs/_static/
  • Enhanced documentation structure with better organization
  • Improved test data organization in spec_tests/

Code quality and formatting

Black formatting:

  • Applied Black code formatter across entire codebase
  • Updated Black configuration for Python 3.14 support
  • Enhanced exclusion patterns for auto-generated files

Ruff linting:

  • Added comprehensive Ruff configuration
  • Implemented linting rules for code quality
  • Added automated linting in CI pipeline

Markdown formatting:

  • Added mdformat for consistent markdown styling
  • Configured myst-parser support
  • Automated markdown checking in CI

Bug fixes and minor improvements

Schema handling

  • Fixed MediaWiki → MEDIAWIKI naming consistency
  • Improved schema format detection and conversion
  • Enhanced schema attribute validation
  • Fixed inheritance handling for schema attributes

Validation

  • Fixed unit validation for placeholders with units
  • Improved error message clarity and documentation links
  • Fixed definition extraction from sidecars
  • Enhanced sidecar validation error reporting

Error reporting

  • Updated documentation link format in error messages
  • Improved error categorization and grouping
  • Added error iteration utility (iter_errors)
  • Enhanced printable issue formatting

Miscellaneous

  • Fixed various typos and formatting issues
  • Improved code comments and docstrings
  • Enhanced type hints and error handling
  • Cleaned up deprecated code patterns

Breaking future changes

CLI command changes:

  • Legacy commands are now deprecated (still work but show warnings)
  • Recommended migration to new hedpy command structure
  • Some command-line argument names have changed for consistency

Python version:

  • Minimum Python version remains 3.10
  • Added support for Python 3.14

Release 0.8.1 December 9, 2025

09 Dec 12:52
7bdbc4f

Choose a tag to compare

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

Release 0.8.0 Novebember 18, 2025

18 Nov 19:38
b1dbb02

Choose a tag to compare

HEDTools 0.8.0 – Release Notes

This release adds a new sidecar-extraction command, modernizes JSON schema handling, and updates the supported Python and plotting stack.


Highlights

  • New CLI support for extracting BIDS sidecar templates.
  • Corrected and stabilized JSON representations of HED schemas.
  • Dropped support for Python < 3.10 in line with current tooling and ecosystem.

Breaking Changes

  • Minimum Python version is now 3.10

    • The package no longer supports Python 3.8 and 3.9.
    • You must use Python 3.10 or newer to install and run hedtools.

New Features

  • Sidecar extraction helper

    • Added an “extract sidecar” script/command to generate BIDS JSON sidecar templates from datasets (e.g., via hedpy extract-sidecar).
    • Intended to streamline building and maintaining HED-annotated BIDS sidecars.

Schema & JSON I/O Improvements

  • HED schema JSON format fixes

    • Corrected the JSON format used for HED schema export to align with the official HED specification.
    • Ensures that JSON schemas produced by hedtools are compatible with other HED tooling and round-trip cleanly.
  • Updated JSON I/O formats

    • Refined JSON read/write behavior for schema and related metadata to improve consistency across formats (XML, MediaWiki, TSV, JSON).
    • Updated tests to cover these conversion paths and catch regressions.

CLI & Documentation

  • Script name fixes

    • Fixed issues with installed script/entry-point names so the expected commands are consistently available on the PATH.
  • CLI and README refresh

    • Updated CLI help and README documentation to reflect the unified hedpy command layout and new subcommands such as extract-sidecar.

Dependency Updates

  • Matplotlib

    • Bumped matplotlib from 3.9.4 to 3.10.7 to stay current with the plotting stack and ensure compatibility with modern Python versions.
  • HED specification test data

    • Updated the spec_tests/hed-specification submodule through several revisions to track the latest HED specification content and examples used in the test suite.

Tooling & Maintenance

  • Ruff / style cleanup

    • Fixed ruff-reported issues and performed general style cleanups for a more consistent codebase.
  • Prerelease cleanup

    • Miscellaneous internal cleanups and housekeeping ahead of the 0.8.0 release (tests, packaging metadata, and minor script adjustments).

Credits

Thanks to:

  • @VisLab for script fixes, sidecar extraction, JSON/CLI updates, and general cleanup.
  • @dependabot[bot] for automated dependency and spec-test updates.

Full Changelog: 0.7.1...0.8.0

Release 0.7.1 October 13, 2025

13 Oct 14:28
6590ed5

Choose a tag to compare

Highlights

  • Added official support for Python 3.13.
  • Introduced ruff and black checks to improve code quality and consistency.
  • Multiple fixes and iterations to coverage reporting and related GitHub Actions workflows.

Changes by category

Tooling / Quality

  • Add ruff and black checking.
  • Fix ruff errors identified during CI.

CI / Coverage

  • Worked on the coverage action to correct behavior.
  • Updated coverage paths.
  • Modified qlty.toml for coverage paths.
  • Additional attempts to hook up coverage stats and workflow stability.
  • Updated workflow for font test; general workflow checks.

Compatibility

  • Python 3.13 is now listed as supported.

Contributors

  • @VisLab (release author and PRs listed in the notes).

Full Changelog: 0.7.0...0.7.1

Release 0.7.0 October 2, 2025

02 Oct 19:40
5a144c2

Choose a tag to compare

What's Changed

  • First pass at eliminating secrets by @VisLab in #1109
  • Updated the docs style to sphinx and fuso by @VisLab in #1110
  • Bump actions/checkout from 4 to 5 by @dependabot[bot] in #1111
  • Bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in #1112
  • Bump spec_tests/hed-specification from c69be23 to 38dc2ec by @dependabot[bot] in #1117
  • Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #1118
  • Corrected handling of duplicate definitions by @VisLab in #1119
  • Fixed validation for DefinitionDict by @VisLab in #1120
  • Added logging to the bids validate by @VisLab in #1121
  • Modified the defaults and the final output by @VisLab in #1122
  • [WIP] Review the structure of the repository and make suggestions to improve the code, configuration, and practices, and code documentation. Improve the README. by @Copilot in #1123
  • Fix grammatical error in merge_consecutive_op validation message by @Copilot in #1124
  • Added a release guide by @VisLab in #1127

New Contributors

  • @Copilot made their first contribution in #1123

Full Changelog: 0.6.0...0.7.0

Release 0.6.0 August 07, 2025

07 Aug 21:03

Choose a tag to compare

A major change in this version is the change in the documentation generation and the move of documentation hosting to GitHub from readthedocs.

🔧 Major Enhancements

🧠 Schema and Validator Improvements

  • Refactored schema loading and saving:

    • Allow unordered schema loading.
    • Always save schemas with \n line endings (not CRLF).
    • Merge schemas before saving.
    • Handle children before parents.
    • Correct tag range usage and caching behavior.
    • Add annotationExternal and support for hedID checking.
    • Improved handling of value classes via regex and JSON.
    • Improved schema equivalence across XML, MediaWiki, and TSV formats.
    • Added support for extra sections and schema attributes like Annotations.
  • Improved .tsv validation:

    • Fixed np.nan handling.
    • Treat missing HED column as a warning.
    • Support n/a in onset column.
    • Handle empty tabular files and blank columns properly.
    • Don’t escape double quotes in .tsv.
  • Enhanced error reporting:

    • Added iter_errors().
    • Improved error messages and group line skipping logic.
    • Fixed crash in unmerged schema validation.

⚙️ Utility Scripts and Internals

  • Added utility to convert to long-form HED.
  • Introduced add_hed_ids script.
  • Cache and retrieve library_data.json from hed-schemas.
  • Added flag to validate_schemas to always validate all schema types.
  • Updated internal representations to include extra files and descriptions.
  • Refactored validate_schemas.

📦 Dependency Updates

GitHub Actions

  • actions/cache: 3 → 4
  • actions/setup-python: 4 → 5
  • paambaati/codeclimate-action: 6.0.0 → 9.0.0
  • qltysh/qlty-action: 1 → 2

External Tools

  • wordcloud: 1.9.3 → 1.9.4

Test Specification Repositories

spec_tests/hed-specification

0d8303ec69be23
(includes 18+ sequential updates)

spec_tests/hed-examples

5e9f9eba788cd7
(includes 10+ sequential updates)

🛠️ Infrastructure and CI

  • Added Windows CI workflow and fixed Windows-specific test issues.
  • CI now runs on Python 3.11.
  • Minor updates to CI and testing workflows.
  • Removed use of develop branch in favor of main.
  • Renamed master to main.
  • Began transition to GitHub-hosted documentation.
  • Updated various GitHub Actions and project configuration files.
  • Improved TOML setup with class_regex resources.

📝 Documentation and Meta

  • Updated README badges and text.
  • Updated docstrings and documentation generation workflow.
  • Fixed minor spelling issues in comments and outputs.

Let me know if you'd like a downloadable .md file.

New Contributors

Full Changelog: 0.5.0...0.6.0

0.5.0

14 Jun 22:14
940e75d

Choose a tag to compare

Release 0.5.0 June 14, 2024

  • JSON schema now used for validation of remodeling operations.
  • hedId attributes added to all HED elements.
  • representation of HED schemas with tsv files allowed.
  • wordcloud visualization added.
  • context representation

What's Changed (Details)

  • Enable word cloud tests. Improve error reporter tests by @IanCa in #795
  • Add support for loading multiple library schemas with the same prefix by @IanCa in #798
  • Changed BidsDataset to not include participants for HED by default by @VisLab in #799
  • Add a test for invalid header attributes by @IanCa in #802
  • Raise exception if loading merged schemas with duplicate tags by @IanCa in #803
  • Added initial version of the sequence map by @VisLab in #809
  • Add linkchecker to documentation, and misc minor fixes to doc strings/templates by @IanCa in #817
  • Add support for saving/loading in various RDF formats by @IanCa in #825
  • Explicitly ban temporal tags when no onset column present by @IanCa in #826
  • Add rdflib to setup.cfg by @IanCa in #829
  • Validate remodeler file using json schema by @monique2208 in #828
  • Add installer test for 3.7 and 3.10 by @IanCa in #830
  • Add placeholder check for spaces in units by @IanCa in #832
  • Added jsonschema to the docs requirements by @VisLab in #835
  • Fix bug in column mapper dicts could be returned wrong by @IanCa in #844
  • Remove some URL calls in test code, try to update token for workflow by @IanCa in #845
  • Fix handling of optional remodeling arguments by @VisLab in #847
  • Switch over most settings to .toml file by @IanCa in #848
  • Implement context handling for factor by hed tags by @VisLab in #850
  • Add wordcloud to setup requirements. Restore init file by @IanCa in #853
  • Allow validation of files with out of order onsets. by @IanCa in #855
  • Completely re-write schema comparison summary by @IanCa in #856
  • Minor fixes and modifications to the def_expands. by @VisLab in #857
  • Minor fixes to install/misc by @IanCa in #859
  • Various cleanup of comments, removing some unused functions by @IanCa in #860
  • Updating word cloud visualization in HED tag summary to have parameters by @VisLab in #861
  • Remove new line from comment for now by @IanCa in #862
  • Allow adjust size/color of svg contour in wordcloud by @IanCa in #863
  • Allow tag cloud to take a transparent mask by @IanCa in #864
  • Added minor logging facility for exceptions by @VisLab in #865
  • Turn on allowed character support in > 8.3 by @IanCa in #867
  • Update/improve deprecatedFrom support by @IanCa in #869
  • WordCoud allows font_path and EventManager now checks for unsorted onsets. by @VisLab in #870
  • Remove set_path parameter from word cloud creation by @VisLab in #873
  • Update for mixed case extensions by @VisLab in #874
  • Only flag spaces in units if they aren't deprecated by @IanCa in https://github.com/hed-standard/hed-python/pull/875Bump spec_tests/hed-examples from 64c7c94 to 0206613 by @dependabot in #876
  • Update deprecatedFrom validation and tests by @IanCa in #877
  • Add support for Duration tag, and validation support for Delay by @IanCa in #879
  • Update sidecar validation to check fully combined hed strings by @IanCa in #880
  • Lazy load definition entries when creating tags by @IanCa in #882
  • Allow mixed case in non unitsymbol units by @IanCa in #884
  • Add validation/function to Delay and Duration tags. by @IanCa in #885
  • Minor cleanup/documentation cleanup of schema and models by @IanCa in #887
  • Added description fields to the remodeling JSON and removed get_assembled by @VisLab in #889
  • Fix check if that should be top level when writing by @IanCa in #891
  • Fix source_format when using a mix of xml/mediawiki sources by @IanCa in #892
  • Update spec tests output by @IanCa in #893
  • Improve schema character validation to match the new spec/utf8 support by @IanCa in #896
  • Implement validation with new 83 schema properties/rules by @IanCa in #900
  • Add support for caching prerelease schemas. by @IanCa in #901
  • Initial commit of saving/loading .tsv. by @IanCa in #906
  • Fix spec tests/minor error tweaks for tests by @IanCa in #907
  • Correct argument on summarize column values by @VisLab in #90
  • Include a str2_to_sidecars utility by @VisLab in #911
  • Move cache test to spec_tests by @IanCa in #912
  • Add utilities for accessing sidecars and tabular input by @VisLab in #913
  • Add str_list to annotation_util to handle None for Matlab by @VisLab in #914
  • Change the behavior of None in to_strlist by @VisLab in #915
  • Remove tabs in wiki format by @IanCa in #916
  • Second pass dataframe/omn schema handling by @IanCa in #919
  • Replace removeprefix < 3.9 compatible by @IanCa in #920
  • Add more robust hedID validation, minor ontology code tweaks by @IanCa in #922
  • Make assigning ID's optional in script by @IanCa in #923
  • Redo the imports to make MATLAB happier and avoid circular references by @VisLab in #924
  • Revise the imports for MATLAB and added additional allowed font extensions by @VisLab in #925
  • Delete test hed cache by @IanCa in #926
  • Update dataframe loading/saving to allow passing a folder name by @IanCa in #928
  • Move schema scripts over to hed-python by @IanCa in #929
  • Minor tweaks to spreadsheet script/code by @IanCa in #931
  • Fix for codespell and documentation errors by @IanCa in #933
  • Ontology fixes by @IanCa in #934
  • Fix tests on windows/with new 8.3 by @IanCa in #937
  • First pass create_ontology script by @IanCa in #938
  • Minor update to support hed web by @VisLab in #940
  • First pass writing out ontology structure file by @IanCa in #944
  • Improve validation of placeholders in schema compliance by @IanCa in #945
  • Minor changes to change log. by @IanCa in #946
  • Add 8.3.0 to built in schemas by @IanCa in #948
  • Simplify some schema functions/minor refactoring by @IanCa in #950
  • Replace and/or with &&/|| for searching by @IanCa in #951
  • Optimize KeyMap:_remap by @IanCa in #953
  • Update requirements to fix pycharm not recognizing one by @IanCa in #954
  • Remove tools imports from top-level init by @VisLab in https://g...
Read more

0.4.0

27 Oct 20:36
2c4ac99

Choose a tag to compare

Release 0.4.0 October 27, 2023

  • Refactored the model classes to be based on DataFrame.
  • Added additional command line options for remodeling tools.
  • Restructured summaries for better reporting.
  • Minor refactoring to reduce code complexity.
  • Finalized and automated SPEC tests.
  • Improvements to GitHub automation -- including adding CodeSpell.
  • Improvements to API-Docs.

What's Changed (Details)

  • Clean up some of the overly complex functions some, add a few unit tests by @IanCa in #705
  • First pass word cloud for tag summaries by @IanCa in #706
  • Started working on allowing multiple iteration of remodeling by @VisLab in #707
  • Merging minor changes to the remodeling tools by @VisLab in #708
  • Made the get_details_dict method return a uniform dict with Specifics by @VisLab in #709
  • Updated the HedTagCounts --- minor count bug by @VisLab in #711
  • Second pass word cloud by @IanCa in #710
  • Update setup.cfg to limit pydantic version by @IanCa in #712
  • Updated factor_hed_type_op to not include condition variable separate… by @VisLab in #713
  • Revert inflect changes as it's fixed by @IanCa in #716
  • Updated exception handling for invalid tabular and json files by @VisLab in #717
  • Minor bug fixes, improved exception handling, inflect library conflicts resolved. by @VisLab in #718
  • HedStrings now always require a Schema by @IanCa in #720
  • Updated BaseInput dataframe input to convert to str by @VisLab in #721
  • Updated BaseInput to always convert dfs to strings by @VisLab in #723
  • Schema memory cache/inherited attribute support by @IanCa in #724
  • add util functions for hed strings by @IanCa in #725
  • Tag Schema Entries now know their children by @IanCa in #726
  • Updates to schema loading and comparison by @IanCa in #727
  • Cleanup pass of misc model/schema code by @IanCa in #728
  • Corrrected HED column value summary error by @VisLab in #729
  • Tweak format of errors and schema comparisons by @IanCa in #731
  • Throw better error on deprecated xml files by @IanCa in #733
  • Add HTML as a possible output format for printing errors by @IanCa in #734
  • Add summary to top of schema comparisons by @IanCa in #735
  • Minor code simplifications by @IanCa in #736
  • Minor titling change to compare schemas by @VisLab in #737
  • Started refactoring of event manager by @VisLab in #738
  • Add support for validating deprecatedFrom. Improve other attribute validation by @IanCa in #740
  • Handled nan conversion in df_to_hed by @VisLab in #741
  • Allow dict as a parameter to DefinitionDict by @IanCa in #743
  • Fix get_def_dict to return value if no sidecar by @IanCa in #744
  • Add conversionFactor support. Improve default_unit handling and API by @IanCa in #746
  • Update searching. by @IanCa in #747
  • Tweak so it's easier to validate hed strings by @IanCa in #748
  • Update HedString sort api. by @IanCa in #750
  • Updated the event manager with context by @VisLab in #752
  • Hopefully recovered from inadvertent rename of definition by @VisLab in #753
  • Make HedGroup.replace work on non direct children by @IanCa in #754
  • Add BaseInput.series_filtered by @IanCa in #755
  • Minor corrections to the summaries by @VisLab in #758
  • Add indented group printing from dungscout96 by @IanCa in #756
  • Always copy definition contents in fully. by @IanCa in #759
  • Add svg support for wordcloud by @IanCa in #760
  • Updated the remodeler to allow separation by task by @VisLab in #762
  • Corrected minor issues in various summaries by @VisLab in #763
  • Minor corrections and testing by @VisLab in #766
  • Create separate dispatcher for each task in remodeling comand line processing by @VisLab in #768
  • Additional corrections to task separation in remodeling tools by @VisLab in #769
  • Add a string based search first pass by @IanCa in #771
  • Update basic_search to support words that must not appear by @IanCa in #774
  • Make validation row numbers 1 based, and account for header by @IanCa in #775
  • Corrected a format error in txt output of validation summary by @VisLab in #776
  • Update to add 3.10/11 to tests by @IanCa in #777
  • Add codespell/fix typos by @IanCa in #778
  • Improve toctree in documentation by @IanCa in #779
  • Updated the remodeling backup arguments by @VisLab in #781
  • Merge develop in preparation for release by @VisLab in #782
  • Add some attribute validator tests. Remove some unused code by @IanCa in #783
  • Improve coverage/fix minor bugs in sidecar validator by @IanCa in #784
  • Allow HED in sidecar lists again by @IanCa in #785
  • Updated version in preparation for release by @VisLab in #786
  • Further fixes/improvements to errors and error coverage by @IanCa in #787
  • Merge develop with master in preparation for release by @VisLab in #788
  • Raise error when loading schema with bad prefix by @IanCa in #789
  • Update check for prefix/minor unit typos by @IanCa in #791

0.3.1

04 Jul 17:39
57fac3a

Choose a tag to compare

Overview of changes for tagged release 0.3.1

Released on PyPI on July 4, 2023

  • Pinned the version of the pydantic and inflect libraries due to inflect conflict.
  • Reorganized JSON output of remodeling summaries so that all of consistent form.
  • Fixed summarize_hed_tags_op so that tags were correctly categorized for output.
  • Minor refactoring to reduce code complexity.
  • BaseInput and Sidecar now raise HedFileError if input could not be read.

What's changed (details)

  • Updated changelog to release version by @VisLab in #703
  • Updated changelog so all branches are synched by @VisLab in #704
  • Clean up some of the overly complex functions some, add a few unit tests by @IanCa in #705
  • First pass word cloud for tag summaries by @IanCa in #706
  • Started working on allowing multiple iteration of remodeling by @VisLab in #707
  • Merging minor changes to the remodeling tools by @VisLab in #708
  • Made the get_details_dict method return a uniform dict with Specifics by @VisLab in #709
  • Updated the HedTagCounts --- minor count bug by @VisLab in #711
  • Second pass word cloud by @IanCa in #710
  • Update setup.cfg to limit pydantic version by @IanCa in #712
  • Updated factor_hed_type_op to not include condition variable separate… by @VisLab in #713
  • Revert inflect changes as it's fixed by @IanCa in #716
  • Updated exception handling for invalid tabular and json files by @VisLab in #717
  • Minor bug fixes, improved exception handling, inflect library conflicts resolved. by @VisLab in #718
  • Remodeling JSON summaries now have common output format. by @VisLab in #719

Full Changelog: 0.3.0...0.3.1

0.3.0

20 Jun 21:00
9018eca

Choose a tag to compare

DOI

Overview of changes for tagged release 0.3.0

Released on PyPI on June 20, 2023

  • Introduction of partnered schema.
  • Improved error handling for schema validation.
  • Support of Inset tags.
  • Support of curly brace notation in sidecars.
  • Expanded remodeling functionality.
  • Refactoring of models to rely on DataFrames.
  • Expanded unit tests in conjunction with specification tests.

What's changed (details)

  • Add with-standard schema header attribute by @IanCa in #614
  • Add first draft conda stuff by @IanCa in #615
  • fix spec tests workflow/tests by @IanCa in #617
  • Redo spec tests to use github modules. Upload results as an artifact. Add sidecar/events tests by @IanCa in #618
  • Minor doc corrections in remodeling by @VisLab in #619
  • Updated tabular input and sidecar to always take schema in tools by @VisLab in #621
  • Started on an event manager by @VisLab in #622
  • First pass refactor of models by @IanCa in #623
  • Updated unit tests by @VisLab in #624
  • Add some df tests. Update hed_assemble. Make the df utils also work on series. by @IanCa in #625
  • Fixed some of the refactoring errors by @VisLab in #626
  • Add more unit tests. better nan and empty column handling by @IanCa in #627
  • Revert "Add more unit tests. better nan and empty column handling" by @VisLab in #628
  • Update nan and empty column handling by @IanCa in #629
  • Fixed more unit tests by @VisLab in #630
  • Fix hed_string.expand_defs issue by @IanCa in #631
  • Corrected some of the refactored unit tests by @VisLab in #633
  • Updated bids tests by @VisLab in #634
  • Add squre bracket in column validation for spreadsheets. Update erro… by @IanCa in #632
  • Block HED from appearing in sidecars by @IanCa in #635
  • Updated the search in analysis tools by @VisLab in #636
  • Fix sorting for hed string context by @IanCa in #637
  • Merging the refactored model code into develop by @VisLab in #638
  • Update def handling/validation by @IanCa in #639
  • Add flatten schema function by @IanCa in #640
  • Preliminary implement of definition summary by @VisLab in #641
  • Update dependabot to also update submodules by @IanCa in #642
  • dont' sort by hed strings by @IanCa in #643
  • Remove dupes from flatten schema by @IanCa in #644
  • Add more tests, handle more error cases for def gathering by @IanCa in #645
  • Always add an issues list to HedFileError, even when it doesn't have one by @IanCa in #646
  • Updated docs on summary ops by @VisLab in #647
  • Removed from temporary tests by @VisLab in #649
  • Refactoring of model code. by @VisLab in #648
  • Added alternate work directory location for remodeling by @VisLab in #650
  • Improve def-gatherer. Very much improve spec tests/related validator… by @IanCa in #651
  • Update CHARACTER_INVALID and STYLE_WARNING tests. by @IanCa in #652
  • Bump paambaati/codeclimate-action from 3.2.0 to 4.0.0 by @dependabot in #653
  • Update merged schemas to support rooted tags by @IanCa in #654
  • Added --no-summaries and --no-update options to run_remodel by @VisLab in #655
  • Added badges to the README by @VisLab in #656
  • Updated the imports for df_util by @VisLab in #657
  • Fixed more incomplete imports in models by @VisLab in #658
  • Added df_util to models init by @VisLab in #659
  • Add sidecar brace support by @IanCa in #660
  • Make sure setting hed strings can handle empty by @IanCa in #661
  • Add Inset tag validation, enable inset spec tests by @IanCa in #662
  • Remove werkzeug requirement, replace generate_filename by @IanCa in #663
  • Refactored summary to pass op by @VisLab in #664
  • Add 8.2.0 xml directly by @IanCa in #665
  • Switch baseinput/column mapper back to 0 based. by @IanCa in #666
  • Fix to_excel function for new system by @IanCa in #667
  • Remove output_assembled parameter. Update requirements.txt by @IanCa in #668
  • Fix saving library schemas lacking in the withStandard attribute. by @IanCa in #669
  • Rewrite column mapper, add more unit tests for it by @IanCa in #670
  • Change rooted implementation to new system by @IanCa in #672
  • Develop updated cache directory tests setup by @VisLab in #674
  • Minor updates to fix cache directory tests by @VisLab in #675
  • Merging develop in preparation for new release by @VisLab in #676
  • Bump spec_tests/hed-specification from d7d174f to 33f48d2 by @dependabot in #677
  • Save rooted attribute in merged schema. Rename shecma_prefix->Namespace by @IanCa in #678
  • Sort the schema tag list when saved by @IanCa in #679
  • Develop updated the partnered schema merged ordering by @VisLab in #680
  • Silently ignore libraries with no hedxml folder by @IanCa in #681
  • Develop updated hedxml handling by @VisLab in #683
  • Updated the handling of the hedxml directory by @VisLab in #684
  • Made timestamp on filename for remodeling summaries optional by @VisLab in #685
  • Timestamps are now optional on filenames for remodeling summary files. by @VisLab in #686
  • Fix bug in caching library schema by @IanCa in #687
  • Trying an experiment with the apidocs by @VisLab in #688
  • Trying out the raises by @VisLab in #689
  • Added the raises directive by @VisLab in #690
  • Minor tweaks to docs by @VisLab in #691
  • Updates to documentation fix to getting schema version by @VisLab in #692
  • Update schema attribute validation by @IanCa in #693
  • Moved get_schema_versions to hed-web by @VisLab in #694
  • Fix issue with df_util. Also make them not return the modified df/series by @IanCa in #695
  • Update documentation in models folder by @IanCa in #696
  • Made sure all remodeling ops copied the df first by @VisLab in #697
  • Final updates before release by @VisLab in #698
  • Added zenodo DOI to README by @VisLab in #699
  • Updated README and got DOIs by @VisLab in #700
  • Prepare for release 0.3.0 by @VisLab in #701
  • Updated the changelog by @VisLab in #702