Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Pyodide support and CI jobs for Zarr #1902

Closed
wants to merge 97 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
ea90564
Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 (#1586)
dependabot[bot] Dec 4, 2023
79e80b3
Bump conda-incubator/setup-miniconda from 2.3.0 to 3.0.1 (#1587)
dependabot[bot] Dec 4, 2023
25dbeed
* Cache result of FSStore._fsspec_installed (#1581)
ph03 Dec 5, 2023
8579e21
Bump version of black in pre-commit (#1559)
dstansby Dec 7, 2023
54e31e9
Use list comprehension where applicable (#1555)
DimitriPapadopoulos Dec 7, 2023
7d2c9bf
Bump numcodecs from 0.11.0 to 0.12.1 (#1580)
dependabot[bot] Dec 7, 2023
10dee6b
Use format specification mini-language to format string (#1558)
DimitriPapadopoulos Dec 7, 2023
40a6e81
Single startswith() call instead of multiple ones (#1556)
DimitriPapadopoulos Dec 7, 2023
5954ff9
Bump pymongo from 4.5.0 to 4.6.1 (#1585)
dependabot[bot] Dec 7, 2023
6ad7b0e
Move codespell options around (#1196)
DimitriPapadopoulos Dec 7, 2023
cf32382
Bump fsspec from 2023.10.0 to 2023.12.1 (#1600)
dependabot[bot] Dec 8, 2023
4d79cfc
Add type hints to zarr.create (#1536)
dstansby Dec 8, 2023
12abd4e
Remove unused mypy ignore comments (#1602)
dstansby Dec 18, 2023
c2f5f00
Bump actions/setup-python from 4.7.1 to 5.0.0 (#1605)
dependabot[bot] Dec 20, 2023
490e0fe
Bump github/codeql-action from 2 to 3 (#1609)
dependabot[bot] Dec 20, 2023
b5f79dd
chore: update pre-commit hooks (#1448)
pre-commit-ci[bot] Dec 20, 2023
e09ee14
chore: update pre-commit hooks (#1618)
pre-commit-ci[bot] Dec 26, 2023
cd13989
Bump fsspec from 2023.12.1 to 2023.12.2 (#1606)
dependabot[bot] Dec 26, 2023
5fb420f
Bump pytest-doctestplus from 1.0.0 to 1.1.0 (#1619)
dependabot[bot] Dec 27, 2023
435a7ca
Bump pytest from 7.4.3 to 7.4.4 (#1622)
dependabot[bot] Jan 1, 2024
6961fa9
chore: update pre-commit hooks (#1626)
pre-commit-ci[bot] Jan 9, 2024
ee51835
Create TEAM.md (#1628)
jhamman Jan 10, 2024
c7d66b4
Drop python 3.8 and numpy 1.20 (#1557)
joshmoore Jan 10, 2024
6ad464b
Add Norman Rzepka to core-dev team (#1630)
jhamman Jan 10, 2024
a292dc4
chore: update pre-commit hooks (#1633)
pre-commit-ci[bot] Jan 15, 2024
68c87bb
Bump actions/download-artifact from 3 to 4 (#1611)
dependabot[bot] Jan 15, 2024
1d56da0
Update tutorial.rst to include section about accessing Zip Files on S…
jeffpeck10x Jan 16, 2024
8ac8553
doc(v3): add v3 roadmap and design document (#1583)
jhamman Jan 16, 2024
a81db07
chore: update pre-commit hooks (#1636)
pre-commit-ci[bot] Jan 22, 2024
4f2ace4
Fix zarr sync (#1663)
hoodmane Feb 14, 2024
0b0ac88
Update release.rst (#1621)
sanketverma1704 Feb 14, 2024
e50b471
Bump numpy from 1.24.3 to 1.26.1 (#1543)
dependabot[bot] Feb 14, 2024
81bbb2e
chore: update pre-commit hooks (#1642)
pre-commit-ci[bot] Feb 14, 2024
3678488
Bump ipywidgets from 8.1.0 to 8.1.1 (#1538)
dependabot[bot] Feb 14, 2024
720bea6
Proper argument for numpy.reshape (#1425)
DimitriPapadopoulos Feb 14, 2024
7449853
Bump ipywidgets from 8.1.1 to 8.1.2 (#1666)
dependabot[bot] Feb 15, 2024
3db4176
docs: ZIP-related tweaks (#1641)
d-v-b Feb 15, 2024
d23683d
Bump numpy from 1.26.1 to 1.26.4 (#1669)
dependabot[bot] Feb 16, 2024
003ff33
Change occurrences of % and format() to f-strings (#1423)
DimitriPapadopoulos Feb 16, 2024
f80f697
chore: update pre-commit hooks (#1672)
pre-commit-ci[bot] Feb 20, 2024
54bc90c
Bump pymongo from 4.6.1 to 4.6.2 (#1674)
dependabot[bot] Feb 26, 2024
70a15bb
Bump conda-incubator/setup-miniconda from 3.0.1 to 3.0.2 (#1677)
dependabot[bot] Feb 26, 2024
ec4d216
Update config.yml with Zulip
joshmoore Feb 27, 2024
a0e5559
Type dimension separator (#1620)
dstansby Feb 27, 2024
99e03c6
Replace Gitter with new Zulip Chat link (#1685)
sanketverma1704 Feb 28, 2024
67d5d82
Bump redis from 5.0.1 to 5.0.2 (#1688)
dependabot[bot] Mar 1, 2024
9c2a412
Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12 (#1691)
dependabot[bot] Mar 4, 2024
237f934
Bump pytest-doctestplus from 1.1.0 to 1.2.0 (#1693)
dependabot[bot] Mar 5, 2024
240bb82
Fix RTD build (#1694)
sanketverma1704 Mar 6, 2024
a1fbedb
Update release.rst for v2.17.1 (#1673)
sanketverma1704 Mar 6, 2024
d986f89
Bump pytest-timeout from 2.2.0 to 2.3.1 (#1697)
dependabot[bot] Mar 9, 2024
d642da6
Bump conda-incubator/setup-miniconda from 3.0.2 to 3.0.3 (#1690)
dependabot[bot] Mar 10, 2024
029cff7
docs(tutorial.rst): fix link to GCSMap (#1689)
DahnJ Mar 10, 2024
9fc4981
Update installation.rst stating version support policy (#1665)
sanketverma1704 Mar 10, 2024
f58065b
Bump pypa/gh-action-pypi-publish from 1.8.12 to 1.8.14 (#1700)
dependabot[bot] Mar 11, 2024
bbac254
Bump pytest-doctestplus from 1.2.0 to 1.2.1 (#1699)
dependabot[bot] Mar 13, 2024
6fe553d
Bump redis from 5.0.2 to 5.0.3 (#1698)
dependabot[bot] Mar 13, 2024
f4f0b42
Add Python 3.12 to CI (#1719)
jhamman Mar 25, 2024
04e862c
Bump pytest-cov from 4.1.0 to 5.0.0 (#1722)
dependabot[bot] Mar 25, 2024
0e58b79
chore: update pre-commit hooks (#1708)
pre-commit-ci[bot] Mar 25, 2024
8d0d910
chore: update pre-commit hooks (#1723)
pre-commit-ci[bot] Mar 25, 2024
2534413
Fix release notes (following #1719) (#1725)
jhamman Mar 27, 2024
bad8dd0
Override ipython repr methods. (#1724)
dcherian Mar 27, 2024
37e0a1a
Bump pymongo from 4.6.2 to 4.6.3 (#1729)
dependabot[bot] Mar 28, 2024
cb5b77a
Remove v1 and v2 specification (#1582)
sanketverma1704 Mar 29, 2024
97cb3a7
chore: update pre-commit hooks (#1738)
pre-commit-ci[bot] Apr 1, 2024
6ef6714
Optimize Array.info and Group.info (#1733)
dcherian Apr 2, 2024
9864b40
Bump actions/setup-python from 5.0.0 to 5.1.0 (#1736)
dependabot[bot] Apr 2, 2024
aa9a0d5
Couple fixes (#1737)
DimitriPapadopoulos Apr 2, 2024
d0fb875
Fix tests with Pytest 8 (#1714)
dstansby Apr 3, 2024
bcb7684
Avoid redundant __contains__ (#1739)
dcherian Apr 4, 2024
0cfd2be
Array & Group: Use already loaded attributes to populate cache. (#1734)
dcherian Apr 5, 2024
62910bc
Optimize attribute setting (#1741)
dcherian Apr 5, 2024
5fde3a2
Make sure fs exceptions are raised if not MissingFs exceptions (clone…
itcarroll Apr 5, 2024
1631c10
chore(release): update changelog for 2.17.2 (#1775)
jhamman Apr 5, 2024
6105ef2
chore(docs): reset release notes as unreleased (#1776)
jhamman Apr 6, 2024
5d566eb
Bump codecov/codecov-action from 3 to 4 (#1647)
dependabot[bot] Apr 22, 2024
b98f694
Update release.rst for v2.17.2 (#1778)
sanketverma1704 Apr 22, 2024
dd3dd96
Deprecate the experimental v3 implementation (#1802)
jhamman Apr 22, 2024
0a29fb3
chore: update pre-commit hooks (#1779)
pre-commit-ci[bot] Apr 22, 2024
9d046ea
Fix `is_total_slice` for size-1 dimensions (#1800)
dcherian Apr 22, 2024
60b53b0
add note to the top of the release page noting the plan for 2.18.* an…
jhamman Apr 25, 2024
f4f6e86
Bump conda-incubator/setup-miniconda from 3.0.3 to 3.0.4 (#1824)
dependabot[bot] Apr 29, 2024
29b4acc
dep(docs): deprecate experimental v3 support in docs (#1807)
jhamman Apr 30, 2024
7fa17b8
Bump h5py from 3.10.0 to 3.11.0 (#1786)
dependabot[bot] May 2, 2024
9331430
Bump redis from 5.0.3 to 5.0.4 (#1810)
dependabot[bot] May 2, 2024
2f29144
deprecate(stores): add deprecation warnings to stores that we plan to…
jhamman May 6, 2024
863c3c0
use np.inf instead of PINF/NINF (#1842)
jhamman May 7, 2024
360eb53
chore: update pre-commit hooks (#1825)
pre-commit-ci[bot] May 7, 2024
270aff1
Enable ruff/bugbear rules (B) and fix issues (#1702)
DimitriPapadopoulos May 7, 2024
056657c
Release notes for 2.18.0 (#1843)
jhamman May 7, 2024
cb4230d
Update release.rst (#1850)
jhamman May 8, 2024
8979205
Group dependabot updates (#1854)
jhamman May 13, 2024
8264ace
chore: update pre-commit hooks (#1876)
pre-commit-ci[bot] May 14, 2024
908e920
Fix a regression with scalar indexing due to #1800 (#1875)
dcherian May 16, 2024
4bd9764
release notes for 2.18.1 (#1885)
jhamman May 17, 2024
bf89533
reset release notes (#1886)
jhamman May 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ body:
attributes:
label: Python Version
description: Version of Python interpreter
placeholder: 3.8.5, 3.9, 3.10, etc.
placeholder: 3.9, 3.10, 3.11, etc.
validations:
required: true
- type: input
Expand Down
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ contact_links:
- name: ✨ Propose a new major feature
url: https://github.com/zarr-developers/zarr-specs
about: A new major feature should be discussed in the Zarr specifications repository.
- name: ❓ Discuss something on gitter
url: https://gitter.im/zarr-developers/community
about: For questions like "How do I do X with Zarr?", you can move to our Gitter channel.
- name: ❓ Discuss something on Zulip
url: https://ossci.zulipchat.com/
about: For questions like "How do I do X with Zarr?", you can move to our Zulip Chat.
- name: ❓ Discuss something on GitHub Discussions
url: https://github.com/zarr-developers/zarr-python/discussions
about: For questions like "How do I do X with Zarr?", you can move to GitHub Discussions.
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ updates:
directory: "/"
schedule:
interval: "daily"
groups:
requirements:
patterns:
- "*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
Expand All @@ -56,7 +56,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
Expand All @@ -69,4 +69,4 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
2 changes: 1 addition & 1 deletion .github/workflows/minimal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v2.3.0
uses: conda-incubator/setup-miniconda@v3.0.4
with:
channels: conda-forge
environment-file: environment.yml
Expand Down
23 changes: 11 additions & 12 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,15 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']
numpy_version: ['>=1.22.0', '==1.20.*']
python-version: ['3.9', '3.10', '3.11', '3.12']
numpy_version: ['>=1.24.0', '==1.23.*']
exclude:
- python-version: '3.10'
numpy_version: '==1.20.*'
numpy_version: '==1.23.*'
- python-version: '3.11'
numpy_version: '==1.20.*'
numpy_version: '==1.23.*'
- python-version: '3.12'
numpy_version: '==1.23.*'
services:
redis:
image: redis
Expand All @@ -42,7 +44,7 @@ jobs:
with:
fetch-depth: 0
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v2.3.0
uses: conda-incubator/setup-miniconda@v3.0.4
with:
channels: conda-forge
python-version: ${{ matrix.python-version }}
Expand All @@ -62,7 +64,7 @@ jobs:
python -m pip install --upgrade pip
python -m pip install -U pip setuptools wheel line_profiler
python -m pip install -rrequirements_dev_minimal.txt numpy${{matrix.numpy_version}} -rrequirements_dev_optional.txt pymongo redis
python -m pip install .
python -m pip install -e .
python -m pip freeze
- name: Tests
shell: "bash -l {0}"
Expand All @@ -78,11 +80,8 @@ jobs:
mkdir ~/blob_emulator
azurite -l ~/blob_emulator --debug debug.log 2>&1 > stdouterr.log &
pytest --cov=zarr --cov-config=pyproject.toml --doctest-plus --cov-report xml --cov=./ --timeout=300
- uses: codecov/codecov-action@v3
- uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
#files: ./coverage1.xml,./coverage2.xml # optional
#flags: unittests # optional
#name: codecov-umbrella # optional
#fail_ci_if_error: true # optional (default = false)
verbose: true # optional (default = false)
12 changes: 6 additions & 6 deletions .github/workflows/releases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ jobs:
submodules: true
fetch-depth: 0

- uses: actions/setup-python@v4.7.1
- uses: actions/setup-python@v5.1.0
name: Install Python
with:
python-version: '3.8'
python-version: '3.9'

- name: Install PyBuild
run: |
Expand All @@ -36,7 +36,7 @@ jobs:
else
echo "All seem good"
fi
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: releases
path: dist
Expand All @@ -45,7 +45,7 @@ jobs:
needs: [build_artifacts]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: releases
path: dist
Expand All @@ -60,11 +60,11 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
steps:
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: releases
path: dist
- uses: pypa/gh-action-pypi-publish@v1.8.10
- uses: pypa/gh-action-pypi-publish@v1.8.14
with:
user: __token__
password: ${{ secrets.pypi_password }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/windows-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ jobs:
strategy:
fail-fast: True
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']
python-version: ['3.10', '3.11']
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: conda-incubator/setup-miniconda@v2.3.0
- uses: conda-incubator/setup-miniconda@v3.0.4
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
Expand Down
15 changes: 6 additions & 9 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,25 @@ default_stages: [commit, push]
default_language_version:
python: python3
repos:
- repo: https://github.com/charliermarsh/ruff-pre-commit
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: 'v0.0.224'
rev: 'v0.4.4'
hooks:
- id: ruff
# Respect `exclude` and `extend-exclude` settings.
args: ["--force-exclude"]
- repo: https://github.com/psf/black
rev: 22.12.0
rev: 24.4.2
hooks:
- id: black
- repo: https://github.com/codespell-project/codespell
rev: v2.2.5
rev: v2.2.6
hooks:
- id: codespell
args: ["-L", "ba,ihs,kake,nd,noe,nwo,te,fo,zar", "-S", "fixture"]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v4.6.0
hooks:
- id: check-yaml
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.3.0
rev: v1.10.0
hooks:
- id: mypy
files: zarr
Expand Down
4 changes: 3 additions & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,6 @@ python:
extra_requirements:
- docs

formats: all
formats:
- htmlzip
- pdf
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2015-2023 Zarr Developers <https://github.com/zarr-developers>
Copyright (c) 2015-2024 Zarr Developers <https://github.com/zarr-developers>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,10 @@
</td>
</tr>
<tr>
<td>Gitter</td>
<td>Zulip</td>
<td>
<a href="https://gitter.im/zarr-developers/community">
<img src="https://badges.gitter.im/zarr-developers/community.svg" />
<a href="https://ossci.zulipchat.com/">
<img src="https://img.shields.io/badge/zulip-join_chat-brightgreen.svg" />
</a>
</td>
</tr>
Expand Down
26 changes: 26 additions & 0 deletions TEAM.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## Active core-developers
- @joshmoore (Josh Moore)
- @jni (Juan Nunez-Iglesias)
- @rabernat (Ryan Abernathey)
- @jhamman (Joe Hamman)
- @d-v-b (Davis Bennett)
- @jakirkham (jakirkham)
- @martindurant (Martin Durant)
- @normanrz (Norman Rzepka)

## Emeritus core-developers
- @alimanfoo (Alistair Miles)
- @shoyer (Stephan Hoyer)
- @ryan-williams (Ryan Williams)
- @jrbourbeau (James Bourbeau)
- @mzjp2 (Zain Patel)
- @grlee77 (Gregory Lee)

## Former core-developers
- @jeromekelleher (Jerome Kelleher)
- @tjcrone (Tim Crone)
- @funkey (Jan Funke)
- @shikharsg
- @Carreau (Matthias Bussonnier)
- @dazzag24
- @WardF (Ward Fisher)
1 change: 0 additions & 1 deletion bench/compress_normal.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
from zarr import blosc

if __name__ == "__main__":

sys.path.insert(0, "..")

# setup
Expand Down
9 changes: 4 additions & 5 deletions docs/api/v3.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
V3 Specification Implementation(``zarr._storage.v3``)
=====================================================

This module contains the implementation of the `Zarr V3 Specification <https://zarr-specs.readthedocs.io/en/latest/v3/core/v3.0.html>`_.
This module contains an experimental implementation of the `Zarr V3 Specification <https://zarr-specs.readthedocs.io/en/latest/v3/core/v3.0.html>`_.

.. warning::
Since Zarr Python 2.12 release, this module provides experimental infrastructure for reading and
writing the upcoming V3 spec of the Zarr format. Users wishing to prepare for the migration can set
the environment variable ``ZARR_V3_EXPERIMENTAL_API=1`` to begin experimenting, however data
written with this API should be expected to become stale, as the implementation will still change.
The experimental v3 implementation included in Zarr Python >2.12,<3 is not aligned with the final
V3 specification. This version is deprecated and will be removed in Zarr Python 3.0 in favor of a
spec compliant version.

The new ``zarr._store.v3`` package has the necessary classes and functions for evaluating Zarr V3.
Since the design is not finalised, the classes and functions are not automatically imported into
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@

# General information about the project.
project = "zarr"
copyright = "2023, Zarr Developers"
copyright = "2024, Zarr Developers"
author = "Zarr Developers"

version = zarr.__version__
Expand Down
4 changes: 2 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ Zarr-Python

**Version**: |version|

**Download documentation**: `PDF/Zipped HTML/EPUB <https://readthedocs.org/projects/zarr/downloads/>`_
**Download documentation**: `PDF/Zipped HTML <https://readthedocs.org/projects/zarr/downloads/>`_

**Useful links**:
`Installation <installation.html>`_ |
`Source Repository <https://github.com/zarr-developers/zarr-python>`_ |
`Issue Tracker <https://github.com/zarr-developers/zarr-python/issues>`_ |
`Gitter <https://gitter.im/zarr-developers/community>`_
`Zulip Chat <https://ossci.zulipchat.com/>`_

Zarr is a file storage format for chunked, compressed, N-dimensional arrays based on an open-source specification.

Expand Down
5 changes: 5 additions & 0 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ Zarr depends on NumPy. It is generally best to `install NumPy
appropriate for your operating system and Python distribution. Other dependencies should be
installed automatically if using one of the installation methods below.

Note: Zarr has endorsed `Scientific-Python SPEC 0 <https://scientific-python.org/specs/spec-0000/>`_ and now follows the version support window as outlined below:

- Python: 36 months after initial release
- Core package dependencies (e.g. NumPy): 24 months after initial release

Install Zarr from PyPI::

$ pip install zarr
Expand Down
Loading