Skip to content

Conversation

@stephprince
Copy link
Contributor

@stephprince stephprince commented Sep 15, 2025

Motivation

Fix #2108. Related to updates in hdmf-dev/hdmf#1309 that will warn a user when there are extension conflicts, these changes remap some of these conflicts on read.

  • Remaps Device.model as a string attribute to a DeviceModel object on read.
  • Remaps Device.model defined by other extensions to a Device.{extension_name}_model field to allow data from files with an older extension with a conflicting Device.model to be read.

Note - the tests will not pass until hdmf-dev/hdmf#1309 is merged since it raises a warning instead of an error if an extension attempts to overwrite an existing specification.

How to test the behavior?

Show how to reproduce the new behavior (can be a bug fix or a new feature)

Checklist

  • Did you update CHANGELOG.md with your changes?
  • Have you checked our Contributing document?
  • Have you ensured the PR clearly describes the problem and the solution?
  • Is your contribution compliant with our coding style? This can be checked running ruff check . && codespell from the source directory.
  • Have you checked to ensure that there aren't other open Pull Requests for the same change?
  • Have you included the relevant issue number using "Fix #XXX" notation where XXX is the issue number? By including "Fix #XXX" you allow GitHub to close issue #XXX when the PR is merged.

@codecov
Copy link

codecov bot commented Sep 15, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.23%. Comparing base (6ff7e44) to head (851cb6f).
⚠️ Report is 1 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #2132      +/-   ##
==========================================
+ Coverage   95.19%   95.23%   +0.04%     
==========================================
  Files          28       29       +1     
  Lines        2851     2876      +25     
  Branches      736      740       +4     
==========================================
+ Hits         2714     2739      +25     
  Misses         83       83              
  Partials       54       54              
Flag Coverage Δ
integration 74.44% <100.00%> (+0.39%) ⬆️
unit 84.94% <60.00%> (-0.22%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@stephprince stephprince marked this pull request as ready for review September 15, 2025 22:32
@stephprince stephprince requested a review from rly September 15, 2025 22:32
@stephprince
Copy link
Contributor Author

@rly - see note in the PR description about the tests not passing until hdmf-dev/hdmf#1309 is merged, but otherwise this part should be ready for review

@stephprince
Copy link
Contributor Author

@rly this is ready for review!

Copy link
Contributor

@rly rly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@stephprince stephprince merged commit 801f92e into dev Oct 29, 2025
25 of 26 checks passed
@stephprince stephprince deleted the handle-core-extension-conflicts branch October 29, 2025 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Handle conflicts between core schema and extensions

3 participants