Skip to content

Commit 0b0ac88

Browse files
sanketverma1704d-v-bjoshmoore
authored
Update release.rst (#1621)
* Update release.rst * Update release.rst * Change 2.16.2 → 2.17.0 * Update moto for test_s3 * Skip bsddb3 tests to prevent warning failure * Fix more user warning tests * Fix even more user warning tests * Skip coverage for importorskips * Move to have_X skip method for deps * Update release.rst (PR#1663) * Fix test_core.py 'compile' issues * Add black formatting * Drop Windows/3.9 build due to unrelated failures * fix typo --------- Co-authored-by: Davis Bennett <[email protected]> Co-authored-by: Josh Moore <[email protected]>
1 parent 4f2ace4 commit 0b0ac88

File tree

6 files changed

+87
-11
lines changed

6 files changed

+87
-11
lines changed

.github/workflows/windows-testing.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
fail-fast: True
1818
matrix:
19-
python-version: ['3.9', '3.10', '3.11']
19+
python-version: ['3.10', '3.11']
2020
steps:
2121
- uses: actions/checkout@v4
2222
with:

docs/release.rst

+40
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,20 @@ Release notes
1818
Unreleased
1919
----------
2020

21+
.. _release_2.17.0:
22+
23+
2.17.0
24+
------
25+
2126
Enhancements
2227
~~~~~~~~~~~~
2328

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

32+
* Pyodide support: Don't require fasteners on Emscripten.
33+
By :user:`Hood Chatham <hoodmane>` :issue:`1663`.
34+
2735
Docs
2836
~~~~
2937

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

56+
* Automatically document array members using sphinx-automodapi.
57+
By :user:`David Stansby <dstansby>` :issue:`1547`.
58+
59+
* Add a markdown file documenting the current and former core-developer team.
60+
By :user:`Joe Hamman <jhamman>` :issue:`1628`.
61+
62+
* Add Norman Rzepka to core-dev team.
63+
By :user:`Joe Hamman <jhamman>` :issue:`1630`.
64+
4865
* Added section about accessing zip files that are on s3.
4966
By :user:`Jeff Peck <jeffpeck10x>` :issue:`1613`.
5067

68+
* Add V3 roadmap and design document.
69+
By :user:`Joe Hamman <jhamman>` :issue:`1583`.
70+
5171
Maintenance
5272
~~~~~~~~~~~
5373

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

98+
* Remove ``CODE_OF_CONDUCT.md`` file from the Zarr-Python repository.
99+
By :user:`Sanket Verma <MSanKeys963>` :issue:`1572`.
100+
101+
* Bump version of black in pre-commit.
102+
By :user:`David Stansby <dtstansby>` :issue:`1559`.
103+
104+
* Use list comprehension where applicable.
105+
By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`1555`.
106+
107+
* Use format specification mini-language to format string.
108+
By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`1558`.
109+
110+
* Single startswith() call instead of multiple ones.
111+
By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`1556`.
112+
113+
* Move codespell options around.
114+
By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`1196`.
115+
116+
* Remove unused mypy ignore comments.
117+
By :user:`David Stansby <dtstansby>` :issue:`1602`.
78118

79119
.. _release_2.16.1:
80120

requirements_dev_optional.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ pytest-timeout==2.2.0
2020
h5py==3.10.0
2121
fsspec==2023.12.2
2222
s3fs==2023.12.2
23-
moto[server]>=4.0.8
23+
moto[server]>=5.0.1

zarr/tests/test_core.py

+20-8
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,15 @@
7373
)
7474
from zarr.tests.test_storage_v3 import DummyStorageTransfomer
7575
from zarr.util import buffer_size
76-
from zarr.tests.util import abs_container, skip_test_env_var, have_fsspec, mktemp
76+
from zarr.tests.util import (
77+
abs_container,
78+
have_bsddb3,
79+
have_fsspec,
80+
have_lmdb,
81+
have_sqlite3,
82+
mktemp,
83+
skip_test_env_var,
84+
)
7785
from zarr.types import DIMENSION_SEPARATOR
7886

7987
# noinspection PyMethodMayBeStatic
@@ -2038,9 +2046,11 @@ def test_nbytes_stored(self):
20382046
pass # not implemented
20392047

20402048

2049+
@pytest.mark.skipif(have_bsddb3 is False, reason="needs bsddb3")
20412050
class TestArrayWithDBMStoreBerkeleyDB(TestArray):
20422051
def create_store(self):
2043-
bsddb3 = pytest.importorskip("bsddb3")
2052+
import bsddb3
2053+
20442054
path = mktemp(suffix=".dbm")
20452055
atexit.register(os.remove, path)
20462056
store = DBMStore(path, flag="n", open=bsddb3.btopen)
@@ -2050,9 +2060,9 @@ def test_nbytes_stored(self):
20502060
pass # not implemented
20512061

20522062

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

20672077

2078+
@pytest.mark.skipif(have_lmdb is False, reason="needs lmdb")
20682079
class TestArrayWithLMDBStoreNoBuffers(TestArray):
20692080
def create_store(self):
2070-
pytest.importorskip("lmdb")
20712081
path = mktemp(suffix=".lmdb")
20722082
atexit.register(atexit_rmtree, path)
20732083
store = LMDBStore(path, buffers=False)
@@ -2077,9 +2087,9 @@ def test_nbytes_stored(self):
20772087
pass # not implemented
20782088

20792089

2090+
@pytest.mark.skipif(have_sqlite3 is False, reason="needs sqlite3")
20802091
class TestArrayWithSQLiteStore(TestArray):
20812092
def create_store(self):
2082-
pytest.importorskip("sqlite3")
20832093
path = mktemp(suffix=".db")
20842094
atexit.register(atexit_rmtree, path)
20852095
store = SQLiteStore(path)
@@ -2758,9 +2768,11 @@ def test_nbytes_stored(self):
27582768

27592769

27602770
@pytest.mark.skipif(not v3_api_available, reason="V3 is disabled")
2771+
@pytest.mark.skipif(have_bsddb3 is False, reason="needs bsddb3")
27612772
class TestArrayWithDBMStoreV3BerkeleyDB(TestArrayV3):
27622773
def create_store(self) -> DBMStoreV3:
2763-
bsddb3 = pytest.importorskip("bsddb3")
2774+
import bsddb3
2775+
27642776
path = mktemp(suffix=".dbm")
27652777
atexit.register(os.remove, path)
27662778
store = DBMStoreV3(path, flag="n", open=bsddb3.btopen)
@@ -2771,11 +2783,11 @@ def test_nbytes_stored(self):
27712783

27722784

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

27772790
def create_store(self) -> LMDBStoreV3:
2778-
pytest.importorskip("lmdb")
27792791
path = mktemp(suffix=".lmdb")
27802792
atexit.register(atexit_rmtree, path)
27812793
store = LMDBStoreV3(path, buffers=self.lmdb_buffers)
@@ -2797,9 +2809,9 @@ def test_nbytes_stored(self):
27972809

27982810

27992811
@pytest.mark.skipif(not v3_api_available, reason="V3 is disabled")
2812+
@pytest.mark.skipif(have_sqlite3 is False, reason="needs sqlite3")
28002813
class TestArrayWithSQLiteStoreV3(TestArrayV3):
28012814
def create_store(self):
2802-
pytest.importorskip("sqlite3")
28032815
path = mktemp(suffix=".db")
28042816
atexit.register(atexit_rmtree, path)
28052817
store = SQLiteStoreV3(path)

zarr/tests/test_storage.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1396,7 +1396,7 @@ def s3(request):
13961396
port = 5555
13971397
endpoint_uri = "http://127.0.0.1:%d/" % port
13981398
proc = subprocess.Popen(
1399-
shlex.split("moto_server s3 -p %d" % port),
1399+
shlex.split("moto_server -p %d" % port),
14001400
stderr=subprocess.DEVNULL,
14011401
stdout=subprocess.DEVNULL,
14021402
)

zarr/tests/util.py

+24
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,30 @@ def skip_test_env_var(name):
6969
have_fsspec = False
7070

7171

72+
try:
73+
import bsddb3 # noqa: F401
74+
75+
have_bsddb3 = True
76+
except ImportError: # pragma: no cover
77+
have_bsddb3 = False
78+
79+
80+
try:
81+
import lmdb # noqa: F401
82+
83+
have_lmdb = True
84+
except ImportError: # pragma: no cover
85+
have_lmdb = False
86+
87+
88+
try:
89+
import sqlite3 # noqa: F401
90+
91+
have_sqlite3 = True
92+
except ImportError: # pragma: no cover
93+
have_sqlite3 = False
94+
95+
7296
def abs_container():
7397
from azure.core.exceptions import ResourceExistsError
7498
import azure.storage.blob as asb

0 commit comments

Comments
 (0)