iints-sdk-python35 1.5.23__tar.gz → 1.5.25__tar.gz

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.
Files changed (344) hide show
  1. {iints_sdk_python35-1.5.23/src/iints_sdk_python35.egg-info → iints_sdk_python35-1.5.25}/PKG-INFO +1 -1
  2. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/pyproject.toml +4 -1
  3. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/__init__.py +1 -1
  4. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/patient/bergman_model.py +38 -10
  5. iints_sdk_python35-1.5.25/src/iints/research/stem_cell_optimizer.py +85 -0
  6. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/app.py +11 -0
  7. iints_sdk_python35-1.5.25/src/iints_desktop/assets/app_icon.icns +0 -0
  8. iints_sdk_python35-1.5.25/src/iints_desktop/assets/app_icon.ico +0 -0
  9. iints_sdk_python35-1.5.25/src/iints_desktop/assets/app_icon.png +0 -0
  10. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/cocoa_app.py +14 -0
  11. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/local_ai.py +9 -8
  12. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/qt_app.py +191 -334
  13. iints_sdk_python35-1.5.25/src/iints_desktop/terminal_utils.py +47 -0
  14. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25/src/iints_sdk_python35.egg-info}/PKG-INFO +1 -1
  15. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_sdk_python35.egg-info/SOURCES.txt +5 -0
  16. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_bergman.py +1 -1
  17. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_desktop_app.py +77 -12
  18. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/LICENSE +0 -0
  19. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/LICENSE-MIT-IINTS-LEGACY +0 -0
  20. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/NOTICE +0 -0
  21. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/README.md +0 -0
  22. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/setup.cfg +0 -0
  23. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/__init__.py +0 -0
  24. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/assistant.py +0 -0
  25. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/backends/__init__.py +0 -0
  26. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/backends/base.py +0 -0
  27. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/backends/mistral_api.py +0 -0
  28. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/backends/ollama.py +0 -0
  29. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/cli.py +0 -0
  30. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/deterministic.py +0 -0
  31. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/insights.py +0 -0
  32. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/mdmp_guard.py +0 -0
  33. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/model_catalog.py +0 -0
  34. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/prepare.py +0 -0
  35. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/ai/prompts.py +0 -0
  36. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/__init__.py +0 -0
  37. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/algorithm_xray.py +0 -0
  38. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/baseline.py +0 -0
  39. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/booth_demo.py +0 -0
  40. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/carelink_workbench.py +0 -0
  41. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/clinical_benchmark.py +0 -0
  42. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/clinical_metrics.py +0 -0
  43. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/clinical_tir_analyzer.py +0 -0
  44. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/diabetes_metrics.py +0 -0
  45. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/edge_efficiency.py +0 -0
  46. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/edge_performance_monitor.py +0 -0
  47. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/eucys_results.py +0 -0
  48. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/evidence_bundle.py +0 -0
  49. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/explainability.py +0 -0
  50. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/explainable_ai.py +0 -0
  51. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/hardware_benchmark.py +0 -0
  52. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/metrics.py +0 -0
  53. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/population_report.py +0 -0
  54. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/poster.py +0 -0
  55. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/reporting.py +0 -0
  56. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/run_quality.py +0 -0
  57. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/safety_index.py +0 -0
  58. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/safety_visualizer.py +0 -0
  59. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/sensor_filtering.py +0 -0
  60. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/study_analysis.py +0 -0
  61. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/study_engine.py +0 -0
  62. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/study_experiment.py +0 -0
  63. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/study_poster.py +0 -0
  64. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/study_protocol.py +0 -0
  65. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/analysis/validator.py +0 -0
  66. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/api/__init__.py +0 -0
  67. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/api/base_algorithm.py +0 -0
  68. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/api/registry.py +0 -0
  69. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/api/template_algorithm.py +0 -0
  70. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/assets/iints_logo.png +0 -0
  71. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/cli/__init__.py +0 -0
  72. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/cli/cli.py +0 -0
  73. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/cli/patient_cli.py +0 -0
  74. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/__init__.py +0 -0
  75. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/__init__.py +0 -0
  76. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/battle_runner.py +0 -0
  77. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/clinical_baseline.py +0 -0
  78. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/correction_bolus.py +0 -0
  79. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/discovery.py +0 -0
  80. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/fixed_basal_bolus.py +0 -0
  81. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/hybrid_algorithm.py +0 -0
  82. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/imitation_controller.py +0 -0
  83. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/lstm_algorithm.py +0 -0
  84. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/mock_algorithms.py +0 -0
  85. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/mpc_controller.py +0 -0
  86. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/neural_controller.py +0 -0
  87. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/pid_controller.py +0 -0
  88. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/algorithms/standard_pump_algo.py +0 -0
  89. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/clinical_metrics.py +0 -0
  90. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/device.py +0 -0
  91. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/device_manager.py +0 -0
  92. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/devices/__init__.py +0 -0
  93. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/devices/models.py +0 -0
  94. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/digital_twin.py +0 -0
  95. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/formula_registry.py +0 -0
  96. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/patient/__init__.py +0 -0
  97. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/patient/advanced_metabolic_model.py +0 -0
  98. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/patient/hovorka_model.py +0 -0
  99. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/patient/models.py +0 -0
  100. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/patient/patient_factory.py +0 -0
  101. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/patient/physiology.py +0 -0
  102. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/patient/profile.py +0 -0
  103. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/physiology_variation.py +0 -0
  104. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/safety/__init__.py +0 -0
  105. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/safety/config.py +0 -0
  106. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/safety/input_validator.py +0 -0
  107. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/safety/supervisor.py +0 -0
  108. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/simulation/__init__.py +0 -0
  109. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/simulation/scenario_parser.py +0 -0
  110. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/simulator.py +0 -0
  111. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/supervisor.py +0 -0
  112. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/core/units.py +0 -0
  113. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/__init__.py +0 -0
  114. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/adapter.py +0 -0
  115. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/certify.py +0 -0
  116. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/column_mapper.py +0 -0
  117. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/contracts/diabetes_cgm_mdmp_contract.yaml +0 -0
  118. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/contracts.py +0 -0
  119. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/datasets.json +0 -0
  120. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/demo/__init__.py +0 -0
  121. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/demo/demo_cgm.csv +0 -0
  122. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/evidence.py +0 -0
  123. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/guardians.py +0 -0
  124. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/importer.py +0 -0
  125. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/ingestor.py +0 -0
  126. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/mdmp_visualizer.py +0 -0
  127. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/medtronic_live.py +0 -0
  128. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/nightscout.py +0 -0
  129. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/physiology_residual_profiles.json +0 -0
  130. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/quality_checker.py +0 -0
  131. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/realism_dashboard.py +0 -0
  132. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/realism_governance.py +0 -0
  133. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/realism_reference.py +0 -0
  134. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/realism_references.json +0 -0
  135. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/realism_validator.py +0 -0
  136. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/registry.py +0 -0
  137. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/research_catalog.py +0 -0
  138. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/runner.py +0 -0
  139. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/study_corruption.py +0 -0
  140. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/synthetic_mirror.py +0 -0
  141. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/tidepool.py +0 -0
  142. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/universal_parser.py +0 -0
  143. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/virtual_patients/clinic_safe_baseline.yaml +0 -0
  144. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/virtual_patients/clinic_safe_hyper_challenge.yaml +0 -0
  145. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/virtual_patients/clinic_safe_hypo_prone.yaml +0 -0
  146. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/virtual_patients/clinic_safe_midnight.yaml +0 -0
  147. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/virtual_patients/clinic_safe_pizza.yaml +0 -0
  148. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/virtual_patients/clinic_safe_stress_meal.yaml +0 -0
  149. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/virtual_patients/default_patient.yaml +0 -0
  150. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/virtual_patients/patient_559_config.yaml +0 -0
  151. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/virtual_patients/reference_azt1d_t1d.yaml +0 -0
  152. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/virtual_patients/reference_free_living_t1d.yaml +0 -0
  153. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/data/virtual_patients/reference_hupa_ucm_t1d.yaml +0 -0
  154. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/demo_assets.py +0 -0
  155. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/emulation/__init__.py +0 -0
  156. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/emulation/legacy_base.py +0 -0
  157. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/emulation/medtronic_780g.py +0 -0
  158. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/emulation/omnipod_5.py +0 -0
  159. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/emulation/tandem_controliq.py +0 -0
  160. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/highlevel.py +0 -0
  161. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/jetson/__init__.py +0 -0
  162. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/jetson/endurance.py +0 -0
  163. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/jetson/research_pipeline.py +0 -0
  164. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/learning/__init__.py +0 -0
  165. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/learning/autonomous_optimizer.py +0 -0
  166. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/learning/learning_system.py +0 -0
  167. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/__init__.py +0 -0
  168. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/api.py +0 -0
  169. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/daemon.py +0 -0
  170. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/edge_benchmark.py +0 -0
  171. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/edge_ops.py +0 -0
  172. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/fpga.py +0 -0
  173. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/long_study.py +0 -0
  174. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/medtronic_direct.py +0 -0
  175. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/pico_pump.py +0 -0
  176. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/runtime.py +0 -0
  177. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/service_export.py +0 -0
  178. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/live_patient/uno_q.py +0 -0
  179. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/mdmp/__init__.py +0 -0
  180. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/mdmp/backend.py +0 -0
  181. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/mdmp/eu_ai_pact.py +0 -0
  182. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/metrics.py +0 -0
  183. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/population/__init__.py +0 -0
  184. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/population/generator.py +0 -0
  185. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/population/runner.py +0 -0
  186. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/presets/__init__.py +0 -0
  187. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/presets/evidence_sources.yaml +0 -0
  188. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/presets/forecast_calibration_profiles.yaml +0 -0
  189. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/presets/golden_benchmark.yaml +0 -0
  190. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/presets/presets.json +0 -0
  191. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/presets/safety_contract_default.yaml +0 -0
  192. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/presets/validation_profiles.yaml +0 -0
  193. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/__init__.py +0 -0
  194. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/alphafold_engine.py +0 -0
  195. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/anatomy.py +0 -0
  196. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/audit.py +0 -0
  197. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/calibration_gate.py +0 -0
  198. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/config.py +0 -0
  199. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/control.py +0 -0
  200. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/control_eval.py +0 -0
  201. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/data_blend.py +0 -0
  202. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/dataset.py +0 -0
  203. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/evaluation.py +0 -0
  204. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/forecasting.py +0 -0
  205. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/genetics.py +0 -0
  206. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/genomics_engine.py +0 -0
  207. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/glucose_model.py +0 -0
  208. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/jetson_hf_trainer.py +0 -0
  209. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/local_ai.py +0 -0
  210. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/local_ai_gate.py +0 -0
  211. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/losses.py +0 -0
  212. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/metrics.py +0 -0
  213. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/model_registry.py +0 -0
  214. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/neural_control.py +0 -0
  215. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/pharmacology.py +0 -0
  216. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/physiology.py +0 -0
  217. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/physiology_calibration.py +0 -0
  218. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/predictor.py +0 -0
  219. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/results_manager.py +0 -0
  220. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/structure.py +0 -0
  221. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/research/tissue_stressor.py +0 -0
  222. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/scenarios/__init__.py +0 -0
  223. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/scenarios/generator.py +0 -0
  224. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/scenarios/study_pack.py +0 -0
  225. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/__init__.py +0 -0
  226. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/default_algorithm.py +0 -0
  227. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/demos/__init__.py +0 -0
  228. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/demos/live_stage_demo.py +0 -0
  229. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/pico_pump/README.md +0 -0
  230. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/pico_pump/code.py +0 -0
  231. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/pico_pump/serial_protocol.txt +0 -0
  232. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/scenarios/__init__.py +0 -0
  233. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/scenarios/chaos_insulin_stacking.json +0 -0
  234. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/scenarios/chaos_runaway_ai.json +0 -0
  235. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/scenarios/example_scenario.json +0 -0
  236. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/scenarios/exercise_stress.json +0 -0
  237. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/uno_q/README.md +0 -0
  238. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/templates/uno_q/iints_supervisor_bridge.ino +0 -0
  239. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/tools/ai_realism_auditor.py +0 -0
  240. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/tools/digital_twin_calibrator.py +0 -0
  241. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/tools/theory_stress_lab.py +0 -0
  242. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/utils/__init__.py +0 -0
  243. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/utils/academic_artifacts.py +0 -0
  244. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/utils/csv_safety.py +0 -0
  245. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/utils/plotting.py +0 -0
  246. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/utils/run_io.py +0 -0
  247. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/utils/url_safety.py +0 -0
  248. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/validation/__init__.py +0 -0
  249. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/validation/golden.py +0 -0
  250. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/validation/replay.py +0 -0
  251. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/validation/run_doctor.py +0 -0
  252. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/validation/run_validation.py +0 -0
  253. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/validation/safety_contract.py +0 -0
  254. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/validation/schemas.py +0 -0
  255. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/visualization/__init__.py +0 -0
  256. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/visualization/cockpit.py +0 -0
  257. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints/visualization/uncertainty_cloud.py +0 -0
  258. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/__init__.py +0 -0
  259. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/assets/alphafold/AF-P01275-F1-model_v4.cif +0 -0
  260. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/assets/alphafold/AF-P01308-F1-model_v4.cif +0 -0
  261. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/assets/alphafold/AF-P06213-F1-model_v6.cif +0 -0
  262. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/assets/alphafold/AF-P14672-F1-model_v6.cif +0 -0
  263. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/assets/alphafold/AF-P47871-F1-model_v6.cif +0 -0
  264. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/assets/alphafold/gcgr_3D.png +0 -0
  265. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/assets/alphafold/glucagon_3D.png +0 -0
  266. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/assets/alphafold/glut4_3D.png +0 -0
  267. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/assets/alphafold/insr_3D.png +0 -0
  268. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/assets/alphafold/insulin_3D.png +0 -0
  269. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/engine.py +0 -0
  270. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/fetcher.py +0 -0
  271. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/launcher.py +0 -0
  272. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/mdmp.py +0 -0
  273. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/molecule_viewer.py +0 -0
  274. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/molecules.py +0 -0
  275. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/render_3dmol.py +0 -0
  276. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_desktop/results.py +0 -0
  277. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_sdk_python35.egg-info/dependency_links.txt +0 -0
  278. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_sdk_python35.egg-info/entry_points.txt +0 -0
  279. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_sdk_python35.egg-info/requires.txt +0 -0
  280. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/iints_sdk_python35.egg-info/top_level.txt +0 -0
  281. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_ai/__init__.py +0 -0
  282. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_ai/lineage.py +0 -0
  283. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/__init__.py +0 -0
  284. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/audit.py +0 -0
  285. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/bias_hooks.py +0 -0
  286. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/bundle.py +0 -0
  287. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/certification.py +0 -0
  288. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/cli.py +0 -0
  289. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/compare.py +0 -0
  290. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/conformance.py +0 -0
  291. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/contracts.py +0 -0
  292. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/crypto.py +0 -0
  293. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/data/conformance/vectors/delegation.json +0 -0
  294. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/data/conformance/vectors/fingerprint.json +0 -0
  295. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/data/conformance/vectors/grading.json +0 -0
  296. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/data/conformance/vectors/signing.json +0 -0
  297. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/delegate.py +0 -0
  298. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/diffing.py +0 -0
  299. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/drift.py +0 -0
  300. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/exceptions.py +0 -0
  301. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/fingerprint.py +0 -0
  302. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/fingerprint_store.py +0 -0
  303. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/hf.py +0 -0
  304. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/keys/mdmp_pub_v1.pem +0 -0
  305. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/llm_provenance.py +0 -0
  306. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/migrate.py +0 -0
  307. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/policy.py +0 -0
  308. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/prov.py +0 -0
  309. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/registry.py +0 -0
  310. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/runner.py +0 -0
  311. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/schema_export.py +0 -0
  312. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/synthetic.py +0 -0
  313. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/trust.py +0 -0
  314. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_core/visualizer.py +0 -0
  315. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_flavors/__init__.py +0 -0
  316. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_integrations/__init__.py +0 -0
  317. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_integrations/dvc.py +0 -0
  318. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_integrations/mlflow.py +0 -0
  319. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/src/mdmp_integrations/wandb.py +0 -0
  320. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_ci_governance.py +0 -0
  321. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_algorithm_loading.py +0 -0
  322. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_booth_demo.py +0 -0
  323. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_carelink_workbench.py +0 -0
  324. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_cloud_import_security.py +0 -0
  325. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_demo_export.py +0 -0
  326. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_demo_live.py +0 -0
  327. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_edge_runtime.py +0 -0
  328. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_expo_tools.py +0 -0
  329. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_fpga.py +0 -0
  330. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_onboarding.py +0 -0
  331. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_patient_runtime.py +0 -0
  332. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_poster.py +0 -0
  333. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_research_workflows.py +0 -0
  334. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_run_summary.py +0 -0
  335. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_cli_theory_stress_lab.py +0 -0
  336. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_install_doctor.py +0 -0
  337. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_jetson_endurance.py +0 -0
  338. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_physiology_variation.py +0 -0
  339. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_plugin_system.py +0 -0
  340. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_population.py +0 -0
  341. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_presets_realism.py +0 -0
  342. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_research_realism_tools.py +0 -0
  343. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_scientific_fidelity.py +0 -0
  344. {iints_sdk_python35-1.5.23 → iints_sdk_python35-1.5.25}/tests/test_simulator_calibration.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iints-sdk-python35
