Skip to content

Commit

Permalink
Support napari>=0.5 (#274)
Browse files Browse the repository at this point in the history
* Remove as_dict kwarg

* Pin to napari >= 0.5

* Fix scatter test?

* Update test image

* Fix brain data

* Fix another as_dict arg

* Fix FutureWarning

* Fix scatter test's OverflowError

And revert to original baseline images.

* Try updating mypy's python version.

* Revert shape → newshape and suppress deprecation warning.

---------

Co-authored-by: Sam Cunliffe <[email protected]>
Co-authored-by: Sam Cunliffe <[email protected]>
  • Loading branch information
3 people authored Oct 1, 2024
1 parent d0b03bb commit 7e860f5
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 14 deletions.
20 changes: 13 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,18 @@ filterwarnings = [
"ignore:distutils Version classes are deprecated:DeprecationWarning",
"ignore:`np.bool8` is a deprecated alias for `np.bool_`:DeprecationWarning",
# Coming from pydantic via napari
"ignore:Pickle, copy, and deepcopy support will be removed from itertools in Python 3.14.:DeprecationWarning"
"ignore:Pickle, copy, and deepcopy support will be removed from itertools in Python 3.14.:DeprecationWarning",
# Until we stop supporting older numpy versions (<2.1)
"ignore:(?s).*`newshape` keyword argument is deprecated.*$:DeprecationWarning",
]
qt_api = "pyqt6"
addopts = ["--mpl", "--mpl-baseline-relative", "--strict-config", "--strict-markers", "-ra"]
addopts = [
"--mpl",
"--mpl-baseline-relative",
"--strict-config",
"--strict-markers",
"-ra",
]
minversion = "7"
testpaths = ["src/napari_matplotlib/tests"]
log_cli_level = "INFO"
Expand Down Expand Up @@ -54,17 +62,15 @@ ignore = [
convention = "numpy"

[tool.mypy]
python_version = "3.10"
python_version = "3.12"
# Block below are checks that form part of mypy 'strict' mode
strict = true
disallow_subclassing_any = false # TODO: fix
warn_return_any = false # TODO: fix
warn_return_any = false # TODO: fix
ignore_missing_imports = true

enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]

[[tool.mypy.overrides]]
module = [
"napari_matplotlib/tests/*",
]
module = ["napari_matplotlib/tests/*"]
disallow_untyped_defs = false
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ project_urls =
packages = find:
install_requires =
matplotlib
napari<0.5
napari>=0.5
numpy>=1.23
tinycss2
python_requires = >=3.10
Expand Down
6 changes: 3 additions & 3 deletions src/napari_matplotlib/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def __init__(
super().__init__(parent=parent)
self.viewer = napari_viewer
self.napari_theme_style_sheet = style_sheet_from_theme(
get_theme(napari_viewer.theme, as_dict=False)
get_theme(napari_viewer.theme)
)

# Sets figure.* style
Expand Down Expand Up @@ -84,7 +84,7 @@ def _on_napari_theme_changed(self, event: Event) -> None:
Event that triggered the callback.
"""
self.napari_theme_style_sheet = style_sheet_from_theme(
get_theme(event.value, as_dict=False)
get_theme(event.value)
)
self._replace_toolbar_icons()

Expand All @@ -97,7 +97,7 @@ def _napari_theme_has_light_bg(self) -> bool:
bool
True if theme's background colour has hsl lighter than 50%, False if darker.
"""
theme = napari.utils.theme.get_theme(self.viewer.theme, as_dict=False)
theme = napari.utils.theme.get_theme(self.viewer.theme)
_, _, bg_lightness = theme.background.as_hsl_tuple()
return bg_lightness > 0.5

Expand Down
6 changes: 4 additions & 2 deletions src/napari_matplotlib/tests/scatter/test_scatter.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ def test_scatter_2D(make_napari_viewer, astronaut_data):
viewer.add_image(astronaut_data[0], **astronaut_data[1], name="astronaut")

viewer.add_image(
astronaut_data[0] * -1, **astronaut_data[1], name="astronaut_reversed"
astronaut_data[0] * -1.0,
**astronaut_data[1],
name="astronaut_reversed",
)
# De-select existing selection
viewer.layers.selection.clear()
Expand All @@ -36,7 +38,7 @@ def test_scatter_3D(make_napari_viewer, brain_data):
viewer.add_image(brain_data[0], **brain_data[1], name="brain")

viewer.add_image(
brain_data[0] * -1, **brain_data[1], name="brain_reversed"
brain_data[0] * -1.0, **brain_data[1], name="brain_reversed"
)
# De-select existing selection
viewer.layers.selection.clear()
Expand Down
2 changes: 1 addition & 1 deletion src/napari_matplotlib/tests/test_theme.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def _mock_up_theme() -> None:
Based on:
https://napari.org/stable/gallery/new_theme.html
"""
blue_theme = napari.utils.theme.get_theme("dark", False)
blue_theme = napari.utils.theme.get_theme("dark")
blue_theme.label = "blue"
blue_theme.background = "#4169e1" # my favourite shade of blue
napari.utils.theme.register_theme(
Expand Down

0 comments on commit 7e860f5

Please sign in to comment.