Closed JonasIsensee closed 1 month ago
Attention: Patch coverage is 72.72727%
with 303 lines
in your changes missing coverage. Please review.
Project coverage is 84.87%. Comparing base (
ae8a06a
) to head (db1556b
). Report is 4 commits behind head on master.
Files | Patch % | Lines |
---|---|---|
src/committed_datatype_introspection.jl | 0.00% | 103 Missing :warning: |
src/explicit_datasets.jl | 63.86% | 86 Missing :warning: |
src/object_headers.jl | 69.92% | 40 Missing :warning: |
src/macros_utils.jl | 89.26% | 22 Missing :warning: |
src/misc.jl | 54.54% | 15 Missing :warning: |
src/types.jl | 60.00% | 14 Missing :warning: |
src/headermessages.jl | 25.00% | 6 Missing :warning: |
src/datalayouts.jl | 93.15% | 5 Missing :warning: |
src/datatypes.jl | 90.32% | 3 Missing :warning: |
src/fractal_heaps.jl | 75.00% | 3 Missing :warning: |
... and 3 more |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
This implements a macro for a declaritive description of header messages and makes the library use them. One nice side effect is nearly free pretty printing of header messages :
Demo header message declaration:
It supports
name::Type
name::Type = value
value
may be a function of other values. (must be explicitly given and have syntaxkw.<dependency>
) e.g.dimensionality::UInt8 = length(kw.dimensions)
(version == 2) && dataspace_type::UInt8
(alsoif
but notelse
orelseif
)dataspace_type::@computed(DS_V1)
whereDS_V1
is the valuedataspace_type
should take when it is not encoded in the file@skip
for marking empty / reserved bytesdim_offset::@Offset
returns the offset in the file at this locationdimensions::NTuple{Int(dimensionality), Int64}
Demo Header message printing
Dataset pretty printing
This can print the written structures and also the encoded julia type name without needing to reconstruct them. This should help when normal loading does not work.
Summary of new (experimental) API
get_dataset(f, name)
create_dataset(f, name)
attributes(dset)
add_attribute(dset, symbolname, payload)
ToDo