iints-sdk-python35 1.5.16__py3-none-any.whl → 1.5.17__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.
iints/__init__.py CHANGED
@@ -11,7 +11,7 @@ except ImportError: # pragma: no cover - Python < 3.8 fallback
11
11
  try:
12
12
  __version__ = version("iints-sdk-python35")
13
13
  except PackageNotFoundError: # pragma: no cover - source tree fallback
14
- __version__ = "1.5.16"
14
+ __version__ = "1.5.17"
15
15
 
16
16
  # Note to developers: this SDK is currently maintained by a single author.
17
17
  # Please report bugs via GitHub issues and feel free to contribute fixes via PRs.
@@ -4,13 +4,14 @@ import logging
4
4
  import json
5
5
  from datetime import datetime
6
6
  from pathlib import Path
7
- from typing import Any, Dict, List, Optional
7
+ from typing import Any, Dict, List, Optional, cast
8
8
 
9
9
  os.environ.setdefault("MPLBACKEND", "Agg")
10
10
  os.environ.setdefault("MPLCONFIGDIR", str(Path(tempfile.gettempdir()) / "iints-matplotlib"))
11
11
 
12
12
  import matplotlib.pyplot as plt
13
13
  import numpy as np
14
+ from numpy.typing import NDArray
14
15
  import pandas as pd
15
16
  from fpdf import FPDF
16
17
  from fpdf.enums import XPos, YPos
@@ -777,11 +778,18 @@ class ClinicalReportGenerator:
777
778
  working = df.copy()
778
779
  if "time_minutes" not in working.columns:
779
780
  working["time_minutes"] = np.arange(len(working), dtype=float) * self._infer_step_minutes(working)
780
- x_hours = pd.to_numeric(working["time_minutes"], errors="coerce").fillna(0.0).to_numpy(dtype=float) / 60.0
781
- glucose = pd.to_numeric(working["glucose_actual_mgdl"], errors="coerce").to_numpy(dtype=float)
781
+ x_hours = cast(
782
+ NDArray[np.float64],
783
+ pd.to_numeric(working["time_minutes"], errors="coerce").fillna(0.0).to_numpy(dtype=np.float64)
784
+ / 60.0,
785
+ )
786
+ glucose = cast(
787
+ NDArray[np.float64],
788
+ pd.to_numeric(working["glucose_actual_mgdl"], errors="coerce").to_numpy(dtype=np.float64),
789
+ )
782
790
  if len(glucose) == 0:
783
- glucose = np.array([0.0])
784
- x_hours = np.array([0.0])
791
+ glucose = np.asarray([0.0], dtype=np.float64)
792
+ x_hours = np.asarray([0.0], dtype=np.float64)
785
793
 
786
794
  fig, ax = plt.subplots(figsize=(10.8, 5.2))
787
795
  x_min = float(np.nanmin(x_hours))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iints-sdk-python35
3
- Version: 1.5.16
3
+ Version: 1.5.17
4
4
  Summary: A pre-clinical Edge-AI SDK for diabetes management validation.
5
5
  Author-email: Rune Bobbaers <rune.bobbaers@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -1,4 +1,4 @@
1
- iints/__init__.py,sha256=R0ZCPUinopNEj6cx10k3xX-5-dayFXTz96f9OtiUZW4,11347
1
+ iints/__init__.py,sha256=aNY5PYYG-mwmBdddvcR0dmkGN85ral4LMFu8UjlQR9k,11347
2
2
  iints/demo_assets.py,sha256=h9bXB6aBptwtvd2drAjg4wp3XE7zXuESxVG8vJgSUJU,2071
3
3
  iints/highlevel.py,sha256=LCAp8SUwA6dZkUs7JmIBBEasOkALA9Inf6RZtfUNKFQ,22914
4
4
  iints/metrics.py,sha256=pFFGiGa081YYmRJ8rpV72zYRWmrLq-zA9NxFJw-7HEM,903
@@ -34,7 +34,7 @@ iints/analysis/hardware_benchmark.py,sha256=fzGTiHYG0VO9mhNc20oCB73ZE6roVb2cM0Lk
34
34
  iints/analysis/metrics.py,sha256=M6SLIp3DKRJTpZNCv5M0AjKC_OveOjGf0nsJ_wcF-mk,4325
35
35
  iints/analysis/population_report.py,sha256=x3pIJijNynLYM4M6n47_6juUGWde73C7AvC5pJpV2mY,7397
36
36
  iints/analysis/poster.py,sha256=xR_KasvOLSFZspfw3rWl75RV_xLnzO-hObzzurG-NKQ,10071
37
- iints/analysis/reporting.py,sha256=MXSuRh7gay4yQCGZi9wp5b9cxca4kwsmfjVR0c9ZlYc,48316
37
+ iints/analysis/reporting.py,sha256=5rzgakMzSxpYhToSy0wZC9Kp0lkOdOJQto23QN7l4JE,48541
38
38
  iints/analysis/run_quality.py,sha256=FyYg0ijD1aOKTjXVYv_neUPuNlFFgxNQL5s-ViAg_DE,7285