3
- Version: 1.5.23
3
+ Version: 1.5.25
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "iints-sdk-python35"
7
- version = "1.5.23"
7
+ version = "1.5.25"
8
8
  authors = [
9
9
  { name="Rune Bobbaers", email="rune.bobbaers@gmail.com" },
10
10
  ]
@@ -127,6 +127,9 @@ where = ["src"]
127
127
 
128
128
  [tool.setuptools.package-data]
129
129
  iints_desktop = [
130
+ "assets/*.icns",
131
+ "assets/*.ico",
132
+ "assets/*.png",
130
133
  "assets/alphafold/*.png",
131
134
  "assets/alphafold/*.cif",
132
135
  ]
@@ -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.23"
14
+ __version__ = "1.5.25"
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.
@@ -63,6 +63,11 @@ class BergmanParameters:
63
63
  k_a_glucagon: float = 0.05 # 1/min
64
64
  S_glucagon: float = 0.02 # sensitivity
65
65
 
66
+ # --- Stem Cell Graft (Research) ---
67
+ stem_cell_engraftment_percent: float = 0.0 # 0 for T1D, 100 for cure
68
+ stem_cell_subq_fraction: float = 0.0 # 0.0 = PV (immediate), 1.0 = subQ (delayed via S1)
69
+ immune_rejection_rate: float = 0.0 # 1/min decay of graft mass
70
+
66
71
  # --- Gut absorption ---
