iints-sdk-python35 1.5.33__tar.gz → 1.5.34__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.33 → iints_sdk_python35-1.5.34}/CITATION.cff +1 -1
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/PKG-INFO +22 -41
- iints_sdk_python35-1.5.34/README.md +42 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/API_REFERENCE.md +90 -5
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/CLI_CHEATSHEET.md +24 -4
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/COMMAND_REFERENCE.md +59 -3
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/COMPREHENSIVE_GUIDE.md +9 -5
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/MDMP.md +32 -9
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/PHYSIOLOGY_REFERENCE.md +1 -1
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/RESEARCH_WORKBENCH_GUIDE.md +4 -2
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/TAURI_DESKTOP.md +4 -2
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/UPDATING.md +31 -9
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/USER_GUIDE_MAP.md +6 -2
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/pyproject.toml +11 -10
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/__init__.py +1 -9
- iints_sdk_python35-1.5.34/src/iints/_version.py +3 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/cli/cli.py +478 -42
- iints_sdk_python35-1.5.34/src/iints/cli/menu.py +155 -0
- iints_sdk_python35-1.5.33/src/iints/data/virtual_patients/clinic_safe_midnight.yaml → iints_sdk_python35-1.5.34/src/iints/data/virtual_patients/clinic_safe_hypo_prone.yaml +4 -4
- iints_sdk_python35-1.5.33/src/iints/data/virtual_patients/clinic_safe_hypo_prone.yaml → iints_sdk_python35-1.5.34/src/iints/data/virtual_patients/clinic_safe_midnight.yaml +4 -4
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/virtual_patients/clinic_safe_pizza.yaml +3 -2
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/mdmp/__init__.py +19 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/presets/__init__.py +1 -1
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/presets/golden_benchmark.yaml +1 -1
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/presets/presets.json +85 -83
- iints_sdk_python35-1.5.34/src/iints/versioning.py +468 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/app.py +1 -1
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/cocoa_app.py +1 -1
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/engine.py +34 -5
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/local_ai.py +141 -27
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/qt_app.py +1 -1
- iints_sdk_python35-1.5.34/src/iints_desktop/results.py +296 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/tauri_bridge.py +22 -2
- iints_sdk_python35-1.5.34/src/iints_desktop/update.py +123 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_sdk_python35.egg-info/PKG-INFO +22 -41
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_sdk_python35.egg-info/SOURCES.txt +5 -1
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_sdk_python35.egg-info/entry_points.txt +6 -6
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_sdk_python35.egg-info/requires.txt +4 -3
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/__init__.py +17 -1
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/cli.py +4 -4
- iints_sdk_python35-1.5.34/src/mdmp_core/crypto.py +704 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_onboarding.py +98 -1
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_desktop_app.py +87 -12
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_tauri_bridge.py +6 -2
- iints_sdk_python35-1.5.34/tests/test_versioning.py +128 -0
- iints_sdk_python35-1.5.33/README.md +0 -62
- iints_sdk_python35-1.5.33/src/iints_desktop/results.py +0 -163
- iints_sdk_python35-1.5.33/src/iints_desktop/update.py +0 -80
- iints_sdk_python35-1.5.33/src/mdmp_core/crypto.py +0 -372
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/LICENSE +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/LICENSE-MIT-IINTS-LEGACY +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/MANIFEST.in +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/NOTICE +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/ACADEMIC_RESEARCH_WORKBENCH.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/AI_ASSISTANT.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/AI_RED_TEAM_AUDITOR.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/ALL_SCIENTIFIC_THEORIES.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/APP_INSTALL.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/ARCHITECTURE_HARDENING.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/ARCHITECTURE_OVERVIEW.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/ARDUINO_UNO_Q.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/BOOTH_DEMO.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/CONTRIBUTING_SAFELY.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/CORE_CONCEPTS.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/CROSS_SCALE_REFERENCE_LABS.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/DESKTOP_APP.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/DESKTOP_SIGNING.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/DEVELOPER_PORTAL.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/DIABETES_RESEARCH_DATASETS.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/DIGITAL_PATIENT_PI.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/DIGITAL_TWIN_BIOLOGY.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/DOCUMENTATION_INDEX.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/DUAL_REPO_WORKFLOW.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/EDGE_HARDWARE.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/EDGE_REMOTE_DEPLOY.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/EU_AI_PACT_GOVERNANCE.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/EVIDENCE_BASE.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/EVIDENCE_BUNDLE.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/FORMULA_REGISTRY.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/FPGA_MODE.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/GETTING_STARTED.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/GLUCOSE_MODEL.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/HARDWARE.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/HYPOGLYCEMIA_SCIENCE_MODEL.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/INSTALLATION.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/JETSON_AUTOML_FACTORY.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/JETSON_ENDURANCE.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/LEARNING_PATH.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/LOCAL_AI_RESEARCH.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/LOCAL_AI_SAFETY_GATES.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/MAINTAINER_GUIDE.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/MAKERFAIRE_PI.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/MAKERFAIRE_PI_CHECKLIST.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/MDMP_FULL_GUIDE.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/MDMP_QUICKSTART.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/MECHANISTIC_REFERENCE_MODELS.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/MEDTRONIC_CARELINK_LIVE_BRIDGE.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/MEDTRONIC_DIRECT_PUMP_TRANSPORT.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/MISTRAL_MODEL_MIGRATION.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/NUMERIC_AUTHORITY.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/OBSIDIAN_PUBLIC_VAULT.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/OFFICIAL_MANUAL.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/PAPER_TECHNICAL_DOSSIER.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/PICO_PUMP_LAB.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/PLAIN_LANGUAGE_GUIDE.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/PROJECT_BOUNDARIES.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/PUBLIC_DOCUMENTATION.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/PUBLIC_RELEASE_CHECKLIST.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/QUICKSTART.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/REAL_DATA_REALISM.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/REFERENCE_OVERVIEW.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/RUN_OUTPUTS.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/SCIENTIFIC_WORKFLOW.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/SOURCE_LIBRARY.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/STUDY_ANALYSIS.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/TECHNICAL_README.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/THEORY_STRESS_LAB.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/TROUBLESHOOTING.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/WORKFLOWS.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/comparison_interpretation.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/emulation_references.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/docs/index.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/setup.cfg +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/assistant.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/backends/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/backends/base.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/backends/mistral_api.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/backends/ollama.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/cli.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/deterministic.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/insights.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/mdmp_guard.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/model_catalog.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/prepare.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/ai/prompts.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/algorithm_xray.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/baseline.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/booth_demo.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/carelink_workbench.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/clinical_benchmark.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/clinical_metrics.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/clinical_tir_analyzer.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/diabetes_metrics.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/edge_efficiency.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/edge_performance_monitor.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/eucys_results.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/evidence_bundle.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/explainability.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/explainable_ai.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/hardware_benchmark.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/metrics.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/population_report.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/poster.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/reporting.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/run_quality.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/safety_index.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/safety_visualizer.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/sensor_filtering.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/study_analysis.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/study_engine.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/study_experiment.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/study_poster.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/study_protocol.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/analysis/validator.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/api/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/api/base_algorithm.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/api/registry.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/api/template_algorithm.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/assets/iints_logo.png +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/cli/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/cli/patient_cli.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/battle_runner.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/clinical_baseline.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/correction_bolus.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/discovery.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/fixed_basal_bolus.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/hybrid_algorithm.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/imitation_controller.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/lstm_algorithm.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/mock_algorithms.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/mpc_controller.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/neural_controller.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/pid_controller.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/algorithms/standard_pump_algo.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/clinical_metrics.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/device.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/device_manager.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/devices/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/devices/models.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/digital_twin.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/formula_registry.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/patient/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/patient/advanced_metabolic_model.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/patient/bergman_model.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/patient/hovorka_model.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/patient/models.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/patient/patient_factory.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/patient/physiology.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/patient/profile.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/physiology_variation.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/safety/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/safety/config.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/safety/input_validator.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/safety/supervisor.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/simulation/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/simulation/scenario_parser.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/simulator.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/supervisor.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/core/units.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/adapter.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/certify.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/column_mapper.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/contracts/diabetes_cgm_mdmp_contract.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/contracts.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/datasets.json +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/demo/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/demo/demo_cgm.csv +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/evidence.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/guardians.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/importer.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/ingestor.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/mdmp_visualizer.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/medtronic_live.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/nightscout.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/physiology_residual_profiles.json +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/quality_checker.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/realism_dashboard.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/realism_governance.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/realism_reference.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/realism_references.json +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/realism_validator.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/registry.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/research_catalog.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/runner.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/study_corruption.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/synthetic_mirror.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/tidepool.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/universal_parser.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/virtual_patients/clinic_safe_baseline.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/virtual_patients/clinic_safe_hyper_challenge.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/virtual_patients/clinic_safe_stress_meal.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/virtual_patients/default_patient.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/virtual_patients/patient_559_config.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/virtual_patients/reference_azt1d_t1d.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/virtual_patients/reference_free_living_t1d.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/data/virtual_patients/reference_hupa_ucm_t1d.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/demo_assets.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/emulation/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/emulation/legacy_base.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/emulation/medtronic_780g.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/emulation/omnipod_5.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/emulation/tandem_controliq.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/governance/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/governance/research_policy.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/highlevel.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/jetson/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/jetson/endurance.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/jetson/research_pipeline.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/learning/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/learning/autonomous_optimizer.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/learning/learning_system.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/api.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/daemon.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/edge_benchmark.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/edge_ops.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/fpga.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/long_study.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/medtronic_direct.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/pico_pump.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/runtime.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/service_export.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/live_patient/uno_q.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/mdmp/backend.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/mdmp/eu_ai_pact.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/metrics.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/population/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/population/generator.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/population/runner.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/presets/evidence_sources.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/presets/forecast_calibration_profiles.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/presets/safety_contract_default.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/presets/validation_profiles.yaml +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/academic_bundle.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/alphafold_engine.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/anatomy.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/audit.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/binding_evidence.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/calibration_gate.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/cellml_models.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/clinvar_engine.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/config.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/control.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/control_eval.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/copasi_models.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/data_blend.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/dataset.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/evaluation.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/external_models_common.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/fmi_models.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/forecasting.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/genetics.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/genomics_engine.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/glucose_model.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/jetson_hf_trainer.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/local_ai.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/local_ai_gate.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/losses.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/mechanistic_models.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/metrics.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/model_registry.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/neural_control.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/pharmacology.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/physiology.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/physiology_calibration.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/predictor.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/results_manager.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/stem_cell_optimizer.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/stem_cell_transplant.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/structure.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/research/tissue_stressor.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/scenarios/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/scenarios/generator.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/scenarios/study_pack.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/default_algorithm.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/demos/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/demos/live_stage_demo.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/pico_pump/README.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/pico_pump/code.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/pico_pump/serial_protocol.txt +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/scenarios/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/scenarios/chaos_insulin_stacking.json +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/scenarios/chaos_runaway_ai.json +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/scenarios/example_scenario.json +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/scenarios/exercise_stress.json +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/uno_q/README.md +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/templates/uno_q/iints_supervisor_bridge.ino +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/tools/ai_realism_auditor.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/tools/digital_twin_calibrator.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/tools/theory_stress_lab.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/utils/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/utils/academic_artifacts.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/utils/csv_safety.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/utils/plotting.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/utils/run_io.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/utils/url_safety.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/validation/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/validation/golden.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/validation/replay.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/validation/run_doctor.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/validation/run_validation.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/validation/safety_contract.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/validation/schemas.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/visualization/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/visualization/cockpit.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints/visualization/uncertainty_cloud.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/alphafold/AF-P01275-F1-model_v4.cif +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/alphafold/AF-P01308-F1-model_v4.cif +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/alphafold/AF-P06213-F1-model_v6.cif +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/alphafold/AF-P14672-F1-model_v6.cif +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/alphafold/AF-P47871-F1-model_v6.cif +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/alphafold/gcgr_3D.png +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/alphafold/glucagon_3D.png +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/alphafold/glut4_3D.png +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/alphafold/insr_3D.png +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/alphafold/insulin_3D.png +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/app_icon.icns +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/app_icon.ico +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/assets/app_icon.png +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/evidence_connectors.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/fetcher.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/launcher.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/mdmp.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/molecule_viewer.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/molecules.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/render_3dmol.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_desktop/terminal_utils.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_sdk_python35.egg-info/dependency_links.txt +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/iints_sdk_python35.egg-info/top_level.txt +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_ai/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_ai/lineage.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/audit.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/bias_hooks.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/bundle.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/certification.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/compare.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/conformance.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/contracts.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/data/conformance/vectors/delegation.json +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/data/conformance/vectors/fingerprint.json +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/data/conformance/vectors/grading.json +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/data/conformance/vectors/signing.json +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/delegate.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/diffing.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/drift.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/exceptions.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/fingerprint.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/fingerprint_store.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/hf.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/keys/mdmp_pub_v1.pem +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/llm_provenance.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/migrate.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/policy.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/prov.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/registry.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/runner.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/schema_export.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/synthetic.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/trust.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_core/visualizer.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_flavors/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_integrations/__init__.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_integrations/dvc.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_integrations/mlflow.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/src/mdmp_integrations/wandb.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_bergman.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_ci_governance.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_algorithm_loading.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_booth_demo.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_carelink_workbench.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_cloud_import_security.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_demo_export.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_demo_live.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_edge_runtime.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_expo_tools.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_fpga.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_patient_runtime.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_poster.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_research_workflows.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_run_summary.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_cli_theory_stress_lab.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_desktop_packaging.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_install_doctor.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_jetson_endurance.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_physiology_variation.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_plugin_system.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_population.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_presets_realism.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_qt_desktop_runtime.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_research_policy.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_research_realism_tools.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/tests/test_scientific_fidelity.py +0 -0
- {iints_sdk_python35-1.5.33 → iints_sdk_python35-1.5.34}/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.
|
|
3
|
+
Version: 1.5.34
|
|
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
|
|
@@ -24,8 +24,9 @@ License-File: LICENSE-MIT-IINTS-LEGACY
|
|
|
24
24
|
Requires-Dist: certifi>=2024.2.2
|
|
25
25
|
Requires-Dist: cryptography<51.0.0,>=50.0.0
|
|
26
26
|
Requires-Dist: defusedxml<1.0.0,>=0.7.1
|
|
27
|
-
Requires-Dist: fastapi!=0.136.3,<0.
|
|
27
|
+
Requires-Dist: fastapi!=0.136.3,<0.141.2,>=0.115.0
|
|
28
28
|
Requires-Dist: numpy<3.0.0,>=1.24.0
|
|
29
|
+
Requires-Dist: packaging<27.0,>=23.0
|
|
29
30
|
Requires-Dist: pandas<3.0.0,>=2.0.0
|
|
30
31
|
Requires-Dist: pydantic<3.0.0,>=2.0.0
|
|
31
32
|
Requires-Dist: PyYAML<7.0.0,>=6.0.0
|
|
@@ -67,7 +68,7 @@ Requires-Dist: aiohttp<4.0.0,>=3.14.1; extra == "nightscout"
|
|
|
67
68
|
Requires-Dist: py-nightscout; extra == "nightscout"
|
|
68
69
|
Provides-Extra: research
|
|
69
70
|
Requires-Dist: torch<3.0.0,>=2.13.0; extra == "research"
|
|
70
|
-
Requires-Dist: pyarrow<
|
|
71
|
+
Requires-Dist: pyarrow<26.0.0,>=12.0.0; extra == "research"
|
|
71
72
|
Requires-Dist: h5py<4.0.0,>=3.10.0; extra == "research"
|
|
72
73
|
Requires-Dist: onnx<2.0.0,>=1.22.0; extra == "research"
|
|
73
74
|
Requires-Dist: onnxscript<1.0.0,>=0.1.0; extra == "research"
|
|
@@ -104,7 +105,7 @@ Requires-Dist: onnxscript<1.0.0,>=0.1.0; extra == "desktop-all"
|
|
|
104
105
|
Requires-Dist: openpyxl<4.0.0,>=3.0.0; extra == "desktop-all"
|
|
105
106
|
Requires-Dist: pillow<13.0.0,>=12.3.0; extra == "desktop-all"
|
|
106
107
|
Requires-Dist: plotly<7.0.0,>=5.18.0; extra == "desktop-all"
|
|
107
|
-
Requires-Dist: pyarrow<
|
|
108
|
+
Requires-Dist: pyarrow<26.0.0,>=12.0.0; extra == "desktop-all"
|
|
108
109
|
Requires-Dist: pyinstaller<7.0.0,>=6.11.0; extra == "desktop-all"
|
|
109
110
|
Requires-Dist: pyobjc-framework-Cocoa<13.0,>=10.0; platform_system == "Darwin" and extra == "desktop-all"
|
|
110
111
|
Requires-Dist: pyserial<4.0,>=3.5; extra == "desktop-all"
|
|
@@ -121,57 +122,37 @@ Dynamic: license-file
|
|
|
121
122
|
[](https://github.com/python35/IINTS-SDK/actions/workflows/python-package.yml)
|
|
122
123
|
[](https://python35.github.io/IINTS-SDK/)
|
|
123
124
|
|
|
124
|
-
IINTS-AF is an open-source research SDK for diabetes
|
|
125
|
+
IINTS-AF is an open-source research SDK for diabetes-technology simulation. It provides virtual-patient scenarios, algorithm experiments, deterministic safety checks, data-assurance tools, glucose-forecasting research, and reproducible reports.
|
|
125
126
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
The purpose of IINTS-AF is to make algorithm behavior easier to inspect and discuss before anything is connected to a real person.
|
|
127
|
+
Its purpose is to make diabetes-technology behavior easier to inspect, test, and discuss before anything is connected to a real person.
|
|
129
128
|
|
|
130
129
|
IINTS-AF is not a medical device. It must not be used for diagnosis, insulin dosing, treatment decisions, or real-time patient care.
|
|
131
130
|
|
|
132
|
-
##
|
|
133
|
-
|
|
134
|
-
- Website: [iints.org](https://iints.org)
|
|
135
|
-
- Documentation: [python35.github.io/IINTS-SDK](https://python35.github.io/IINTS-SDK/)
|
|
136
|
-
- Rust research workbench: [latest beta](https://github.com/python35/IINTS-SDK/releases/tag/tauri-beta-latest)
|
|
137
|
-
- Classic desktop app: [latest Qt beta](https://github.com/python35/IINTS-SDK/releases/tag/desktop-beta-latest)
|
|
131
|
+
## Start
|
|
138
132
|
|
|
139
|
-
|
|
133
|
+
```bash
|
|
134
|
+
python -m pip install -U "iints-sdk-python35[full,mdmp,research,edge]"
|
|
135
|
+
iints demo
|
|
136
|
+
iints menu
|
|
137
|
+
iints version --refresh
|
|
138
|
+
```
|
|
140
139
|
|
|
141
|
-
|
|
140
|
+
## Desktop App
|
|
142
141
|
|
|
143
|
-
|
|
142
|
+
The optional Rust/Tauri research workbench offers guided runs, result inspection, local AI review, and data-assurance tools.
|
|
144
143
|
|
|
145
|
-
| Platform |
|
|
144
|
+
| Platform | Latest beta |
|
|
146
145
|
| --- | --- |
|
|
147
146
|
| Windows | [`.exe` installer](https://github.com/python35/IINTS-SDK/releases/download/tauri-beta-latest/IINTS-AF-Research-Workbench-windows-x64-setup.exe) |
|
|
148
147
|
| macOS | [`.dmg`](https://github.com/python35/IINTS-SDK/releases/download/tauri-beta-latest/IINTS-AF-Research-Workbench-macos.dmg) |
|
|
149
148
|
| Linux | [`.AppImage`](https://github.com/python35/IINTS-SDK/releases/download/tauri-beta-latest/IINTS-AF-Research-Workbench-linux-x64.AppImage) |
|
|
150
149
|
|
|
151
|
-
|
|
152
|
-
**Install Python engine** if the bridge is unavailable; the app creates a private engine and keeps
|
|
153
|
-
its setup visible in a terminal.
|
|
154
|
-
|
|
155
|
-
See the [Tauri workbench documentation](https://python35.github.io/IINTS-SDK/TAURI_DESKTOP/) for architecture, security boundaries, and development instructions.
|
|
156
|
-
|
|
157
|
-
## Classic Desktop App
|
|
158
|
-
|
|
159
|
-
IINTS-AF also has a native Qt desktop app for running demos, reviewing results, certifying data, and using the research workbench without memorising terminal commands. The packaged Windows, macOS, and Linux betas include their Python runtime and supported Python-side research engines.
|
|
160
|
-
|
|
161
|
-
Current beta downloads:
|
|
162
|
-
|
|
163
|
-
| Platform | Download |
|
|
164
|
-
| --- | --- |
|
|
165
|
-
| Windows | [`.exe`](https://github.com/python35/IINTS-SDK/releases/download/desktop-beta-latest/IINTS-AF-Desktop-Beta-windows-x64.exe) |
|
|
166
|
-
| macOS | [`.dmg`](https://github.com/python35/IINTS-SDK/releases/download/desktop-beta-latest/IINTS-AF-Desktop-Beta-macos.dmg) |
|
|
167
|
-
| Linux | [executable](https://github.com/python35/IINTS-SDK/releases/download/desktop-beta-latest/IINTS-AF-Desktop-Beta-linux-x64) |
|
|
168
|
-
|
|
169
|
-
Python install, including the PySide6 desktop runtime:
|
|
150
|
+
## Links
|
|
170
151
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
152
|
+
- Website: [iints.org](https://iints.org)
|
|
153
|
+
- Documentation: [python35.github.io/IINTS-SDK](https://python35.github.io/IINTS-SDK/)
|
|
154
|
+
- Source: [github.com/python35/IINTS-SDK](https://github.com/python35/IINTS-SDK)
|
|
155
|
+
- Desktop guide: [Tauri research workbench](https://python35.github.io/IINTS-SDK/TAURI_DESKTOP/)
|
|
175
156
|
|
|
176
157
|
## License
|
|
177
158
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# IINTS-AF SDK
|
|
2
|
+
|
|
3
|
+
[](https://www.uni-kiel.de/en/eucys2026)
|
|
4
|
+
[](https://badge.fury.io/py/iints-sdk-python35)
|
|
5
|
+
[](https://github.com/python35/IINTS-SDK/actions/workflows/python-package.yml)
|
|
6
|
+
[](https://python35.github.io/IINTS-SDK/)
|
|
7
|
+
|
|
8
|
+
IINTS-AF is an open-source research SDK for diabetes-technology simulation. It provides virtual-patient scenarios, algorithm experiments, deterministic safety checks, data-assurance tools, glucose-forecasting research, and reproducible reports.
|
|
9
|
+
|
|
10
|
+
Its purpose is to make diabetes-technology behavior easier to inspect, test, and discuss before anything is connected to a real person.
|
|
11
|
+
|
|
12
|
+
IINTS-AF is not a medical device. It must not be used for diagnosis, insulin dosing, treatment decisions, or real-time patient care.
|
|
13
|
+
|
|
14
|
+
## Start
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
python -m pip install -U "iints-sdk-python35[full,mdmp,research,edge]"
|
|
18
|
+
iints demo
|
|
19
|
+
iints menu
|
|
20
|
+
iints version --refresh
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Desktop App
|
|
24
|
+
|
|
25
|
+
The optional Rust/Tauri research workbench offers guided runs, result inspection, local AI review, and data-assurance tools.
|
|
26
|
+
|
|
27
|
+
| Platform | Latest beta |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| Windows | [`.exe` installer](https://github.com/python35/IINTS-SDK/releases/download/tauri-beta-latest/IINTS-AF-Research-Workbench-windows-x64-setup.exe) |
|
|
30
|
+
| macOS | [`.dmg`](https://github.com/python35/IINTS-SDK/releases/download/tauri-beta-latest/IINTS-AF-Research-Workbench-macos.dmg) |
|
|
31
|
+
| Linux | [`.AppImage`](https://github.com/python35/IINTS-SDK/releases/download/tauri-beta-latest/IINTS-AF-Research-Workbench-linux-x64.AppImage) |
|
|
32
|
+
|
|
33
|
+
## Links
|
|
34
|
+
|
|
35
|
+
- Website: [iints.org](https://iints.org)
|
|
36
|
+
- Documentation: [python35.github.io/IINTS-SDK](https://python35.github.io/IINTS-SDK/)
|
|
37
|
+
- Source: [github.com/python35/IINTS-SDK](https://github.com/python35/IINTS-SDK)
|
|
38
|
+
- Desktop guide: [Tauri research workbench](https://python35.github.io/IINTS-SDK/TAURI_DESKTOP/)
|
|
39
|
+
|
|
40
|
+
## License
|
|
41
|
+
|
|
42
|
+
Apache-2.0 licensed, with legacy MIT notices where applicable.
|
|
@@ -3,16 +3,17 @@
|
|
|
3
3
|
This page is generated from the Python source tree by `tools/docs/generate_api_reference.py`.
|
|
4
4
|
Do not edit it by hand; regenerate it after public module changes.
|
|
5
5
|
|
|
6
|
-
Documented modules: **
|
|
6
|
+
Documented modules: **221**
|
|
7
7
|
|
|
8
8
|
## Package Index
|
|
9
9
|
|
|
10
10
|
| Package | Modules |
|
|
11
11
|
| --- | ---: |
|
|
12
|
+
| `_version` | 1 |
|
|
12
13
|
| `ai` | 13 |
|
|
13
14
|
| `analysis` | 30 |
|
|
14
15
|
| `api` | 4 |
|
|
15
|
-
| `cli` |
|
|
16
|
+
| `cli` | 4 |
|
|
16
17
|
| `core` | 40 |
|
|
17
18
|
| `data` | 25 |
|
|
18
19
|
| `demo_assets` | 1 |
|
|
@@ -33,10 +34,15 @@ Documented modules: **218**
|
|
|
33
34
|
| `tools` | 3 |
|
|
34
35
|
| `utils` | 6 |
|
|
35
36
|
| `validation` | 7 |
|
|
37
|
+
| `versioning` | 1 |
|
|
36
38
|
| `visualization` | 3 |
|
|
37
39
|
|
|
38
40
|
## Module Index
|
|
39
41
|
|
|
42
|
+
### `_version`
|
|
43
|
+
|
|
44
|
+
- [`iints._version`](#iints_version)
|
|
45
|
+
|
|
40
46
|
### `ai`
|
|
41
47
|
|
|
42
48
|
- [`iints.ai`](#iintsai)
|
|
@@ -97,6 +103,7 @@ Documented modules: **218**
|
|
|
97
103
|
|
|
98
104
|
- [`iints.cli`](#iintscli)
|
|
99
105
|
- [`iints.cli.cli`](#iintsclicli)
|
|
106
|
+
- [`iints.cli.menu`](#iintsclimenu)
|
|
100
107
|
- [`iints.cli.patient_cli`](#iintsclipatient_cli)
|
|
101
108
|
|
|
102
109
|
### `core`
|
|
@@ -324,6 +331,10 @@ Documented modules: **218**
|
|
|
324
331
|
- [`iints.validation.safety_contract`](#iintsvalidationsafety_contract)
|
|
325
332
|
- [`iints.validation.schemas`](#iintsvalidationschemas)
|
|
326
333
|
|
|
334
|
+
### `versioning`
|
|
335
|
+
|
|
336
|
+
- [`iints.versioning`](#iintsversioning)
|
|
337
|
+
|
|
327
338
|
### `visualization`
|
|
328
339
|
|
|
329
340
|
- [`iints.visualization`](#iintsvisualization)
|
|
@@ -347,6 +358,13 @@ Documented modules: **218**
|
|
|
347
358
|
- `generate_agp_report(simulation_results: 'pd.DataFrame', output_path: Optional[str] = None, safety_report: Optional[dict] = None, subject_name: str = 'Research simulation', summary_json_path: Optional[str] = None) -> Optional[str]`
|
|
348
359
|
- `generate_agp_assets(simulation_results: 'pd.DataFrame', output_dir: Optional[str] = None, subject_name: str = 'Research simulation', summary_json_path: Optional[str] = None, export_svg: bool = True) -> Optional[dict]`
|
|
349
360
|
|
|
361
|
+
## `iints._version`
|
|
362
|
+
|
|
363
|
+
- Source: `src/iints/_version.py`
|
|
364
|
+
- Summary: Version of the IINTS source code in this distribution.
|
|
365
|
+
|
|
366
|
+
No public classes, functions, or all-caps constants are declared directly in this module.
|
|
367
|
+
|
|
350
368
|
## `iints.ai`
|
|
351
369
|
|
|
352
370
|
- Source: `src/iints/ai/__init__.py`
|
|
@@ -1311,14 +1329,14 @@ No public classes, functions, or all-caps constants are declared directly in thi
|
|
|
1311
1329
|
#### `BrandedTyperGroup` methods
|
|
1312
1330
|
|
|
1313
1331
|
- `get_help(self, ctx)`
|
|
1314
|
-
- `list_commands(self, ctx)`
|
|
1315
1332
|
|
|
1316
1333
|
### Public Functions
|
|
1317
1334
|
|
|
1318
1335
|
- `app_callback(ctx: typer.Context, version: Annotated[bool, typer.Option('--version', help='Show the installed SDK version and exit.', is_eager=True)] = False)`
|
|
1319
1336
|
- `evaluate(algo: Annotated[Path, typer.Option(help='Path to the algorithm Python file')], population: Annotated[int, typer.Option(help='Number of virtual patients to simulate')] = 100, patient_config_name: Annotated[str, typer.Option('--patient-config', help='Base patient configuration name')] = 'default_patient', patient_config_path: Annotated[Optional[Path], typer.Option('--patient-config-path', help='Path to base patient config YAML')] = None, scenario_path: Annotated[Optional[Path], typer.Option('--scenario', help='Path to scenario JSON')] = None, duration: Annotated[int, typer.Option(help='Simulation duration in minutes')] = 720, time_step: Annotated[int, typer.Option(help='Time step in minutes')] = 5, output_dir: Annotated[Optional[Path], typer.Option(help='Output directory')] = None, max_workers: Annotated[Optional[int], typer.Option(help='Max parallel workers (default: all cores)')] = None, seed: Annotated[Optional[int], typer.Option(help='Random seed for reproducibility')] = None, patient_model: Annotated[str, typer.Option('--patient-model', help='Patient model: auto, bergman, custom, simglucose')] = 'auto')`
|
|
1320
1337
|
- `doctor(smoke_run: Annotated[bool, typer.Option(help='Run a short deterministic smoke simulation')] = False, smoke_duration: Annotated[int, typer.Option(help='Smoke simulation duration in minutes')] = 30, full: Annotated[bool, typer.Option('--full', help='Run extra environment checks that help beginners debug setup issues')] = False, suggest: Annotated[bool, typer.Option('--suggest', help='Print concrete next commands based on what doctor finds')] = False)`
|
|
1321
|
-
- `
|
|
1338
|
+
- `version_status(refresh: Annotated[bool, typer.Option('--refresh/--cached', help='Refresh stable release metadata instead of using a fresh cache entry.')] = False, offline: Annotated[bool, typer.Option('--offline', help='Do not access release services; use local and cached information only.')] = False, json_output: Annotated[bool, typer.Option('--json', help='Emit machine-readable JSON.')] = False, fail_if_outdated: Annotated[bool, typer.Option('--fail-if-outdated', help='Exit with code 2 when a newer stable SDK release exists.')] = False, fail_if_unknown: Annotated[bool, typer.Option('--fail-if-unknown', help='Exit with code 3 when the latest stable release cannot be verified.')] = False, fail_if_mismatch: Annotated[bool, typer.Option('--fail-if-mismatch', help='Exit with code 4 when package metadata and active SDK source report different versions.')] = False) -> None`
|
|
1339
|
+
- `update_sdk(source: Annotated[str, typer.Option(help='Update source: auto, pypi, or github. Auto uses the stable PyPI release channel.')] = 'auto', install_extras: Annotated[str, typer.Option('--extras', help='Comma-separated extras to install, e.g. full,mdmp,research,edge. Use empty string for none.')] = 'full,mdmp,research,edge', github_ref: Annotated[str, typer.Option('--github-ref', help="Git ref used with --source github. Use 'stable' for the latest SDK release tag.")] = 'stable', user: Annotated[bool, typer.Option('--user/--no-user', help='Pass --user to pip for user-site installs.')] = False, pre: Annotated[bool, typer.Option('--pre/--no-pre', help='Allow pre-release versions.')] = False, upgrade_pip: Annotated[bool, typer.Option('--upgrade-pip/--no-upgrade-pip', help='Upgrade pip before installing IINTS.')] = False, repair: Annotated[bool, typer.Option('--repair/--no-repair', help='Uninstall legacy/conflicting IINTS packages before reinstalling.')] = False, force_reinstall: Annotated[bool, typer.Option('--force-reinstall/--no-force-reinstall', help='Ask pip to reinstall even if the version appears current.')] = False, no_cache_dir: Annotated[bool, typer.Option('--no-cache-dir/--use-pip-cache', help="Disable pip's wheel/download cache for this update.")] = False, dry_run: Annotated[bool, typer.Option('--dry-run', help='Print the pip command without executing it.')] = False, yes: Annotated[bool, typer.Option('--yes', '-y', help='Run without asking for confirmation.')] = False, verify: Annotated[bool, typer.Option('--verify/--no-verify', help='Verify the installed package version after the update command completes.')] = True, check_only: Annotated[bool, typer.Option('--check', help='Check stable release metadata without changing the environment.')] = False) -> None`
|
|
1322
1340
|
- `delete_sdk(everything: Annotated[bool, typer.Option('--everything/--standard', help='Remove packages, user data, local generated outputs, and a detected IINTS source checkout.')] = False, packages: Annotated[bool, typer.Option('--packages/--no-packages', help='Uninstall IINTS Python packages from the active Python environment.')] = True, user_data: Annotated[bool, typer.Option('--user-data/--no-user-data', help='Remove user-level IINTS config, plugin, and cache folders.')] = True, local_outputs: Annotated[bool, typer.Option('--local-outputs/--no-local-outputs', help='Also remove known generated IINTS output folders in the current directory.')] = False, source_checkout: Annotated[bool, typer.Option('--source-checkout/--no-source-checkout', help='Also remove the detected local IINTS-SDK source checkout, if running from one.')] = False, extra_path: Annotated[Optional[List[Path]], typer.Option('--path', help='Extra IINTS-owned path to remove. Refuses home, root, and current working directory.')] = None, dry_run: Annotated[bool, typer.Option('--dry-run', help='Show what would be removed without deleting anything.')] = False, yes: Annotated[bool, typer.Option('--yes', '-y', help='Delete without asking for confirmation.')] = False) -> None`
|
|
1323
1341
|
- `run_doctor(algo: Annotated[Optional[Path], typer.Option(help='Algorithm Python file to inspect.')] = None, patient_config_path: Annotated[Optional[Path], typer.Option(help='Patient YAML used for the run.')] = None, scenario_path: Annotated[Optional[Path], typer.Option('--scenario-path', '--scenario', help='Scenario JSON used for the run.')] = None, duration: Annotated[int, typer.Option(help='Requested duration in minutes.')] = 1440, time_step: Annotated[int, typer.Option(help='Simulation time step in minutes.')] = 5, output_dir: Annotated[Optional[Path], typer.Option(help='Output directory to preflight.')] = None, patient_config_name: Annotated[str, typer.Option(help='Packaged patient profile name, if not using a YAML path.')] = 'default_patient', output_json: Annotated[Optional[Path], typer.Option(help='Optional JSON report path.')] = None, fail_on_warning: Annotated[bool, typer.Option(help='Exit with code 1 when any warning is found.')] = False) -> None`
|
|
1324
1342
|
- `evidence_build(run: Annotated[List[str], typer.Option('--run', help='Repeatable run input in label=path form, for example normal=results/normal.')], output_dir: Annotated[Path, typer.Option(help='Output directory for the evidence bundle.')] = Path('results/evidence_bundle'), title: Annotated[str, typer.Option(help='Human-readable bundle title.')] = 'IINTS Research Evidence Bundle', local_ai_dir: Annotated[Optional[Path], typer.Option(help='Optional local AI lab output directory.')] = None, pump_bundle_dir: Annotated[Optional[Path], typer.Option(help='Optional Pico pump bundle directory.')] = None) -> None`
|
|
@@ -1342,6 +1360,10 @@ No public classes, functions, or all-caps constants are declared directly in thi
|
|
|
1342
1360
|
- `demo(demo_kind: Annotated[Optional[str], typer.Argument(help='Optional story preset: doctor, eucys, booth, live, quick, or full. Example: `iints demo eucys`.')] = None, output_dir: Annotated[Path, typer.Option(help='Directory where demo outputs should be written')] = Path('results/demo'), mode: Annotated[str, typer.Option('--mode', help='Demo mode: live, quick, or full')] = 'live', quick_mode: Annotated[bool, typer.Option('--quick', help='Shortcut for --mode quick')] = False, full_mode: Annotated[bool, typer.Option('--full', help='Shortcut for --mode full')] = False, presentation_mode: Annotated[bool, typer.Option('--presentation/--simulation-only', help='Default starts the full presentation demo; use --simulation-only for the old one-run starter simulation.')] = True, preset: Annotated[Optional[str], typer.Option(help='Optional preset override. Defaults to quickstart_meal for quick and realistic_reference_day for full.')] = None, seed: Annotated[int, typer.Option(help='Deterministic seed for the bundled demo')] = 42, compare_baselines: Annotated[bool, typer.Option(help='Include built-in baselines in the demo output')] = True, audience: Annotated[str, typer.Option(help='Presenter framing for the live demo: mixed, clinical, engineering, or jury.')] = 'jury', prepare_ai: Annotated[bool, typer.Option('--prepare-ai/--skip-ai', help='Prepare optional local-AI artifacts during the live demo.')] = False, build_evidence: Annotated[bool, typer.Option('--evidence/--no-evidence', help='Build a public research evidence bundle after the demo.')] = True, full_code: Annotated[bool, typer.Option('--full-code/--preview-code', help='Print the whole exported live demo script instead of the curated preview.')] = False, overwrite: Annotated[bool, typer.Option('--overwrite/--no-overwrite', help='Allow replacing previously exported live demo files.')] = True, stage_mode: Annotated[bool, typer.Option('--stage/--technical', help='Default keeps the live demo audience-safe; --technical shows more raw execution detail.')] = True, dry_run: Annotated[bool, typer.Option('--dry-run', help='Show the plan without running the demo')] = False)`
|
|
1343
1361
|
- `start(goal: Annotated[str, typer.Option('--goal', help='What you want to do: demo, project, study, edge, or data. Aliases like pi, research, and quickstart also work.')] = 'demo', run_now: Annotated[bool, typer.Option('--run', help='Run the safe starter action for demo, project, or edge instead of only printing the plan.')] = False, output_dir: Annotated[Path, typer.Option(help='Output directory for --goal demo.')] = Path('results/demo'), project_name: Annotated[str, typer.Option(help='Project folder name for --goal project.')] = 'iints_quickstart', edge_output_dir: Annotated[Path, typer.Option(help='Edge project folder for --goal edge.')] = Path('iints_pi_demo'), board: Annotated[str, typer.Option(help='Edge board for --goal edge: raspberry_pi or uno_q.')] = 'raspberry_pi') -> None`
|
|
1344
1362
|
- `onboard(output_dir: Annotated[Path, typer.Option(help='Root directory for the canonical onboarding outputs.')] = Path('results/onboarding'), run_safe_steps: Annotated[bool, typer.Option('--run-safe-steps', help='Run doctor, demo, import-demo, and realism-check.')] = False) -> None`
|
|
1363
|
+
- `cli_map()`
|
|
1364
|
+
- `cli_overview()`
|
|
1365
|
+
- `cli_menu()`
|
|
1366
|
+
- `cli_hub()`
|
|
1345
1367
|
- `guide()`
|
|
1346
1368
|
- `new_algo(name: Annotated[str, typer.Option(help='Name of the new algorithm')], author: Annotated[str, typer.Option(help='Author of the algorithm')], output_dir: Annotated[Path, typer.Option(help='Directory to save the new algorithm file')] = Path('.'))`
|
|
1347
1369
|
- `presets_list()`
|
|
@@ -1387,6 +1409,10 @@ No public classes, functions, or all-caps constants are declared directly in thi
|
|
|
1387
1409
|
- `mdmp_validate(contract_path: Annotated[Path, typer.Argument(help='Path to MDMP contract YAML')], input_csv: Annotated[Path, typer.Argument(help='Path to input CSV')], output_json: Annotated[Optional[Path], typer.Option(help='Optional output report JSON path')] = None, apply_builtin_transforms: Annotated[bool, typer.Option(help='Apply built-in unit conversion transforms (default: off for explicit MDMP operation)')] = False, fail_on_noncompliant: Annotated[bool, typer.Option(help='Exit code 1 when compliance checks fail')] = False, min_mdmp_grade: Annotated[Optional[str], typer.Option(help='Optional MDMP grade gate (draft, research_grade, clinical_grade)')] = None)`
|
|
1388
1410
|
- `mdmp_visualizer(report_json: Annotated[Path, typer.Argument(help='Path to MDMP validation report JSON')], output_html: Annotated[Path, typer.Option(help='Output HTML path')] = Path('results/mdmp_dashboard.html'), title: Annotated[str, typer.Option(help='Dashboard title')] = 'IINTS MDMP Certification Dashboard')`
|
|
1389
1411
|
- `mdmp_synthetic_mirror(input_csv: Annotated[Path, typer.Argument(help='Source CSV')], contract_path: Annotated[Path, typer.Argument(help='MDMP contract YAML')], output_csv: Annotated[Path, typer.Option(help='Output synthetic CSV path')] = Path('data/synthetic_mirror.csv'), output_json: Annotated[Optional[Path], typer.Option(help='Optional synthetic mirror report JSON')] = Path('results/synthetic_mirror_report.json'), rows: Annotated[Optional[int], typer.Option(help='Optional number of rows to generate')] = None, seed: Annotated[int, typer.Option(help='Random seed')] = 42, noise_scale: Annotated[float, typer.Option(help='Numeric perturbation scale')] = 0.05, min_mdmp_grade: Annotated[Optional[str], typer.Option(help='Optional MDMP grade gate')] = 'research_grade', fail_on_noncompliant: Annotated[bool, typer.Option(help='Exit code 1 when generated dataset fails compliance')] = True)`
|
|
1412
|
+
- `mdmp_encrypt_data(input_file: Annotated[Path, typer.Option('--input', '-i', help='Path to input dataset file (CSV/JSON/Parquet)')], output_file: Annotated[Optional[Path], typer.Option('--output', '-o', help='Path to encrypted output file (.enc)')] = None, key: Annotated[Optional[str], typer.Option('--key', '-k', help='Passphrase value (discouraged: visible in shell history; prompt or --key-file is safer)')] = None, key_file: Annotated[Optional[Path], typer.Option('--key-file', help='File containing a passphrase or exactly 32 raw key bytes')] = None, aad: Annotated[Optional[str], typer.Option('--aad', help='Optional Associated Authenticated Data (e.g. study-ID)')] = None, force: Annotated[bool, typer.Option('--force', help='Allow replacing an existing encrypted output file')] = False)`
|
|
1413
|
+
- `mdmp_decrypt_data(input_file: Annotated[Path, typer.Option('--input', '-i', help='Path to encrypted .enc file')], output_file: Annotated[Path, typer.Option('--output', '-o', help='Path to restored output file')], key: Annotated[Optional[str], typer.Option('--key', '-k', help='Passphrase value (discouraged: visible in shell history; prompt or --key-file is safer)')] = None, key_file: Annotated[Optional[Path], typer.Option('--key-file', help='File containing a passphrase or exactly 32 raw key bytes')] = None, aad: Annotated[Optional[str], typer.Option('--aad', help='Associated Authenticated Data used during encryption')] = None, force: Annotated[bool, typer.Option('--force', help='Allow replacing an existing decrypted output file')] = False)`
|
|
1414
|
+
- `mdmp_sign_card(card_file: Annotated[Path, typer.Option('--card', '-c', help='Path to JSON data card / passport')], private_key: Annotated[Path, typer.Option('--key', '-k', help='Path to Ed25519 private key PEM')], output_file: Annotated[Optional[Path], typer.Option('--output', '-o', help='Path to signed output JSON')] = None, signer_name: Annotated[str, typer.Option('--signer', help='Authority name / signer identity')] = 'MDMP-Authority-v1', key_id: Annotated[str, typer.Option('--key-id', help='Key identifier')] = 'mdmp_pub_v1', post_quantum: Annotated[bool, typer.Option('--pqc', '--hybrid', help='Reserved compatibility flag; real ML-DSA signing is not implemented')] = False)`
|
|
1415
|
+
- `mdmp_verify_card(card_file: Annotated[Path, typer.Argument(help='Path to signed JSON data card / passport')], public_key: Annotated[Optional[Path], typer.Option('--key', '-k', help='Optional explicit public key PEM')] = None, dataset_path: Annotated[Optional[Path], typer.Option('--dataset', '-d', help='Optional dataset file to verify fingerprint match')] = None)`
|
|
1390
1416
|
- `sources(category: Annotated[Optional[str], typer.Option(help='Filter by source category (guideline, trial, model, dataset, ...).')] = None, output_json: Annotated[Optional[Path], typer.Option(help='Optional JSON output path.')] = None)`
|
|
1391
1417
|
- `research_prepare_azt1d(input_dir: Annotated[Path, typer.Option(help='Root directory containing AZT1D Subject folders')] = Path('data_packs/public/azt1d/AZT1D 2025/CGM Records'), output: Annotated[Path, typer.Option(help='Output dataset path (CSV or Parquet)')] = Path('data_packs/public/azt1d/processed/azt1d_merged.csv'), report: Annotated[Path, typer.Option(help='Quality report output path')] = Path('data_packs/public/azt1d/quality_report.json'), time_step: Annotated[int, typer.Option(help='Expected CGM sample interval (minutes)')] = 5, max_gap_multiplier: Annotated[float, typer.Option(help='Segment-break gap multiplier')] = 2.5, dia_minutes: Annotated[float, typer.Option(help='Insulin action duration (minutes)')] = 240.0, peak_minutes: Annotated[float, typer.Option(help='IOB peak time (minutes, OpenAPS bilinear)')] = 75.0, carb_absorb_minutes: Annotated[float, typer.Option(help='Carb absorption duration (minutes)')] = 120.0, max_basal: Annotated[float, typer.Option(help='Clip basal values above this (U/hr)')] = 20.0, max_bolus: Annotated[float, typer.Option(help='Clip bolus values above this (U)')] = 30.0, max_carbs: Annotated[float, typer.Option(help='Clip carb grams above this')] = 200.0, basal_is_rate: Annotated[bool, typer.Option(help='Treat Basal column as U/hr (convert to U/step)')] = True)`
|
|
1392
1418
|
- `research_prepare_ohio(input_dir: Annotated[Path, typer.Option(help='Local OhioT1DM root containing 2018/2020 train/test XML folders. Do not commit this folder.')] = Path('OhioT1DM-volledig'), output: Annotated[Path, typer.Option(help='Output dataset path (CSV or Parquet)')] = Path('data_packs/public/ohio_t1dm_full/processed/ohio_train.csv'), report: Annotated[Path, typer.Option(help='Quality report output path')] = Path('data_packs/public/ohio_t1dm_full/processed/ohio_train_quality_report.json'), years: Annotated[str, typer.Option(help='Comma-separated years to include, e.g. 2018,2020')] = '2018,2020', splits: Annotated[str, typer.Option(help='Comma-separated Ohio splits to include: train,test')] = 'train', time_step: Annotated[int, typer.Option(help='Expected CGM sample interval (minutes)')] = 5, max_gap_multiplier: Annotated[float, typer.Option(help='Segment-break gap multiplier')] = 2.5, dia_minutes: Annotated[float, typer.Option(help='Insulin action duration (minutes)')] = 240.0, peak_minutes: Annotated[float, typer.Option(help='IOB peak time (minutes, OpenAPS bilinear)')] = 75.0, carb_absorb_minutes: Annotated[float, typer.Option(help='Carb absorption duration (minutes)')] = 120.0, max_basal: Annotated[float, typer.Option(help='Clip basal values above this (U/hr)')] = 20.0, max_bolus: Annotated[float, typer.Option(help='Clip bolus insulin units above this')] = 30.0, max_carbs: Annotated[float, typer.Option(help='Clip carb grams above this')] = 200.0, icr_default: Annotated[float, typer.Option(help='Fallback ICR (g/U)')] = 10.0, isf_default: Annotated[float, typer.Option(help='Fallback ISF (mg/dL per U)')] = 50.0, filter_meals_without_rise: Annotated[bool, typer.Option('--filter-meals-without-rise/--keep-all-meals', help='Filter meal events that do not show a post-meal glucose rise.')] = True, meal_rise_threshold: Annotated[float, typer.Option(help='Minimum post-meal glucose rise to keep a meal event.')] = 10.0, meal_pre_window: Annotated[float, typer.Option(help='Minutes before meal used for baseline glucose.')] = 10.0, meal_post_window: Annotated[float, typer.Option(help='Minutes after meal used for rise detection.')] = 90.0)`
|
|
@@ -1520,6 +1546,27 @@ No public classes, functions, or all-caps constants are declared directly in thi
|
|
|
1520
1546
|
- `APP_HELP`
|
|
1521
1547
|
- `IINTS_ASCII_LOGO`
|
|
1522
1548
|
|
|
1549
|
+
## `iints.cli.menu`
|
|
1550
|
+
|
|
1551
|
+
- Source: `src/iints/cli/menu.py`
|
|
1552
|
+
- Summary: Small, stable navigation helpers for the public CLI.
|
|
1553
|
+
- Explicit exports: `COMMAND_DOMAINS, interactive_menu, show_command_map`
|
|
1554
|
+
|
|
1555
|
+
### Public Classes
|
|
1556
|
+
|
|
1557
|
+
| Class | Signature | Summary |
|
|
1558
|
+
| --- | --- | --- |
|
|
1559
|
+
| `CommandDomain` | `CommandDomain` | No module docstring. |
|
|
1560
|
+
|
|
1561
|
+
### Public Functions
|
|
1562
|
+
|
|
1563
|
+
- `show_command_map(console: Optional[Console] = None) -> None`
|
|
1564
|
+
- `interactive_menu(console: Optional[Console] = None) -> None`
|
|
1565
|
+
|
|
1566
|
+
### Public Constants
|
|
1567
|
+
|
|
1568
|
+
- `COMMAND_DOMAINS`
|
|
1569
|
+
|
|
1523
1570
|
## `iints.cli.patient_cli`
|
|
1524
1571
|
|
|
1525
1572
|
- Source: `src/iints/cli/patient_cli.py`
|
|
@@ -3482,7 +3529,7 @@ No public classes, functions, or all-caps constants are declared directly in thi
|
|
|
3482
3529
|
|
|
3483
3530
|
- Source: `src/iints/mdmp/__init__.py`
|
|
3484
3531
|
- Summary: MDMP public API (separated namespace).
|
|
3485
|
-
- Explicit exports: `StreamSpec, FeatureSpec, LabelSpec, ValidationSpec, ProcessSpec, ModelReadyContract, compile_contract, parse_contract, load_contract_yaml, ContractRunner, ValidationResult, CheckResult, MDMP_PROTOCOL_VERSION, MDMP_GRADE_ORDER, classify_mdmp_grade, mdmp_grade_meets_minimum, dataframe_fingerprint, mdmp_gate, MDMPGateError, generate_synthetic_mirror, SyntheticMirrorArtifact, build_mdmp_dashboard_html, MDMPValidationResult, MDMPCheckResult, BACKEND_MDMP_GRADE_ORDER, backend_mdmp_grade_meets_minimum, get_backend, is_mdmp_available, active_mdmp_backend, load_mdmp_contract, run_mdmp_validation, build_mdmp_dashboard_html_with_backend, CORE_AI_PACT_CONTROLS, EU_AI_PACT_CONTROL_DESCRIPTIONS, HIGH_RISK_READINESS_CONTROLS, EUAIPactReadinessResult, review_eu_ai_pact_readiness`
|
|
3532
|
+
- Explicit exports: `StreamSpec, FeatureSpec, LabelSpec, ValidationSpec, ProcessSpec, ModelReadyContract, compile_contract, parse_contract, load_contract_yaml, ContractRunner, ValidationResult, CheckResult, MDMP_PROTOCOL_VERSION, MDMP_GRADE_ORDER, classify_mdmp_grade, mdmp_grade_meets_minimum, dataframe_fingerprint, mdmp_gate, MDMPGateError, generate_synthetic_mirror, SyntheticMirrorArtifact, build_mdmp_dashboard_html, MDMPValidationResult, MDMPCheckResult, BACKEND_MDMP_GRADE_ORDER, backend_mdmp_grade_meets_minimum, get_backend, is_mdmp_available, active_mdmp_backend, load_mdmp_contract, run_mdmp_validation, build_mdmp_dashboard_html_with_backend, CORE_AI_PACT_CONTROLS, EU_AI_PACT_CONTROL_DESCRIPTIONS, HIGH_RISK_READINESS_CONTROLS, EUAIPactReadinessResult, review_eu_ai_pact_readiness, MDMPSigner, MDMPVerifier, derive_key_hkdf, derive_key_scrypt, encrypt_patient_payload, decrypt_patient_payload, encrypt_cgm_dataset_file, decrypt_cgm_dataset_file`
|
|
3486
3533
|
|
|
3487
3534
|
No public classes, functions, or all-caps constants are declared directly in this module.
|
|
3488
3535
|
|
|
@@ -4925,6 +4972,44 @@ No public classes, functions, or all-caps constants are declared directly in thi
|
|
|
4925
4972
|
|
|
4926
4973
|
- `LATEST_SCHEMA_VERSION`
|
|
4927
4974
|
|
|
4975
|
+
## `iints.versioning`
|
|
4976
|
+
|
|
4977
|
+
- Source: `src/iints/versioning.py`
|
|
4978
|
+
- Summary: Shared, network-bounded version inspection for the CLI and desktop app.
|
|
4979
|
+
- Explicit exports: `APP_RELEASE_URL, APP_RELEASES_API_URL, ComponentVersionStatus, SDK_DISTRIBUTION, SDK_PYPI_JSON_URL, SDK_RELEASE_URL, check_app_version, check_sdk_version, clear_version_cache, installed_sdk_environment, installed_sdk_version, version_is_newer, version_report`
|
|
4980
|
+
|
|
4981
|
+
### Public Classes
|
|
4982
|
+
|
|
4983
|
+
| Class | Signature | Summary |
|
|
4984
|
+
| --- | --- | --- |
|
|
4985
|
+
| `ComponentVersionStatus` | `ComponentVersionStatus` | No module docstring. |
|
|
4986
|
+
|
|
4987
|
+
#### `ComponentVersionStatus` methods
|
|
4988
|
+
|
|
4989
|
+
- `to_dict(self) -> dict[str, Any]`
|
|
4990
|
+
|
|
4991
|
+
### Public Functions
|
|
4992
|
+
|
|
4993
|
+
- `version_is_newer(candidate: str, reference: str) -> bool`
|
|
4994
|
+
- `clear_version_cache(path: Path | None = None) -> None`
|
|
4995
|
+
- `installed_sdk_version() -> str`
|
|
4996
|
+
- `installed_sdk_environment() -> dict[str, Any]`
|
|
4997
|
+
- `check_sdk_version(*, installed: str | None = None, refresh: bool = False, offline: bool = False, cache_path: Path | None = None, cache_ttl: timedelta = DEFAULT_CACHE_TTL, timeout: float = DEFAULT_NETWORK_TIMEOUT_SECONDS, fetch_json: JsonFetcher = _fetch_json) -> ComponentVersionStatus`
|
|
4998
|
+
- `check_app_version(installed: str, *, refresh: bool = False, offline: bool = False, cache_path: Path | None = None, cache_ttl: timedelta = DEFAULT_CACHE_TTL, timeout: float = DEFAULT_NETWORK_TIMEOUT_SECONDS, fetch_json: JsonFetcher = _fetch_json) -> ComponentVersionStatus`
|
|
4999
|
+
- `version_report(*, app_version: str | None = None, refresh: bool = False, offline: bool = False) -> dict[str, Any]`
|
|
5000
|
+
|
|
5001
|
+
### Public Constants
|
|
5002
|
+
|
|
5003
|
+
- `APP_RELEASES_API_URL`
|
|
5004
|
+
- `APP_RELEASE_URL`
|
|
5005
|
+
- `APP_TAG_PREFIX`
|
|
5006
|
+
- `DEFAULT_CACHE_TTL`
|
|
5007
|
+
- `DEFAULT_NETWORK_TIMEOUT_SECONDS`
|
|
5008
|
+
- `SDK_DISTRIBUTION`
|
|
5009
|
+
- `SDK_PYPI_JSON_URL`
|
|
5010
|
+
- `SDK_RELEASE_URL`
|
|
5011
|
+
- `VERSION_CHECK_SCHEMA`
|
|
5012
|
+
|
|
4928
5013
|
## `iints.visualization`
|
|
4929
5014
|
|
|
4930
5015
|
- Source: `src/iints/visualization/__init__.py`
|
|
@@ -5,6 +5,15 @@ This is the fast command page for demos, research runs, data prep, local AI, Jet
|
|
|
5
5
|
!!! warning "Research-only boundary"
|
|
6
6
|
IINTS-AF is for simulation, education, benchmarking, and bench-only research. Do not use these commands for real insulin dosing.
|
|
7
7
|
|
|
8
|
+
## Command Navigation
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
iints menu # Choose one of the maintained command domains
|
|
12
|
+
iints map # Print the maintained command map
|
|
13
|
+
iints guide # Run a first demo or open command navigation
|
|
14
|
+
iints version --refresh
|
|
15
|
+
```
|
|
16
|
+
|
|
8
17
|
## First-Time Setup
|
|
9
18
|
|
|
10
19
|
```bash
|
|
@@ -17,8 +26,9 @@ After the SDK is installed, future updates are shorter:
|
|
|
17
26
|
|
|
18
27
|
```bash
|
|
19
28
|
iints update
|
|
20
|
-
iints
|
|
21
|
-
iints update --
|
|
29
|
+
iints version --refresh # compare with stable release metadata
|
|
30
|
+
iints update --dry-run # show the stable PyPI command
|
|
31
|
+
iints update --source github --github-ref stable --yes
|
|
22
32
|
iints update --repair --force-reinstall --yes # repair stale/legacy installs
|
|
23
33
|
```
|
|
24
34
|
|
|
@@ -255,6 +265,15 @@ iints import-tidepool --output-dir results/tidepool
|
|
|
255
265
|
Realism and MDMP checks:
|
|
256
266
|
|
|
257
267
|
```bash
|
|
268
|
+
# Authenticated local-file encryption. Prompting avoids shell-history leakage.
|
|
269
|
+
iints mdmp encrypt-data --input data/cgm.csv --output data/cgm.enc
|
|
270
|
+
iints mdmp decrypt-data --input data/cgm.enc --output data/cgm_dec.csv
|
|
271
|
+
|
|
272
|
+
# Ed25519 data-passport signing; no post-quantum signature is claimed.
|
|
273
|
+
iints mdmp sign --card results/passport.json --key keys/private.pem
|
|
274
|
+
iints mdmp verify results/passport.json
|
|
275
|
+
|
|
276
|
+
# Contract conformance & realism
|
|
258
277
|
iints data realism-check results/imported_trace/cgm_standard.csv \
|
|
259
278
|
--reference free_living_t1d \
|
|
260
279
|
--output-html results/imported_trace/realism_dashboard.html
|
|
@@ -475,9 +494,10 @@ iints sources
|
|
|
475
494
|
If a command exists in the docs but not on your machine, update the SDK:
|
|
476
495
|
|
|
477
496
|
```bash
|
|
478
|
-
iints
|
|
497
|
+
iints version --refresh
|
|
498
|
+
iints update
|
|
479
499
|
hash -r
|
|
480
|
-
iints --
|
|
500
|
+
iints version --refresh
|
|
481
501
|
```
|
|
482
502
|
|
|
483
503
|
## What To Open After A Demo
|
|
@@ -8,10 +8,18 @@ Use this page when you know the task and want the public command family quickly,
|
|
|
8
8
|
|
|
9
9
|
**Read next:** [Technical Reference](TECHNICAL_README.md) for deeper integration details.
|
|
10
10
|
|
|
11
|
+
## Command Navigation
|
|
12
|
+
|
|
13
|
+
### `iints menu` (or `iints hub`)
|
|
14
|
+
Choose a maintained command domain and print reliable entry points without invoking a workflow automatically.
|
|
15
|
+
|
|
16
|
+
### `iints map` (or `iints overview`)
|
|
17
|
+
Print the maintained command domains. Typer-generated `--help` remains authoritative for options.
|
|
18
|
+
|
|
11
19
|
## Beginner-Friendly Entry Points
|
|
12
20
|
|
|
13
21
|
### `iints guide`
|
|
14
|
-
|
|
22
|
+
Run the short starter demo or open command navigation.
|
|
15
23
|
|
|
16
24
|
### `iints start`
|
|
17
25
|
Print a goal-based first-run plan, or run the safe starter action.
|
|
@@ -96,6 +104,17 @@ The generated project is self-contained: it includes `patients/stable_patient.ya
|
|
|
96
104
|
### `iints run --wizard`
|
|
97
105
|
Interactive custom run builder.
|
|
98
106
|
|
|
107
|
+
### `iints version`
|
|
108
|
+
Compare the active Python environment with the latest stable PyPI release.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
iints version --refresh
|
|
112
|
+
iints version --offline --json
|
|
113
|
+
iints version --refresh --fail-if-outdated --fail-if-unknown
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
The report distinguishes installed distribution metadata from active source code and includes the Python executable, CLI path, package location, release source, and check time. Exit code `2` means a verified update is available; exit code `3` means release status could not be verified when `--fail-if-unknown` is active.
|
|
117
|
+
|
|
99
118
|
### `iints update`
|
|
100
119
|
Update the current Python environment to the newest SDK release.
|
|
101
120
|
|
|
@@ -106,11 +125,11 @@ iints update
|
|
|
106
125
|
iints update --dry-run
|
|
107
126
|
iints update --repair --force-reinstall --yes
|
|
108
127
|
iints update --no-cache-dir --yes
|
|
109
|
-
iints update --source github --yes
|
|
128
|
+
iints update --source github --github-ref stable --yes
|
|
110
129
|
iints update --extras full,mdmp,research,edge
|
|
111
130
|
```
|
|
112
131
|
|
|
113
|
-
The command prints the exact `python -m pip install -U ...` invocation before it changes anything. By default
|
|
132
|
+
The command prints the exact `python -m pip install -U ...` invocation before it changes anything. By default `--source auto` uses the stable PyPI release and never silently falls back to GitHub `main`. Use `--dry-run` during a live demo setup check, or `--check` for a status-only automation check.
|
|
114
133
|
|
|
115
134
|
### `iints delete`
|
|
116
135
|
Remove IINTS from the current machine/environment with a visible deletion plan.
|
|
@@ -653,6 +672,43 @@ iints profiles create --name endurance_patient --preset endurance
|
|
|
653
672
|
|
|
654
673
|
Starter presets are provided for `stable-demo`, `stress-test`, and `endurance`.
|
|
655
674
|
|
|
675
|
+
## MDMP Cryptography And Provenance
|
|
676
|
+
|
|
677
|
+
### `iints mdmp encrypt-data`
|
|
678
|
+
Encrypt a local dataset with ChaCha20-Poly1305 authenticated encryption. Text passphrases are processed with a random per-envelope scrypt salt:
|
|
679
|
+
|
|
680
|
+
```bash
|
|
681
|
+
iints mdmp encrypt-data --input data/patient_cgm.csv --output data/patient_cgm.enc
|
|
682
|
+
```
|
|
683
|
+
|
|
684
|
+
### `iints mdmp decrypt-data`
|
|
685
|
+
Decrypt and authenticate encrypted dataset files, ensuring tamper-resistance:
|
|
686
|
+
|
|
687
|
+
```bash
|
|
688
|
+
iints mdmp decrypt-data --input data/patient_cgm.enc --output data/restored.csv
|
|
689
|
+
```
|
|
690
|
+
|
|
691
|
+
### `iints mdmp sign`
|
|
692
|
+
Sign an MDMP dataset passport card with Ed25519. The SDK does not currently implement or claim an ML-DSA/post-quantum signature:
|
|
693
|
+
|
|
694
|
+
```bash
|
|
695
|
+
iints mdmp sign --card results/passport.json --key keys/mdmp_private_v1.pem
|
|
696
|
+
```
|
|
697
|
+
|
|
698
|
+
### `iints mdmp verify`
|
|
699
|
+
Verify an MDMP dataset passport card signature, expiry, and SHA-256 fingerprint:
|
|
700
|
+
|
|
701
|
+
```bash
|
|
702
|
+
iints mdmp verify results/passport.json --dataset data/patient_cgm.csv
|
|
703
|
+
```
|
|
704
|
+
|
|
705
|
+
### `iints mdmp validate`
|
|
706
|
+
Validate dataset against an MDMP contract schema and range rules:
|
|
707
|
+
|
|
708
|
+
```bash
|
|
709
|
+
iints mdmp validate contracts/cgm_contract.yaml data/patient_cgm.csv --min-mdmp-grade research_grade
|
|
710
|
+
```
|
|
711
|
+
|
|
656
712
|
## Full Details
|
|
657
713
|
|
|
658
714
|
For every option and advanced workflow, continue to:
|
|
@@ -602,11 +602,15 @@ Quickstart project in one command:
|
|
|
602
602
|
iints quickstart --project-name iints_quickstart
|
|
603
603
|
```
|
|
604
604
|
|
|
605
|
-
|
|
606
|
-
* `hypo_prone_night`
|
|
607
|
-
* `hyper_challenge`
|
|
608
|
-
* `pizza_paradox`
|
|
609
|
-
* `midnight_crash`
|
|
605
|
+
Maintained research presets:
|
|
606
|
+
* `hypo_prone_night` (descriptive alias: `nocturnal_post_exercise_hypoglycemia`)
|
|
607
|
+
* `hyper_challenge` (descriptive alias: `acute_hyperglycemia_underdosing_challenge`)
|
|
608
|
+
* `pizza_paradox` (descriptive alias: `biphasic_macronutrient_absorption`)
|
|
609
|
+
* `midnight_crash` (descriptive alias: `nocturnal_insulin_stacking_challenge`)
|
|
610
|
+
* `quickstart_meal` (descriptive alias: `acute_postprandial_excursion`)
|
|
611
|
+
* `realistic_reference_day` (descriptive alias: `calibrated_free_living_reference_day`)
|
|
612
|
+
|
|
613
|
+
These are in-silico research scenarios. Their names do not imply clinical validation or patient-specific calibration.
|
|
610
614
|
|
|
611
615
|
Generate your own clinic-safe preset scaffold:
|
|
612
616
|
|
|
@@ -10,7 +10,8 @@ It does **not** certify a model for clinical use on its own.
|
|
|
10
10
|
|
|
11
11
|
Public SDK surface:
|
|
12
12
|
- Python: `iints.data`
|
|
13
|
-
- CLI: `iints data ...`
|
|
13
|
+
- CLI contracts and certification: `iints data ...`
|
|
14
|
+
- CLI protection and passport verification: `iints mdmp ...`
|
|
14
15
|
|
|
15
16
|
## Who This Page Is For
|
|
16
17
|
|
|
@@ -57,17 +58,39 @@ Implemented in:
|
|
|
57
58
|
- Contracts define required columns, expected types, and physiologic ranges.
|
|
58
59
|
- Unit conversions can be applied deterministically (for example `mmol/L -> mg/dL`).
|
|
59
60
|
|
|
60
|
-
2.
|
|
61
|
-
- Contract and dataset fingerprints
|
|
62
|
-
- Any source-data change produces a
|
|
61
|
+
2. Deterministic Provenance
|
|
62
|
+
- Contract and dataset fingerprints use SHA-256.
|
|
63
|
+
- Any source-data change produces a different fingerprint.
|
|
63
64
|
|
|
64
|
-
3. Compliance Scoring
|
|
65
|
-
- Every
|
|
66
|
-
-
|
|
65
|
+
3. Explicit Compliance Scoring
|
|
66
|
+
- Every validation report records individual checks, a score, and an MDMP grade.
|
|
67
|
+
- A grade summarizes contract conformance only; it is not a clinical certification.
|
|
67
68
|
|
|
68
69
|
4. Runtime Guardians
|
|
69
|
-
- `mdmp_gate` can enforce
|
|
70
|
-
- This
|
|
70
|
+
- `mdmp_gate` can enforce a contract before an in-memory research function runs.
|
|
71
|
+
- This provides a reproducible data-quality boundary inside a pipeline.
|
|
72
|
+
|
|
73
|
+
5. Authenticated Local-File Encryption
|
|
74
|
+
- ChaCha20-Poly1305 authenticated encryption protects confidentiality and integrity of local files.
|
|
75
|
+
- Human passphrases are processed with scrypt and a random per-envelope salt; exact 32-byte raw keys are also supported.
|
|
76
|
+
- New passphrase-protected envelopes require at least 12 UTF-8 bytes. Longer, randomly generated passphrases remain preferable.
|
|
77
|
+
- Associated authenticated data (AAD) can bind a study identifier or other context to the ciphertext.
|
|
78
|
+
- This feature protects files at rest. It does not replace TLS, access control, key management, backups, or host security.
|
|
79
|
+
|
|
80
|
+
6. Signed Data Passports
|
|
81
|
+
- Ed25519 signatures authenticate passport content and SHA-256 fingerprints.
|
|
82
|
+
- Signature format v2 also authenticates the signer label, key identifier, algorithm label, and signing timestamp. Existing v1 cards remain verifiable through an explicit compatibility path.
|
|
83
|
+
- Verification can use an explicit public key, the bundled research root, or an MDMP trust store.
|
|
84
|
+
- The SDK does not currently implement or claim ML-DSA or other post-quantum signatures. The legacy `--pqc` flag fails closed instead of creating a misleading label.
|
|
85
|
+
|
|
86
|
+
Encryption example:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
iints mdmp encrypt-data --input data/my_cgm.csv --output data/my_cgm.csv.enc
|
|
90
|
+
iints mdmp decrypt-data --input data/my_cgm.csv.enc --output data/restored.csv
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
The commands prompt for a passphrase. Prefer the prompt or `--key-file`; avoid `--key` because command-line arguments can be exposed in shell history and process listings.
|
|
71
94
|
|
|
72
95
|
## MDMP Grades
|
|
73
96
|
|
|
@@ -378,7 +378,7 @@ The public `reference_free_living_t1d` profile uses a gate-compatible calibratio
|
|
|
378
378
|
| HAAF and hypo-awareness memory | implemented as an experimental bounded memory state; not a clinically validated predictor of awareness or severe-hypoglycemia risk |
|
|
379
379
|
| exogenous glucagon PK/PD for dual-hormone pumps | implemented as an experimental Hovorka-style depot/plasma/effect layer with simulator safety caps; not emergency-dose guidance |
|
|
380
380
|
| illness, infection, menstrual cycle, steroid exposure | approximated through scenario disturbances and stress events; not a complete endocrine illness model |
|
|
381
|
-
| fat/protein mixed-meal kinetics | approximated with delayed meal profiles such as `pizza_paradox` |
|
|
381
|
+
| fat/protein mixed-meal kinetics | approximated with delayed dual-wave meal profiles such as `biphasic_macronutrient_absorption` (alias `pizza_paradox`) |
|
|
382
382
|
| GLP-1 / incretin physiology | represented as a bounded meal-emptying modifier, not a personalized incretin hormone assay |
|
|
383
383
|
| circadian endocrine rhythms | represented as an optional dawn EGP oscillator, not a full cortisol/growth-hormone model |
|
|
384
384
|
| exercise GLUT4 translocation | represented as a bounded NIMGU state, not a calibrated muscle-biopsy model |
|