sigmf-python
sigmf-python copied to clipboard
Easily interact with Signal Metadata Format (SigMF) recordings.
TL;DR - This PR is derived from issue #58 to automatically support data validation using Pydantic, a JSON and JSONschema-friendly validation library. At this point, the PR only defines the...
## Aim I would propose to overhaul the library as it currently stands to introduce a dependency on `pydantic`, an excellent data validation library that works hand-in-glove with JSON and...
When reading samples from signals the current implementation is a bit quirky and deviates from expectations when reading memory mapped samples from a file IF those samples need to be...
Hi Folks, I have run into a problem when trying to convert a large IQ recording into a SigMF archive. The problem starts when I call the `archive()` method. When...
Now that the specification repository is using it's own schemas to generate the documentation, we can now use those schemas in the validator instead of having our own. I dislike...
`SigMFFile` member `data_file` is `None` when creaeting a `SigMFFile` from archive. This ends up raising an exception when calling `get_capture_byte_boundarys` due to calling `path.getsize` with `None`. https://github.com/sigmf/sigmf-python/blob/bd260606e72dde3526bab4d30a97cc7608b1f161/sigmf/sigmffile.py#L390 I don't know...
# Validate Extension Declarations in SigMF Files ## Issue Extensions used in SigMF metadata must be declared in the global `core:extensions` field, but the validator wasn't checking for undeclared extensions....
Per the monthly SigMF call, the validator should throw an error or warning if a SigMFFile contains an extension that is not in the global `core:extensions` field.
I think it's a bit silly to read sample rate by doing `meta.get_global_field('core:sample_rate')`. Right now the only _getter_ that is implemented is `get_num_channels()`. I think we should add properties for...
It's bothered me ever since the beginning that if you want to set or get some key within `sigmf` you needed to do `sigmf.SigMFFile.VERSION_KEY` instead of just doing `sigmf.VERSION_KEY`. Now...