chronaxis 0.1.0.dev0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- chronaxis/__init__.py +72 -0
- chronaxis/__main__.py +12 -0
- chronaxis/analysis_cli.py +181 -0
- chronaxis/batch/__init__.py +14 -0
- chronaxis/batch/api.py +46 -0
- chronaxis/batch/cli.py +48 -0
- chronaxis/batch/config.py +37 -0
- chronaxis/batch/models.py +202 -0
- chronaxis/batch/process_transport.py +149 -0
- chronaxis/batch/process_tree.py +72 -0
- chronaxis/batch/publication.py +41 -0
- chronaxis/batch/runner.py +236 -0
- chronaxis/batch/templates.py +42 -0
- chronaxis/can_dependencies.py +42 -0
- chronaxis/cli.py +193 -0
- chronaxis/configuration/__init__.py +46 -0
- chronaxis/configuration/cli.py +41 -0
- chronaxis/configuration/diagnostics.py +107 -0
- chronaxis/configuration/explanation.py +233 -0
- chronaxis/configuration/file_tools.py +140 -0
- chronaxis/configuration/imports.py +144 -0
- chronaxis/configuration/initialization.py +36 -0
- chronaxis/configuration/json_parser.py +114 -0
- chronaxis/configuration/models.py +74 -0
- chronaxis/configuration/origins.py +90 -0
- chronaxis/configuration/overrides.py +55 -0
- chronaxis/configuration/resolution.py +150 -0
- chronaxis/configuration/template_catalog.py +68 -0
- chronaxis/configuration/templates/batch/analysis-annotated.yaml +18 -0
- chronaxis/configuration/templates/batch/analysis-minimal.yaml +18 -0
- chronaxis/configuration/templates/batch/annotated.yaml +6 -0
- chronaxis/configuration/templates/batch/minimal.yaml +6 -0
- chronaxis/configuration/templates/can-asc/annotated.yaml +18 -0
- chronaxis/configuration/templates/can-asc/minimal.yaml +18 -0
- chronaxis/configuration/templates/can-blf/annotated.yaml +18 -0
- chronaxis/configuration/templates/can-blf/minimal.yaml +18 -0
- chronaxis/configuration/templates/can-export/annotated.yaml +23 -0
- chronaxis/configuration/templates/can-export/minimal.yaml +23 -0
- chronaxis/configuration/templates/catalog.json +233 -0
- chronaxis/configuration/templates/charge-session/annotated.yaml +38 -0
- chronaxis/configuration/templates/charge-session/minimal.yaml +38 -0
- chronaxis/configuration/templates/command-response/annotated.yaml +32 -0
- chronaxis/configuration/templates/command-response/minimal.yaml +36 -0
- chronaxis/configuration/templates/fault-window/annotated.yaml +25 -0
- chronaxis/configuration/templates/fault-window/minimal.yaml +27 -0
- chronaxis/configuration/templates/ini-mapping/annotated.yaml +20 -0
- chronaxis/configuration/templates/ini-mapping/minimal.yaml +20 -0
- chronaxis/configuration/templates/raw-can-csv/annotated.yaml +34 -0
- chronaxis/configuration/templates/raw-can-csv/minimal.yaml +35 -0
- chronaxis/configuration/templates/shared/charge-session.asc +5 -0
- chronaxis/configuration/templates/shared/command-response.asc +8 -0
- chronaxis/configuration/templates/shared/fault-window.asc +5 -0
- chronaxis/configuration/templates/shared/power.asc +7 -0
- chronaxis/configuration/templates/shared/sample.asc +6 -0
- chronaxis/configuration/templates/shared/sample.blf +0 -0
- chronaxis/configuration/templates/shared/sample.csv +5 -0
- chronaxis/configuration/templates/shared/sample.dbc +11 -0
- chronaxis/configuration/templates/shared/signals.csv +6 -0
- chronaxis/configuration/templates/shared/source.ini +5 -0
- chronaxis/configuration/templates/shared/stability.asc +9 -0
- chronaxis/configuration/templates/shared/teaching.dbc +27 -0
- chronaxis/configuration/templates/shared/threshold.asc +7 -0
- chronaxis/configuration/templates/signal-csv/annotated.yaml +27 -0
- chronaxis/configuration/templates/signal-csv/minimal.yaml +27 -0
- chronaxis/configuration/templates/signal-export/annotated.yaml +27 -0
- chronaxis/configuration/templates/signal-export/minimal.yaml +29 -0
- chronaxis/configuration/templates/stability/annotated.yaml +35 -0
- chronaxis/configuration/templates/stability/minimal.yaml +35 -0
- chronaxis/configuration/templates/threshold/annotated.yaml +22 -0
- chronaxis/configuration/templates/threshold/minimal.yaml +22 -0
- chronaxis/configuration/yaml_parser.py +125 -0
- chronaxis/core/__init__.py +71 -0
- chronaxis/core/binding.py +449 -0
- chronaxis/core/calculation_series_join.py +106 -0
- chronaxis/core/calculations.py +435 -0
- chronaxis/core/calculations_memory_numpy.py +136 -0
- chronaxis/core/calculations_memory_reference.py +165 -0
- chronaxis/core/calculations_numpy.py +298 -0
- chronaxis/core/calculations_reference.py +294 -0
- chronaxis/core/condition_evidence.py +182 -0
- chronaxis/core/conditional_integral_result.py +43 -0
- chronaxis/core/conditional_integral_terms.py +146 -0
- chronaxis/core/conditional_integral_terms_numpy.py +148 -0
- chronaxis/core/conditional_integral_terms_reference.py +111 -0
- chronaxis/core/conditional_time_reduction.py +118 -0
- chronaxis/core/conditional_time_reduction_numpy.py +223 -0
- chronaxis/core/conditional_time_reduction_reference.py +213 -0
- chronaxis/core/declarations.py +192 -0
- chronaxis/core/decoded_binding.py +197 -0
- chronaxis/core/direct_message.py +387 -0
- chronaxis/core/export_interpolation.py +54 -0
- chronaxis/core/expression.py +642 -0
- chronaxis/core/expression_numpy.py +314 -0
- chronaxis/core/expression_reference.py +272 -0
- chronaxis/core/integral_result.py +53 -0
- chronaxis/core/integral_sum.py +77 -0
- chronaxis/core/integral_sum_numpy.py +224 -0
- chronaxis/core/integral_sum_reference.py +148 -0
- chronaxis/core/integral_terms.py +119 -0
- chronaxis/core/integral_terms_numpy.py +127 -0
- chronaxis/core/integral_terms_reference.py +91 -0
- chronaxis/core/mean_weights_numpy.py +29 -0
- chronaxis/core/mean_weights_reference.py +27 -0
- chronaxis/core/message_binding.py +305 -0
- chronaxis/core/models.py +485 -0
- chronaxis/core/normalize_numpy.py +396 -0
- chronaxis/core/numeric.py +472 -0
- chronaxis/core/numeric_numpy.py +440 -0
- chronaxis/core/record_intervals.py +115 -0
- chronaxis/core/sample_reduction.py +161 -0
- chronaxis/core/sample_reduction_numpy.py +160 -0
- chronaxis/core/sample_reduction_reference.py +154 -0
- chronaxis/core/selection.py +74 -0
- chronaxis/core/sequence.py +160 -0
- chronaxis/core/sequence_reference.py +248 -0
- chronaxis/core/stability.py +249 -0
- chronaxis/core/start_end.py +169 -0
- chronaxis/core/state.py +494 -0
- chronaxis/core/state_numpy.py +296 -0
- chronaxis/core/temporal.py +373 -0
- chronaxis/core/temporal_clock.py +25 -0
- chronaxis/core/temporal_memory_numpy.py +163 -0
- chronaxis/core/temporal_memory_reference.py +161 -0
- chronaxis/core/temporal_numpy.py +345 -0
- chronaxis/core/temporal_reference.py +304 -0
- chronaxis/core/time_reduction.py +190 -0
- chronaxis/core/time_reduction_numpy.py +205 -0
- chronaxis/core/time_reduction_reference.py +203 -0
- chronaxis/core/types.py +105 -0
- chronaxis/core/units.py +81 -0
- chronaxis/core/validation.py +94 -0
- chronaxis/core/window_delta.py +123 -0
- chronaxis/core/window_delta_numpy.py +78 -0
- chronaxis/core/window_delta_reference.py +69 -0
- chronaxis/core/windows.py +224 -0
- chronaxis/core/windows_numpy.py +78 -0
- chronaxis/core/windows_reference.py +61 -0
- chronaxis/execution/__init__.py +6 -0
- chronaxis/execution/batch_signal_groups.py +122 -0
- chronaxis/execution/bindings.py +296 -0
- chronaxis/execution/boundaries.py +568 -0
- chronaxis/execution/calculation_blocks.py +338 -0
- chronaxis/execution/calculation_values.py +55 -0
- chronaxis/execution/can_batch_reader.py +356 -0
- chronaxis/execution/can_reader.py +948 -0
- chronaxis/execution/can_reference_template.py +61 -0
- chronaxis/execution/condition_evidence.py +370 -0
- chronaxis/execution/conditional_integral_facts.py +310 -0
- chronaxis/execution/conditional_integral_reduction.py +216 -0
- chronaxis/execution/csv_observation.py +524 -0
- chronaxis/execution/csv_reader.py +662 -0
- chronaxis/execution/current_message_calculation.py +225 -0
- chronaxis/execution/driver_expression.py +274 -0
- chronaxis/execution/expressions.py +618 -0
- chronaxis/execution/frame_capture.py +245 -0
- chronaxis/execution/groups.py +236 -0
- chronaxis/execution/historical_conditional_blocks.py +264 -0
- chronaxis/execution/historical_conditional_integral.py +226 -0
- chronaxis/execution/historical_conditional_time_calculation.py +368 -0
- chronaxis/execution/historical_integral.py +219 -0
- chronaxis/execution/historical_observation.py +372 -0
- chronaxis/execution/historical_sample_calculation.py +338 -0
- chronaxis/execution/historical_selection_rows.py +300 -0
- chronaxis/execution/historical_time_calculation.py +341 -0
- chronaxis/execution/history.py +572 -0
- chronaxis/execution/history_records.py +225 -0
- chronaxis/execution/hold.py +448 -0
- chronaxis/execution/integral_facts.py +311 -0
- chronaxis/execution/integral_reduction.py +216 -0
- chronaxis/execution/legacy_frame_samples.py +94 -0
- chronaxis/execution/memory_reader.py +247 -0
- chronaxis/execution/message_bindings.py +293 -0
- chronaxis/execution/message_delivery.py +37 -0
- chronaxis/execution/observed_ingestion.py +551 -0
- chronaxis/execution/raw_signal_groups.py +192 -0
- chronaxis/execution/record_alarm_duration.py +114 -0
- chronaxis/execution/record_delta_condition.py +167 -0
- chronaxis/execution/record_diagnostics.py +87 -0
- chronaxis/execution/record_event_durations.py +143 -0
- chronaxis/execution/record_export_samples.py +94 -0
- chronaxis/execution/record_exports.py +155 -0
- chronaxis/execution/record_integral.py +196 -0
- chronaxis/execution/record_point_buffer.py +101 -0
- chronaxis/execution/record_rule_timeline.py +344 -0
- chronaxis/execution/record_sample.py +46 -0
- chronaxis/execution/record_sample_series.py +29 -0
- chronaxis/execution/record_scope_calculations.py +290 -0
- chronaxis/execution/record_selection.py +62 -0
- chronaxis/execution/record_sequences.py +199 -0
- chronaxis/execution/record_session_calculations.py +778 -0
- chronaxis/execution/record_signal_export.py +133 -0
- chronaxis/execution/record_source_cursor.py +295 -0
- chronaxis/execution/record_time_calculation.py +322 -0
- chronaxis/execution/record_time_indexes.py +143 -0
- chronaxis/execution/record_value_history.py +160 -0
- chronaxis/execution/record_windows.py +229 -0
- chronaxis/execution/required_expression.py +52 -0
- chronaxis/execution/retained_metadata.py +71 -0
- chronaxis/execution/run_session.py +402 -0
- chronaxis/execution/scanned_signal_proof.py +550 -0
- chronaxis/execution/signal_validity.py +40 -0
- chronaxis/execution/state.py +280 -0
- chronaxis/execution/temporal_buffer.py +508 -0
- chronaxis/execution/text_can_reader.py +359 -0
- chronaxis/execution/timeline.py +309 -0
- chronaxis/execution/timeline_multi.py +415 -0
- chronaxis/execution/window_delta_events.py +220 -0
- chronaxis/execution/window_replay.py +350 -0
- chronaxis/execution/windows.py +173 -0
- chronaxis/guide/README.md +70 -0
- chronaxis/guide/api/AnalysisError.md +14 -0
- chronaxis/guide/api/AnalysisPlan.md +96 -0
- chronaxis/guide/api/AnalysisResult.md +398 -0
- chronaxis/guide/api/AnalysisRunner.md +155 -0
- chronaxis/guide/api/BatchJob.md +19 -0
- chronaxis/guide/api/BatchJobResult.md +61 -0
- chronaxis/guide/api/BatchPlan.md +48 -0
- chronaxis/guide/api/BatchReport.md +108 -0
- chronaxis/guide/api/BatchRunner.md +84 -0
- chronaxis/guide/api/OutputManifest.md +23 -0
- chronaxis/guide/api/PlanFragment.md +47 -0
- chronaxis/guide/api/PlanValidationError.md +98 -0
- chronaxis/guide/api/PresetSpec.md +63 -0
- chronaxis/guide/api/ResultClosedError.md +14 -0
- chronaxis/guide/api/RunMetadata.md +100 -0
- chronaxis/guide/api/TimeConversion.md +29 -0
- chronaxis/guide/api/TimeOverflowError.md +17 -0
- chronaxis/guide/api/build_preset.md +36 -0
- chronaxis/guide/api/checked_add_ns.md +30 -0
- chronaxis/guide/api/convert_time.md +40 -0
- chronaxis/guide/api/explain_analysis_plan.md +38 -0
- chronaxis/guide/api/index.json +185 -0
- chronaxis/guide/api/load_analysis_plan.md +34 -0
- chronaxis/guide/api/load_batch_plan.md +36 -0
- chronaxis/guide/api/parse_datetime_ns.md +35 -0
- chronaxis/guide/api/parse_duration.md +30 -0
- chronaxis/guide/api/resolve_preset_roles.md +37 -0
- chronaxis/guide/api/run_batch.md +38 -0
- chronaxis/guide/api/shift_times_reference.md +33 -0
- chronaxis/guide/api/time_deltas_reference.md +37 -0
- chronaxis/guide/api/validate_analysis_plan.md +38 -0
- chronaxis/guide/en/README.md +74 -0
- chronaxis/guide/en/api/AnalysisError.md +14 -0
- chronaxis/guide/en/api/AnalysisPlan.md +93 -0
- chronaxis/guide/en/api/AnalysisResult.md +398 -0
- chronaxis/guide/en/api/AnalysisRunner.md +191 -0
- chronaxis/guide/en/api/BatchJob.md +17 -0
- chronaxis/guide/en/api/BatchJobResult.md +43 -0
- chronaxis/guide/en/api/BatchPlan.md +37 -0
- chronaxis/guide/en/api/BatchReport.md +52 -0
- chronaxis/guide/en/api/BatchRunner.md +51 -0
- chronaxis/guide/en/api/OutputManifest.md +23 -0
- chronaxis/guide/en/api/PlanFragment.md +33 -0
- chronaxis/guide/en/api/PlanValidationError.md +58 -0
- chronaxis/guide/en/api/PresetSpec.md +51 -0
- chronaxis/guide/en/api/ResultClosedError.md +14 -0
- chronaxis/guide/en/api/RunMetadata.md +100 -0
- chronaxis/guide/en/api/TimeConversion.md +23 -0
- chronaxis/guide/en/api/TimeOverflowError.md +14 -0
- chronaxis/guide/en/api/build_preset.md +23 -0
- chronaxis/guide/en/api/checked_add_ns.md +21 -0
- chronaxis/guide/en/api/convert_time.md +25 -0
- chronaxis/guide/en/api/explain_analysis_plan.md +30 -0
- chronaxis/guide/en/api/index.json +185 -0
- chronaxis/guide/en/api/load_analysis_plan.md +27 -0
- chronaxis/guide/en/api/load_batch_plan.md +28 -0
- chronaxis/guide/en/api/parse_datetime_ns.md +23 -0
- chronaxis/guide/en/api/parse_duration.md +20 -0
- chronaxis/guide/en/api/resolve_preset_roles.md +23 -0
- chronaxis/guide/en/api/run_batch.md +39 -0
- chronaxis/guide/en/api/shift_times_reference.md +21 -0
- chronaxis/guide/en/api/time_deltas_reference.md +22 -0
- chronaxis/guide/en/api/validate_analysis_plan.md +29 -0
- chronaxis/guide/en/fields/analysis/calculations-all-1.json +345 -0
- chronaxis/guide/en/fields/analysis/calculations-all-2.json +300 -0
- chronaxis/guide/en/fields/analysis/calculations-all-3.json +84 -0
- chronaxis/guide/en/fields/analysis/config_version-all-1.json +24 -0
- chronaxis/guide/en/fields/analysis/dataset-all-1.json +344 -0
- chronaxis/guide/en/fields/analysis/derived-all-1.json +147 -0
- chronaxis/guide/en/fields/analysis/diagnostics-all-1.json +69 -0
- chronaxis/guide/en/fields/analysis/execution-all-1.json +167 -0
- chronaxis/guide/en/fields/analysis/imports-all-1.json +39 -0
- chronaxis/guide/en/fields/analysis/intervals-all-1.json +173 -0
- chronaxis/guide/en/fields/analysis/message_calculations-all-1.json +345 -0
- chronaxis/guide/en/fields/analysis/message_calculations-all-2.json +270 -0
- chronaxis/guide/en/fields/analysis/metadata-all-1.json +24 -0
- chronaxis/guide/en/fields/analysis/outputs-all-1.json +332 -0
- chronaxis/guide/en/fields/analysis/outputs-all-2.json +319 -0
- chronaxis/guide/en/fields/analysis/outputs-all-3.json +321 -0
- chronaxis/guide/en/fields/analysis/outputs-all-4.json +236 -0
- chronaxis/guide/en/fields/analysis/outputs-all-5.json +246 -0
- chronaxis/guide/en/fields/analysis/outputs-all-6.json +214 -0
- chronaxis/guide/en/fields/analysis/overrides-all-1.json +104 -0
- chronaxis/guide/en/fields/analysis/presets-charge_session-1.json +398 -0
- chronaxis/guide/en/fields/analysis/presets-charge_session-2.json +114 -0
- chronaxis/guide/en/fields/analysis/presets-command_response-1.json +376 -0
- chronaxis/guide/en/fields/analysis/presets-fault_context-1.json +285 -0
- chronaxis/guide/en/fields/analysis/presets-threshold_excursion-1.json +317 -0
- chronaxis/guide/en/fields/analysis/rules-condition_duration-1.json +344 -0
- chronaxis/guide/en/fields/analysis/rules-condition_duration-2.json +27 -0
- chronaxis/guide/en/fields/analysis/rules-debounce-1.json +335 -0
- chronaxis/guide/en/fields/analysis/rules-falling_edge-1.json +317 -0
- chronaxis/guide/en/fields/analysis/rules-hysteresis-1.json +334 -0
- chronaxis/guide/en/fields/analysis/rules-hysteresis-2.json +27 -0
- chronaxis/guide/en/fields/analysis/rules-rising_edge-1.json +317 -0
- chronaxis/guide/en/fields/analysis/rules-start_end-1.json +333 -0
- chronaxis/guide/en/fields/analysis/rules-start_end-2.json +60 -0
- chronaxis/guide/en/fields/analysis/rules-start_only-1.json +334 -0
- chronaxis/guide/en/fields/analysis/rules-window_delta-1.json +338 -0
- chronaxis/guide/en/fields/analysis/rules-window_delta-2.json +96 -0
- chronaxis/guide/en/fields/analysis/sequences-all-1.json +378 -0
- chronaxis/guide/en/fields/analysis/sequences-all-2.json +70 -0
- chronaxis/guide/en/fields/analysis/signals-variant-1-1.json +349 -0
- chronaxis/guide/en/fields/analysis/signals-variant-1-2.json +297 -0
- chronaxis/guide/en/fields/analysis/signals-variant-1-3.json +323 -0
- chronaxis/guide/en/fields/analysis/signals-variant-1-4.json +192 -0
- chronaxis/guide/en/fields/analysis/signals-variant-2-1.json +327 -0
- chronaxis/guide/en/fields/analysis/signals-variant-2-2.json +312 -0
- chronaxis/guide/en/fields/analysis/signals-variant-2-3.json +294 -0
- chronaxis/guide/en/fields/analysis/signals-variant-2-4.json +253 -0
- chronaxis/guide/en/fields/analysis/signals-variant-2-5.json +44 -0
- chronaxis/guide/en/fields/analysis/sources-can_asc-1.json +318 -0
- chronaxis/guide/en/fields/analysis/sources-can_asc-2.json +310 -0
- chronaxis/guide/en/fields/analysis/sources-can_asc-3.json +311 -0
- chronaxis/guide/en/fields/analysis/sources-can_asc-4.json +69 -0
- chronaxis/guide/en/fields/analysis/sources-can_blf-1.json +317 -0
- chronaxis/guide/en/fields/analysis/sources-can_blf-2.json +310 -0
- chronaxis/guide/en/fields/analysis/sources-can_blf-3.json +317 -0
- chronaxis/guide/en/fields/analysis/sources-memory-1.json +332 -0
- chronaxis/guide/en/fields/analysis/sources-memory-2.json +125 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-1.json +330 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-10.json +233 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-11.json +225 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-12.json +228 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-13.json +226 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-14.json +230 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-15.json +227 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-16.json +230 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-17.json +238 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-18.json +239 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-19.json +233 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-2.json +310 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-20.json +242 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-21.json +230 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-22.json +228 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-23.json +230 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-24.json +223 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-25.json +290 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-26.json +131 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-3.json +297 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-4.json +226 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-5.json +230 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-6.json +227 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-7.json +230 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-8.json +238 -0
- chronaxis/guide/en/fields/analysis/sources-raw_can_csv-9.json +239 -0
- chronaxis/guide/en/fields/analysis/sources-signal_csv-1.json +331 -0
- chronaxis/guide/en/fields/analysis/sources-signal_csv-2.json +307 -0
- chronaxis/guide/en/fields/analysis/sources-signal_csv-3.json +315 -0
- chronaxis/guide/en/fields/analysis/sources-variant-6-1.json +319 -0
- chronaxis/guide/en/fields/analysis/sources-variant-6-2.json +307 -0
- chronaxis/guide/en/fields/analysis/sources-variant-6-3.json +312 -0
- chronaxis/guide/en/fields/analysis/sources-variant-6-4.json +113 -0
- chronaxis/guide/en/fields/analysis/windows-all-1.json +361 -0
- chronaxis/guide/en/fields/analysis/windows-all-2.json +187 -0
- chronaxis/guide/en/fields/batch/backend-all-1.json +26 -0
- chronaxis/guide/en/fields/batch/batch_version-all-1.json +22 -0
- chronaxis/guide/en/fields/batch/fail_fast-all-1.json +22 -0
- chronaxis/guide/en/fields/batch/inputs-all-1.json +161 -0
- chronaxis/guide/en/fields/batch/jobs-all-1.json +58 -0
- chronaxis/guide/en/fields/batch/process_count-all-1.json +23 -0
- chronaxis/guide/en/fields/batch/source-all-1.json +22 -0
- chronaxis/guide/en/fields/batch/template-all-1.json +22 -0
- chronaxis/guide/en/fields/definitions/derived-all-1.json +121 -0
- chronaxis/guide/en/fields/definitions/signals-all-1.json +336 -0
- chronaxis/guide/en/fields/definitions/signals-all-2.json +307 -0
- chronaxis/guide/en/fields/definitions/signals-all-3.json +290 -0
- chronaxis/guide/en/fields/definitions/signals-all-4.json +347 -0
- chronaxis/guide/en/fields/definitions/signals-all-5.json +297 -0
- chronaxis/guide/en/fields/definitions/signals-all-6.json +259 -0
- chronaxis/guide/en/fields/definitions/signals-all-7.json +117 -0
- chronaxis/guide/en/fields/definitions/sources-all-1.json +332 -0
- chronaxis/guide/en/fields/definitions/sources-all-10.json +306 -0
- chronaxis/guide/en/fields/definitions/sources-all-11.json +294 -0
- chronaxis/guide/en/fields/definitions/sources-all-12.json +212 -0
- chronaxis/guide/en/fields/definitions/sources-all-13.json +217 -0
- chronaxis/guide/en/fields/definitions/sources-all-14.json +213 -0
- chronaxis/guide/en/fields/definitions/sources-all-15.json +214 -0
- chronaxis/guide/en/fields/definitions/sources-all-16.json +215 -0
- chronaxis/guide/en/fields/definitions/sources-all-17.json +213 -0
- chronaxis/guide/en/fields/definitions/sources-all-18.json +214 -0
- chronaxis/guide/en/fields/definitions/sources-all-19.json +213 -0
- chronaxis/guide/en/fields/definitions/sources-all-2.json +323 -0
- chronaxis/guide/en/fields/definitions/sources-all-20.json +217 -0
- chronaxis/guide/en/fields/definitions/sources-all-21.json +210 -0
- chronaxis/guide/en/fields/definitions/sources-all-22.json +214 -0
- chronaxis/guide/en/fields/definitions/sources-all-23.json +218 -0
- chronaxis/guide/en/fields/definitions/sources-all-24.json +209 -0
- chronaxis/guide/en/fields/definitions/sources-all-25.json +215 -0
- chronaxis/guide/en/fields/definitions/sources-all-26.json +218 -0
- chronaxis/guide/en/fields/definitions/sources-all-27.json +224 -0
- chronaxis/guide/en/fields/definitions/sources-all-28.json +215 -0
- chronaxis/guide/en/fields/definitions/sources-all-29.json +205 -0
- chronaxis/guide/en/fields/definitions/sources-all-3.json +303 -0
- chronaxis/guide/en/fields/definitions/sources-all-30.json +298 -0
- chronaxis/guide/en/fields/definitions/sources-all-31.json +315 -0
- chronaxis/guide/en/fields/definitions/sources-all-32.json +306 -0
- chronaxis/guide/en/fields/definitions/sources-all-33.json +209 -0
- chronaxis/guide/en/fields/definitions/sources-all-4.json +336 -0
- chronaxis/guide/en/fields/definitions/sources-all-5.json +299 -0
- chronaxis/guide/en/fields/definitions/sources-all-6.json +307 -0
- chronaxis/guide/en/fields/definitions/sources-all-7.json +320 -0
- chronaxis/guide/en/fields/definitions/sources-all-8.json +303 -0
- chronaxis/guide/en/fields/definitions/sources-all-9.json +315 -0
- chronaxis/guide/en/fields/index.json +3450 -0
- chronaxis/guide/en/fields/mapping/aliases-all-1.json +91 -0
- chronaxis/guide/en/fields/mapping/analysis-all-1.json +382 -0
- chronaxis/guide/en/fields/mapping/analysis-all-10.json +301 -0
- chronaxis/guide/en/fields/mapping/analysis-all-11.json +312 -0
- chronaxis/guide/en/fields/mapping/analysis-all-12.json +311 -0
- chronaxis/guide/en/fields/mapping/analysis-all-13.json +314 -0
- chronaxis/guide/en/fields/mapping/analysis-all-14.json +310 -0
- chronaxis/guide/en/fields/mapping/analysis-all-15.json +297 -0
- chronaxis/guide/en/fields/mapping/analysis-all-16.json +226 -0
- chronaxis/guide/en/fields/mapping/analysis-all-17.json +230 -0
- chronaxis/guide/en/fields/mapping/analysis-all-18.json +227 -0
- chronaxis/guide/en/fields/mapping/analysis-all-19.json +230 -0
- chronaxis/guide/en/fields/mapping/analysis-all-2.json +323 -0
- chronaxis/guide/en/fields/mapping/analysis-all-20.json +221 -0
- chronaxis/guide/en/fields/mapping/analysis-all-21.json +237 -0
- chronaxis/guide/en/fields/mapping/analysis-all-22.json +233 -0
- chronaxis/guide/en/fields/mapping/analysis-all-23.json +222 -0
- chronaxis/guide/en/fields/mapping/analysis-all-24.json +231 -0
- chronaxis/guide/en/fields/mapping/analysis-all-25.json +225 -0
- chronaxis/guide/en/fields/mapping/analysis-all-26.json +230 -0
- chronaxis/guide/en/fields/mapping/analysis-all-27.json +228 -0
- chronaxis/guide/en/fields/mapping/analysis-all-28.json +230 -0
- chronaxis/guide/en/fields/mapping/analysis-all-29.json +223 -0
- chronaxis/guide/en/fields/mapping/analysis-all-3.json +318 -0
- chronaxis/guide/en/fields/mapping/analysis-all-30.json +233 -0
- chronaxis/guide/en/fields/mapping/analysis-all-31.json +218 -0
- chronaxis/guide/en/fields/mapping/analysis-all-32.json +239 -0
- chronaxis/guide/en/fields/mapping/analysis-all-33.json +233 -0
- chronaxis/guide/en/fields/mapping/analysis-all-34.json +225 -0
- chronaxis/guide/en/fields/mapping/analysis-all-35.json +228 -0
- chronaxis/guide/en/fields/mapping/analysis-all-36.json +226 -0
- chronaxis/guide/en/fields/mapping/analysis-all-37.json +244 -0
- chronaxis/guide/en/fields/mapping/analysis-all-38.json +326 -0
- chronaxis/guide/en/fields/mapping/analysis-all-39.json +299 -0
- chronaxis/guide/en/fields/mapping/analysis-all-4.json +297 -0
- chronaxis/guide/en/fields/mapping/analysis-all-40.json +311 -0
- chronaxis/guide/en/fields/mapping/analysis-all-41.json +310 -0
- chronaxis/guide/en/fields/mapping/analysis-all-42.json +346 -0
- chronaxis/guide/en/fields/mapping/analysis-all-43.json +267 -0
- chronaxis/guide/en/fields/mapping/analysis-all-44.json +327 -0
- chronaxis/guide/en/fields/mapping/analysis-all-45.json +279 -0
- chronaxis/guide/en/fields/mapping/analysis-all-46.json +327 -0
- chronaxis/guide/en/fields/mapping/analysis-all-47.json +312 -0
- chronaxis/guide/en/fields/mapping/analysis-all-48.json +294 -0
- chronaxis/guide/en/fields/mapping/analysis-all-49.json +253 -0
- chronaxis/guide/en/fields/mapping/analysis-all-5.json +312 -0
- chronaxis/guide/en/fields/mapping/analysis-all-50.json +346 -0
- chronaxis/guide/en/fields/mapping/analysis-all-51.json +324 -0
- chronaxis/guide/en/fields/mapping/analysis-all-52.json +335 -0
- chronaxis/guide/en/fields/mapping/analysis-all-53.json +317 -0
- chronaxis/guide/en/fields/mapping/analysis-all-54.json +316 -0
- chronaxis/guide/en/fields/mapping/analysis-all-55.json +302 -0
- chronaxis/guide/en/fields/mapping/analysis-all-56.json +319 -0
- chronaxis/guide/en/fields/mapping/analysis-all-57.json +334 -0
- chronaxis/guide/en/fields/mapping/analysis-all-58.json +333 -0
- chronaxis/guide/en/fields/mapping/analysis-all-59.json +359 -0
- chronaxis/guide/en/fields/mapping/analysis-all-6.json +327 -0
- chronaxis/guide/en/fields/mapping/analysis-all-60.json +303 -0
- chronaxis/guide/en/fields/mapping/analysis-all-61.json +326 -0
- chronaxis/guide/en/fields/mapping/analysis-all-62.json +301 -0
- chronaxis/guide/en/fields/mapping/analysis-all-63.json +326 -0
- chronaxis/guide/en/fields/mapping/analysis-all-64.json +367 -0
- chronaxis/guide/en/fields/mapping/analysis-all-65.json +334 -0
- chronaxis/guide/en/fields/mapping/analysis-all-66.json +358 -0
- chronaxis/guide/en/fields/mapping/analysis-all-67.json +349 -0
- chronaxis/guide/en/fields/mapping/analysis-all-68.json +331 -0
- chronaxis/guide/en/fields/mapping/analysis-all-69.json +304 -0
- chronaxis/guide/en/fields/mapping/analysis-all-7.json +303 -0
- chronaxis/guide/en/fields/mapping/analysis-all-70.json +349 -0
- chronaxis/guide/en/fields/mapping/analysis-all-71.json +288 -0
- chronaxis/guide/en/fields/mapping/analysis-all-72.json +316 -0
- chronaxis/guide/en/fields/mapping/analysis-all-73.json +266 -0
- chronaxis/guide/en/fields/mapping/analysis-all-74.json +227 -0
- chronaxis/guide/en/fields/mapping/analysis-all-75.json +239 -0
- chronaxis/guide/en/fields/mapping/analysis-all-76.json +274 -0
- chronaxis/guide/en/fields/mapping/analysis-all-77.json +380 -0
- chronaxis/guide/en/fields/mapping/analysis-all-78.json +313 -0
- chronaxis/guide/en/fields/mapping/analysis-all-79.json +338 -0
- chronaxis/guide/en/fields/mapping/analysis-all-8.json +292 -0
- chronaxis/guide/en/fields/mapping/analysis-all-80.json +304 -0
- chronaxis/guide/en/fields/mapping/analysis-all-81.json +140 -0
- chronaxis/guide/en/fields/mapping/analysis-all-9.json +332 -0
- chronaxis/guide/en/fields/mapping/io_policy-all-1.json +19 -0
- chronaxis/guide/en/fields/mapping/mapping_version-all-1.json +19 -0
- chronaxis/guide/en/fields/mapping/path_base-all-1.json +19 -0
- chronaxis/guide/en/fields/mapping/sections-all-1.json +402 -0
- chronaxis/guide/en/fields/mapping/sections-all-2.json +232 -0
- chronaxis/guide/en/semantics.md +70 -0
- chronaxis/guide/en/tasks.json +290 -0
- chronaxis/guide/en/workflow.md +41 -0
- chronaxis/guide/examples/analysis-imports.yaml +22 -0
- chronaxis/guide/examples/analysis.yaml +23 -0
- chronaxis/guide/examples/batch-minimal.yaml +3 -0
- chronaxis/guide/examples/conditional-energy.yaml +36 -0
- chronaxis/guide/examples/data/activity.csv +6 -0
- chronaxis/guide/examples/data/can/activity.asc +11 -0
- chronaxis/guide/examples/data/can/calculation-minimal.asc +6 -0
- chronaxis/guide/examples/data/can/conditional-energy/part-1.asc +92 -0
- chronaxis/guide/examples/data/can/conditional-energy/part-2.asc +36 -0
- chronaxis/guide/examples/data/can/conditional-energy/signals.dbc +10 -0
- chronaxis/guide/examples/data/can/execution-comparison.asc +12 -0
- chronaxis/guide/examples/data/can/execution-report.asc +4 -0
- chronaxis/guide/examples/data/can/expression-extended.asc +11 -0
- chronaxis/guide/examples/data/can/interval-actual.asc +6 -0
- chronaxis/guide/examples/data/can/preset-charge-energy.asc +15 -0
- chronaxis/guide/examples/data/can/preset-charge-minimal.asc +11 -0
- chronaxis/guide/examples/data/can/preset-command-automatic.asc +11 -0
- chronaxis/guide/examples/data/can/preset-fault-context.asc +7 -0
- chronaxis/guide/examples/data/can/preset-threshold-delay.asc +7 -0
- chronaxis/guide/examples/data/can/preset-threshold-partial.asc +7 -0
- chronaxis/guide/examples/data/can/quality.asc +6 -0
- chronaxis/guide/examples/data/can/quickstart-parts/part1.asc +4 -0
- chronaxis/guide/examples/data/can/quickstart-parts/part2.asc +3 -0
- chronaxis/guide/examples/data/can/quickstart.asc +6 -0
- chronaxis/guide/examples/data/can/rule-condition_duration-extended.asc +35 -0
- chronaxis/guide/examples/data/can/rule-condition_duration-minimal.asc +19 -0
- chronaxis/guide/examples/data/can/rule-debounce-extended.asc +19 -0
- chronaxis/guide/examples/data/can/rule-falling_edge-extended.asc +35 -0
- chronaxis/guide/examples/data/can/rule-hysteresis-extended.asc +19 -0
- chronaxis/guide/examples/data/can/rule-start_end-extended.asc +35 -0
- chronaxis/guide/examples/data/can/rule-start_only-extended.asc +19 -0
- chronaxis/guide/examples/data/can/rule-window_delta-extended.asc +19 -0
- chronaxis/guide/examples/data/can/sequence-outcomes.asc +19 -0
- chronaxis/guide/examples/data/can/signal-types.asc +13 -0
- chronaxis/guide/examples/data/can/start-end.asc +30 -0
- chronaxis/guide/examples/data/can/teaching-base.asc +58 -0
- chronaxis/guide/examples/data/can/teaching.dbc +53 -0
- chronaxis/guide/examples/data/joint-current.csv +5 -0
- chronaxis/guide/examples/data/joint.asc +5 -0
- chronaxis/guide/examples/data/joint.dbc +7 -0
- chronaxis/guide/examples/data/message-clean.asc +6 -0
- chronaxis/guide/examples/data/message-direction.asc +7 -0
- chronaxis/guide/examples/data/message-direction.dbc +7 -0
- chronaxis/guide/examples/data/power.blf +0 -0
- chronaxis/guide/examples/data/power.dbc +6 -0
- chronaxis/guide/examples/data/quality.csv +5 -0
- chronaxis/guide/examples/data/raw-can-example.csv +5 -0
- chronaxis/guide/examples/data/signal-types.csv +5 -0
- chronaxis/guide/examples/data/signals.csv +6 -0
- chronaxis/guide/examples/data/timing.asc +6 -0
- chronaxis/guide/examples/data/timing.dbc +11 -0
- chronaxis/guide/examples/export-can-minimal.yaml +24 -0
- chronaxis/guide/examples/input-csv-minimal.yaml +23 -0
- chronaxis/guide/examples/preset-charge-energy.yaml +41 -0
- chronaxis/guide/examples/preset-charge-minimal.yaml +31 -0
- chronaxis/guide/examples/preset-fault-context.yaml +27 -0
- chronaxis/guide/examples/quality.yaml +19 -0
- chronaxis/guide/examples/sequence-outcomes.yaml +39 -0
- chronaxis/guide/examples/shared/definitions.yaml +14 -0
- chronaxis/guide/examples/signal-enum-minimal.yaml +19 -0
- chronaxis/guide/examples/signal-number-conversion.yaml +24 -0
- chronaxis/guide/examples/window-merged.yaml +28 -0
- chronaxis/guide/fields/analysis/calculations-all-1.json +360 -0
- chronaxis/guide/fields/analysis/calculations-all-2.json +299 -0
- chronaxis/guide/fields/analysis/calculations-all-3.json +70 -0
- chronaxis/guide/fields/analysis/config_version-all-1.json +24 -0
- chronaxis/guide/fields/analysis/dataset-all-1.json +344 -0
- chronaxis/guide/fields/analysis/derived-all-1.json +147 -0
- chronaxis/guide/fields/analysis/diagnostics-all-1.json +69 -0
- chronaxis/guide/fields/analysis/execution-all-1.json +167 -0
- chronaxis/guide/fields/analysis/imports-all-1.json +39 -0
- chronaxis/guide/fields/analysis/intervals-all-1.json +173 -0
- chronaxis/guide/fields/analysis/message_calculations-all-1.json +360 -0
- chronaxis/guide/fields/analysis/message_calculations-all-2.json +255 -0
- chronaxis/guide/fields/analysis/metadata-all-1.json +24 -0
- chronaxis/guide/fields/analysis/outputs-all-1.json +349 -0
- chronaxis/guide/fields/analysis/outputs-all-2.json +302 -0
- chronaxis/guide/fields/analysis/outputs-all-3.json +321 -0
- chronaxis/guide/fields/analysis/outputs-all-4.json +253 -0
- chronaxis/guide/fields/analysis/outputs-all-5.json +244 -0
- chronaxis/guide/fields/analysis/outputs-all-6.json +199 -0
- chronaxis/guide/fields/analysis/overrides-all-1.json +104 -0
- chronaxis/guide/fields/analysis/presets-charge_session-1.json +398 -0
- chronaxis/guide/fields/analysis/presets-charge_session-2.json +114 -0
- chronaxis/guide/fields/analysis/presets-command_response-1.json +376 -0
- chronaxis/guide/fields/analysis/presets-fault_context-1.json +285 -0
- chronaxis/guide/fields/analysis/presets-threshold_excursion-1.json +317 -0
- chronaxis/guide/fields/analysis/rules-condition_duration-1.json +344 -0
- chronaxis/guide/fields/analysis/rules-condition_duration-2.json +27 -0
- chronaxis/guide/fields/analysis/rules-debounce-1.json +335 -0
- chronaxis/guide/fields/analysis/rules-falling_edge-1.json +317 -0
- chronaxis/guide/fields/analysis/rules-hysteresis-1.json +334 -0
- chronaxis/guide/fields/analysis/rules-hysteresis-2.json +27 -0
- chronaxis/guide/fields/analysis/rules-rising_edge-1.json +317 -0
- chronaxis/guide/fields/analysis/rules-start_end-1.json +349 -0
- chronaxis/guide/fields/analysis/rules-start_end-2.json +44 -0
- chronaxis/guide/fields/analysis/rules-start_only-1.json +334 -0
- chronaxis/guide/fields/analysis/rules-window_delta-1.json +356 -0
- chronaxis/guide/fields/analysis/rules-window_delta-2.json +78 -0
- chronaxis/guide/fields/analysis/sequences-all-1.json +394 -0
- chronaxis/guide/fields/analysis/sequences-all-2.json +54 -0
- chronaxis/guide/fields/analysis/signals-variant-1-1.json +349 -0
- chronaxis/guide/fields/analysis/signals-variant-1-2.json +297 -0
- chronaxis/guide/fields/analysis/signals-variant-1-3.json +340 -0
- chronaxis/guide/fields/analysis/signals-variant-1-4.json +175 -0
- chronaxis/guide/fields/analysis/signals-variant-2-1.json +327 -0
- chronaxis/guide/fields/analysis/signals-variant-2-2.json +335 -0
- chronaxis/guide/fields/analysis/signals-variant-2-3.json +289 -0
- chronaxis/guide/fields/analysis/signals-variant-2-4.json +270 -0
- chronaxis/guide/fields/analysis/sources-can_asc-1.json +318 -0
- chronaxis/guide/fields/analysis/sources-can_asc-2.json +310 -0
- chronaxis/guide/fields/analysis/sources-can_asc-3.json +311 -0
- chronaxis/guide/fields/analysis/sources-can_asc-4.json +69 -0
- chronaxis/guide/fields/analysis/sources-can_blf-1.json +317 -0
- chronaxis/guide/fields/analysis/sources-can_blf-2.json +310 -0
- chronaxis/guide/fields/analysis/sources-can_blf-3.json +317 -0
- chronaxis/guide/fields/analysis/sources-memory-1.json +347 -0
- chronaxis/guide/fields/analysis/sources-memory-2.json +110 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-1.json +330 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-10.json +233 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-11.json +225 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-12.json +228 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-13.json +226 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-14.json +230 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-15.json +227 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-16.json +230 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-17.json +238 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-18.json +239 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-19.json +233 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-2.json +310 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-20.json +242 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-21.json +230 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-22.json +228 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-23.json +230 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-24.json +223 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-25.json +290 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-26.json +131 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-3.json +297 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-4.json +226 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-5.json +230 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-6.json +227 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-7.json +230 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-8.json +238 -0
- chronaxis/guide/fields/analysis/sources-raw_can_csv-9.json +239 -0
- chronaxis/guide/fields/analysis/sources-signal_csv-1.json +331 -0
- chronaxis/guide/fields/analysis/sources-signal_csv-2.json +327 -0
- chronaxis/guide/fields/analysis/sources-signal_csv-3.json +295 -0
- chronaxis/guide/fields/analysis/sources-variant-6-1.json +319 -0
- chronaxis/guide/fields/analysis/sources-variant-6-2.json +327 -0
- chronaxis/guide/fields/analysis/sources-variant-6-3.json +314 -0
- chronaxis/guide/fields/analysis/sources-variant-6-4.json +91 -0
- chronaxis/guide/fields/analysis/windows-all-1.json +361 -0
- chronaxis/guide/fields/analysis/windows-all-2.json +187 -0
- chronaxis/guide/fields/batch/backend-all-1.json +26 -0
- chronaxis/guide/fields/batch/batch_version-all-1.json +22 -0
- chronaxis/guide/fields/batch/fail_fast-all-1.json +22 -0
- chronaxis/guide/fields/batch/inputs-all-1.json +161 -0
- chronaxis/guide/fields/batch/jobs-all-1.json +58 -0
- chronaxis/guide/fields/batch/process_count-all-1.json +23 -0
- chronaxis/guide/fields/batch/source-all-1.json +22 -0
- chronaxis/guide/fields/batch/template-all-1.json +22 -0
- chronaxis/guide/fields/definitions/derived-all-1.json +121 -0
- chronaxis/guide/fields/definitions/signals-all-1.json +336 -0
- chronaxis/guide/fields/definitions/signals-all-2.json +307 -0
- chronaxis/guide/fields/definitions/signals-all-3.json +305 -0
- chronaxis/guide/fields/definitions/signals-all-4.json +352 -0
- chronaxis/guide/fields/definitions/signals-all-5.json +311 -0
- chronaxis/guide/fields/definitions/signals-all-6.json +254 -0
- chronaxis/guide/fields/definitions/signals-all-7.json +88 -0
- chronaxis/guide/fields/definitions/sources-all-1.json +332 -0
- chronaxis/guide/fields/definitions/sources-all-10.json +307 -0
- chronaxis/guide/fields/definitions/sources-all-11.json +280 -0
- chronaxis/guide/fields/definitions/sources-all-12.json +209 -0
- chronaxis/guide/fields/definitions/sources-all-13.json +219 -0
- chronaxis/guide/fields/definitions/sources-all-14.json +213 -0
- chronaxis/guide/fields/definitions/sources-all-15.json +212 -0
- chronaxis/guide/fields/definitions/sources-all-16.json +232 -0
- chronaxis/guide/fields/definitions/sources-all-17.json +213 -0
- chronaxis/guide/fields/definitions/sources-all-18.json +212 -0
- chronaxis/guide/fields/definitions/sources-all-19.json +217 -0
- chronaxis/guide/fields/definitions/sources-all-2.json +336 -0
- chronaxis/guide/fields/definitions/sources-all-20.json +228 -0
- chronaxis/guide/fields/definitions/sources-all-21.json +212 -0
- chronaxis/guide/fields/definitions/sources-all-22.json +232 -0
- chronaxis/guide/fields/definitions/sources-all-23.json +213 -0
- chronaxis/guide/fields/definitions/sources-all-24.json +212 -0
- chronaxis/guide/fields/definitions/sources-all-25.json +217 -0
- chronaxis/guide/fields/definitions/sources-all-26.json +228 -0
- chronaxis/guide/fields/definitions/sources-all-27.json +212 -0
- chronaxis/guide/fields/definitions/sources-all-28.json +217 -0
- chronaxis/guide/fields/definitions/sources-all-29.json +227 -0
- chronaxis/guide/fields/definitions/sources-all-3.json +306 -0
- chronaxis/guide/fields/definitions/sources-all-30.json +333 -0
- chronaxis/guide/fields/definitions/sources-all-31.json +302 -0
- chronaxis/guide/fields/definitions/sources-all-32.json +319 -0
- chronaxis/guide/fields/definitions/sources-all-33.json +89 -0
- chronaxis/guide/fields/definitions/sources-all-4.json +336 -0
- chronaxis/guide/fields/definitions/sources-all-5.json +313 -0
- chronaxis/guide/fields/definitions/sources-all-6.json +292 -0
- chronaxis/guide/fields/definitions/sources-all-7.json +319 -0
- chronaxis/guide/fields/definitions/sources-all-8.json +315 -0
- chronaxis/guide/fields/definitions/sources-all-9.json +318 -0
- chronaxis/guide/fields/index.json +3432 -0
- chronaxis/guide/fields/mapping/aliases-all-1.json +91 -0
- chronaxis/guide/fields/mapping/analysis-all-1.json +382 -0
- chronaxis/guide/fields/mapping/analysis-all-10.json +307 -0
- chronaxis/guide/fields/mapping/analysis-all-11.json +311 -0
- chronaxis/guide/fields/mapping/analysis-all-12.json +329 -0
- chronaxis/guide/fields/mapping/analysis-all-13.json +294 -0
- chronaxis/guide/fields/mapping/analysis-all-14.json +311 -0
- chronaxis/guide/fields/mapping/analysis-all-15.json +280 -0
- chronaxis/guide/fields/mapping/analysis-all-16.json +227 -0
- chronaxis/guide/fields/mapping/analysis-all-17.json +230 -0
- chronaxis/guide/fields/mapping/analysis-all-18.json +221 -0
- chronaxis/guide/fields/mapping/analysis-all-19.json +237 -0
- chronaxis/guide/fields/mapping/analysis-all-2.json +342 -0
- chronaxis/guide/fields/mapping/analysis-all-20.json +233 -0
- chronaxis/guide/fields/mapping/analysis-all-21.json +244 -0
- chronaxis/guide/fields/mapping/analysis-all-22.json +228 -0
- chronaxis/guide/fields/mapping/analysis-all-23.json +226 -0
- chronaxis/guide/fields/mapping/analysis-all-24.json +230 -0
- chronaxis/guide/fields/mapping/analysis-all-25.json +227 -0
- chronaxis/guide/fields/mapping/analysis-all-26.json +230 -0
- chronaxis/guide/fields/mapping/analysis-all-27.json +221 -0
- chronaxis/guide/fields/mapping/analysis-all-28.json +237 -0
- chronaxis/guide/fields/mapping/analysis-all-29.json +233 -0
- chronaxis/guide/fields/mapping/analysis-all-3.json +322 -0
- chronaxis/guide/fields/mapping/analysis-all-30.json +244 -0
- chronaxis/guide/fields/mapping/analysis-all-31.json +228 -0
- chronaxis/guide/fields/mapping/analysis-all-32.json +226 -0
- chronaxis/guide/fields/mapping/analysis-all-33.json +230 -0
- chronaxis/guide/fields/mapping/analysis-all-34.json +227 -0
- chronaxis/guide/fields/mapping/analysis-all-35.json +230 -0
- chronaxis/guide/fields/mapping/analysis-all-36.json +221 -0
- chronaxis/guide/fields/mapping/analysis-all-37.json +291 -0
- chronaxis/guide/fields/mapping/analysis-all-38.json +315 -0
- chronaxis/guide/fields/mapping/analysis-all-39.json +304 -0
- chronaxis/guide/fields/mapping/analysis-all-4.json +312 -0
- chronaxis/guide/fields/mapping/analysis-all-40.json +307 -0
- chronaxis/guide/fields/mapping/analysis-all-41.json +292 -0
- chronaxis/guide/fields/mapping/analysis-all-42.json +333 -0
- chronaxis/guide/fields/mapping/analysis-all-43.json +296 -0
- chronaxis/guide/fields/mapping/analysis-all-44.json +322 -0
- chronaxis/guide/fields/mapping/analysis-all-45.json +298 -0
- chronaxis/guide/fields/mapping/analysis-all-46.json +347 -0
- chronaxis/guide/fields/mapping/analysis-all-47.json +302 -0
- chronaxis/guide/fields/mapping/analysis-all-48.json +263 -0
- chronaxis/guide/fields/mapping/analysis-all-49.json +301 -0
- chronaxis/guide/fields/mapping/analysis-all-5.json +313 -0
- chronaxis/guide/fields/mapping/analysis-all-50.json +336 -0
- chronaxis/guide/fields/mapping/analysis-all-51.json +335 -0
- chronaxis/guide/fields/mapping/analysis-all-52.json +335 -0
- chronaxis/guide/fields/mapping/analysis-all-53.json +334 -0
- chronaxis/guide/fields/mapping/analysis-all-54.json +339 -0
- chronaxis/guide/fields/mapping/analysis-all-55.json +335 -0
- chronaxis/guide/fields/mapping/analysis-all-56.json +336 -0
- chronaxis/guide/fields/mapping/analysis-all-57.json +335 -0
- chronaxis/guide/fields/mapping/analysis-all-58.json +333 -0
- chronaxis/guide/fields/mapping/analysis-all-59.json +325 -0
- chronaxis/guide/fields/mapping/analysis-all-6.json +323 -0
- chronaxis/guide/fields/mapping/analysis-all-60.json +334 -0
- chronaxis/guide/fields/mapping/analysis-all-61.json +311 -0
- chronaxis/guide/fields/mapping/analysis-all-62.json +289 -0
- chronaxis/guide/fields/mapping/analysis-all-63.json +383 -0
- chronaxis/guide/fields/mapping/analysis-all-64.json +357 -0
- chronaxis/guide/fields/mapping/analysis-all-65.json +375 -0
- chronaxis/guide/fields/mapping/analysis-all-66.json +351 -0
- chronaxis/guide/fields/mapping/analysis-all-67.json +346 -0
- chronaxis/guide/fields/mapping/analysis-all-68.json +317 -0
- chronaxis/guide/fields/mapping/analysis-all-69.json +313 -0
- chronaxis/guide/fields/mapping/analysis-all-7.json +306 -0
- chronaxis/guide/fields/mapping/analysis-all-70.json +326 -0
- chronaxis/guide/fields/mapping/analysis-all-71.json +316 -0
- chronaxis/guide/fields/mapping/analysis-all-72.json +264 -0
- chronaxis/guide/fields/mapping/analysis-all-73.json +228 -0
- chronaxis/guide/fields/mapping/analysis-all-74.json +241 -0
- chronaxis/guide/fields/mapping/analysis-all-75.json +273 -0
- chronaxis/guide/fields/mapping/analysis-all-76.json +382 -0
- chronaxis/guide/fields/mapping/analysis-all-77.json +328 -0
- chronaxis/guide/fields/mapping/analysis-all-78.json +338 -0
- chronaxis/guide/fields/mapping/analysis-all-79.json +304 -0
- chronaxis/guide/fields/mapping/analysis-all-8.json +309 -0
- chronaxis/guide/fields/mapping/analysis-all-80.json +140 -0
- chronaxis/guide/fields/mapping/analysis-all-9.json +329 -0
- chronaxis/guide/fields/mapping/io_policy-all-1.json +19 -0
- chronaxis/guide/fields/mapping/mapping_version-all-1.json +19 -0
- chronaxis/guide/fields/mapping/path_base-all-1.json +19 -0
- chronaxis/guide/fields/mapping/sections-all-1.json +402 -0
- chronaxis/guide/fields/mapping/sections-all-2.json +232 -0
- chronaxis/guide/lookup.py +90 -0
- chronaxis/guide/manifest.json +614 -0
- chronaxis/guide/run_analysis.py +34 -0
- chronaxis/guide/schemas/analysis.schema.json +8451 -0
- chronaxis/guide/schemas/batch-v1.schema.json +172 -0
- chronaxis/guide/schemas/definitions.schema.json +29 -0
- chronaxis/guide/schemas/legacy-import-v1.schema.json +143 -0
- chronaxis/guide/semantics.md +62 -0
- chronaxis/guide/tasks.json +290 -0
- chronaxis/guide/workflow.md +38 -0
- chronaxis/legacy/__init__.py +46 -0
- chronaxis/legacy/batch_read.py +412 -0
- chronaxis/legacy/batch_validation.py +134 -0
- chronaxis/legacy/batch_wire.py +264 -0
- chronaxis/legacy/batch_worker.py +417 -0
- chronaxis/legacy/binding.py +154 -0
- chronaxis/legacy/dbc_cycles.py +47 -0
- chronaxis/legacy/decode_policy.py +28 -0
- chronaxis/legacy/disjunction.py +79 -0
- chronaxis/legacy/export_worker.py +147 -0
- chronaxis/legacy/export_write.py +378 -0
- chronaxis/legacy/message_store.py +562 -0
- chronaxis/legacy/process_read.py +526 -0
- chronaxis/legacy/raw_store.py +341 -0
- chronaxis/legacy/records.py +709 -0
- chronaxis/legacy/required_records.py +122 -0
- chronaxis/legacy/sum.py +403 -0
- chronaxis/legacy/sum_numpy.py +43 -0
- chronaxis/legacy/updates.py +277 -0
- chronaxis/legacy/vendor/sclicer_functions_v1/can_processor.py +138 -0
- chronaxis/legacy/vendor/sclicer_functions_v1/file_processor.py +218 -0
- chronaxis/legacy/vendor/sclicer_functions_v1/utils.py +447 -0
- chronaxis/legacy/worker.py +352 -0
- chronaxis/migration/__init__.py +11 -0
- chronaxis/migration/api.py +270 -0
- chronaxis/migration/ini.py +110 -0
- chronaxis/migration/legacy_sum.py +304 -0
- chronaxis/migration/models.py +83 -0
- chronaxis/migration/publication.py +230 -0
- chronaxis/migration/sclicer.py +241 -0
- chronaxis/migration/slope.py +78 -0
- chronaxis/migration/start_end.py +48 -0
- chronaxis/planning/__init__.py +19 -0
- chronaxis/planning/channels.py +30 -0
- chronaxis/planning/checks.py +447 -0
- chronaxis/planning/config_groups.py +215 -0
- chronaxis/planning/dbc_defaults.py +88 -0
- chronaxis/planning/export_options.py +247 -0
- chronaxis/planning/input_defaults.py +62 -0
- chronaxis/planning/input_paths.py +124 -0
- chronaxis/planning/input_requirements.py +250 -0
- chronaxis/planning/inputs.py +306 -0
- chronaxis/planning/intervals.py +242 -0
- chronaxis/planning/legacy_execution.py +38 -0
- chronaxis/planning/message_calculations.py +171 -0
- chronaxis/planning/models.py +369 -0
- chronaxis/planning/nodes.py +355 -0
- chronaxis/planning/plan.py +294 -0
- chronaxis/planning/preset_models.py +211 -0
- chronaxis/planning/record_execution.py +76 -0
- chronaxis/planning/reports.py +523 -0
- chronaxis/planning/sequences.py +91 -0
- chronaxis/planning/signal_groups.py +61 -0
- chronaxis/planning/signal_validity.py +46 -0
- chronaxis/planning/text_inputs.py +110 -0
- chronaxis/presets.py +270 -0
- chronaxis/results/__init__.py +34 -0
- chronaxis/results/analysis_outcome.py +67 -0
- chronaxis/results/artifact_exports.py +212 -0
- chronaxis/results/binding_metadata.py +54 -0
- chronaxis/results/budget.py +138 -0
- chronaxis/results/can_metadata.py +247 -0
- chronaxis/results/codec.py +246 -0
- chronaxis/results/errors.py +25 -0
- chronaxis/results/export_files.py +216 -0
- chronaxis/results/frame_exports.py +299 -0
- chronaxis/results/frame_patch.py +186 -0
- chronaxis/results/frame_rebuild.py +458 -0
- chronaxis/results/frame_sort.py +223 -0
- chronaxis/results/input_diagnostics.py +51 -0
- chronaxis/results/manifest.py +343 -0
- chronaxis/results/merge_runs.py +207 -0
- chronaxis/results/owned_directory.py +32 -0
- chronaxis/results/raw_exports.py +689 -0
- chronaxis/results/readable.py +355 -0
- chronaxis/results/readable_format.py +94 -0
- chronaxis/results/result.py +734 -0
- chronaxis/results/rows.py +57 -0
- chronaxis/results/signal_exports.py +209 -0
- chronaxis/results/signal_grid.py +219 -0
- chronaxis/results/spool.py +421 -0
- chronaxis/results/summary.py +350 -0
- chronaxis/results/text_can_metadata.py +64 -0
- chronaxis/results/threshold_metadata.py +105 -0
- chronaxis/runner.py +121 -0
- chronaxis/sources/__init__.py +23 -0
- chronaxis/sources/asc.py +412 -0
- chronaxis/sources/blf.py +101 -0
- chronaxis/sources/can_spec.py +179 -0
- chronaxis/sources/can_updates.py +160 -0
- chronaxis/sources/csv_spec.py +133 -0
- chronaxis/sources/descriptions.py +65 -0
- chronaxis/sources/memory.py +299 -0
- chronaxis/sources/models.py +497 -0
- chronaxis/sources/packing.py +170 -0
- chronaxis/sources/protocol.py +221 -0
- chronaxis/sources/raw_can.py +62 -0
- chronaxis/sources/raw_csv.py +470 -0
- chronaxis/sources/raw_csv_layout.py +310 -0
- chronaxis/sources/signal_csv.py +608 -0
- chronaxis/sources/text_can_decode.py +421 -0
- chronaxis/sources/text_can_ref.py +48 -0
- chronaxis/sources/text_can_spec.py +61 -0
- chronaxis/timebase/__init__.py +19 -0
- chronaxis/timebase/conversion.py +364 -0
- chronaxis/timebase/numpy_ops.py +104 -0
- chronaxis/user_guide.py +81 -0
- chronaxis-0.1.0.dev0.dist-info/METADATA +172 -0
- chronaxis-0.1.0.dev0.dist-info/RECORD +917 -0
- chronaxis-0.1.0.dev0.dist-info/WHEEL +5 -0
- chronaxis-0.1.0.dev0.dist-info/entry_points.txt +2 -0
- chronaxis-0.1.0.dev0.dist-info/licenses/LICENSE +21 -0
- chronaxis-0.1.0.dev0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# AnalysisPlan
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import AnalysisPlan`
|
|
4
|
+
|
|
5
|
+
<a id="api-AnalysisPlan"></a>
|
|
6
|
+
## `AnalysisPlan`
|
|
7
|
+
|
|
8
|
+
保存一个会话的分析配置,以及静态检查得到的对象。
|
|
9
|
+
|
|
10
|
+
通过from_dict或load_analysis_plan构建,依次保存输入来源、信号、派生计算、
|
|
11
|
+
条件规则、窗口与指标。实例字段不能重新赋值;原配置及自由元数据
|
|
12
|
+
保存为独立的只读快照,不保留调用者可变字典或列表的引用。
|
|
13
|
+
|
|
14
|
+
bindings只描述“哪个信号来自哪里”,derived_expressions是已检查的
|
|
15
|
+
表达式结构;二者不表示真实数据已经读取或能够直接运行。
|
|
16
|
+
execution与outputs保存执行及输出声明,创建本类不会启动计算或发布文件。
|
|
17
|
+
|
|
18
|
+
identity由配置和来源定位声明计算,用于区分计划;不能据此断言CSV内容、
|
|
19
|
+
实际列、内存使用或分析结果已核实。各次构建的绑定和声明相互独立。
|
|
20
|
+
|
|
21
|
+
```python
|
|
22
|
+
AnalysisPlan(config_version: int, dataset: chronaxis.planning.models.DatasetPlan, sources: tuple[chronaxis.planning.models.SourcePlan, ...], signals: tuple[chronaxis.planning.models.SignalPlan, ...], derived: tuple[chronaxis.planning.models.DerivedPlan, ...], rules: tuple[chronaxis.planning.models.RulePlan, ...], windows: tuple[chronaxis.planning.models.WindowPlan, ...], calculations: tuple[chronaxis.planning.models.CalculationPlan, ...], presets: tuple[chronaxis.planning.preset_models.PresetSpec, ...], preset_bindings: tuple[tuple[chronaxis.planning.preset_models.RoleBinding, ...], ...], execution: chronaxis.planning.models.ExecutionPlan, outputs: chronaxis.planning.models.OutputPlan, bindings: chronaxis.core.declarations.DeclarationBindings, derived_expressions: tuple[chronaxis.core.expression.StaticExpression, ...], metadata: collections.abc.Mapping, raw_config: collections.abc.Mapping, base_dir: pathlib.Path, identity: str, message_calculations: tuple[chronaxis.planning.models.MessageCalculationPlan, ...] = (), sequences: tuple[chronaxis.planning.sequences.SequencePlan, ...] = (), intervals: 'IntervalPlan | None' = None, diagnostics: 'DiagnosticPlan | None' = None) -> None
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 属性与数据字段
|
|
26
|
+
|
|
27
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
28
|
+
|---|---|---|---|---|
|
|
29
|
+
|`config_version`|int|是|无|保存已加载配置的结构版本,当前为整数3。通常调用load_analysis_plan(path)或AnalysisPlan.from_dict(config)建立整个计划,不逐字段手工拼接。|
|
|
30
|
+
|`dataset`|DatasetPlan|是|无|分析对象、会话和请求时间范围。|
|
|
31
|
+
|`sources`|tuple[SourcePlan, ...]|是|无|已解析的来源配置,保持用户声明顺序。|
|
|
32
|
+
|`signals`|tuple[SignalPlan, ...]|是|无|原字段与信号名称、类型、单位及有效期声明。|
|
|
33
|
+
|`derived`|tuple[DerivedPlan, ...]|是|无|由已有信号计算的新信号,例如功率及其元数据。|
|
|
34
|
+
|`rules`|tuple[RulePlan, ...]|是|无|已经检查的布尔条件和时序规则。|
|
|
35
|
+
|`windows`|tuple[WindowPlan, ...]|是|无|已检查的活动或时间点窗口,以及所引用的规则。|
|
|
36
|
+
|`calculations`|tuple[CalculationPlan, ...]|是|无|统计指标及其范围、计算口径、单位和缺失数据策略。|
|
|
37
|
+
|`presets`|tuple[PresetSpec, ...]|是|无|原预设v1声明,冻结并保留生成参数。|
|
|
38
|
+
|`preset_bindings`|tupletuple[[RoleBinding, ...], ...]|是|无|保存预设角色与实际信号的对应关系。加载计划时产生,外层元组与plan.presets顺序一致;内层每个RoleBinding保存contract(角色要求)、definition(选中的原信号定义)、resolution(explicit显式指定或semantic_unique唯一语义匹配)。没有预设时外层为()。使用zip(plan.presets, plan.preset_bindings)配对,再读取binding.definition.name等;见下方调用示例。|
|
|
39
|
+
|`execution`|ExecutionPlan|是|无|计算方式、分批大小和资源预算声明,尚未实际执行。|
|
|
40
|
+
|`outputs`|OutputPlan|是|无|结果表及清单的格式声明,尚未写出文件。|
|
|
41
|
+
|`bindings`|DeclarationBindings|是|无|名称与来源之间的声明关系,不含实际读取的信号值。|
|
|
42
|
+
|`derived_expressions`|tuple[StaticExpression, ...]|是|无|全部派生表达式的检查结果,已拒绝循环依赖。|
|
|
43
|
+
|`metadata`|Mapping|是|无|调用者附加的只读元数据,不改变计算规则。|
|
|
44
|
+
|`raw_config`|Mapping|是|无|解析时保存的内部只读配置快照,不是用户原文,省略字段也未必全部写回。字段可能为内部解析形式;需要可编辑的当前公共配置时使用config resolve。|
|
|
45
|
+
|`base_dir`|Path|是|无|相对来源路径的解释基准,保存为绝对路径。|
|
|
46
|
+
|`identity`|str|是|无|配置及来源定位声明的SHA-256哈希,不是文件内容哈希。|
|
|
47
|
+
|`message_calculations`|tuple[MessageCalculationPlan, ...]|否|()|保存message_calculations配置解析后的逐消息计算项元组;空元组表示没有此类计算。与普通calculations分别执行。|
|
|
48
|
+
|`sequences`|tuple[SequencePlan, ...]|否|()|保存sequences配置解析后的请求/响应配对元组;空元组表示不进行配对。|
|
|
49
|
+
|`intervals`|'IntervalPlan | None'|否|None|当前记录流的有限间隔声明。|
|
|
50
|
+
|`diagnostics`|'DiagnosticPlan | None'|否|None|分别声明追溯、完整性检查与现场留存。|
|
|
51
|
+
|
|
52
|
+
# 从资料解压目录运行;此文件已定义所需来源、信号和预设。
|
|
53
|
+
plan = load_analysis_plan("examples/preset-charge-minimal.yaml")
|
|
54
|
+
for preset, bindings in zip(plan.presets, plan.preset_bindings):
|
|
55
|
+
for binding in bindings:
|
|
56
|
+
print(preset.id, binding.contract.role,
|
|
57
|
+
binding.definition.name, binding.resolution)
|
|
58
|
+
# demo_preset mode mode explicit
|
|
59
|
+
# demo_preset current current explicit
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
<a id="api-AnalysisPlan-from_dict"></a>
|
|
64
|
+
### `AnalysisPlan.from_dict`
|
|
65
|
+
|
|
66
|
+
复制配置字典,检查版本3的静态要求;新版本执行能力另行验证。
|
|
67
|
+
|
|
68
|
+
```python
|
|
69
|
+
AnalysisPlan.from_dict(config: dict, *, base_dir: Path | str | None=None) -> 'AnalysisPlan'
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
装饰器:`classmethod`, `public_errors`。
|
|
73
|
+
|
|
74
|
+
#### 参数
|
|
75
|
+
|
|
76
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
77
|
+
|---|---|---|---|---|
|
|
78
|
+
|`config`|dict[str, object]|是|无|位置或关键字。当前公开分析配置字典,含config_version=3、dataset、sources和signals;不接受未展开imports。目录声明会枚举文件名,缺省CAN元数据时读取DBC;不读取业务记录。见配置字段参考。|
|
|
79
|
+
|`base_dir`|Path | str | None|否|None|仅关键字。相对来源路径的解释基准;默认None, 使用当前工作目录。传入Path或文本时转换为绝对路径。|
|
|
80
|
+
|
|
81
|
+
#### 返回说明
|
|
82
|
+
|
|
83
|
+
AnalysisPlan: 保存经过静态检查的来源、信号及计算节点。
|
|
84
|
+
raw_config和metadata是独立的只读快照;创建计划不读取分析数据。
|
|
85
|
+
|
|
86
|
+
#### 异常说明
|
|
87
|
+
|
|
88
|
+
PlanValidationError: 字段或版本不合法,名称冲突、表达式或引用错误,
|
|
89
|
+
输入模型不合规,或配置请求尚未接入的能力;错误保留配置位置。
|
|
90
|
+
OSError: 获取当前工作目录或转换路径时发生系统错误,可原样传播。
|
|
91
|
+
|
|
92
|
+
#### 处理流程说明
|
|
93
|
+
|
|
94
|
+
检查当前公开配置并展开节点,解析来源和信号;目录声明枚举文件名,缺省CAN元数据从DBC补全。随后检查引用、类型与单位,构造独立计划;不读取业务记录或执行分析。
|
|
95
|
+
|
|
96
|
+
返回类型:'AnalysisPlan'。
|
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
# AnalysisResult
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import AnalysisResult`
|
|
4
|
+
|
|
5
|
+
<a id="api-AnalysisResult"></a>
|
|
6
|
+
## `AnalysisResult`
|
|
7
|
+
|
|
8
|
+
一次成功分析的结果对象。通常由AnalysisRunner.run返回;通过iter_*逐行读取,通过write发布,通过close或with释放资源。内部构造参数用于接管暂存,不建议业务调用者手工构造。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
AnalysisResult(spool: chronaxis.results.spool.ResultSpool, metadata: chronaxis.results.manifest.RunMetadata, table_format: str = 'csv', *, artifact_exports=None, owned_work=None)
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
<a id="api-AnalysisResult-__init__"></a>
|
|
17
|
+
### `AnalysisResult.__init__`
|
|
18
|
+
|
|
19
|
+
接管已经结束写入的结果暂存,并记录analysis_complete,表示计算完成、结果可供读取。正式输出目录仍由write生成。
|
|
20
|
+
|
|
21
|
+
```python
|
|
22
|
+
AnalysisResult.__init__(spool: ResultSpool, metadata: RunMetadata, table_format: str='csv', *, artifact_exports=None, owned_work=None)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
#### 参数
|
|
26
|
+
|
|
27
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
28
|
+
|---|---|---|---|---|
|
|
29
|
+
|`spool`|ResultSpool|是|无|位置或关键字。接管内部执行流程已经写完并排序的ResultSpool。普通调用使用AnalysisRunner.run(...)取得AnalysisResult,不需要手工创建spool;接管后由结果对象负责释放。|
|
|
30
|
+
|`metadata`|RunMetadata|是|无|位置或关键字。此次运行的配置、实际输入、计算方式及观测信息;发布时写入运行清单。|
|
|
31
|
+
|`table_format`|str|否|'csv'|位置或关键字。"csv"保留机器字段的CSV交换表,"jsonl"每行写一个完整JSON对象,"readable_csv"生成中文可读表格。低层构造器默认csv;普通配置与AnalysisRunner默认readable_csv。|
|
|
32
|
+
|`artifact_exports`|ArtifactExportStore | None|否|None|仅关键字。可选的信号表和报文导出文件仓,成功接管后由本结果负责关闭。|
|
|
33
|
+
|`owned_work`|tuple[Path, tuple] | None|否|None|仅关键字。本次私有根路径和创建时目录身份;须是spool直接父目录,None仅接管spool目录。|
|
|
34
|
+
|
|
35
|
+
#### 返回说明
|
|
36
|
+
|
|
37
|
+
None;初始化实例状态。
|
|
38
|
+
|
|
39
|
+
#### 异常说明
|
|
40
|
+
|
|
41
|
+
传入模型/表格式错误时拒绝构造;预算、暂存或内部清单写入失败可抛AnalysisError并保留cause。构造失败且仍有资源待关时,异常analysis_result_cleanup_owner提供close重试入口。一般调用者应取得AnalysisRunner.run返回的对象,避免自行接管spool。
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
<a id="api-AnalysisResult-run_manifest"></a>
|
|
45
|
+
### `AnalysisResult.run_manifest`
|
|
46
|
+
|
|
47
|
+
返回当前状态快照,发布失败诊断路径另见manifest_path。
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
AnalysisResult.run_manifest: dict
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
装饰器:`property`。
|
|
54
|
+
|
|
55
|
+
读取属性,不使用调用括号。
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
#### 参数说明
|
|
59
|
+
|
|
60
|
+
无。
|
|
61
|
+
|
|
62
|
+
#### 返回说明
|
|
63
|
+
|
|
64
|
+
独立小型dict。
|
|
65
|
+
|
|
66
|
+
#### 异常说明
|
|
67
|
+
|
|
68
|
+
关闭后仍可查看诊断,不读文件。
|
|
69
|
+
|
|
70
|
+
返回类型:dict。
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
<a id="api-AnalysisResult-iter_events"></a>
|
|
74
|
+
### `AnalysisResult.iter_events`
|
|
75
|
+
|
|
76
|
+
创建独立事件流,不装入全量列表。
|
|
77
|
+
|
|
78
|
+
```python
|
|
79
|
+
AnalysisResult.iter_events() -> Iterator[SummaryEventRow]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
参数:无显式参数。
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
#### 参数说明
|
|
86
|
+
|
|
87
|
+
无。
|
|
88
|
+
|
|
89
|
+
#### 返回说明
|
|
90
|
+
|
|
91
|
+
可关闭迭代器,逐行产生SummaryEventRow;使用try/finally关闭游标;外层AnalysisResult可用with管理,游标本身不支持with。
|
|
92
|
+
|
|
93
|
+
#### 异常说明
|
|
94
|
+
|
|
95
|
+
ResultClosedError:结果已关闭或正在关闭,不能创建或继续读取游标。BudgetExceededError:无法为游标保留预算。OSError:创建或迭代期间读取暂存文件失败。ResultFormatError:迭代时发现行格式、类型或长度不合法。先关闭游标;不要将读取失败当成空结果。
|
|
96
|
+
|
|
97
|
+
返回类型:Iterator[SummaryEventRow]。
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
<a id="api-AnalysisResult-iter_sequences"></a>
|
|
101
|
+
### `AnalysisResult.iter_sequences`
|
|
102
|
+
|
|
103
|
+
逐行读取请求配对结果;未配置配对时返回可关闭空游标。
|
|
104
|
+
|
|
105
|
+
```python
|
|
106
|
+
AnalysisResult.iter_sequences() -> Iterator[SummarySequenceRow]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
参数:无显式参数。
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
#### 参数说明
|
|
113
|
+
|
|
114
|
+
无。
|
|
115
|
+
|
|
116
|
+
#### 返回说明
|
|
117
|
+
|
|
118
|
+
可关闭迭代器,逐行产生SummarySequenceRow;使用try/finally关闭游标;外层AnalysisResult可用with管理,游标本身不支持with。
|
|
119
|
+
|
|
120
|
+
#### 异常说明
|
|
121
|
+
|
|
122
|
+
ResultClosedError:结果已关闭或正在关闭,不能创建或继续读取游标。BudgetExceededError:无法为游标保留预算。OSError:创建或迭代期间读取暂存文件失败。ResultFormatError:迭代时发现行格式、类型或长度不合法。先关闭游标;不要将读取失败当成空结果。
|
|
123
|
+
|
|
124
|
+
返回类型:Iterator[SummarySequenceRow]。
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
<a id="api-AnalysisResult-iter_segments"></a>
|
|
128
|
+
### `AnalysisResult.iter_segments`
|
|
129
|
+
|
|
130
|
+
创建独立片段流,保留全部父事件关联。
|
|
131
|
+
|
|
132
|
+
```python
|
|
133
|
+
AnalysisResult.iter_segments() -> Iterator[SummarySegmentRow]
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
参数:无显式参数。
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
#### 参数说明
|
|
140
|
+
|
|
141
|
+
无。
|
|
142
|
+
|
|
143
|
+
#### 返回说明
|
|
144
|
+
|
|
145
|
+
可关闭迭代器,逐行产生SummarySegmentRow;使用try/finally关闭游标;外层AnalysisResult可用with管理,游标本身不支持with。
|
|
146
|
+
|
|
147
|
+
#### 异常说明
|
|
148
|
+
|
|
149
|
+
ResultClosedError:结果已关闭或正在关闭,不能创建或继续读取游标。BudgetExceededError:无法为游标保留预算。OSError:创建或迭代期间读取暂存文件失败。ResultFormatError:迭代时发现行格式、类型或长度不合法。先关闭游标;不要将读取失败当成空结果。
|
|
150
|
+
|
|
151
|
+
返回类型:Iterator[SummarySegmentRow]。
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
<a id="api-AnalysisResult-iter_calculations"></a>
|
|
155
|
+
### `AnalysisResult.iter_calculations`
|
|
156
|
+
|
|
157
|
+
逐行读取计算摘要。检查scope区分会话、事件或片段,同时读取value、unit、status、reason及quality;select样本通过iter_selections读取。
|
|
158
|
+
|
|
159
|
+
```python
|
|
160
|
+
AnalysisResult.iter_calculations() -> Iterator[SummaryCalculationRow]
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
参数:无显式参数。
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
#### 参数说明
|
|
167
|
+
|
|
168
|
+
无。
|
|
169
|
+
|
|
170
|
+
#### 返回说明
|
|
171
|
+
|
|
172
|
+
可关闭迭代器,逐行产生SummaryCalculationRow;相关时间计算设置minimum_coverage大于0时产生带coverage_status的SummaryCoverageCalculationRow。用try/finally关闭游标,不能对游标使用with。
|
|
173
|
+
|
|
174
|
+
#### 异常说明
|
|
175
|
+
|
|
176
|
+
ResultClosedError:结果已关闭或正在关闭,不能创建或继续读取游标。BudgetExceededError:无法为游标保留预算。OSError:创建或迭代期间读取暂存文件失败。ResultFormatError:迭代时发现行格式、类型或长度不合法。先关闭游标;不要将读取失败当成空结果。
|
|
177
|
+
|
|
178
|
+
返回类型:Iterator[SummaryCalculationRow]。
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
<a id="api-AnalysisResult-iter_contributions"></a>
|
|
182
|
+
### `AnalysisResult.iter_contributions`
|
|
183
|
+
|
|
184
|
+
逐行回查真实贡献与skip,原序号和新求值序号分别保留。
|
|
185
|
+
|
|
186
|
+
```python
|
|
187
|
+
AnalysisResult.iter_contributions() -> Iterator[SummaryContributionRow]
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
参数:无显式参数。
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
#### 参数说明
|
|
194
|
+
|
|
195
|
+
无。
|
|
196
|
+
|
|
197
|
+
#### 返回说明
|
|
198
|
+
|
|
199
|
+
独立有预算游标;逐行返回SummaryContributionRow。
|
|
200
|
+
|
|
201
|
+
#### 异常说明
|
|
202
|
+
|
|
203
|
+
ContributionsUnavailableError:outputs.contributions没有请求full,需要修改计划重新运行才有明细。ResultClosedError:结果已关。读取暂存时发生预算、格式或I/O错误会保留异常链;不是输入解码器重新执行。
|
|
204
|
+
|
|
205
|
+
返回类型:Iterator[SummaryContributionRow]。
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
<a id="api-AnalysisResult-iter_selections"></a>
|
|
209
|
+
### `AnalysisResult.iter_selections`
|
|
210
|
+
|
|
211
|
+
读取明确请求的真实样本选择行。
|
|
212
|
+
|
|
213
|
+
```python
|
|
214
|
+
AnalysisResult.iter_selections() -> Iterator[SummarySelectionRow]
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
参数:无显式参数。
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
#### 参数说明
|
|
221
|
+
|
|
222
|
+
无。
|
|
223
|
+
|
|
224
|
+
#### 返回说明
|
|
225
|
+
|
|
226
|
+
有预算游标,未请求为空。
|
|
227
|
+
|
|
228
|
+
#### 异常说明
|
|
229
|
+
|
|
230
|
+
ResultClosedError:结果已关闭或正在关闭,不能创建或继续读取游标。BudgetExceededError:无法为游标保留预算。OSError:创建或迭代期间读取暂存文件失败。ResultFormatError:迭代时发现行格式、类型或长度不合法。先关闭游标;不要将读取失败当成空结果。
|
|
231
|
+
|
|
232
|
+
返回类型:Iterator[SummarySelectionRow]。
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
<a id="api-AnalysisResult-iter_input_trace"></a>
|
|
236
|
+
### `AnalysisResult.iter_input_trace`
|
|
237
|
+
|
|
238
|
+
读取显式请求的所需输入追溯。
|
|
239
|
+
|
|
240
|
+
```python
|
|
241
|
+
AnalysisResult.iter_input_trace() -> Iterator[SummaryInputRow]
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
参数:无显式参数。
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
#### 参数说明
|
|
248
|
+
|
|
249
|
+
无。
|
|
250
|
+
|
|
251
|
+
#### 返回说明
|
|
252
|
+
|
|
253
|
+
逐行产生SummaryInputRow的可关闭游标。
|
|
254
|
+
|
|
255
|
+
#### 异常说明
|
|
256
|
+
|
|
257
|
+
ResultClosedError:结果已关闭。AnalysisError:本次未生成输入追溯,需配置diagnostics.trace后重新运行。迭代期间可能传播ResultFormatError、BudgetExceededError和OSError。
|
|
258
|
+
|
|
259
|
+
返回类型:Iterator[SummaryInputRow]。
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
<a id="api-AnalysisResult-contributions_available"></a>
|
|
263
|
+
### `AnalysisResult.contributions_available`
|
|
264
|
+
|
|
265
|
+
说明本结果是否允许查询逐消息贡献,不将未生成和零行混为一谈。
|
|
266
|
+
|
|
267
|
+
```python
|
|
268
|
+
AnalysisResult.contributions_available: bool
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
装饰器:`property`。
|
|
272
|
+
|
|
273
|
+
读取属性,不使用调用括号。
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
#### 参数说明
|
|
277
|
+
|
|
278
|
+
无。
|
|
279
|
+
|
|
280
|
+
#### 返回说明
|
|
281
|
+
|
|
282
|
+
bool;默认未配置逐消息指标仍允许原空游标。
|
|
283
|
+
|
|
284
|
+
#### 异常说明
|
|
285
|
+
|
|
286
|
+
无;关闭后可查看这项固定运行事实,但不能重新创建游标。
|
|
287
|
+
|
|
288
|
+
返回类型:bool。
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
<a id="api-AnalysisResult-write"></a>
|
|
292
|
+
### `AnalysisResult.write`
|
|
293
|
+
|
|
294
|
+
把暂存中的结果写到全新目录。所有文件完成后写入completed状态,再把临时目录重命名为正式目录;已有目标不会被覆盖。
|
|
295
|
+
|
|
296
|
+
```python
|
|
297
|
+
AnalysisResult.write(output_dir: str | Path) -> OutputManifest
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
#### 参数
|
|
301
|
+
|
|
302
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
303
|
+
|---|---|---|---|---|
|
|
304
|
+
|`output_dir`|str | Path|是|无|位置或关键字。指定新建的结果目录,传str或Path,例如Path("results/run_01")。按本次输出位置填写;目录已存在时拒绝覆盖。完成后返回OutputManifest,结果对象仍需关闭。|
|
|
305
|
+
|
|
306
|
+
#### 返回说明
|
|
307
|
+
|
|
308
|
+
安装成功后的OutputManifest。
|
|
309
|
+
|
|
310
|
+
#### 异常说明
|
|
311
|
+
|
|
312
|
+
ResultClosedError:结果已关闭或正在关闭。AnalysisError:目标已存在、目标位于将清理的自有工作目录内、平台不支持安全发布、预算/格式/文件写入失败;原错误通过__cause__保留。修正输出位置或环境后,可向另一新目录重试,不会重读输入。
|
|
313
|
+
|
|
314
|
+
#### 副作用说明
|
|
315
|
+
|
|
316
|
+
发布到全新输出目录,不覆盖既有目录。失败时按retain_work决定是否保留本次临时目录;诊断可从异常及run_manifest查看。
|
|
317
|
+
|
|
318
|
+
返回类型:OutputManifest。
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
<a id="api-AnalysisResult-close"></a>
|
|
322
|
+
### `AnalysisResult.close`
|
|
323
|
+
|
|
324
|
+
关闭游标并释放资源;默认清理本次程序为本次运行创建的临时数据,retain_work为true时保留现场。原始输入及正式输出保留。
|
|
325
|
+
|
|
326
|
+
```python
|
|
327
|
+
AnalysisResult.close() -> None
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
参数:无显式参数。
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
#### 参数说明
|
|
334
|
+
|
|
335
|
+
无。
|
|
336
|
+
|
|
337
|
+
#### 返回说明
|
|
338
|
+
|
|
339
|
+
None。可重复调用;失败后仍可重试未完成的清理。
|
|
340
|
+
|
|
341
|
+
#### 异常说明
|
|
342
|
+
|
|
343
|
+
先尝试关闭所有已取得的资源;文件句柄、暂存清理或预算释放失败时抛出首先发生的错误,后续错误作为补充诊断。确认占用已解除后再次调用close;close可重复,不能仅捕获异常后丢弃该结果对象。
|
|
344
|
+
|
|
345
|
+
返回类型:None。
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
<a id="api-AnalysisResult-__enter__"></a>
|
|
349
|
+
### `AnalysisResult.__enter__`
|
|
350
|
+
|
|
351
|
+
进入结果上下文,不再次执行输入读取。
|
|
352
|
+
|
|
353
|
+
```python
|
|
354
|
+
AnalysisResult.__enter__() -> 'AnalysisResult'
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
参数:无显式参数。
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
#### 参数说明
|
|
361
|
+
|
|
362
|
+
无。
|
|
363
|
+
|
|
364
|
+
#### 返回说明
|
|
365
|
+
|
|
366
|
+
返回当前对象本身。后续迭代或with语句使用的仍是同一个对象。
|
|
367
|
+
|
|
368
|
+
#### 异常说明
|
|
369
|
+
|
|
370
|
+
ResultClosedError为已关闭。
|
|
371
|
+
|
|
372
|
+
返回类型:'AnalysisResult'。
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
<a id="api-AnalysisResult-__exit__"></a>
|
|
376
|
+
### `AnalysisResult.__exit__`
|
|
377
|
+
|
|
378
|
+
退出上下文时释放资源,保留业务原异常。
|
|
379
|
+
|
|
380
|
+
```python
|
|
381
|
+
AnalysisResult.__exit__(exc_type, exc_value, traceback)
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
#### 参数
|
|
385
|
+
|
|
386
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
387
|
+
|---|---|---|---|---|
|
|
388
|
+
|`exc_type`|type[BaseException] | None|是|无|位置或关键字。with代码块抛出的异常类型;正常离开时为None,由Python传入。|
|
|
389
|
+
|`exc_value`|BaseException | None|是|无|位置或关键字。with代码块抛出的异常对象;正常离开时为None,由Python传入。|
|
|
390
|
+
|`traceback`|TracebackType | None|是|无|位置或关键字。异常发生时的调用栈;正常离开时为None,由Python传入,供异常继续传播。|
|
|
391
|
+
|
|
392
|
+
#### 返回说明
|
|
393
|
+
|
|
394
|
+
False,异常会继续传给调用者。
|
|
395
|
+
|
|
396
|
+
#### 异常说明
|
|
397
|
+
|
|
398
|
+
正常离开with时close失败会传播关闭错误;with内已有业务异常时保留该业务异常,关闭问题附加到诊断信息,避免掩盖真正失败原因。
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# AnalysisRunner
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import AnalysisRunner`
|
|
4
|
+
|
|
5
|
+
<a id="api-AnalysisRunner"></a>
|
|
6
|
+
## `AnalysisRunner`
|
|
7
|
+
|
|
8
|
+
配置单次分析的执行器。backend可覆盖计划设置;run创建独立资源,返回需关闭的AnalysisResult。通常复用执行器,分别管理每次结果。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
AnalysisRunner(backend=None)
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
<a id="api-AnalysisRunner-__init__"></a>
|
|
17
|
+
### `AnalysisRunner.__init__`
|
|
18
|
+
|
|
19
|
+
选择是否覆盖计划后端,不读取任何来源或配置文件。
|
|
20
|
+
|
|
21
|
+
```python
|
|
22
|
+
AnalysisRunner.__init__(backend=None)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
#### 参数
|
|
26
|
+
|
|
27
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
28
|
+
|---|---|---|---|---|
|
|
29
|
+
|`backend`|str | None|否|None|位置或关键字。`"reference"`使用独立参考计算;`"numpy"`使用NumPy数组计算。None沿用计划中的选择。|
|
|
30
|
+
|
|
31
|
+
#### 返回说明
|
|
32
|
+
|
|
33
|
+
None;初始化实例状态。
|
|
34
|
+
|
|
35
|
+
#### 异常说明
|
|
36
|
+
|
|
37
|
+
TypeError为非文本覆盖;ValueError为未知后端。
|
|
38
|
+
|
|
39
|
+
本函数直接报告的具体错误:
|
|
40
|
+
|
|
41
|
+
- `TypeError`:AnalysisRunner backend需要reference、numpy或None。
|
|
42
|
+
- `ValueError`:AnalysisRunner仅支持reference与numpy后端。
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
<a id="api-AnalysisRunner-backend"></a>
|
|
46
|
+
### `AnalysisRunner.backend`
|
|
47
|
+
|
|
48
|
+
读取构造时的覆盖选择,不表示某个尚未运行计划的实际后端。
|
|
49
|
+
|
|
50
|
+
```python
|
|
51
|
+
AnalysisRunner.backend
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
装饰器:`property`。
|
|
55
|
+
|
|
56
|
+
读取属性,不使用调用括号。
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
#### 参数说明
|
|
60
|
+
|
|
61
|
+
无。
|
|
62
|
+
|
|
63
|
+
#### 返回说明
|
|
64
|
+
|
|
65
|
+
None/reference/numpy。
|
|
66
|
+
|
|
67
|
+
#### 异常说明
|
|
68
|
+
|
|
69
|
+
无。
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
<a id="api-AnalysisRunner-validate"></a>
|
|
73
|
+
### `AnalysisRunner.validate`
|
|
74
|
+
|
|
75
|
+
报告声明是否合法及执行路径是否已接入,不提前读取数据。
|
|
76
|
+
|
|
77
|
+
```python
|
|
78
|
+
AnalysisRunner.validate(plan)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
#### 参数
|
|
82
|
+
|
|
83
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
84
|
+
|---|---|---|---|---|
|
|
85
|
+
|`plan`|AnalysisPlan|是|无|位置或关键字。提供已构建的AnalysisPlan:用load_analysis_plan("analysis.yaml")读取配置,或用AnalysisPlan.from_dict(config)解析Python字典;这里不接收文件名字符串。|
|
|
86
|
+
|
|
87
|
+
#### 返回说明
|
|
88
|
+
|
|
89
|
+
同一共享ValidationReport,保留实际字段/范围未验警告。
|
|
90
|
+
|
|
91
|
+
#### 异常说明
|
|
92
|
+
|
|
93
|
+
TypeError:plan不是AnalysisPlan或其execution不是合法执行模型。正常计划的静态问题通过ValidationReport.errors返回,执行能力看execution_ready;不读取输入,不能把空errors当作实际日志已验证。
|
|
94
|
+
|
|
95
|
+
#### 副作用说明
|
|
96
|
+
|
|
97
|
+
无来源I/O或目录创建。
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
<a id="api-AnalysisRunner-explain"></a>
|
|
101
|
+
### `AnalysisRunner.explain`
|
|
102
|
+
|
|
103
|
+
列出真实依赖、各节点后端、历史需求及声明预算,不启动分析。
|
|
104
|
+
|
|
105
|
+
```python
|
|
106
|
+
AnalysisRunner.explain(plan)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
#### 参数
|
|
110
|
+
|
|
111
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
112
|
+
|---|---|---|---|---|
|
|
113
|
+
|`plan`|AnalysisPlan|是|无|位置或关键字。提供已构建的AnalysisPlan:用load_analysis_plan("analysis.yaml")读取配置,或用AnalysisPlan.from_dict(config)解析Python字典;这里不接收文件名字符串。|
|
|
114
|
+
|
|
115
|
+
#### 返回说明
|
|
116
|
+
|
|
117
|
+
ExplainReport,plan_identity保原声明身份。
|
|
118
|
+
|
|
119
|
+
#### 异常说明
|
|
120
|
+
|
|
121
|
+
TypeError:plan不是AnalysisPlan或其execution类型不符。手工破坏带有明确类型的引用可能引发AttributeError/KeyError;重新使用from_dict/load_analysis_plan构造合法计划。函数不打开CSV/DBC,不测量实际耗时或内存。
|
|
122
|
+
|
|
123
|
+
#### 副作用说明
|
|
124
|
+
|
|
125
|
+
不读取CSV/DBC,也不测量实耗。
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
<a id="api-AnalysisRunner-run"></a>
|
|
129
|
+
### `AnalysisRunner.run`
|
|
130
|
+
|
|
131
|
+
验证后执行一次真实分析,输入全关才返回独立AnalysisResult。
|
|
132
|
+
|
|
133
|
+
```python
|
|
134
|
+
AnalysisRunner.run(plan, work_dir=None)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
#### 参数
|
|
138
|
+
|
|
139
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
140
|
+
|---|---|---|---|---|
|
|
141
|
+
|`plan`|AnalysisPlan|是|无|位置或关键字。提供已构建的AnalysisPlan:用load_analysis_plan("analysis.yaml")读取配置,或用AnalysisPlan.from_dict(config)解析Python字典;这里不接收文件名字符串。|
|
|
142
|
+
|`work_dir`|str | Path | None|否|None|位置或关键字。本次运行独占的工作目录,用来保存中间文件。自行指定时要求尚不存在;不会覆盖旧目录。None让入口自动创建唯一目录。|
|
|
143
|
+
|
|
144
|
+
#### 返回说明
|
|
145
|
+
|
|
146
|
+
analysis_complete的AnalysisResult,由调用者close/上下文管理,write另行发布。
|
|
147
|
+
|
|
148
|
+
#### 异常说明
|
|
149
|
+
|
|
150
|
+
TypeError为错误plan;验证或运行错误为AnalysisError,保原cause和诊断;
|
|
151
|
+
KeyboardInterrupt/SystemExit原样传播。持续清理失败用runner_cleanup_owner.close恢复。
|
|
152
|
+
|
|
153
|
+
#### 副作用说明
|
|
154
|
+
|
|
155
|
+
创建本次新暂存;扫描来源一次、后续仅回读新history,不自动删除或发布文件。
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# BatchJob
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import BatchJob`
|
|
4
|
+
|
|
5
|
+
<a id="api-BatchJob"></a>
|
|
6
|
+
## `BatchJob`
|
|
7
|
+
|
|
8
|
+
声明一个独立分析;同会话连续文件应包含在本任务的一个计划中。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
BatchJob(job_id: str, plan: chronaxis.planning.plan.AnalysisPlan | pathlib.Path) -> None
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 属性与数据字段
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`job_id`|str|是|无|设置批量内唯一任务名称,例如test_a;用于结果目录及报告定位,不能与其他任务仅大小写不同。|
|
|
19
|
+
|`plan`|AnalysisPlan | Path|是|无|提供待运行的AnalysisPlan或pathlib.Path,例如Path("analysis.yaml");直接构造BatchJob时不能传裸字符串。路径在任务真正启动时加载。|
|