Skip to content

Commit 32fda64

Browse files
committed
Refactor: Update imports to directly use Sigima objects and remove redundant object module
1 parent fda1dee commit 32fda64

File tree

18 files changed

+20
-208
lines changed

18 files changed

+20
-208
lines changed

datalab_kernel/backends/webapi.py

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@
4444
except ImportError:
4545
HTTPX_AVAILABLE = False
4646

47-
if TYPE_CHECKING:
48-
from sigima.objects import ImageObj, SignalObj
47+
from sigima import ImageObj, SignalObj
4948

49+
if TYPE_CHECKING:
5050
DataObject = SignalObj | ImageObj
5151

5252

@@ -472,11 +472,6 @@ def _load_object_from_group(self, grp, name: str) -> DataObject | None:
472472
obj_type = grp.attrs.get("type", "unknown")
473473

474474
if obj_type == "SignalObj" or ("x" in grp and "y" in grp):
475-
try:
476-
from sigima import SignalObj
477-
except ImportError:
478-
from datalab_kernel.objects import SignalObj
479-
480475
x = np.array(grp["x"])
481476
y = np.array(grp["y"])
482477
dx = np.array(grp["dx"]) if "dx" in grp else None
@@ -488,11 +483,6 @@ def _load_object_from_group(self, grp, name: str) -> DataObject | None:
488483
return obj
489484

490485
if obj_type == "ImageObj" or "data" in grp:
491-
try:
492-
from sigima import ImageObj
493-
except ImportError:
494-
from datalab_kernel.objects import ImageObj
495-
496486
data = np.array(grp["data"])
497487
obj = ImageObj()
498488
obj.data = data

datalab_kernel/kernel.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from datalab_kernel import __version__
1919
from datalab_kernel.plotter import Plotter
2020
from datalab_kernel.workspace import Workspace
21+
from sigima import create_image, create_signal
2122

2223

2324
class DataLabKernel(IPythonKernel):
@@ -88,8 +89,6 @@ def _setup_namespace(self) -> None:
8889
pass
8990

9091
# Add convenience functions
91-
from datalab_kernel.objects import create_image, create_signal
92-
9392
ns["create_signal"] = create_signal
9493
ns["create_image"] = create_image
9594

datalab_kernel/objects.py

Lines changed: 0 additions & 18 deletions
This file was deleted.

datalab_kernel/serialization_npz.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,9 @@
3535
from typing import TYPE_CHECKING
3636

3737
import numpy as np
38+
from sigima import ImageObj, SignalObj
3839

3940
if TYPE_CHECKING:
40-
from sigima.objects import ImageObj, SignalObj
41-
4241
DataObject = SignalObj | ImageObj
4342

4443

@@ -158,11 +157,6 @@ def _read_array_from_zip(zf: zipfile.ZipFile, name: str) -> np.ndarray | None:
158157

159158
def _deserialize_signal(zf: zipfile.ZipFile, metadata: dict) -> DataObject:
160159
"""Deserialize a SignalObj from NPZ archive."""
161-
try:
162-
from sigima import SignalObj
163-
except ImportError:
164-
from datalab_kernel.objects import SignalObj
165-
166160
x = _read_array_from_zip(zf, "x.npy")
167161
y = _read_array_from_zip(zf, "y.npy")
168162
dx = _read_array_from_zip(zf, "dx.npy")
@@ -190,11 +184,6 @@ def _deserialize_signal(zf: zipfile.ZipFile, metadata: dict) -> DataObject:
190184

191185
def _deserialize_image(zf: zipfile.ZipFile, metadata: dict) -> DataObject:
192186
"""Deserialize an ImageObj from NPZ archive."""
193-
try:
194-
from sigima import ImageObj
195-
except ImportError:
196-
from datalab_kernel.objects import ImageObj
197-
198187
data = _read_array_from_zip(zf, "data.npy")
199188
if data is None:
200189
raise ValueError("Invalid image NPZ: missing data.npy")

datalab_kernel/tests/contract/test_api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import numpy as np
1818
import pytest
1919

20-
from datalab_kernel.objects import create_image, create_signal
20+
from sigima import create_image, create_signal
2121
from datalab_kernel.plotter import Plotter
2222
from datalab_kernel.workspace import StandaloneBackend, Workspace
2323

