Blosc / Blosc/python-blosc2

vlmeta parameter in kwargs?

Abierto
#109 1 comentario 0 reacciones 2 asignados Reclamado por @aleixalcacer Ver en GitHub
enhancement
Lenguaje dominante
Python
Estrellas
211
Forks
58
Merge medio
1 d 17 h
PR fusionados (30 d)
6

Descripción

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 :)

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.