Skip to content

Release/v3.4.0#172

Merged
StokesMIDE merged 33 commits intomainfrom
release/v3.4.0
Feb 17, 2026
Merged

Release/v3.4.0#172
StokesMIDE merged 33 commits intomainfrom
release/v3.4.0

Conversation

@StokesMIDE
Copy link
Member

  • Added synchronization functionality: idelib.sync and command-line tools idesync and ideexport
  • Fixed UTC timestamps in CSV and MAT exports
  • Schema updates and additions
  • Documentation and code reformatting
  • Various minor fixes and updates for newer dependency versions

pscheidler and others added 30 commits May 16, 2025 09:34
Fixing issue in CDB considering the channel id an int
* Start of utility docs, not connected to main docs yet

* Util docs (missed last commit)

* Linked utilities docs into main page; small related edits

* Minor doc improvements

* A couple more edits
* Added missing Sensor attributes, docstring updates

* Fixed bad test, removed tests of impossible use

* Fixed Channel/SubChannel sensor references; added `Sensor.getChannels()`; skipped bad tests; added annotation

* Added `UserData` elements for file sync info; added some documentation to schema

* Added session offset (untested)

* First trial sync-related functions, some small fixes, removed bad tests

* Fully implemented time offset; deprecated `Session.startTime` and `Session.endTime`; cleanup

* Fixed `Sensor` hash and `__eq__()`; added start of basic sync compatibility check

* Revised sync-related schema 'user data' elements

* Implemented sync, but something's wrong

* Fixed offset scaling issue; little bit of cleanup

* Made sync reference mean index-based; Session.__repr__ improvement; corrected data types; removed deprecated call; various fixes

* Fixed compatibility w/ Python < 3.11

* Added basic sync/offset tests; removed some vestigial attributes; more documentation and type annotation

* More sync validity checks; sync using specific sensor ID; minor tweaks

* Added SyncInfo for userdata; rudimentary thread safety

* Fleshed out sync functions; added sync from/to userdata; sync-related schema revisions; misc. fixes

* More sync tests

* Revised `clear` parameter in `sync.sync`; more tests.

* Added basic `Dataset` hash mechanism (`Dataset.fingerprint`)

* More stuff for sync info copy/paste; sync parameter improvement

* A little bit more coverage

* More sync copy/paste stuff; more tests

* minor fix, minor coverage increase

* Improved logging; removed Python <3.7 hack; codecov tags

* small codecov tag test

* Added to `sync` docstring for Sphinx render.

* Docstrings and small edits

* Documentation (fixes, added sync and other excluded submodules)

* Attempted sphinx warning fix
* Docstring edits (fixing tags, adding missing parameters, etc.), some code formatting cleanup

* Schema documentation edit; added text/style elements to `WarningRange`; added notes to `UserData`

* Removed schema additions (should be in different PR)
* Added missing Sensor attributes, docstring updates

* Fixed bad test, removed tests of impossible use

* Fixed Channel/SubChannel sensor references; added `Sensor.getChannels()`; skipped bad tests; added annotation

* Added `UserData` elements for file sync info; added some documentation to schema

* Added session offset (untested)

* First trial sync-related functions, some small fixes, removed bad tests

* Fully implemented time offset; deprecated `Session.startTime` and `Session.endTime`; cleanup

* Fixed `Sensor` hash and `__eq__()`; added start of basic sync compatibility check

* Revised sync-related schema 'user data' elements

* Implemented sync, but something's wrong

* Fixed offset scaling issue; little bit of cleanup

* Made sync reference mean index-based; Session.__repr__ improvement; corrected data types; removed deprecated call; various fixes

* Fixed compatibility w/ Python < 3.11

* Added basic sync/offset tests; removed some vestigial attributes; more documentation and type annotation

* More sync validity checks; sync using specific sensor ID; minor tweaks

* Added SyncInfo for userdata; rudimentary thread safety

* Fleshed out sync functions; added sync from/to userdata; sync-related schema revisions; misc. fixes

* More sync tests

* Revised `clear` parameter in `sync.sync`; more tests.

* Added basic `Dataset` hash mechanism (`Dataset.fingerprint`)

* More stuff for sync info copy/paste; sync parameter improvement

* A little bit more coverage

* More sync copy/paste stuff; more tests

* minor fix, minor coverage increase

* Improved logging; removed Python <3.7 hack; codecov tags

* small codecov tag test

* Added to `sync` docstring for Sphinx render.

* Docstrings and small edits

* Documentation (fixes, added sync and other excluded submodules)

* Attempted sphinx warning fix

* Fix for sync offsets while file lazy-loading

* Optimization/safety check in `EventArray.append()`

* Added 'fine' UTC time base elements to schema; more minor fixes (mostly sync related)

* First attempt at GNSS timebase adjustment; basic handling of 'fine' timebase values

* fixed test after exception type change

* Added more GNSS timebase functions; some sync refactoring; added GNSS timebase tests

* Fixed sync removal; added userdata revert on error; additional tests.

* Added sync CLI utility (1st draft); minor fixes/updates

* Added `--sync` option to `ideexport`, small fixes to `idesync`

* Made fixes to `idesync.syncFiles()` and added a couple of basic tests

* python < 3.11 datetime fix

* Added GNSS/userdata test

* Sync documentation and setup update (`idesync` entry point, Python versions)

* Moved `idesync` tests to `test_tools.py`; improved `idesync` output; docstring edits

* added missing `sync` arg

* Fix for applying sync to an unloaded IDE

* Added `ideexport` test w/ sync data, test applying sync to a partially-loaded IDE

* comments
#168)

Mostly just a metadata change; merging without review.
* Added basic `idesync` utility documentation

* Minor doc clarification
@codecov-commenter
Copy link

codecov-commenter commented Jan 28, 2026

Codecov Report

❌ Patch coverage is 81.36143% with 115 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.88%. Comparing base (9e0cfa5) to head (f7d1bf4).

Files with missing lines Patch % Lines
idelib/sync.py 86.98% 35 Missing ⚠️
idelib/tools/idesync.py 58.66% 31 Missing ⚠️
idelib/dataset.py 87.02% 24 Missing ⚠️
idelib/importer.py 38.88% 11 Missing ⚠️
idelib/matfile.py 72.22% 5 Missing ⚠️
idelib/parsers.py 66.66% 5 Missing ⚠️
idelib/tools/ideexport.py 80.00% 2 Missing ⚠️
idelib/attributes.py 80.00% 1 Missing ⚠️
idelib/transforms.py 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #172      +/-   ##
==========================================
+ Coverage   75.32%   75.88%   +0.56%     
==========================================
  Files          13       15       +2     
  Lines        4016     4454     +438     
==========================================
+ Hits         3025     3380     +355     
- Misses        991     1074      +83     

☔ 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.

XanthanGum and others added 2 commits January 28, 2026 11:17
* fix: add block.numSamples = 1 condition when setting block.minMeanMax with _singleSample EventArray

* fix: replace bitwise '&' with 'and'
@StokesMIDE StokesMIDE requested a review from pscheidler January 28, 2026 17:11
Copy link
Member

@pscheidler pscheidler left a comment

Choose a reason for hiding this comment

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

Great work on the documentation updates. Might be good to get a blog post up about the IDE sync stuff as well, to help publicize it, but we have time for that

@StokesMIDE StokesMIDE merged commit 2470848 into main Feb 17, 2026
37 checks passed
@StokesMIDE StokesMIDE deleted the release/v3.4.0 branch February 17, 2026 19:14
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.

4 participants