Skills Agentes

Zarr Python

Arrays N-dimensionales fragmentados (chunked) para almacenamiento en la nube con Zarr-Python 3: arrays comprimidos, E/S paralela, S3/GCS vía fsspec, compatible con NumPy/Dask/Xarray, para pipelines de computación científica a gran escala.

Solicitaread write edit bash
Estrellas
34.8k

en todo el repo

Actividad
59

0–100, la ruta de este skill

Actualizado
el mes pasado

último commit aquí

Commits
4

últimos 90 días

Contexto
1.9k tok

46 tok en reposo

Paquete
7 archivos

33 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add K-Dense-AI/scientific-agent-skills --skill zarr-python --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Crea y gestiona arrays N-dimensionales fragmentados (chunked) y comprimidos con `zarr.create_array`, `zarr.zeros`, `zarr.ones`, `zarr.full` y `zarr.array`
  • Organiza arrays en grupos jerárquicos, similares a directorios o HDF5, con `create_group`, `require_group`, `create_array` y `require_array`
  • Permite indexado estilo NumPy, incluido indexado avanzado (`vindex`, `oindex`, `blocks`), redimensionar (`resize`) y añadir datos (`append`)
  • Adjunta metadatos JSON-serializables a arrays y grupos vía `.attrs`
  • Cubre almacenamiento local, en memoria, ZIP y remoto (S3, GCS vía fsspec) y la integración con NumPy, Dask y Xarray

