Blosc / Blosc/python-blosc2

vlmeta parameter in kwargs?

Đang mở
#109 1 bình luận 0 reaction 2 người được giao Được @aleixalcacer nhận Xem trên GitHub
enhancement
Ngôn ngữ chính
Python
Star
211
Fork
58
Merge trung bình
1 ngày 17 giờ
Pull request đã merge (30 ngày)
6

Mô tả

Hello again, it could be interesting to pass the `vlmeta` parameter in the `kwargs` (passing the `meta` parameter in `kwargs` is already supported)?

I'm interested because I'm defining a codec in which I need to read/write information that could be stored in the `vlmeta` parameter.

My use case :
```python
# encoder and decoder is already defined and registered

cparams = {
'codec': codec_id,
'codec_meta': 0,
'nthreads': 1,
'filters': [],
'splitmode': blosc2.SplitMode.NEVER_SPLIT,
}

dparams = {
'nthreads': 1,
}

c_img = blosc2.asarray(img, chunks=chunks, blocks=blocks, cparams=cparams, dparams=dparams)
```

It would be nice if I could pass the `vlmeta` as `kwargs` and have it serialized before compression. I think, it could be something like:

```python
# encoder and decoder is already defined and registered

cparams = {
'codec': codec_id,
'codec_meta': 0,
'nthreads': 1,
'filters': [],
'splitmode': blosc2.SplitMode.NEVER_SPLIT,
}

dparams = {
'nthreads': 1,
}

vlmeta = {
'my_codec': my_info
}

c_img = blosc2.asarray(img, chunks=chunks, blocks=blocks, cparams=cparams, dparams=dparams, vlmeta=vlmeta)
```

I know it's not ideal in terms of performance (as they will have to be rewritten every time you compress a chunk). But since it's optional, it shouldn't affect users who care about performance.

If it seems good to you and you don't see any inconvenience, can I start with it and create a PR?

Aleix :)

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.