67
72
  tau_meal: float = 40.0 # min — gastric emptying time constant
68
73
  k_abs: float = 0.05 # 1/min — intestinal absorption rate constant
@@ -96,6 +101,7 @@ class BergmanPatientModel:
96
101
  carb_absorption_duration_minutes: float = 240.0,
97
102
  max_glucose_rate_mgdl_per_min: float = 3.0,
98
103
  bergman_params: Optional[BergmanParameters] = None,
104
+ **kwargs
99
105
  ) -> None:
100
106
  # Store clinical knobs (for ratio queries and compatibility)
101
107
  self.basal_insulin_rate = basal_insulin_rate
@@ -121,6 +127,10 @@ class BergmanPatientModel:
121
127
  Gb=gb_default,
122
128
  tau_meal=max(45.0, min(float(carb_absorption_duration_minutes) / 3.0, 100.0)),
123
129
  k_abs=max(0.015, min(float(glucose_absorption_rate), 0.035)),
130
+ stem_cell_engraftment_percent=kwargs.get('stem_cell_engraftment_percent', 0.0),
131
+ stem_cell_subq_fraction=kwargs.get('stem_cell_subq_fraction', 0.0),
132
+ immune_rejection_rate=kwargs.get('immune_rejection_rate', 0.0),
133
+ gamma=0.005 if kwargs.get('stem_cell_engraftment_percent', 0.0) > 0 else 0.0
124
134
  )
