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
45.9k

en todo el repo

Actividad
59

0–100, la ruta de este skill

Actualizado
hace 2 meses

ú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. Ver el pack scientific-agent-skills entero y su comando de instalación

    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 2 meses
    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 2 meses
    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 2 meses
    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 2 meses
    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 2 meses
    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 2 meses
    diseno ui

    Skills relacionados

    Aeon

    45.9k

    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
    hace 2 meses
    datos analitica

    Anndata

    45.9k

    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
    hace 2 meses
    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
    hace 2 meses
    datos analitica