figpack 0.2.35__py3-none-any.whl → 0.2.37__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of figpack might be problematic. Click here for more details.

@@ -2,9 +2,13 @@
2
2
  Base class for views that use figpack extensions
3
3
  """
4
4
 
5
+ from typing import TYPE_CHECKING
6
+
5
7
  from .figpack_view import FigpackView
6
- from .figpack_extension import FigpackExtension
7
- from ..core.zarr import Group
8
+
9
+ if TYPE_CHECKING:
10
+ from .figpack_extension import FigpackExtension
11
+ from .zarr import Group
8
12
 
9
13
 
10
14
  class ExtensionView(FigpackView):
@@ -12,7 +16,7 @@ class ExtensionView(FigpackView):
12
16
  Base class for views that are rendered by figpack extensions
13
17
  """
14
18
 
15
- def __init__(self, *, extension: FigpackExtension, view_type: str):
19
+ def __init__(self, *, extension: "FigpackExtension", view_type: str) -> None:
16
20
  """
17
21
  Initialize an extension-based view
18
22
 
@@ -23,7 +27,7 @@ class ExtensionView(FigpackView):
23
27
  self.extension = extension
24
28
  self.view_type = view_type
25
29
 
26
- def write_to_zarr_group(self, group: Group) -> None:
30
+ def write_to_zarr_group(self, group: "Group") -> None:
27
31
  """
28
32
  Write the extension view metadata to a Zarr group.
29
33
  Subclasses should call super().write_to_zarr_group(group) first,
@@ -17,7 +17,7 @@ class FigpackExtension:
17
17
  javascript_code: str,
18
18
  additional_files: Optional[Dict[str, str]] = None,
19
19
  version: str = "1.0.0",
20
- ):
20
+ ) -> None:
21
21
  """
22
22
  Initialize a figpack extension
23
23
 
@@ -5,7 +5,7 @@ Base view class for figpack visualization components
5
5
  import os
6
6
  import random
7
7
  import string
8
- from typing import Union
8
+ from typing import Optional
9
9
 
10
10
  from .zarr import Group
11
11
 
@@ -19,17 +19,17 @@ class FigpackView:
19
19
  self,
20
20
  *,
21
21
  title: str,
22
- description: Union[str, None] = None,
23
- port: Union[int, None] = None,
24
- open_in_browser: Union[bool, None] = None,
25
- upload: Union[bool, None] = None,
26
- inline: Union[bool, None] = None,
22
+ description: Optional[str] = None,
23
+ port: Optional[int] = None,
24
+ open_in_browser: Optional[bool] = None,
25
+ upload: Optional[bool] = None,
26
+ inline: Optional[bool] = None,
27
27
  inline_height: int = 600,
28
- ephemeral: Union[bool, None] = None,
29
- allow_origin: Union[str, None] = None,
30
- wait_for_input: Union[bool, None] = None,
31
- _dev: Union[bool, None] = None,
32
- ):
28
+ ephemeral: Optional[bool] = None,
29
+ allow_origin: Optional[str] = None,
30
+ wait_for_input: Optional[bool] = None,
31
+ _dev: Optional[bool] = None,
32
+ ) -> None:
33
33
  """
34
34
  Display a figpack view component with intelligent environment detection and flexible display options.
35
35
  See https://flatironinstitute.github.io/figpack/show_function.html for complete documentation.
@@ -86,6 +86,8 @@ class FigpackView:
86
86
  inline = False
87
87
  elif _is_in_notebook() and not upload:
88
88
  inline = True
89
+ else:
90
+ inline = False
89
91
 
90
92
  # determine open_in_browser
91
93
  if open_in_browser is None:
@@ -111,13 +113,19 @@ class FigpackView:
111
113
  upload = True
112
114
  ephemeral = True
113
115
 
116
+ if ephemeral is None:
117
+ ephemeral = False
118
+
119
+ if upload is None:
120
+ upload = False
121
+
114
122
  # determine _dev
115
123
  if _dev is None:
116
124
  _dev = os.environ.get("FIGPACK_DEV") == "1"
117
125
 
118
126
  if port is None and os.environ.get("FIGPACK_PORT"):
119
127
  try:
120
- port = int(os.environ.get("FIGPACK_PORT"))
128
+ port = int(os.environ.get("FIGPACK_PORT", ""))
121
129
  except Exception:
122
130
  pass
123
131
 
@@ -129,6 +137,8 @@ class FigpackView:
129
137
  if ephemeral and not upload:
130
138
  raise ValueError("ephemeral=True requires upload=True to be set")
131
139
 
140
+ _local_figure_name: Optional[str] = None
141
+
132
142
  if _dev:
133
143
  if open_in_browser:
134
144
  print("** Note: In dev mode, open_in_browser is forced to False **")
figpack/core/zarr.py CHANGED
@@ -33,13 +33,13 @@ class Group:
33
33
  if _check_zarr_version() == 2:
34
34
  self._zarr_group.create_dataset(name, **kwargs)
35
35
  elif _check_zarr_version() == 3:
36
- self._zarr_group.create_array(name, **kwargs)
36
+ self._zarr_group.create_array(name, **kwargs) # type: ignore
37
37
  else:
38
38
  raise RuntimeError("Unsupported Zarr version")
39
39
 
40
40
  @property
41
41
  def attrs(self) -> Dict[str, Any]:
42
- return self._zarr_group.attrs
42
+ return self._zarr_group.attrs # type: ignore
43
43
 
44
44
  def __getitem__(self, key: str) -> Any:
45
45
  return self._zarr_group[key]