{"library":"rechunker","title":"Rechunker","description":"Rechunker is a Python package designed for efficient and scalable manipulation of the chunk structure of chunked array formats, such as Zarr and TileDB. It takes an input array (or group of arrays) from persistent storage and writes out a new array with the same data but a different chunking scheme, often utilizing an intermediate temporary store. It is currently at version 0.5.4 and is actively maintained by the Pangeo community, with regular releases addressing compatibility and bug fixes.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install rechunker"],"cli":null},"imports":["from rechunker import rechunk"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import zarr\nfrom rechunker import rechunk\nimport os\n\n# Create a source Zarr array\nsource_store = 'source.zarr'\nif not os.path.exists(source_store):\n    zarr.ones((10, 10, 10), chunks=(2, 2, 2), store=source_store, overwrite=True)\nsource = zarr.open(source_store, mode='r')\n\n# Define target and intermediate stores\nintermediate_store = 'intermediate.zarr'\ntarget_store = 'target.zarr'\n\n# Define the target chunking scheme (e.g., contiguous in the first dimension)\ntarget_chunks = (10, 5, 5)\n\n# Define maximum memory for each worker (e.g., 256MB)\nmax_mem = '256MB'\n\n# Create the rechunking plan\nrechunked_plan = rechunk(\n    source, \n    target_chunks, \n    max_mem, \n    target_store, \n    intermediate_store\n)\n\n# Execute the plan\nresult = rechunked_plan.execute()\n\nprint(f\"Source array chunks: {source.chunks}\")\nprint(f\"Target array chunks: {result.chunks}\")\n\n# Clean up example files\nimport shutil\nshutil.rmtree(source_store)\nshutil.rmtree(intermediate_store)\nshutil.rmtree(target_store)","lang":"python","description":"This quickstart demonstrates how to rechunk a Zarr array from an initial chunking scheme to a new one. It defines source, intermediate, and target Zarr stores, specifies the target chunk size and maximum memory per worker, creates a rechunking plan, and then executes it.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"0.5.4","pypi_latest":"0.5.4","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":11,"avg_import_s":1.3,"wheel_type":"sdist"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"rechunker","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"rechunker","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":9.8,"import_time_s":0.91,"mem_mb":23.2,"disk_size":"205M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"rechunker","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"rechunker","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":9.8,"import_time_s":1.6,"mem_mb":26.1,"disk_size":"224M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"rechunker","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"rechunker","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":10,"import_time_s":1.58,"mem_mb":23.9,"disk_size":"208M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"rechunker","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"rechunker","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":10.1,"import_time_s":1.53,"mem_mb":24.2,"disk_size":"207M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"rechunker","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"rechunker","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":15.3,"import_time_s":0.89,"mem_mb":20.8,"disk_size":"280M"}]}}