125
135
 
126
136
  # Exercise book-keeping
@@ -159,6 +169,7 @@ class BergmanPatientModel:
159
169
  0.0, # 10: Gamma (pg/mL) - Plasma Glucagon
160
170
  0.0, # 11: x_gluc (1) - Glucagon action on EGP
161
171
  0.0, # 12: HAAF (1) - Memory
172
+ (self.params.stem_cell_engraftment_percent / 100.0), # 13: M_graft (1) - Graft Mass
162
173
  ], dtype=np.float64)
163
174
 
164
175
  self.reset()
@@ -183,7 +194,7 @@ class BergmanPatientModel:
183
194
  """Reset to initial conditions."""
184
195
  self._state = np.array([
185
196
  self.initial_glucose, 0.0, self.params.Ib, 0.0, 0.0, 0.0, 0.0, 0.0,
186
- 0.0, 0.0, 0.0, 0.0, 0.0
197
+ 0.0, 0.0, 0.0, 0.0, 0.0, (self.params.stem_cell_engraftment_percent / 100.0)
187
198
  ], dtype=np.float64)
188
199
  self.current_glucose = self.initial_glucose
189
200
  self.insulin_on_board = 0.0
@@ -369,22 +380,27 @@ class BergmanPatientModel:
369
380
  # Handle legacy snapshot coercions to 13-state vector