datalab_kernel/tests/data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
import numpy as np
1414

15-
from datalab_kernel.objects import ImageObj, SignalObj, create_image, create_signal
15+
from sigima import ImageObj, SignalObj, create_image, create_signal
1616

1717

1818
def make_test_signal(

datalab_kernel/tests/unit/test_kernel.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,15 @@ def test_plotter_class_importable(self):
8787
assert Plotter is not None
8888

8989
def test_objects_importable(self):
90-
"""Verify object classes are importable."""
91-
from datalab_kernel.objects import ImageObj, SignalObj
90+
"""Verify object classes are importable from Sigima."""
91+
from sigima import ImageObj, SignalObj
9292

9393
assert SignalObj is not None
9494
assert ImageObj is not None
9595

9696
def test_create_functions_importable(self):
97-
"""Verify create functions are importable."""
98-
from datalab_kernel.objects import create_image, create_signal
97+
"""Verify create functions are importable from Sigima."""
98+
from sigima import create_image, create_signal
9999

100100
assert callable(create_signal)
101101
assert callable(create_image)

datalab_kernel/tests/unit/test_objects.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
import numpy as np
1414

15-
from datalab_kernel.objects import (
15+
from sigima import (
1616
ImageObj,
1717
SignalObj,
1818
create_image,

datalab_kernel/workspace.py

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,9 @@
2424
from typing import TYPE_CHECKING
2525

2626
import numpy as np
27+
from sigima import ImageObj, SignalObj
2728

2829
if TYPE_CHECKING:
29-
from sigima.objects import ImageObj, SignalObj
30-
3130
DataObject = SignalObj | ImageObj
3231

3332

@@ -282,13 +281,6 @@ def _load_object_from_group(self, grp, name: str) -> DataObject | None:
282281

283282
def _load_signal(self, grp, name: str) -> DataObject:
284283
"""Load a SignalObj from an HDF5 group."""
285-
# Conditional import: prefer sigima, fallback to local objects
286-
# pylint: disable=import-outside-toplevel
287-
try:
288-
from sigima import SignalObj
289-
except ImportError:
290-
from datalab_kernel.objects import SignalObj
291-
292284
x = np.array(grp["x"])
293285
y = np.array(grp["y"])
294286
dx = np.array(grp["dx"]) if "dx" in grp else None
@@ -310,13 +302,6 @@ def _load_signal(self, grp, name: str) -> DataObject:
310302

311303
def _load_image(self, grp, name: str) -> DataObject:
312304
"""Load an ImageObj from an HDF5 group."""
313-
# Conditional import: prefer sigima, fallback to local objects
314-
# pylint: disable=import-outside-toplevel
315-
try:
316-
from sigima import ImageObj
317-
except ImportError:
318-
from datalab_kernel.objects import ImageObj
319-
320305
data = np.array(grp["data"])
321306

322307
obj = ImageObj()
@@ -486,8 +471,6 @@ def add(self, name: str, obj: DataObject, overwrite: bool = False) -> None:
486471
obj.title = name
487472

488473
# Determine which panel the object will be added to
489-
from sigima import SignalObj # pylint: disable=import-outside-toplevel
490-
491474
panel = "signal" if isinstance(obj, SignalObj) else "image"
492475

493476
# add_object uses cross-thread Qt signals - it returns before the signal

doc/api/index.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ scientific data processing in Jupyter notebooks.
1616
* - :mod:`datalab_kernel`
1717
- Main entry point with ``Workspace``, ``Plotter``, and ``WorkspaceMode``
1818

19-
* - :mod:`datalab_kernel.objects`
20-
- Data objects (``SignalObj``, ``ImageObj``) and creation functions
21-
(``create_signal``, ``create_image``) - re-exported from Sigima
22-
2319
* - :mod:`datalab_kernel.workspace`
2420
- Workspace implementation with backend abstraction
2521

@@ -29,5 +25,4 @@ scientific data processing in Jupyter notebooks.
2925
:caption: API Modules:
3026

3127
workspace
32-
objects
3328
plotter

0 commit comments

Comments
 (0)