Issues with user-defined codecs
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par reproduire l’exemple Python fourni et lisez les callbacks de register_codec avec la configuration de bloc de asarray. Comparez les tailles d’entrée et de sortie du bloc final, puis déterminez comment le codec doit gérer ce bloc partiel ; le travail est terminé lorsque l’exemple s’exécute jusqu’au bout sans l’erreur de broadcast.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I'm facing issues when creating a simple codec that just makes a copy of the data to get familiar with Blosc's registering machinery. I attach the code:
import blosc2
import numpy as np
# Create an User-defined codec (just a memcpy)
def encoder(input, output, meta, schunk: blosc2.SChunk):
print(f"Encoder output size: {output.size}")
output[:schunk.blocksize] = input[:schunk.blocksize]
return schunk.blocksize
def decoder(input, output, meta, schunk: blosc2.SChunk):
output[:schunk.blocksize] = input[:schunk.blocksize]
return schunk.blocksize
# Register the codec
codec_id = 200
blosc2.register_codec('test1', codec_id, encoder, decoder)
# Compress this array with the new codec
shape = (100, 100)
a = np.ones(shape, dtype=np.int64)
cparams = {
'codec': codec_id,
'nthreads': 1,
'filters': [],
'splitmode': blosc2.SplitMode.NEVER_SPLIT,
}
dparams = {
'nthreads': 1,
}
chunks = shape
blocks = (50, 50)
c_a = blosc2.asarray(a, chunks=chunks, blocks=blocks, cparams=cparams, dparams=dparams)
However, when I run the previous code, I get the following:
Encoder output size: 20000
Encoder output size: 20000
Encoder output size: 20000
Encoder output size: 19968
ValueError: could not broadcast input array from shape (20000,) into shape (19968,)
Looking at this, it appears that the last block of the chunk is smaller than the others. Do you know what is happening? Is there something I'm doing wrong?
- Langage dominant
- Python
- Étoiles
- 211
- Forks
- 66
- Merge moyen
- 2 j 1 h
- PR mergées (30 j)
- 15
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Blosc/python-blosc2
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Blosc/python-blosc2#731 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation sustain-2026
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Blosc/python-blosc2#720 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
sustain-2026
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Blosc/python-blosc2#717 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation sustain-2026
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
Blosc/python-blosc2#714 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation sustain-2026
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Blosc/python-blosc2#710 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Blosc/python-blosc2
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 3 jours
-
Negation with "not" and "no" is ignored during sentiment analysisPeut-être pris @vivek-3728 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
techcsispit/mess-mood#11 · 1 commentaire ·
-
changelog investigate
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
ramnes/notion-sdk-py#408 ·
-
good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
btclib-org/btclib-wallet#267 ·
Les mainteneurs répondent en général sous 1 jour
-
good first issue tech-debt
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
knnmelprop/YAADO#111 ·