Úsalo cuando

  • Almacenar arrays N-dimensionales grandes con chunking y compresión
  • Necesitar E/S paralela o flujos de trabajo cloud-native (S3, GCS)
  • Integrar arrays con NumPy, Dask o Xarray en pipelines de computación científica a gran escala

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Crea un array Zarr 2D con chunks de 1000x1000
    • Organiza estos arrays en grupos jerárquicos con Zarr
    • Guarda este array grande en S3 con Zarr
    • Migra este código de Zarr v2 a v3

    SKILL.md

    En inglés

    Zarr Python

    Overview

    Zarr is a Python library for storing large N-dimensional arrays with chunking and compression. Apply this skill for efficient parallel I/O, cloud-native workflows, and seamless integration with NumPy, Dask, and Xarray.

    Current upstream: zarr 3.2.1 (released 2026-05-05). Docs: zarr.readthedocs.io. New arrays default to Zarr format 3; set zarr_format=2 for legacy interop. Zarr 3.2 adds rectilinear chunks and continues to refine the v3 codec pipeline. This skill is a community guide maintained by K-Dense Inc., not an official zarr-developers package.

    Quick Start

    Installation

    uv pip install "zarr==3.2.1"
    

    Requires Python 3.12+ and NumPy 2.0+ for current stable Zarr-Python. For remote stores (S3, GCS, HTTP), pin the optional extras/backends in your project lockfile:

    uv pip install "zarr[remote]==3.2.1" "s3fs==2026.4.0" "gcsfs==2026.5.0"
    

    Use a version range such as zarr>=3,<4 only when your project has a committed lockfile and compatibility tests. For Zarr-Python 2 / Python 3.10–3.11 workflows, choose an exact zarr==2.x.y patch version from the support-v2 release notes and commit the resulting lockfile.

    Basic Array Creation

    import zarr
    import numpy as np
    
    # Create a 2D array with chunking and compression
    z = zarr.create_array(
        store="data/my_array.zarr",
        shape=(10000, 10000),
        chunks=(1000, 1000),
        dtype="f4"
    )
    
    # Write data using NumPy-style indexing
    z[:, :] = np.random.random((10000, 10000))
    
    # Read data
    data = z[0:100, 0:100]  # Returns NumPy array
    

    Core Operations

    Creating Arrays

    Zarr provides multiple convenience functions for array creation:

    # Create empty array
    z = zarr.zeros(shape=(10000, 10000), chunks=(1000, 1000), dtype='f4',
                   store='data.zarr')
    
    # Create filled arrays
    z = zarr.ones((5000, 5000), chunks=(500, 500))
    z = zarr.full((1000, 1000), fill_value=42, chunks=(100, 100))
    
    # Create from existing data
    data = np.arange(10000).reshape(100, 100)
    z = zarr.array(data, chunks=(10, 10), store='data.zarr')
    
    # Create like another array
    z2 = zarr.zeros_like(z)  # Matches shape, chunks, dtype of z
    

    Opening Existing Arrays

    # Open array (read/write mode by default)
    z = zarr.open_array('data.zarr', mode='r+')
    
    # Read-only mode
    z = zarr.open_array('data.zarr', mode='r')
    
    # The open() function auto-detects arrays vs groups
    z = zarr.open('data.zarr')  # Returns Array or Group
    

    Reading and Writing Data

    Zarr arrays support NumPy-like indexing:

    # Write entire array
    z[:] = 42
    
    # Write slices
    z[0, :] = np.arange(100)
    z[10:20, 50:60] = np.random.random((10, 10))
    
    # Read data (returns NumPy array)
    data = z[0:100, 0:100]
    row = z[5, :]
    
    # Advanced indexing
    z.vindex[[0, 5, 10], [2, 8, 15]]  # Coordinate indexing
    z.oindex[0:10, [5, 10, 15]]       # Orthogonal indexing
    z.blocks[0, 0]                     # Block/chunk indexing
    

    Resizing and Appending

    # Resize array (v3: pass shape as a tuple)
    z.resize((15000, 15000))
    
    # Append data along an axis
    z.append(np.random.random((1000, 10000)), axis=0)  # Adds rows
    

    Groups and Hierarchies

    Groups organize multiple arrays hierarchically, similar to directories or HDF5 groups.

    Creating and Using Groups

    # Create root group
    root = zarr.group(store='data/hierarchy.zarr')
    
    # Create sub-groups
    temperature = root.create_group('temperature')
    precipitation = root.create_group('precipitation')
    
    # Create arrays within groups
    temp_array = temperature.create_array(
        name='t2m',
        shape=(365, 720, 1440),
        chunks=(1, 720, 1440),
        dtype='f4'
    )
    
    precip_array = precipitation.create_array(
        name='prcp',
        shape=(365, 720, 1440),
        chunks=(1, 720, 1440),
        dtype='f4'
    )
    
    # Access using paths
    array = root['temperature/t2m']
    
    # Visualize hierarchy
    print(root.tree())
    # Output:
    # /
    #  ├── temperature
    #  │   └── t2m (365, 720, 1440) f4
    #  └── precipitation
    #      └── prcp (365, 720, 1440) f4
    

    Group API (v3)

    Use create_array / require_array (h5py-style create_dataset / require_dataset were removed in v3):

    root = zarr.group('data.zarr')
    arr = root.create_array('my_data', shape=(1000, 1000), chunks=(100, 100), dtype='f4')
    
    grp = root.require_group('subgroup')
    arr2 = grp.require_array('array', shape=(500, 500), chunks=(50, 50), dtype='i4')
    

    Attributes and Metadata

    Attach custom metadata to arrays and groups using attributes:

    # Add attributes to array
    z = zarr.zeros((1000, 1000), chunks=(100, 100))
    z.attrs['description'] = 'Temperature data in Kelvin'
    z.attrs['units'] = 'K'
    z.attrs['created'] = '2024-01-15'
    z.attrs['processing_version'] = 2.1
    
    # Attributes are stored as JSON
    print(z.attrs['units'])  # Output: K
    
    # Add attributes to groups
    root = zarr.group('data.zarr')
    root.attrs['project'] = 'Climate Analysis'
    root.attrs['institution'] = 'Research Institute'
    
    # Attributes persist with the array/group
    z2 = zarr.open('data.zarr')
    print(z2.attrs['description'])
    

    Important: Attributes must be JSON-serializable (strings, numbers, lists, dicts, booleans, null).

    Chunking, Compression, Storage, and Performance

    Additional Resources

    Bundled references

    File Contents
    references/api_reference.md Function signatures, stores, codecs, indexing
    references/v3_migration.md Zarr-Python 2→3 breaking changes and WIP features

    Official upstream

    Related libraries: Xarray, Dask, NumCodecs

    Reproducido de K-Dense-AI/scientific-agent-skills bajo licencia MIT license. Leer esta página en markdown.

    Archivos

    7 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Necesita Python 3.12+ y zarr 3.x; la E/S en la nube requiere `zarr[remote]` más s3fs o gcsfs con versión fijada, y los flujos Zarr v2 heredados necesitan Python más antiguo con zarr 2.x fijado.

    Detalles

    Creador
    K-Dense-AI
    Licencia
    MIT license
    Recursos incluidos
    referencias
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de K-Dense-AI/scientific-agent-skills

    Este repo incluye 163 skills. Si instalas uno, normalmente ya tienes los demás.

    Gestión integral de citas académicas: busca en OpenAlex, PubMed y Google Scholar, extrae metadatos precisos, valida citas y genera entradas BibTeX correctamente formateadas.

    Costo de contexto al activarse
    3.7k tok
    Tamaño del paquete
    21 archivos
    Última actualización
    hace 28 días
    investigacion

    Realiza revisiones bibliográficas sistemáticas y completas usando varias bases académicas (PubMed, arXiv, bioRxiv, Semantic Scholar). Genera markdown y PDF con citas verificadas en varios estilos (APA, Nature, Vancouver).

    Costo de contexto al activarse
    3.2k tok
    Tamaño del paquete
    12 archivos
    Última actualización
    hace 15 días
    investigacion

    Crea decks de diapositivas y presentaciones para charlas de investigación: PowerPoint, presentaciones de conferencia, seminarios, defensas de tesis. Da estructura, plantillas, guía de tiempos y validación visual.

    Costo de contexto al activarse
    5.1k tok
    Tamaño del paquete
    24 archivos
    Última actualización
    hace 15 días
    documentos

    Crea infografías profesionales con Nano Banana Pro AI y refinamiento iterativo inteligente. Usa Gemini 3.6 Flash para revisar la calidad e integra investigación con Perplexity Sonar. Soporta 10 tipos, 8 estilos y paletas para daltonismo.

    Costo de contexto al activarse
    2.7k tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 15 días
    diseno ui

    Crea pósteres de investigación profesionales en LaTeX con beamerposter, tikzposter o baposter, para conferencias y comunicación científica: layout, colores, columnas múltiples e integración de figuras.

    Costo de contexto al activarse
    3.9k tok
    Tamaño del paquete
    17 archivos
    Última actualización
    hace 15 días
    documentos

    Crea diagramas científicos de calidad de publicación con la IA Nano Banana 2 y refinamiento iterativo inteligente. Gemini 3.6 Flash revisa la calidad y solo regenera si está por debajo del umbral de tu tipo de documento.

    Costo de contexto al activarse
    4.1k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    hace 15 días
    diseno ui

    Skills relacionados

    Aeon

    34.8k

    Para tareas de machine learning con series temporales: clasificación, regresión, clustering, forecasting, detección de anomalías, segmentación y búsqueda de similitud, con APIs compatibles con scikit-learn.

    Costo de contexto al activarse
    3.1k tok
    Tamaño del paquete
    12 archivos
    Última actualización
    el mes pasado
    datos analitica

    Anndata

    34.8k

    Estructura de datos para matrices anotadas en análisis de célula única. Úsala con archivos .h5ad o el ecosistema scverse; para análisis usa scanpy, para modelos probabilísticos scvi-tools, para escala poblacional cellxgene-census.

    Costo de contexto al activarse
    3k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    el mes pasado
    datos analitica

    Infiere redes de regulación génica (GRN) a partir de datos de expresión génica con algoritmos escalables (GRNBoost2, GENIE3), para transcriptómica bulk o de célula única, con computación distribuida.

    Costo de contexto al activarse
    2.1k tok
    Tamaño del paquete
    5 archivos
    Última actualización
    el mes pasado
    datos analitica