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

Update release.rst #1621

Merged
merged 17 commits into from
Feb 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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/workflows/windows-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
strategy:
fail-fast: True
matrix:
python-version: ['3.9', '3.10', '3.11']
python-version: ['3.10', '3.11']
steps:
- uses: actions/checkout@v4
with:
Expand Down
40 changes: 40 additions & 0 deletions docs/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,20 @@ Release notes
Unreleased
----------

.. _release_2.17.0:

2.17.0
------

Enhancements
~~~~~~~~~~~~

* Added type hints to ``zarr.creation.create()``.
By :user:`David Stansby <dstansby>` :issue:`1536`.

* Pyodide support: Don't require fasteners on Emscripten.
By :user:`Hood Chatham <hoodmane>` :issue:`1663`.

Docs
~~~~

Expand All @@ -45,9 +53,21 @@ Docs
* Minor tweak to advanced indexing tutorial examples.
By :user:`Ross Barnowski <rossbar>` :issue:`1550`.

* Automatically document array members using sphinx-automodapi.
By :user:`David Stansby <dstansby>` :issue:`1547`.

* Add a markdown file documenting the current and former core-developer team.
By :user:`Joe Hamman <jhamman>` :issue:`1628`.

* Add Norman Rzepka to core-dev team.
By :user:`Joe Hamman <jhamman>` :issue:`1630`.

* Added section about accessing zip files that are on s3.
By :user:`Jeff Peck <jeffpeck10x>` :issue:`1613`.

* Add V3 roadmap and design document.
By :user:`Joe Hamman <jhamman>` :issue:`1583`.

Maintenance
~~~~~~~~~~~

Expand Down Expand Up @@ -75,6 +95,26 @@ Maintenance
* Remove ``sphinx-rtd-theme`` dependency from ``pyproject.toml``.
By :user:`Sanket Verma <MSanKeys963>` :issue:`1563`.

* Remove ``CODE_OF_CONDUCT.md`` file from the Zarr-Python repository.
By :user:`Sanket Verma <MSanKeys963>` :issue:`1572`.

* Bump version of black in pre-commit.
By :user:`David Stansby <dtstansby>` :issue:`1559`.

* Use list comprehension where applicable.
By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`1555`.

* Use format specification mini-language to format string.
By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`1558`.

* Single startswith() call instead of multiple ones.
By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`1556`.

* Move codespell options around.
By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`1196`.

* Remove unused mypy ignore comments.
By :user:`David Stansby <dtstansby>` :issue:`1602`.

.. _release_2.16.1:

Expand Down
2 changes: 1 addition & 1 deletion requirements_dev_optional.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ pytest-timeout==2.2.0
h5py==3.10.0
fsspec==2023.12.2
s3fs==2023.12.2
moto[server]>=4.0.8
moto[server]>=5.0.1
28 changes: 20 additions & 8 deletions zarr/tests/test_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,15 @@
)
from zarr.tests.test_storage_v3 import DummyStorageTransfomer
from zarr.util import buffer_size
from zarr.tests.util import abs_container, skip_test_env_var, have_fsspec, mktemp
from zarr.tests.util import (
abs_container,
have_bsddb3,
have_fsspec,
have_lmdb,
have_sqlite3,
mktemp,
skip_test_env_var,
)
from zarr.types import DIMENSION_SEPARATOR

# noinspection PyMethodMayBeStatic
Expand Down Expand Up @@ -2038,9 +2046,11 @@ def test_nbytes_stored(self):
pass # not implemented


@pytest.mark.skipif(have_bsddb3 is False, reason="needs bsddb3")
class TestArrayWithDBMStoreBerkeleyDB(TestArray):
def create_store(self):
bsddb3 = pytest.importorskip("bsddb3")
import bsddb3

path = mktemp(suffix=".dbm")
atexit.register(os.remove, path)
store = DBMStore(path, flag="n", open=bsddb3.btopen)
Expand All @@ -2050,9 +2060,9 @@ def test_nbytes_stored(self):
pass # not implemented


