Skip to content

Commit

Permalink
Some import checks
Browse files Browse the repository at this point in the history
  • Loading branch information
franzpoeschel committed Feb 4, 2025
1 parent dc2af3f commit 8feaf18
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
12 changes: 9 additions & 3 deletions examples/15_scipp_loader.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
import openpmd_api as pmd
import openpmd_api.scipp as pmdsc
import scipp as sc


def main():
series = pmd.Series("../samples/git-sample/data%T.h5", pmd.Access.read_only)

try:
scipp_loader = series.to_scipp()
import plopp
except ImportError:
print("Need to install scipp and plopp to run this example.")
return
import openpmd_api.scipp as pmdsc
import scipp as sc
time = 65 * sc.Unit("fs")
scipp_loader = series.to_scipp()

print(scipp_loader.iterations)
Ex = scipp_loader.get_field("E", "x", time=time)
print(Ex)
Expand Down
11 changes: 10 additions & 1 deletion src/binding/python/openpmd_api/ScippLazyInit.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
def series_to_scipp(series):

import scipp
# lazy import
try:
import scipp
found_scipp = True
except ImportError as original_error:
found_scipp = False
original_error_string = f"{original_error}"

if not found_scipp:
raise ImportError(f"Scipp NOT found. Install scipp for Scipp support. Original error: {original_error_string}")

from .scipp import DataLoader

Expand Down

0 comments on commit 8feaf18

Please sign in to comment.