39
39
  iints/analysis/safety_index.py,sha256=jfYIELn9sSp9lLOH6t4fJ8jJi1mTOhGrFme9cX6Iric,10897
40
40
  iints/analysis/safety_visualizer.py,sha256=5bfJnoDoQF4HjSCf3XTZHI9mPuztXqeKpCIyuGcXZuU,14074
@@ -226,9 +226,9 @@ iints/validation/schemas.py,sha256=neds4gNI8NnuMj1fyHRFAsp12u01TBowGB6fZ2RVypw,4
226
226
  iints/visualization/__init__.py,sha256=OdxVHDpY-9bDt8DTWWd-dspn1p0O9T908Cck-IGFaiM,640
227
227
  iints/visualization/cockpit.py,sha256=5PdvAbNXzyTjKoqT65bgw6h01FnLNVjY4lXdKdYXCNc,26183
228
228
  iints/visualization/uncertainty_cloud.py,sha256=I5nNzSitgai21rkul31YNtJriSEmCeTsW0GWW2HUskY,19848
229
- iints_sdk_python35-1.5.16.dist-info/licenses/LICENSE,sha256=pmk2DGE1Cj9zr5hfus2x_sILJBnIBR1KvJWp4OXYqc0,8978
230
- iints_sdk_python35-1.5.16.dist-info/licenses/LICENSE-MIT-IINTS-LEGACY,sha256=HzvJLhuEHRUlY9Sl1PZ3-jG0ZBOuMXtbrMF1la02M3E,1078
231
- iints_sdk_python35-1.5.16.dist-info/licenses/NOTICE,sha256=4sQjo6BqDGi1abL9Gp9W2F6851cpzE3jvIl1cpHuO0I,678
229
+ iints_sdk_python35-1.5.17.dist-info/licenses/LICENSE,sha256=pmk2DGE1Cj9zr5hfus2x_sILJBnIBR1KvJWp4OXYqc0,8978
230
+ iints_sdk_python35-1.5.17.dist-info/licenses/LICENSE-MIT-IINTS-LEGACY,sha256=HzvJLhuEHRUlY9Sl1PZ3-jG0ZBOuMXtbrMF1la02M3E,1078
231
+ iints_sdk_python35-1.5.17.dist-info/licenses/NOTICE,sha256=4sQjo6BqDGi1abL9Gp9W2F6851cpzE3jvIl1cpHuO0I,678
232
232
  mdmp_ai/__init__.py,sha256=chKE8_Wo7oxj5CFqZ9NcyLjAHM5npvaKkLvTdBPtjo8,160
233
233
  mdmp_ai/lineage.py,sha256=LY_sshoVTLPQfhP3ZDLv0drdBoxGW_YXbdAb_XMAllQ,7065
234
234
  mdmp_core/__init__.py,sha256=5kvhQwYy-puaztBzzohBex_wiv2YB4Ui9MWk1hTiVDA,3768
@@ -268,8 +268,8 @@ mdmp_integrations/__init__.py,sha256=r5z2RODMmZCFHkvAOahcL576S1Dp0AuyQXQAvefzVQQ
268
268
  mdmp_integrations/dvc.py,sha256=1UVL_It-Xp6ad8G66ubm9YaF0O9n31EMiJ466zPK9vY,740
269
269
  mdmp_integrations/mlflow.py,sha256=YiT6LKu_sN2k1Gzz4U4kqby_JNhQUiOi38AO6sCPvPg,367
270
270
  mdmp_integrations/wandb.py,sha256=r1-gXYkIKN396K0VU6uuqk1SWTNGqto1Q9HZ-RKBEss,496
271
- iints_sdk_python35-1.5.16.dist-info/METADATA,sha256=RhLh9fffBLEpLTaQ3qj_PTtqnIWEMzALmq9ad3Xq50s,5850
272
- iints_sdk_python35-1.5.16.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
273
- iints_sdk_python35-1.5.16.dist-info/entry_points.txt,sha256=QyVnqN-T-wsrL3ITYEFUSoiu57DuqnEQy8aYtirDr-8,569
274
- iints_sdk_python35-1.5.16.dist-info/top_level.txt,sha256=yCCM5o2LCIQj9aEAZ-xa_EVxiiEhPNPDEgaABFNZGvs,55
275
- iints_sdk_python35-1.5.16.dist-info/RECORD,,
271
+ iints_sdk_python35-1.5.17.dist-info/METADATA,sha256=Tr4URQc1WJtN9NJH_zRw5AJe6jgTix0pW1XHWFvCphM,5850
272
+ iints_sdk_python35-1.5.17.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
273
+ iints_sdk_python35-1.5.17.dist-info/entry_points.txt,sha256=QyVnqN-T-wsrL3ITYEFUSoiu57DuqnEQy8aYtirDr-8,569
274
+ iints_sdk_python35-1.5.17.dist-info/top_level.txt,sha256=yCCM5o2LCIQj9aEAZ-xa_EVxiiEhPNPDEgaABFNZGvs,55
275
+ iints_sdk_python35-1.5.17.dist-info/RECORD,,