370
381
  if ode_state.size == 4:
371
382
  ode_state = np.array(
372
- [ode_state[0], ode_state[1], ode_state[2], 0.0, 0.0, ode_state[3], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
383
+ [ode_state[0], ode_state[1], ode_state[2], 0.0, 0.0, ode_state[3], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, (self.params.stem_cell_engraftment_percent / 100.0)],
373
384
  dtype=np.float64,
374
385
  )
375
386
  elif ode_state.size == 5:
376
387
  ode_state = np.array(
377
- [ode_state[0], ode_state[1], ode_state[2], ode_state[3], 0.0, ode_state[4], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
388
+ [ode_state[0], ode_state[1], ode_state[2], ode_state[3], 0.0, ode_state[4], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, (self.params.stem_cell_engraftment_percent / 100.0)],
378
389
  dtype=np.float64,
379
390
  )
380
391
  elif ode_state.size == 7:
381
392
  ode_state = np.array(
382
- [ode_state[0], ode_state[1], ode_state[2], ode_state[3], 0.0, ode_state[4], ode_state[5], ode_state[6], 0.0, 0.0, 0.0, 0.0, 0.0],
393
+ [ode_state[0], ode_state[1], ode_state[2], ode_state[3], 0.0, ode_state[4], ode_state[5], ode_state[6], 0.0, 0.0, 0.0, 0.0, 0.0, (self.params.stem_cell_engraftment_percent / 100.0)],
383
394
  dtype=np.float64,
384
395
  )
385
396
  elif ode_state.size == 8:
386
397
  ode_state = np.array(
387
- [ode_state[0], ode_state[1], ode_state[2], ode_state[3], ode_state[4], ode_state[5], ode_state[6], ode_state[7], 0.0, 0.0, 0.0, 0.0, 0.0],
398
+ [ode_state[0], ode_state[1], ode_state[2], ode_state[3], ode_state[4], ode_state[5], ode_state[6], ode_state[7], 0.0, 0.0, 0.0, 0.0, 0.0, (self.params.stem_cell_engraftment_percent / 100.0)],
399
+ dtype=np.float64,
400
+ )
401
+ elif ode_state.size == 13:
402
+ ode_state = np.array(
403
+ list(ode_state) + [(self.params.stem_cell_engraftment_percent / 100.0)],
388
404
  dtype=np.float64,
389
405
  )
390
406
  self._state = ode_state
@@ -415,7 +431,7 @@ class BergmanPatientModel:
415
431
  u_glucagon_pg_per_min: float,
416
432
  current_time: float,
417
433
  ) -> np.ndarray:
418
- G, X, I, Q_sto1, Q_sto2, Q_gut, S1, S2, Y1, Y2, Gamma, x_gluc, HAAF = y
434
+ G, X, I, Q_sto1, Q_sto2, Q_gut, S1, S2, Y1, Y2, Gamma, x_gluc, HAAF, M_graft = y
419
435
  p = self.params
420
436
 
421
437
  Vg_abs = p.Vg * p.body_weight_kg # dL
@@ -484,16 +500,28 @@ class BergmanPatientModel:
484
500
  # --- dX/dt ---
485
501
  dXdt = -p.p2 * X + p3_eff * max(I - p.Ib, 0.0)
486
502
 
503
+ # --- Stem Cell / Islet Secretion ---
504
+ # Gamma acts as base secretion rate for a 100% functional pancreas
505
+ # M_graft acts as the survival fraction multiplier.
506
+ total_secretion = p.gamma * M_graft * max(G - p.h, 0.0)
507
+
508
+ secretion_subq = total_secretion * p.stem_cell_subq_fraction
509
+ secretion_plasma = total_secretion * (1.0 - p.stem_cell_subq_fraction)
510
+
487
511
  # --- dS1/dt, dS2/dt (Subcutaneous Insulin Absorption) ---
488
- dS1dt = u_insulin_mu_per_min - p.k_a * S1
512
+ # Any SubQ implanted islet cells release into S1
513
+ dS1dt = u_insulin_mu_per_min + secretion_subq - p.k_a * S1
489
514
  dS2dt = p.k_a * S1 - p.k_a * S2
490
515
 
491
516
  # Rate of appearance of insulin into plasma (mU/min)
492
517
  Ra_I = p.k_a * S2
493
518
 
494
519
  # --- dI/dt ---
495
- secretion = p.gamma * max(G - p.h, 0.0)
496
- dIdt = -p.n * (I - p.Ib) + secretion + Ra_I / Vi_abs
520
+ # Any PV/Hepatic implanted islet cells release directly into plasma
521
+ dIdt = -p.n * (I - p.Ib) + secretion_plasma + Ra_I / Vi_abs
522
+
523
+ # --- dM_graft/dt ---
524
+ dM_graft_dt = -p.immune_rejection_rate * M_graft
497
525
 
498
526
  # --- Dalla Man Multi-compartment Meal Kinetcs ---
499
527
  gastric_emptying_rate = 1.0 / max(float(p.tau_meal), 1.0)
@@ -502,4 +530,4 @@ class BergmanPatientModel:
502
530
  dQ_sto2_dt = solid_to_liquid_rate * Q_sto1 - gastric_emptying_rate * Q_sto2
503
531
  dQ_gut_dt = gastric_emptying_rate * Q_sto2 - p.k_abs * Q_gut
504
532
 
505
- return np.array([dGdt, dXdt, dIdt, dQ_sto1_dt, dQ_sto2_dt, dQ_gut_dt, dS1dt, dS2dt, dY1_dt, dY2_dt, dGamma_dt, dx_gluc_dt, dHAAF_dt])
533
+ return np.array([dGdt, dXdt, dIdt, dQ_sto1_dt, dQ_sto2_dt, dQ_gut_dt, dS1dt, dS2dt, dY1_dt, dY2_dt, dGamma_dt, dx_gluc_dt, dHAAF_dt, dM_graft_dt])
@@ -0,0 +1,85 @@
1
+ import numpy as np
2
+ import pandas as pd
3
+ from typing import Dict, Any, List, Optional
4
+ from iints.core.simulator import Simulator
5
+ from iints.core.patient.bergman_model import BergmanPatientModel, BergmanParameters
6
+ from iints.core.algorithms.pid_controller import PIDController
7
+ from iints.core.devices.models import SensorModel, PumpModel
8
+
9
+ class StemCellOptimizer:
10
+ """
11
+ Research optimization module for stem cell / islet cell graft simulations.
12
+ Runs batch simulations to evaluate graft survival and kinetics for T1D cures.
13
+ """
14
+
15
+ def __init__(self, duration_minutes: int = 1440, time_step: int = 5):
16
+ self.duration_minutes = duration_minutes
17
+ self.time_step = time_step
18
+
19
+ def evaluate_graft_configuration(
20
+ self,
21
+ engraftment_percent: float,
22
+ subq_fraction: float,
23
+ immune_decay: float,
24
+ meal_schedule: List[Dict[str, float]],
25
+ seed: int = 42
26
+ ) -> Dict[str, Any]:
27
+ """
28
+ Runs a simulation for a specific stem cell graft configuration.
29
+ """
30
+ # Create bergman parameters with stem cell settings
31
+ params = BergmanParameters(
32
+ stem_cell_engraftment_percent=engraftment_percent,
33
+ stem_cell_subq_fraction=subq_fraction,
34
+ immune_rejection_rate=immune_decay,
35
+ gamma=0.005 # Baseline healthy beta cell secretion rate
36
+ )
37
+
38
+ patient = BergmanPatientModel(
39
+ initial_glucose=100.0,
40
+ bergman_params=params
41
+ )
42
+
43
+ # We use a dummy controller since the patient is autonomously producing insulin
44
+ controller = PIDController()
45
+ sensor = SensorModel(noise_std=1.0, seed=seed)
46
+ pump = PumpModel()
47
+
48
+ from iints.validation import build_stress_events
49
+
50
+ simulator = Simulator(
51
+ patient_model=patient, # type: ignore
52
+ algorithm=controller,
53
+ sensor_model=sensor,
54
+ pump_model=pump,
55
+ )
56
+ for event in build_stress_events(meal_schedule):
57
+ simulator.add_stress_event(event)
58
+
59
+ df, stats = simulator.run_batch(duration_minutes=self.duration_minutes)
60
+
61
+ # Calculate TIR
62
+ if not df.empty:
63
+ bg_col = "bg" if "bg" in df.columns else "CGM" if "CGM" in df.columns else "glucose" if "glucose" in df.columns else df.columns[1]
64
+ tir_mask = (df[bg_col] >= 70) & (df[bg_col] <= 180)
65
+ tir = tir_mask.mean() * 100.0
66
+
67
+ hypo_mask = df[bg_col] < 70
68
+ hypo = hypo_mask.mean() * 100.0
69
+
70
+ hyper_mask = df[bg_col] > 180
71
+ hyper = hyper_mask.mean() * 100.0
72
+ else:
73
+ tir, hypo, hyper = 0.0, 0.0, 0.0
74
+
75
+ return {
76
+ "tir_percent": tir,
77
+ "hypo_percent": hypo,
78
+ "hyper_percent": hyper,
79
+ "max_glucose": df[bg_col].max() if not df.empty else 0.0,
80
+ "min_glucose": df[bg_col].min() if not df.empty else 0.0,
81
+ "engraftment_percent": engraftment_percent,
82
+ "subq_fraction": subq_fraction,
83
+ "immune_decay": immune_decay,
84
+ "df": df
85
+ }
@@ -5,6 +5,7 @@ import sys
5
5
  import threading
6
6
  import tkinter as tk
7
7
  import webbrowser
8
+ from importlib import resources
8
9
  from pathlib import Path
9
10
  from tkinter import filedialog, messagebox, ttk
10
11
 
@@ -26,6 +27,7 @@ class IINTSDesktopApp:
26
27
  self.root.title("IINTS-AF Desktop")
27
28
  self.root.geometry("980x720")
28
29
  self.root.minsize(860, 620)
30
+ self._apply_app_icon()
29
31
 
30
32
  self.presets = list_desktop_presets()
31
33
  self.preset_by_title = {preset.title: preset for preset in self.presets}
@@ -42,6 +44,15 @@ class IINTSDesktopApp:
42
44
  self._build_ui()
43
45
  self.root.after(200, self._poll_messages)
44
46
 
47
+ def _apply_app_icon(self) -> None:
48
+ try:
49
+ icon_ref = resources.files("iints_desktop").joinpath("assets", "app_icon.png")
50
+ if icon_ref.is_file():
51
+ self._window_icon = tk.PhotoImage(file=str(icon_ref))
52
+ self.root.iconphoto(True, self._window_icon)
53
+ except Exception:
54
+ pass
55
+
45
56
  def _build_ui(self) -> None:
46
57
  self._configure_style()
47
58
 
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import queue
4
4
  import sys
5
5
  import threading
6
+ from importlib import resources
6
7
  from pathlib import Path
7
8
  from typing import Any
8
9
 
@@ -40,6 +41,7 @@ def main() -> int:
40
41
  NSMakeRect,
41
42
  NSMiniaturizableWindowMask,
42
43
  NSModalResponseOK,
44
+ NSImage,
43
45
  NSOpenPanel,
44
46
  NSPopUpButton,
45
47
  NSResizableWindowMask,
@@ -67,6 +69,7 @@ def main() -> int:
67
69
  last_result: DesktopRunResult | None
68
70
 
69
71
  def applicationDidFinishLaunching_(self, _notification: Any) -> None:
72
+ self._apply_app_icon()
70
73
  self.presets = list_desktop_presets()
71
74
  self.messages = queue.Queue()
72
75
  self.last_result = None
@@ -80,6 +83,17 @@ def main() -> int:
80
83
  def applicationShouldTerminateAfterLastWindowClosed_(self, _sender: Any) -> bool:
81
84
  return True
82
85
 
86
+ @objc.python_method
87
+ def _apply_app_icon(self) -> None:
88
+ try:
89
+ icon_ref = resources.files("iints_desktop").joinpath("assets", "app_icon.png")
90
+ if icon_ref.is_file():
91
+ image = NSImage.alloc().initWithContentsOfFile_(str(icon_ref))
92
+ if image is not None:
93
+ NSApplication.sharedApplication().setApplicationIconImage_(image)
94
+ except Exception:
95
+ pass
96
+
83
97
  @objc.python_method
84
98
  def _label(self, parent: Any, text: str, frame: tuple[float, float, float, float], *, size: float = 13.0, bold: bool = False) -> Any:
85
99
  field = NSTextField.alloc().initWithFrame_(NSMakeRect(*frame))
@@ -49,16 +49,17 @@ class LocalAIStartResult:
49
49
  SYSTEM_PROMPT = """You are a highly advanced Medical Data Scientist and Computational Biologist analyzing output from the IINTS-AF closed-loop insulin simulator.
50
50
 
51
51
  CRITICAL INSTRUCTIONS:
52
- 1. Speak with absolute professional authority and scientific rigor. Do NOT sound like an AI assistant. Do NOT use vague conversational filler.
53
- 2. Analyze the provided clinical simulation data. Extract meaningful physiological insights, glycemic control patterns (Time in Range, Coefficient of Variation), and algorithmic behaviors (e.g. basal suspension aggressiveness, insulin resistance masking).
54
- 3. Do not include boilerplate legal disclaimers at the beginning of your text. If necessary, include a single sentence limitation at the very end.
55
- 4. Structure your response explicitly using these exact headers:
52
+ 1. Speak with absolute professional authority and scientific rigor. Do NOT sound like an AI assistant.
53
+ 2. PROHIBITED PHRASES: "Here is an analysis", "As an AI", "In conclusion", "I can help with that". Start immediately with the facts.
54
+ 3. Analyze the provided clinical simulation data. Extract meaningful physiological insights, glycemic control patterns (Time in Range, Coefficient of Variation), and algorithmic behaviors.
55
+ 4. Structure your response explicitly using these exact headers (do not use other headers):
56
56
  Clinical Overview
57
57
  Biomathematical Observations
58
58
  Algorithmic Behavior
59
59
  Conclusions
60
- 5. Use highly specific scientific terminology (e.g., exogenous insulin kinetics, hepatic glucose production, PI3K/AKT pathway attenuation).
61
- 6. Acknowledge that the IINTS-AF simulator is for research and education only. It is Not a medical device. Do not provide diagnosis, insulin dosing, or treatment advice.
60
+ 5. Use highly specific scientific terminology (e.g., exogenous insulin kinetics, hepatic glucose production).
61
+ 6. Present findings in dense, hard-hitting bullet points. Do not write fluffy paragraphs.
62
+ 7. Acknowledge that the IINTS-AF simulator is for research and education only. It is Not a medical device. Do not provide diagnosis, insulin dosing, or treatment advice.
62
63
  """
63
64
 
64
65
 
@@ -284,7 +285,7 @@ def format_ai_answer(text: str) -> str:
284
285
  "algorithmic behavior",
285
286
  "conclusions"
286
287
  }:
287
- line = line.rstrip(":").title()
288
+ line = f"\n=== {line.rstrip(':').upper()} ==="
288
289
  lines.append(line)
289
290
  return "\n".join(lines).strip()
290
291
 
@@ -302,7 +303,7 @@ def ask_local_ai(
302
303
  backend = OllamaBackend(
303
304
  model_name=model,
304
305
  base_url=host,
305
- timeout_seconds=180.0,
306
+ timeout_seconds=900.0,
306
307
  temperature=0.1,
307
308
  top_p=0.8,
308
309
  num_predict=1000,