iints-sdk-python35 1.5.0__tar.gz → 1.5.1__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.
- iints_sdk_python35-1.5.1/PKG-INFO +99 -0
- iints_sdk_python35-1.5.1/README.md +46 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/pyproject.toml +1 -2
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/__init__.py +9 -1
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/ai/cli.py +9 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/ai/prompts.py +5 -4
- iints_sdk_python35-1.5.1/src/iints/analysis/__init__.py +46 -0
- iints_sdk_python35-1.5.1/src/iints/analysis/study_analysis.py +721 -0
- iints_sdk_python35-1.5.1/src/iints/analysis/study_poster.py +150 -0
- iints_sdk_python35-1.5.1/src/iints/analysis/study_protocol.py +310 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/cli/cli.py +846 -15
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/__init__.py +20 -0
- iints_sdk_python35-1.5.1/src/iints/data/certify.py +80 -0
- iints_sdk_python35-1.5.1/src/iints/data/study_corruption.py +267 -0
- iints_sdk_python35-1.5.1/src/iints/scenarios/__init__.py +18 -0
- iints_sdk_python35-1.5.1/src/iints/scenarios/study_pack.py +293 -0
- iints_sdk_python35-1.5.1/src/iints_sdk_python35.egg-info/PKG-INFO +99 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints_sdk_python35.egg-info/SOURCES.txt +7 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints_sdk_python35.egg-info/entry_points.txt +0 -1
- iints_sdk_python35-1.5.1/tests/test_cli_expo_tools.py +246 -0
- iints_sdk_python35-1.5.0/PKG-INFO +0 -425
- iints_sdk_python35-1.5.0/README.md +0 -372
- iints_sdk_python35-1.5.0/src/iints/analysis/__init__.py +0 -18
- iints_sdk_python35-1.5.0/src/iints/scenarios/__init__.py +0 -3
- iints_sdk_python35-1.5.0/src/iints_sdk_python35.egg-info/PKG-INFO +0 -425
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/LICENSE +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/LICENSE-MIT-IINTS-LEGACY +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/NOTICE +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/setup.cfg +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/ai/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/ai/assistant.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/ai/backends/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/ai/backends/base.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/ai/backends/mistral_api.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/ai/backends/ollama.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/ai/mdmp_guard.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/ai/model_catalog.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/ai/prepare.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/algorithm_xray.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/baseline.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/booth_demo.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/carelink_workbench.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/clinical_benchmark.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/clinical_metrics.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/clinical_tir_analyzer.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/diabetes_metrics.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/edge_efficiency.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/edge_performance_monitor.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/explainability.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/explainable_ai.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/hardware_benchmark.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/metrics.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/population_report.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/poster.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/reporting.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/safety_index.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/sensor_filtering.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/analysis/validator.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/api/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/api/base_algorithm.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/api/registry.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/api/template_algorithm.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/assets/iints_logo.png +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/cli/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/algorithms/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/algorithms/battle_runner.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/algorithms/correction_bolus.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/algorithms/discovery.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/algorithms/fixed_basal_bolus.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/algorithms/hybrid_algorithm.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/algorithms/lstm_algorithm.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/algorithms/mock_algorithms.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/algorithms/pid_controller.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/algorithms/standard_pump_algo.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/device.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/device_manager.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/devices/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/devices/models.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/patient/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/patient/bergman_model.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/patient/models.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/patient/patient_factory.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/patient/profile.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/safety/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/safety/config.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/safety/input_validator.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/safety/supervisor.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/simulation/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/simulation/scenario_parser.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/simulator.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/core/supervisor.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/adapter.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/column_mapper.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/contracts.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/datasets.json +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/demo/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/demo/demo_cgm.csv +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/guardians.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/importer.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/ingestor.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/mdmp_visualizer.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/nightscout.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/quality_checker.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/registry.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/runner.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/synthetic_mirror.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/tidepool.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/universal_parser.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/virtual_patients/clinic_safe_baseline.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/virtual_patients/clinic_safe_hyper_challenge.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/virtual_patients/clinic_safe_hypo_prone.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/virtual_patients/clinic_safe_midnight.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/virtual_patients/clinic_safe_pizza.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/virtual_patients/clinic_safe_stress_meal.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/virtual_patients/default_patient.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/data/virtual_patients/patient_559_config.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/demo_assets.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/emulation/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/emulation/legacy_base.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/emulation/medtronic_780g.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/emulation/omnipod_5.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/emulation/tandem_controliq.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/highlevel.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/learning/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/learning/autonomous_optimizer.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/learning/learning_system.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/mdmp/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/mdmp/backend.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/metrics.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/population/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/population/generator.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/population/runner.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/presets/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/presets/evidence_sources.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/presets/forecast_calibration_profiles.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/presets/golden_benchmark.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/presets/presets.json +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/presets/safety_contract_default.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/presets/validation_profiles.yaml +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/research/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/research/audit.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/research/calibration_gate.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/research/config.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/research/dataset.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/research/evaluation.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/research/losses.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/research/metrics.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/research/model_registry.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/research/predictor.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/scenarios/generator.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/templates/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/templates/default_algorithm.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/templates/demos/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/templates/demos/live_stage_demo.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/templates/scenarios/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/templates/scenarios/chaos_insulin_stacking.json +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/templates/scenarios/chaos_runaway_ai.json +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/templates/scenarios/example_scenario.json +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/templates/scenarios/exercise_stress.json +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/utils/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/utils/plotting.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/utils/run_io.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/validation/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/validation/golden.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/validation/replay.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/validation/run_validation.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/validation/safety_contract.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/validation/schemas.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/visualization/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/visualization/cockpit.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints/visualization/uncertainty_cloud.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints_sdk_python35.egg-info/dependency_links.txt +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints_sdk_python35.egg-info/requires.txt +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/iints_sdk_python35.egg-info/top_level.txt +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_ai/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_ai/lineage.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/audit.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/bias_hooks.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/bundle.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/certification.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/cli.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/compare.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/conformance.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/contracts.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/crypto.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/data/conformance/vectors/delegation.json +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/data/conformance/vectors/fingerprint.json +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/data/conformance/vectors/grading.json +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/data/conformance/vectors/signing.json +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/delegate.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/diffing.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/drift.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/exceptions.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/fingerprint.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/fingerprint_store.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/hf.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/keys/mdmp_pub_v1.pem +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/llm_provenance.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/migrate.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/policy.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/prov.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/registry.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/runner.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/schema_export.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/synthetic.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/trust.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_core/visualizer.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_flavors/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_integrations/__init__.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_integrations/dvc.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_integrations/mlflow.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/src/mdmp_integrations/wandb.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/tests/test_bergman.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/tests/test_cli_booth_demo.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/tests/test_cli_carelink_workbench.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/tests/test_cli_demo_export.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/tests/test_cli_poster.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/tests/test_install_doctor.py +0 -0
- {iints_sdk_python35-1.5.0 → iints_sdk_python35-1.5.1}/tests/test_population.py +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: iints-sdk-python35
|
|
3
|
+
Version: 1.5.1
|
|
4
|
+
Summary: A pre-clinical Edge-AI SDK for diabetes management validation.
|
|
5
|
+
Author-email: Rune Bobbaers <rune.bobbaers@gmail.com>
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/python35/IINTS-SDK
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
15
|
+
Requires-Python: >=3.10
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
License-File: NOTICE
|
|
19
|
+
License-File: LICENSE-MIT-IINTS-LEGACY
|
|
20
|
+
Requires-Dist: fpdf2>=2.8.0
|
|
21
|
+
Requires-Dist: matplotlib>=3.5.0
|
|
22
|
+
Requires-Dist: numpy>=1.24.0
|
|
23
|
+
Requires-Dist: openpyxl>=3.0.0
|
|
24
|
+
Requires-Dist: pandas>=2.0.0
|
|
25
|
+
Requires-Dist: pillow>=12.1.1
|
|
26
|
+
Requires-Dist: pydantic>=2.0.0
|
|
27
|
+
Requires-Dist: PyYAML
|
|
28
|
+
Requires-Dist: rich>=12.0.0
|
|
29
|
+
Requires-Dist: scipy>=1.9.0
|
|
30
|
+
Requires-Dist: seaborn>=0.11.0
|
|
31
|
+
Requires-Dist: typer[all]
|
|
32
|
+
Provides-Extra: dev
|
|
33
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
34
|
+
Requires-Dist: hypothesis>=6.0.0; extra == "dev"
|
|
35
|
+
Requires-Dist: flake8; extra == "dev"
|
|
36
|
+
Requires-Dist: mypy; extra == "dev"
|
|
37
|
+
Requires-Dist: pandas-stubs; extra == "dev"
|
|
38
|
+
Requires-Dist: types-PyYAML; extra == "dev"
|
|
39
|
+
Requires-Dist: types-psutil; extra == "dev"
|
|
40
|
+
Provides-Extra: torch
|
|
41
|
+
Requires-Dist: torch>=1.9.0; extra == "torch"
|
|
42
|
+
Provides-Extra: nightscout
|
|
43
|
+
Requires-Dist: py-nightscout; extra == "nightscout"
|
|
44
|
+
Provides-Extra: research
|
|
45
|
+
Requires-Dist: torch>=2.0.0; extra == "research"
|
|
46
|
+
Requires-Dist: pyarrow>=12.0.0; extra == "research"
|
|
47
|
+
Requires-Dist: h5py>=3.10.0; extra == "research"
|
|
48
|
+
Requires-Dist: onnx>=1.16.0; extra == "research"
|
|
49
|
+
Requires-Dist: onnxscript>=0.1.0; extra == "research"
|
|
50
|
+
Provides-Extra: mdmp
|
|
51
|
+
Requires-Dist: cryptography>=42.0.0; extra == "mdmp"
|
|
52
|
+
Dynamic: license-file
|
|
53
|
+
|
|
54
|
+
# IINTS-AF SDK
|
|
55
|
+
[](https://badge.fury.io/py/iints-sdk-python35)
|
|
56
|
+
[](https://github.com/python35/IINTS-SDK/actions/workflows/python-package.yml)
|
|
57
|
+
[](https://python35.github.io/IINTS-SDK/)
|
|
58
|
+
|
|
59
|
+
One platform for insulin-algorithm research.
|
|
60
|
+
|
|
61
|
+
IINTS-AF combines three layers in one SDK:
|
|
62
|
+
- **Simulate** insulin algorithms on virtual patients
|
|
63
|
+
- **Certify** the data and outputs with built-in trust grading
|
|
64
|
+
- **Understand** results with reports, posters, and local AI review
|
|
65
|
+
|
|
66
|
+
Docs: [python35.github.io/IINTS-SDK](https://python35.github.io/IINTS-SDK/)
|
|
67
|
+
|
|
68
|
+
## Install
|
|
69
|
+
```bash
|
|
70
|
+
python3 -m venv .venv
|
|
71
|
+
source .venv/bin/activate
|
|
72
|
+
python -m pip install -U pip
|
|
73
|
+
python -m pip install -U "iints-sdk-python35[mdmp]"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Sanity check:
|
|
77
|
+
```bash
|
|
78
|
+
iints doctor --smoke-run
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Quick Flow
|
|
82
|
+
```bash
|
|
83
|
+
iints quickstart --project-name iints_quickstart
|
|
84
|
+
cd iints_quickstart
|
|
85
|
+
iints presets run --name baseline_t1d --algo algorithms/example_algorithm.py
|
|
86
|
+
iints data certify contracts/clinical_mdmp_contract.yaml results/<run_id>/results.csv --output-json results/<run_id>/certification.json
|
|
87
|
+
iints ai report results/<run_id>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Read Next
|
|
91
|
+
- Start here: `docs/GETTING_STARTED.md`
|
|
92
|
+
- Installation and paths: `docs/INSTALLATION.md`
|
|
93
|
+
- Study analysis: `docs/STUDY_ANALYSIS.md`
|
|
94
|
+
- AI assistant: `docs/AI_ASSISTANT.md`
|
|
95
|
+
- Data certification: `docs/MDMP_QUICKSTART.md`
|
|
96
|
+
- Full manual: `docs/manuals/IINTS-AF_SDK_Manual.md`
|
|
97
|
+
|
|
98
|
+
## Important
|
|
99
|
+
IINTS-AF is research software. It is not a medical device and does not provide clinical treatment advice.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# IINTS-AF SDK
|
|
2
|
+
[](https://badge.fury.io/py/iints-sdk-python35)
|
|
3
|
+
[](https://github.com/python35/IINTS-SDK/actions/workflows/python-package.yml)
|
|
4
|
+
[](https://python35.github.io/IINTS-SDK/)
|
|
5
|
+
|
|
6
|
+
One platform for insulin-algorithm research.
|
|
7
|
+
|
|
8
|
+
IINTS-AF combines three layers in one SDK:
|
|
9
|
+
- **Simulate** insulin algorithms on virtual patients
|
|
10
|
+
- **Certify** the data and outputs with built-in trust grading
|
|
11
|
+
- **Understand** results with reports, posters, and local AI review
|
|
12
|
+
|
|
13
|
+
Docs: [python35.github.io/IINTS-SDK](https://python35.github.io/IINTS-SDK/)
|
|
14
|
+
|
|
15
|
+
## Install
|
|
16
|
+
```bash
|
|
17
|
+
python3 -m venv .venv
|
|
18
|
+
source .venv/bin/activate
|
|
19
|
+
python -m pip install -U pip
|
|
20
|
+
python -m pip install -U "iints-sdk-python35[mdmp]"
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Sanity check:
|
|
24
|
+
```bash
|
|
25
|
+
iints doctor --smoke-run
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Quick Flow
|
|
29
|
+
```bash
|
|
30
|
+
iints quickstart --project-name iints_quickstart
|
|
31
|
+
cd iints_quickstart
|
|
32
|
+
iints presets run --name baseline_t1d --algo algorithms/example_algorithm.py
|
|
33
|
+
iints data certify contracts/clinical_mdmp_contract.yaml results/<run_id>/results.csv --output-json results/<run_id>/certification.json
|
|
34
|
+
iints ai report results/<run_id>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Read Next
|
|
38
|
+
- Start here: `docs/GETTING_STARTED.md`
|
|
39
|
+
- Installation and paths: `docs/INSTALLATION.md`
|
|
40
|
+
- Study analysis: `docs/STUDY_ANALYSIS.md`
|
|
41
|
+
- AI assistant: `docs/AI_ASSISTANT.md`
|
|
42
|
+
- Data certification: `docs/MDMP_QUICKSTART.md`
|
|
43
|
+
- Full manual: `docs/manuals/IINTS-AF_SDK_Manual.md`
|
|
44
|
+
|
|
45
|
+
## Important
|
|
46
|
+
IINTS-AF is research software. It is not a medical device and does not provide clinical treatment advice.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "iints-sdk-python35"
|
|
7
|
-
version = "1.5.
|
|
7
|
+
version = "1.5.1"
|
|
8
8
|
authors = [
|
|
9
9
|
{ name="Rune Bobbaers", email="rune.bobbaers@gmail.com" },
|
|
10
10
|
]
|
|
@@ -67,7 +67,6 @@ mdmp = [
|
|
|
67
67
|
[project.scripts]
|
|
68
68
|
iints = "iints.cli.cli:app"
|
|
69
69
|
iints-sdk-doctor = "iints_sdk_python35_doctor:main"
|
|
70
|
-
mdmp = "mdmp_core.cli:app"
|
|
71
70
|
|
|
72
71
|
[project.entry-points."iints.algorithms"]
|
|
73
72
|
"PID Controller" = "iints.core.algorithms.pid_controller:PIDController"
|
|
@@ -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.
|
|
14
|
+
__version__ = "1.5.1"
|
|
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.
|
|
@@ -70,11 +70,13 @@ from .data.nightscout import NightscoutConfig, import_nightscout
|
|
|
70
70
|
from .data.tidepool import TidepoolClient, load_openapi_spec
|
|
71
71
|
from .data.guardians import mdmp_gate, MDMPGateError
|
|
72
72
|
from .data.synthetic_mirror import generate_synthetic_mirror, SyntheticMirrorArtifact
|
|
73
|
+
from .data.study_corruption import AVAILABLE_STUDY_CORRUPTIONS, apply_study_corruptions, write_corrupted_study_csv
|
|
73
74
|
from .analysis.metrics import generate_benchmark_metrics # Added for benchmark
|
|
74
75
|
from .analysis.booth_demo import build_booth_demo
|
|
75
76
|
from .analysis.carelink_workbench import build_carelink_workbench
|
|
76
77
|
from .analysis.poster import generate_results_poster
|
|
77
78
|
from .analysis.reporting import ClinicalReportGenerator
|
|
79
|
+
from .analysis.study_protocol import build_study_protocol_payload, render_study_protocol_markdown, write_study_protocol_bundle
|
|
78
80
|
from .analysis.edge_efficiency import EnergyEstimate, estimate_energy_per_decision
|
|
79
81
|
from .ai import AIResponse, IINTSAssistant, MDMPGuard
|
|
80
82
|
from .highlevel import run_simulation, run_full, run_population
|
|
@@ -184,10 +186,16 @@ __all__ = [
|
|
|
184
186
|
"MDMPGateError",
|
|
185
187
|
"generate_synthetic_mirror",
|
|
186
188
|
"SyntheticMirrorArtifact",
|
|
189
|
+
"AVAILABLE_STUDY_CORRUPTIONS",
|
|
190
|
+
"apply_study_corruptions",
|
|
191
|
+
"write_corrupted_study_csv",
|
|
187
192
|
# Analysis Metrics
|
|
188
193
|
"generate_benchmark_metrics",
|
|
189
194
|
"build_booth_demo",
|
|
190
195
|
"build_carelink_workbench",
|
|
196
|
+
"build_study_protocol_payload",
|
|
197
|
+
"render_study_protocol_markdown",
|
|
198
|
+
"write_study_protocol_bundle",
|
|
191
199
|
"ClinicalReportGenerator",
|
|
192
200
|
"EnergyEstimate",
|
|
193
201
|
"estimate_energy_per_decision",
|
|
@@ -70,6 +70,15 @@ def _resolve_cli_inputs(
|
|
|
70
70
|
|
|
71
71
|
if input_path.is_dir():
|
|
72
72
|
ai_dir = input_path / "ai"
|
|
73
|
+
if (
|
|
74
|
+
not ai_dir.exists()
|
|
75
|
+
or not any((ai_dir / candidate).is_file() for candidate in ("report_payload.json", "trends_payload.json", "anomalies_payload.json", "step_riskiest.json", "review_payload.json"))
|
|
76
|
+
or (resolved_cert is None and not (ai_dir / "report.signed.mdmp").is_file())
|
|
77
|
+
):
|
|
78
|
+
prepare_ai_ready_artifacts(
|
|
79
|
+
input_path,
|
|
80
|
+
create_dev_mdmp_cert=resolved_cert is None,
|
|
81
|
+
)
|
|
73
82
|
resolved_input = _default_prepared_payload(task, ai_dir)
|
|
74
83
|
if resolved_cert is None:
|
|
75
84
|
candidate_cert = ai_dir / "report.signed.mdmp"
|
|
@@ -63,10 +63,11 @@ TASK_TEMPLATES: dict[TaskName, str] = {
|
|
|
63
63
|
"Be conservative and do not overclaim. If the payload is incomplete, say so clearly.\n"
|
|
64
64
|
"Respond in markdown with these sections:\n"
|
|
65
65
|
"1. Overall realism verdict (Likely realistic / Needs review / Likely unrealistic)\n"
|
|
66
|
-
"2.
|
|
67
|
-
"3.
|
|
68
|
-
"4.
|
|
69
|
-
"5.
|
|
66
|
+
"2. What looks realistic\n"
|
|
67
|
+
"3. What looks suspicious\n"
|
|
68
|
+
"4. Priority fixes\n"
|
|
69
|
+
"5. What to improve next\n"
|
|
70
|
+
"6. Suggested follow-up validation checks\n\n"
|
|
70
71
|
"Focus on glycemic ranges, excursion patterns, insulin behavior, safety overrides, and whether the data looks internally coherent.\n\n"
|
|
71
72
|
"Input JSON:\n{data}"
|
|
72
73
|
),
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from .clinical_metrics import ClinicalMetricsCalculator, ClinicalMetricsResult
|
|
2
|
+
from .baseline import compute_metrics, run_baseline_comparison, write_baseline_comparison
|
|
3
|
+
from .booth_demo import build_booth_demo
|
|
4
|
+
from .carelink_workbench import build_carelink_workbench
|
|
5
|
+
from .poster import generate_results_poster
|
|
6
|
+
from .reporting import ClinicalReportGenerator
|
|
7
|
+
from .study_poster import generate_study_poster
|
|
8
|
+
from .study_protocol import (
|
|
9
|
+
build_study_protocol_payload,
|
|
10
|
+
render_study_protocol_markdown,
|
|
11
|
+
write_study_protocol_bundle,
|
|
12
|
+
)
|
|
13
|
+
from .study_analysis import (
|
|
14
|
+
analyze_run_directory,
|
|
15
|
+
analyze_study_directory,
|
|
16
|
+
compare_studies,
|
|
17
|
+
load_study_summary,
|
|
18
|
+
quality_badges_for_metrics,
|
|
19
|
+
StudyComparison,
|
|
20
|
+
StudyRunSummary,
|
|
21
|
+
StudySummary,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
__all__ = [
|
|
25
|
+
"analyze_run_directory",
|
|
26
|
+
"analyze_study_directory",
|
|
27
|
+
"build_booth_demo",
|
|
28
|
+
"build_carelink_workbench",
|
|
29
|
+
"ClinicalMetricsCalculator",
|
|
30
|
+
"ClinicalMetricsResult",
|
|
31
|
+
"ClinicalReportGenerator",
|
|
32
|
+
"compute_metrics",
|
|
33
|
+
"compare_studies",
|
|
34
|
+
"generate_results_poster",
|
|
35
|
+
"generate_study_poster",
|
|
36
|
+
"build_study_protocol_payload",
|
|
37
|
+
"render_study_protocol_markdown",
|
|
38
|
+
"write_study_protocol_bundle",
|
|
39
|
+
"load_study_summary",
|
|
40
|
+
"quality_badges_for_metrics",
|
|
41
|
+
"run_baseline_comparison",
|
|
42
|
+
"StudyComparison",
|
|
43
|
+
"StudyRunSummary",
|
|
44
|
+
"StudySummary",
|
|
45
|
+
"write_baseline_comparison",
|
|
46
|
+
]
|