Skip to content

Robust sigproc header parsing#56

Merged
pravirkr merged 2 commits into
mainfrom
53-keyerror-nsamples
Feb 22, 2026
Merged

Robust sigproc header parsing#56
pravirkr merged 2 commits into
mainfrom
53-keyerror-nsamples

Conversation

@pravirkr
Copy link
Copy Markdown
Collaborator

@pravirkr pravirkr commented Feb 22, 2026

  • nsamples is a valid keyword now. header_keys is more robust SIGPROC_SCHEMA.
  • Enhanced test coverage for encoding and parsing headers, including edge cases for nsamples.

Parsing rule:

  • sigproc header parsing should skip invalid keywords (only warning, no error).
  • nsamples is added to valid keywords (read-only). At runtime, we choose the minimum of the two (file size or metadata) and issue a warning.
  • Since nsamples is a legacy keyword (as per sigproc original documentation), sigpyproc will only support reading and not writing.

- nsamples is a valid keyword now. header_keys is a more robust schema now.
- Updated FilReader documentation to reference SIGPROC_SCHEMA instead of header_keys.
- Introduced SigprocBuilder class in test_sigproc.py for constructing sigproc-format byte streams.
- Enhanced test coverage for encoding and parsing headers, including edge cases for nsamples.
- Added tests for editing header fields, ensuring proper handling of source_name length and character validation.
@pravirkr pravirkr linked an issue Feb 22, 2026 that may be closed by this pull request
@pravirkr pravirkr mentioned this pull request Feb 22, 2026
@pravirkr pravirkr added enhancement New feature or request labels Feb 22, 2026
@pravirkr pravirkr modified the milestone: stable release 2.0 Feb 22, 2026
@pravirkr pravirkr changed the title Robust sigproc header Robust sigproc header parsing Feb 22, 2026
@pravirkr pravirkr merged commit 3c5e589 into main Feb 22, 2026
9 checks passed
@pravirkr pravirkr deleted the 53-keyerror-nsamples branch February 23, 2026 00:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

KeyError: 'nsamples'

1 participant