@pytest.mark.skipif(have_lmdb is False, reason="needs lmdb")
class TestArrayWithLMDBStore(TestArray):
def create_store(self):
pytest.importorskip("lmdb")
path = mktemp(suffix=".lmdb")
atexit.register(atexit_rmtree, path)
store = LMDBStore(path, buffers=True)
Expand All @@ -2065,9 +2075,9 @@ def test_nbytes_stored(self):
pass # not implemented


@pytest.mark.skipif(have_lmdb is False, reason="needs lmdb")
class TestArrayWithLMDBStoreNoBuffers(TestArray):
def create_store(self):
pytest.importorskip("lmdb")
path = mktemp(suffix=".lmdb")
atexit.register(atexit_rmtree, path)
store = LMDBStore(path, buffers=False)
Expand All @@ -2077,9 +2087,9 @@ def test_nbytes_stored(self):
pass # not implemented


@pytest.mark.skipif(have_sqlite3 is False, reason="needs sqlite3")
class TestArrayWithSQLiteStore(TestArray):
def create_store(self):
pytest.importorskip("sqlite3")
path = mktemp(suffix=".db")
atexit.register(atexit_rmtree, path)
store = SQLiteStore(path)
Expand Down Expand Up @@ -2758,9 +2768,11 @@ def test_nbytes_stored(self):


@pytest.mark.skipif(not v3_api_available, reason="V3 is disabled")
@pytest.mark.skipif(have_bsddb3 is False, reason="needs bsddb3")
class TestArrayWithDBMStoreV3BerkeleyDB(TestArrayV3):
def create_store(self) -> DBMStoreV3:
bsddb3 = pytest.importorskip("bsddb3")
import bsddb3

path = mktemp(suffix=".dbm")
atexit.register(os.remove, path)
store = DBMStoreV3(path, flag="n", open=bsddb3.btopen)
Expand All @@ -2771,11 +2783,11 @@ def test_nbytes_stored(self):


@pytest.mark.skipif(not v3_api_available, reason="V3 is disabled")
@pytest.mark.skipif(have_lmdb is False, reason="needs lmdb")
class TestArrayWithLMDBStoreV3(TestArrayV3):
lmdb_buffers = True

def create_store(self) -> LMDBStoreV3:
pytest.importorskip("lmdb")
path = mktemp(suffix=".lmdb")
atexit.register(atexit_rmtree, path)
store = LMDBStoreV3(path, buffers=self.lmdb_buffers)
Expand All @@ -2797,9 +2809,9 @@ def test_nbytes_stored(self):


@pytest.mark.skipif(not v3_api_available, reason="V3 is disabled")
@pytest.mark.skipif(have_sqlite3 is False, reason="needs sqlite3")
class TestArrayWithSQLiteStoreV3(TestArrayV3):
def create_store(self):
pytest.importorskip("sqlite3")
path = mktemp(suffix=".db")
atexit.register(atexit_rmtree, path)
store = SQLiteStoreV3(path)
Expand Down
2 changes: 1 addition & 1 deletion zarr/tests/test_storage.py
Original file line number Diff line number Diff line change
Expand Up @@ -1396,7 +1396,7 @@ def s3(request):
port = 5555
endpoint_uri = "http://127.0.0.1:%d/" % port
proc = subprocess.Popen(
shlex.split("moto_server s3 -p %d" % port),
shlex.split("moto_server -p %d" % port),
stderr=subprocess.DEVNULL,
stdout=subprocess.DEVNULL,
)
Expand Down
24 changes: 24 additions & 0 deletions zarr/tests/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,30 @@ def skip_test_env_var(name):
have_fsspec = False


try:
import bsddb3 # noqa: F401

have_bsddb3 = True
except ImportError: # pragma: no cover
have_bsddb3 = False


try:
import lmdb # noqa: F401

have_lmdb = True
except ImportError: # pragma: no cover
have_lmdb = False


try:
import sqlite3 # noqa: F401

have_sqlite3 = True
except ImportError: # pragma: no cover
have_sqlite3 = False


def abs_container():
from azure.core.exceptions import ResourceExistsError
import azure.storage.blob as asb
Expand Down
Loading