iints-sdk-python35 1.3.0__tar.gz → 1.3.2__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.3.0/src/iints_sdk_python35.egg-info → iints_sdk_python35-1.3.2}/PKG-INFO +66 -8
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/README.md +65 -7
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/pyproject.toml +1 -1
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/__init__.py +1 -1
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/booth_demo.py +19 -8
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/cli/cli.py +34 -0
- iints_sdk_python35-1.3.2/src/iints/demo_assets.py +50 -0
- iints_sdk_python35-1.3.2/src/iints/templates/demos/__init__.py +1 -0
- iints_sdk_python35-1.3.2/src/iints/templates/demos/live_stage_demo.py +410 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2/src/iints_sdk_python35.egg-info}/PKG-INFO +66 -8
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints_sdk_python35.egg-info/SOURCES.txt +4 -0
- iints_sdk_python35-1.3.2/tests/test_cli_demo_export.py +29 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/LICENSE +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/setup.cfg +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/ai/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/ai/assistant.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/ai/backends/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/ai/backends/base.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/ai/backends/mistral_api.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/ai/backends/ollama.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/ai/cli.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/ai/mdmp_guard.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/ai/model_catalog.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/ai/prepare.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/ai/prompts.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/algorithm_xray.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/baseline.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/carelink_workbench.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/clinical_benchmark.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/clinical_metrics.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/clinical_tir_analyzer.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/diabetes_metrics.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/edge_efficiency.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/edge_performance_monitor.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/explainability.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/explainable_ai.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/hardware_benchmark.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/metrics.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/population_report.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/poster.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/reporting.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/safety_index.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/sensor_filtering.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/analysis/validator.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/api/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/api/base_algorithm.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/api/registry.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/api/template_algorithm.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/assets/iints_logo.png +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/cli/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/algorithms/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/algorithms/battle_runner.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/algorithms/correction_bolus.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/algorithms/discovery.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/algorithms/fixed_basal_bolus.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/algorithms/hybrid_algorithm.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/algorithms/lstm_algorithm.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/algorithms/mock_algorithms.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/algorithms/pid_controller.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/algorithms/standard_pump_algo.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/device.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/device_manager.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/devices/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/devices/models.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/patient/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/patient/bergman_model.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/patient/models.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/patient/patient_factory.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/patient/profile.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/safety/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/safety/config.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/safety/input_validator.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/safety/supervisor.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/simulation/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/simulation/scenario_parser.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/simulator.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/core/supervisor.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/adapter.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/column_mapper.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/contracts.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/datasets.json +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/demo/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/demo/demo_cgm.csv +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/guardians.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/importer.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/ingestor.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/mdmp_visualizer.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/nightscout.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/quality_checker.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/registry.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/runner.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/synthetic_mirror.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/tidepool.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/universal_parser.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/virtual_patients/clinic_safe_baseline.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/virtual_patients/clinic_safe_hyper_challenge.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/virtual_patients/clinic_safe_hypo_prone.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/virtual_patients/clinic_safe_midnight.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/virtual_patients/clinic_safe_pizza.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/virtual_patients/clinic_safe_stress_meal.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/virtual_patients/default_patient.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/data/virtual_patients/patient_559_config.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/emulation/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/emulation/legacy_base.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/emulation/medtronic_780g.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/emulation/omnipod_5.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/emulation/tandem_controliq.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/highlevel.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/learning/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/learning/autonomous_optimizer.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/learning/learning_system.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/mdmp/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/mdmp/backend.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/metrics.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/population/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/population/generator.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/population/runner.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/presets/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/presets/evidence_sources.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/presets/forecast_calibration_profiles.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/presets/golden_benchmark.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/presets/presets.json +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/presets/safety_contract_default.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/presets/validation_profiles.yaml +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/research/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/research/audit.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/research/calibration_gate.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/research/config.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/research/dataset.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/research/evaluation.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/research/losses.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/research/metrics.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/research/model_registry.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/research/predictor.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/scenarios/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/scenarios/generator.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/templates/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/templates/default_algorithm.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/templates/scenarios/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/templates/scenarios/chaos_insulin_stacking.json +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/templates/scenarios/chaos_runaway_ai.json +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/templates/scenarios/example_scenario.json +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/templates/scenarios/exercise_stress.json +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/utils/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/utils/plotting.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/utils/run_io.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/validation/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/validation/golden.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/validation/replay.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/validation/run_validation.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/validation/safety_contract.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/validation/schemas.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/visualization/__init__.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/visualization/cockpit.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints/visualization/uncertainty_cloud.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints_sdk_python35.egg-info/dependency_links.txt +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints_sdk_python35.egg-info/entry_points.txt +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints_sdk_python35.egg-info/requires.txt +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/src/iints_sdk_python35.egg-info/top_level.txt +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/tests/test_bergman.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/tests/test_cli_booth_demo.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/tests/test_cli_carelink_workbench.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/tests/test_cli_poster.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/tests/test_install_doctor.py +0 -0
- {iints_sdk_python35-1.3.0 → iints_sdk_python35-1.3.2}/tests/test_population.py +0 -0
{iints_sdk_python35-1.3.0/src/iints_sdk_python35.egg-info → iints_sdk_python35-1.3.2}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: iints-sdk-python35
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.2
|
|
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
|
Project-URL: Homepage, https://github.com/python35/IINTS-SDK
|
|
@@ -71,7 +71,7 @@ Docs (GitHub Pages): [python35.github.io/IINTS-SDK](https://python35.github.io/I
|
|
|
71
71
|
python3 -m venv .venv
|
|
72
72
|
source .venv/bin/activate
|
|
73
73
|
python -m pip install -U pip
|
|
74
|
-
pip install iints-sdk-python35
|
|
74
|
+
python -m pip install -U "iints-sdk-python35[mdmp]"
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
```bash
|
|
@@ -81,6 +81,14 @@ cd iints_quickstart
|
|
|
81
81
|
iints presets run --name baseline_t1d --algo algorithms/example_algorithm.py
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
+
If you want the clearest install/path rules first, read:
|
|
85
|
+
- `docs/INSTALLATION.md`
|
|
86
|
+
|
|
87
|
+
Short rule:
|
|
88
|
+
- installed `iints ...` commands can run from any folder
|
|
89
|
+
- `python -m pip install -e ".[mdmp]"` only works from the SDK repo root
|
|
90
|
+
- after `iints quickstart`, switch into the generated project folder
|
|
91
|
+
|
|
84
92
|
## CareLink Import
|
|
85
93
|
|
|
86
94
|
The SDK can now ingest Medtronic CareLink / MiniMed CSV exports and convert them into the standard IINTS schema:
|
|
@@ -127,19 +135,27 @@ That workbench is designed for three things:
|
|
|
127
135
|
The SDK now includes a research-only AI assistant layer for explanations and run summaries.
|
|
128
136
|
It is gated by MDMP verification before any LLM call is allowed.
|
|
129
137
|
|
|
130
|
-
Use an active virtual environment for the full flow
|
|
138
|
+
Use an active virtual environment for the full flow.
|
|
139
|
+
|
|
140
|
+
If you installed the released SDK from PyPI, run:
|
|
131
141
|
|
|
132
142
|
```bash
|
|
133
143
|
python3 -m venv .venv
|
|
134
144
|
source .venv/bin/activate
|
|
135
145
|
python -m pip install -U pip
|
|
136
|
-
python -m pip install -
|
|
146
|
+
python -m pip install -U "iints-sdk-python35[mdmp]"
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
If you are developing from source instead, first move into the SDK repo root and then run:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
cd /path/to/IINTS-SDK
|
|
153
|
+
python -m pip install -U -e ".[mdmp]"
|
|
137
154
|
```
|
|
138
155
|
|
|
139
156
|
Run the open local Mistral model locally with Ollama:
|
|
140
157
|
|
|
141
158
|
```bash
|
|
142
|
-
python -m pip install -e ".[mdmp]"
|
|
143
159
|
ollama pull ministral-3:8b
|
|
144
160
|
iints ai models
|
|
145
161
|
```
|
|
@@ -239,14 +255,54 @@ You can also run it through the CLI:
|
|
|
239
255
|
iints demo-booth --output-dir results/booth_demo
|
|
240
256
|
```
|
|
241
257
|
|
|
258
|
+
For a cleaner live explanation, show this source file first:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
examples/demos/07_live_stage_demo.py
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
That file is deliberately small and readable, so you can point to:
|
|
265
|
+
- `PATIENT_CONFIG`
|
|
266
|
+
- `OUTPUT_DIR`
|
|
267
|
+
- `DURATION_MINUTES`
|
|
268
|
+
- `TIME_STEP_MINUTES`
|
|
269
|
+
- `SEED`
|
|
270
|
+
|
|
271
|
+
Then run:
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
./scripts/run_live_stage_demo.sh
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
That shell wrapper resolves the SDK repo root automatically, so it still works if you launch it from another working directory via its full path.
|
|
278
|
+
|
|
279
|
+
And open:
|
|
280
|
+
- `results/booth_demo_live/booth_demo_poster.png`
|
|
281
|
+
- `results/booth_demo_live/JURY_TALK_TRACK.md`
|
|
282
|
+
- `results/booth_demo_live/BEURS_LIVE_DEMO_SCRIPT.txt`
|
|
283
|
+
|
|
284
|
+
What makes this script good for a booth:
|
|
285
|
+
- it visibly calls `run_full(...)`
|
|
286
|
+
- it visibly calls `generate_results_poster(...)`
|
|
287
|
+
- it visibly calls `prepare_ai_ready_artifacts(...)`
|
|
288
|
+
- you can point to one patient setting and explain how the same pipeline reruns for another patient
|
|
289
|
+
|
|
290
|
+
If you installed the SDK on another machine and do not have the repository checkout there, export the same demo code with:
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
iints demo-export --output-dir iints_demo
|
|
294
|
+
cd iints_demo
|
|
295
|
+
python 07_live_stage_demo.py
|
|
296
|
+
```
|
|
297
|
+
|
|
242
298
|
## Updating The SDK
|
|
243
299
|
|
|
244
|
-
If another machine is missing newer commands like `iints ai ...` or `iints demo-booth`, upgrade inside the active virtual environment:
|
|
300
|
+
If another machine is missing newer commands like `iints ai ...` or `iints demo-booth`, upgrade inside the active virtual environment to the latest release:
|
|
245
301
|
|
|
246
302
|
```bash
|
|
247
303
|
source .venv/bin/activate
|
|
248
304
|
python -m pip install -U pip
|
|
249
|
-
python -m pip install -U "iints-sdk-python35[mdmp]
|
|
305
|
+
python -m pip install -U "iints-sdk-python35[mdmp]"
|
|
250
306
|
hash -r
|
|
251
307
|
python -c "import iints; print(iints.__version__)"
|
|
252
308
|
```
|
|
@@ -260,6 +316,8 @@ iints-sdk-doctor
|
|
|
260
316
|
Full guide:
|
|
261
317
|
- `docs/UPDATING.md`
|
|
262
318
|
|
|
319
|
+
If you specifically need to reproduce a known environment, you can pin an exact release number instead of using the unpinned upgrade command above.
|
|
320
|
+
|
|
263
321
|
Troubleshooting:
|
|
264
322
|
- If `iints ai ...` says `No such command 'ai'`, your environment usually still has a legacy `iints` package installed alongside `iints-sdk-python35`.
|
|
265
323
|
- Run `iints-sdk-doctor` first.
|
|
@@ -267,7 +325,7 @@ Troubleshooting:
|
|
|
267
325
|
|
|
268
326
|
```bash
|
|
269
327
|
python -m pip uninstall -y iints iints-sdk-python35
|
|
270
|
-
python -m pip install -U "iints-sdk-python35[mdmp]
|
|
328
|
+
python -m pip install -U "iints-sdk-python35[mdmp]"
|
|
271
329
|
hash -r
|
|
272
330
|
```
|
|
273
331
|
|
|
@@ -20,7 +20,7 @@ Docs (GitHub Pages): [python35.github.io/IINTS-SDK](https://python35.github.io/I
|
|
|
20
20
|
python3 -m venv .venv
|
|
21
21
|
source .venv/bin/activate
|
|
22
22
|
python -m pip install -U pip
|
|
23
|
-
pip install iints-sdk-python35
|
|
23
|
+
python -m pip install -U "iints-sdk-python35[mdmp]"
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
```bash
|
|
@@ -30,6 +30,14 @@ cd iints_quickstart
|
|
|
30
30
|
iints presets run --name baseline_t1d --algo algorithms/example_algorithm.py
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
+
If you want the clearest install/path rules first, read:
|
|
34
|
+
- `docs/INSTALLATION.md`
|
|
35
|
+
|
|
36
|
+
Short rule:
|
|
37
|
+
- installed `iints ...` commands can run from any folder
|
|
38
|
+
- `python -m pip install -e ".[mdmp]"` only works from the SDK repo root
|
|
39
|
+
- after `iints quickstart`, switch into the generated project folder
|
|
40
|
+
|
|
33
41
|
## CareLink Import
|
|
34
42
|
|
|
35
43
|
The SDK can now ingest Medtronic CareLink / MiniMed CSV exports and convert them into the standard IINTS schema:
|
|
@@ -76,19 +84,27 @@ That workbench is designed for three things:
|
|
|
76
84
|
The SDK now includes a research-only AI assistant layer for explanations and run summaries.
|
|
77
85
|
It is gated by MDMP verification before any LLM call is allowed.
|
|
78
86
|
|
|
79
|
-
Use an active virtual environment for the full flow
|
|
87
|
+
Use an active virtual environment for the full flow.
|
|
88
|
+
|
|
89
|
+
If you installed the released SDK from PyPI, run:
|
|
80
90
|
|
|
81
91
|
```bash
|
|
82
92
|
python3 -m venv .venv
|
|
83
93
|
source .venv/bin/activate
|
|
84
94
|
python -m pip install -U pip
|
|
85
|
-
python -m pip install -
|
|
95
|
+
python -m pip install -U "iints-sdk-python35[mdmp]"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
If you are developing from source instead, first move into the SDK repo root and then run:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
cd /path/to/IINTS-SDK
|
|
102
|
+
python -m pip install -U -e ".[mdmp]"
|
|
86
103
|
```
|
|
87
104
|
|
|
88
105
|
Run the open local Mistral model locally with Ollama:
|
|
89
106
|
|
|
90
107
|
```bash
|
|
91
|
-
python -m pip install -e ".[mdmp]"
|
|
92
108
|
ollama pull ministral-3:8b
|
|
93
109
|
iints ai models
|
|
94
110
|
```
|
|
@@ -188,14 +204,54 @@ You can also run it through the CLI:
|
|
|
188
204
|
iints demo-booth --output-dir results/booth_demo
|
|
189
205
|
```
|
|
190
206
|
|
|
207
|
+
For a cleaner live explanation, show this source file first:
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
examples/demos/07_live_stage_demo.py
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
That file is deliberately small and readable, so you can point to:
|
|
214
|
+
- `PATIENT_CONFIG`
|
|
215
|
+
- `OUTPUT_DIR`
|
|
216
|
+
- `DURATION_MINUTES`
|
|
217
|
+
- `TIME_STEP_MINUTES`
|
|
218
|
+
- `SEED`
|
|
219
|
+
|
|
220
|
+
Then run:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
./scripts/run_live_stage_demo.sh
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
That shell wrapper resolves the SDK repo root automatically, so it still works if you launch it from another working directory via its full path.
|
|
227
|
+
|
|
228
|
+
And open:
|
|
229
|
+
- `results/booth_demo_live/booth_demo_poster.png`
|
|
230
|
+
- `results/booth_demo_live/JURY_TALK_TRACK.md`
|
|
231
|
+
- `results/booth_demo_live/BEURS_LIVE_DEMO_SCRIPT.txt`
|
|
232
|
+
|
|
233
|
+
What makes this script good for a booth:
|
|
234
|
+
- it visibly calls `run_full(...)`
|
|
235
|
+
- it visibly calls `generate_results_poster(...)`
|
|
236
|
+
- it visibly calls `prepare_ai_ready_artifacts(...)`
|
|
237
|
+
- you can point to one patient setting and explain how the same pipeline reruns for another patient
|
|
238
|
+
|
|
239
|
+
If you installed the SDK on another machine and do not have the repository checkout there, export the same demo code with:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
iints demo-export --output-dir iints_demo
|
|
243
|
+
cd iints_demo
|
|
244
|
+
python 07_live_stage_demo.py
|
|
245
|
+
```
|
|
246
|
+
|
|
191
247
|
## Updating The SDK
|
|
192
248
|
|
|
193
|
-
If another machine is missing newer commands like `iints ai ...` or `iints demo-booth`, upgrade inside the active virtual environment:
|
|
249
|
+
If another machine is missing newer commands like `iints ai ...` or `iints demo-booth`, upgrade inside the active virtual environment to the latest release:
|
|
194
250
|
|
|
195
251
|
```bash
|
|
196
252
|
source .venv/bin/activate
|
|
197
253
|
python -m pip install -U pip
|
|
198
|
-
python -m pip install -U "iints-sdk-python35[mdmp]
|
|
254
|
+
python -m pip install -U "iints-sdk-python35[mdmp]"
|
|
199
255
|
hash -r
|
|
200
256
|
python -c "import iints; print(iints.__version__)"
|
|
201
257
|
```
|
|
@@ -209,6 +265,8 @@ iints-sdk-doctor
|
|
|
209
265
|
Full guide:
|
|
210
266
|
- `docs/UPDATING.md`
|
|
211
267
|
|
|
268
|
+
If you specifically need to reproduce a known environment, you can pin an exact release number instead of using the unpinned upgrade command above.
|
|
269
|
+
|
|
212
270
|
Troubleshooting:
|
|
213
271
|
- If `iints ai ...` says `No such command 'ai'`, your environment usually still has a legacy `iints` package installed alongside `iints-sdk-python35`.
|
|
214
272
|
- Run `iints-sdk-doctor` first.
|
|
@@ -216,7 +274,7 @@ Troubleshooting:
|
|
|
216
274
|
|
|
217
275
|
```bash
|
|
218
276
|
python -m pip uninstall -y iints iints-sdk-python35
|
|
219
|
-
python -m pip install -U "iints-sdk-python35[mdmp]
|
|
277
|
+
python -m pip install -U "iints-sdk-python35[mdmp]"
|
|
220
278
|
hash -r
|
|
221
279
|
```
|
|
222
280
|
|
|
@@ -11,7 +11,7 @@ except ImportError: # pragma: no cover - Python < 3.8 fallback
|
|
|
11
11
|
try:
|
|
12
12
|
__version__ = version("iints-sdk-python35")
|
|
13
13
|
except PackageNotFoundError: # pragma: no cover - source tree fallback
|
|
14
|
-
__version__ = "1.3.
|
|
14
|
+
__version__ = "1.3.2"
|
|
15
15
|
|
|
16
16
|
# Note to developers: this SDK is currently maintained by a single author.
|
|
17
17
|
# Please report bugs via GitHub issues and feel free to contribute fixes via PRs.
|
|
@@ -231,9 +231,13 @@ def _build_commands_markdown(
|
|
|
231
231
|
supervisor_dir = run_outputs["03_supervisor_override"]["output_dir"]
|
|
232
232
|
return (
|
|
233
233
|
"# Booth Demo Commands\n\n"
|
|
234
|
+
"## Showable live demo script\n\n"
|
|
235
|
+
"```bash\n"
|
|
236
|
+
f"python3 {example_script} --output-dir {output_dir}\n"
|
|
237
|
+
"```\n\n"
|
|
234
238
|
"## Run from source tree\n\n"
|
|
235
239
|
"```bash\n"
|
|
236
|
-
f"PYTHONPATH=src python3
|
|
240
|
+
f"PYTHONPATH=src python3 examples/demos/06_booth_demo.py --output-dir {output_dir}\n"
|
|
237
241
|
"```\n\n"
|
|
238
242
|
"## Run via installed CLI\n\n"
|
|
239
243
|
"```bash\n"
|
|
@@ -258,12 +262,17 @@ def _build_live_demo_script_text(
|
|
|
258
262
|
"IINTS-AF BOOTH LIVE DEMO SCRIPT\n"
|
|
259
263
|
"===============================\n\n"
|
|
260
264
|
"1. WHAT CODE TO SHOW FIRST\n"
|
|
261
|
-
"- Show examples/demos/
|
|
262
|
-
" Reason:
|
|
263
|
-
"-
|
|
264
|
-
"
|
|
265
|
+
"- Show examples/demos/07_live_stage_demo.py first.\n"
|
|
266
|
+
" Reason: the top of that file exposes the patient profile, output folder, duration, and seed on one screen.\n"
|
|
267
|
+
"- Point out the visible SDK feature calls in that script:\n"
|
|
268
|
+
" run_full(...), generate_results_poster(...), and prepare_ai_ready_artifacts(...).\n"
|
|
269
|
+
"- Point out that you can swap PATIENT_CONFIG to another packaged profile such as patient_559_config or clinic_safe_hypo_prone.\n"
|
|
270
|
+
"- If someone asks how the full bundle is generated, open examples/demos/06_booth_demo.py and then src/iints/analysis/booth_demo.py.\n"
|
|
271
|
+
" Reason: those files define the three scenarios and write the poster, talk track, and run bundle outputs.\n\n"
|
|
265
272
|
"2. LIVE COMMAND TO RUN\n"
|
|
266
|
-
"- From the repository root, run:\n"
|
|
273
|
+
"- From the repository root, run the live stage script:\n"
|
|
274
|
+
" ./scripts/run_live_stage_demo.sh\n"
|
|
275
|
+
"- Or run the booth bundle directly:\n"
|
|
267
276
|
" ./scripts/run_booth_demo.sh\n"
|
|
268
277
|
"- Or use the installed CLI:\n"
|
|
269
278
|
" iints demo-booth --output-dir results/booth_demo\n\n"
|
|
@@ -304,6 +313,7 @@ def _build_live_demo_script_text(
|
|
|
304
313
|
def build_booth_demo(
|
|
305
314
|
output_dir: str | Path = "./results/booth_demo",
|
|
306
315
|
*,
|
|
316
|
+
patient_config: str | Path | dict[str, Any] = "default_patient",
|
|
307
317
|
duration_minutes: int = 360,
|
|
308
318
|
time_step: int = 5,
|
|
309
319
|
seed: int = 42,
|
|
@@ -326,7 +336,7 @@ def build_booth_demo(
|
|
|
326
336
|
outputs = run_full(
|
|
327
337
|
algorithm=spec.algorithm_factory(),
|
|
328
338
|
scenario=spec.scenario,
|
|
329
|
-
patient_config=
|
|
339
|
+
patient_config=patient_config,
|
|
330
340
|
duration_minutes=duration_minutes,
|
|
331
341
|
time_step=time_step,
|
|
332
342
|
seed=seed,
|
|
@@ -375,6 +385,7 @@ def build_booth_demo(
|
|
|
375
385
|
|
|
376
386
|
summary_payload = {
|
|
377
387
|
"output_dir": str(resolved_output),
|
|
388
|
+
"patient_config": str(patient_config),
|
|
378
389
|
"duration_minutes": duration_minutes,
|
|
379
390
|
"time_step_minutes": time_step,
|
|
380
391
|
"seed": seed,
|
|
@@ -395,7 +406,7 @@ def build_booth_demo(
|
|
|
395
406
|
}
|
|
396
407
|
_write_json(resolved_output / "demo_summary.json", summary_payload)
|
|
397
408
|
|
|
398
|
-
example_script = Path("examples/demos/
|
|
409
|
+
example_script = Path("examples/demos/07_live_stage_demo.py")
|
|
399
410
|
commands_markdown = _build_commands_markdown(
|
|
400
411
|
output_dir=resolved_output,
|
|
401
412
|
example_script=example_script,
|
|
@@ -53,6 +53,7 @@ from iints.data.registry import (
|
|
|
53
53
|
)
|
|
54
54
|
from iints.data.contracts import load_contract_yaml
|
|
55
55
|
from iints.data.synthetic_mirror import generate_synthetic_mirror
|
|
56
|
+
from iints.demo_assets import export_live_stage_demo
|
|
56
57
|
from iints.mdmp.backend import (
|
|
57
58
|
MDMP_GRADE_ORDER,
|
|
58
59
|
active_mdmp_backend,
|
|
@@ -2740,6 +2741,39 @@ def demo_booth(
|
|
|
2740
2741
|
)
|
|
2741
2742
|
|
|
2742
2743
|
|
|
2744
|
+
@app.command("demo-export")
|
|
2745
|
+
def demo_export(
|
|
2746
|
+
output_dir: Annotated[
|
|
2747
|
+
Path,
|
|
2748
|
+
typer.Option(help="Directory where the bundled live stage demo files should be written."),
|
|
2749
|
+
] = Path("./iints_demo"),
|
|
2750
|
+
overwrite: Annotated[
|
|
2751
|
+
bool,
|
|
2752
|
+
typer.Option("--overwrite/--no-overwrite", help="Allow overwriting exported demo files."),
|
|
2753
|
+
] = False,
|
|
2754
|
+
) -> None:
|
|
2755
|
+
"""Export the showable live demo code from the installed SDK."""
|
|
2756
|
+
console = Console()
|
|
2757
|
+
try:
|
|
2758
|
+
outputs = export_live_stage_demo(output_dir=output_dir, overwrite=overwrite)
|
|
2759
|
+
except FileExistsError as exc:
|
|
2760
|
+
console.print(f"[bold red]Demo export stopped:[/bold red] {exc}")
|
|
2761
|
+
raise typer.Exit(code=1)
|
|
2762
|
+
except Exception as exc:
|
|
2763
|
+
console.print(f"[bold red]Demo export failed:[/bold red] {exc}")
|
|
2764
|
+
raise typer.Exit(code=1)
|
|
2765
|
+
|
|
2766
|
+
table = Table(title="IINTS Demo Export")
|
|
2767
|
+
table.add_column("Artifact", style="cyan")
|
|
2768
|
+
table.add_column("Path", overflow="fold")
|
|
2769
|
+
table.add_row("script", outputs["script_path"])
|
|
2770
|
+
table.add_row("notes", outputs["notes_path"])
|
|
2771
|
+
console.print(table)
|
|
2772
|
+
console.print(
|
|
2773
|
+
"[green]Next:[/green] open `07_live_stage_demo.py`, explain the visible SDK calls, then run `python 07_live_stage_demo.py`."
|
|
2774
|
+
)
|
|
2775
|
+
|
|
2776
|
+
|
|
2743
2777
|
@app.command()
|
|
2744
2778
|
def report(
|
|
2745
2779
|
results_csv: Annotated[Path, typer.Option(help="Path to a simulation results CSV")],
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from importlib.resources import files
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def export_live_stage_demo(output_dir: str | Path = '.', *, overwrite: bool = False) -> dict[str, str]:
|
|
8
|
+
"""Export the bundled live stage demo script for users running the installed SDK."""
|
|
9
|
+
resolved_output = Path(output_dir).expanduser().resolve()
|
|
10
|
+
resolved_output.mkdir(parents=True, exist_ok=True)
|
|
11
|
+
|
|
12
|
+
script_target = resolved_output / '07_live_stage_demo.py'
|
|
13
|
+
notes_target = resolved_output / 'RUN_ME_FIRST.txt'
|
|
14
|
+
|
|
15
|
+
if not overwrite and script_target.exists():
|
|
16
|
+
raise FileExistsError(f'Demo script already exists: {script_target}')
|
|
17
|
+
if not overwrite and notes_target.exists():
|
|
18
|
+
raise FileExistsError(f'Instruction file already exists: {notes_target}')
|
|
19
|
+
|
|
20
|
+
script_content = files('iints.templates.demos').joinpath('live_stage_demo.py').read_text(encoding='utf-8')
|
|
21
|
+
notes_content = (
|
|
22
|
+
'IINTS LIVE DEMO EXPORT\n'
|
|
23
|
+
'======================\n\n'
|
|
24
|
+
'This folder was exported from the installed IINTS SDK.\n\n'
|
|
25
|
+
'1. Activate the virtual environment that contains IINTS.\n'
|
|
26
|
+
'2. Open 07_live_stage_demo.py and point to:\n'
|
|
27
|
+
' - PATIENT_CONFIG\n'
|
|
28
|
+
' - OUTPUT_DIR\n'
|
|
29
|
+
' - DURATION_MINUTES\n'
|
|
30
|
+
' - TIME_STEP_MINUTES\n'
|
|
31
|
+
' - SEED\n'
|
|
32
|
+
'3. Explain that the script visibly calls:\n'
|
|
33
|
+
' - run_full(...)\n'
|
|
34
|
+
' - generate_results_poster(...)\n'
|
|
35
|
+
' - prepare_ai_ready_artifacts(...)\n'
|
|
36
|
+
'4. Run:\n'
|
|
37
|
+
' python 07_live_stage_demo.py\n'
|
|
38
|
+
'5. Open the generated files under results/booth_demo_live/.\n\n'
|
|
39
|
+
'Tip: if you also cloned the SDK repo, you can run the repo wrapper instead:\n'
|
|
40
|
+
' ./scripts/run_live_stage_demo.sh\n'
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
script_target.write_text(script_content, encoding='utf-8')
|
|
44
|
+
notes_target.write_text(notes_content, encoding='utf-8')
|
|
45
|
+
|
|
46
|
+
return {
|
|
47
|
+
'output_dir': str(resolved_output),
|
|
48
|
+
'script_path': str(script_target),
|
|
49
|
+
'notes_path': str(notes_target),
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Bundled demo script templates for installed IINTS users."""
|