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,29 @@
|
|
|
1
|
+
# TimeConversion
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import TimeConversion`
|
|
4
|
+
|
|
5
|
+
<a id="api-TimeConversion"></a>
|
|
6
|
+
## `TimeConversion`
|
|
7
|
+
|
|
8
|
+
保存规范时间及来源精度,避免跨任务修改转换诊断。
|
|
9
|
+
|
|
10
|
+
time_ns经入口校验为int64;quantized表示实际纳秒舍入发生,浮点限制
|
|
11
|
+
与量化分别记录。input_text保留转换所见表示,不证明上游原始精度。
|
|
12
|
+
source_timezone仅记录日期采用的时区,不替代多源同步依据。
|
|
13
|
+
|
|
14
|
+
```python
|
|
15
|
+
TimeConversion(time_ns: int, input_representation: str, input_unit: str, input_text: str, quantized: bool, precision_limited: bool = False, rounding: str = 'round_half_even', source_timezone: str | None = None) -> None
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### 属性与数据字段
|
|
19
|
+
|
|
20
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
21
|
+
|---|---|---|---|---|
|
|
22
|
+
|`time_ns`|int|是|无|核心坐标或时长,单位纳秒,有符号64位范围。|
|
|
23
|
+
|`input_representation`|str|是|无|integer/decimal_text/decimal/binary_float/ISO8601等实际来源。|
|
|
24
|
+
|`input_unit`|str|是|无|明确声明的s/ms/us/ns,日期入口使用ISO8601。|
|
|
25
|
+
|`input_text`|str|是|无|当前入口所见文本;不记录用户日志或假设更高源精度。|
|
|
26
|
+
|`quantized`|bool|是|无|原精确表示不能整纳秒表示时为True,包括舍为0。|
|
|
27
|
+
|`precision_limited`|bool|否|False|标记输入是否为已有二进制float:True表示不能恢复转为float之前的精度;1.0也为True,即使quantized=False。整数/十进制文本/Decimal为False;False不表示多个时钟已同步。|
|
|
28
|
+
|`rounding`|str|否|'round_half_even'|最终纳秒固定采用最近偶数舍入。|
|
|
29
|
+
|`source_timezone`|str | None|否|None|日期实际采用的tzinfo说明,纯数值不猜。|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# TimeOverflowError
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import TimeOverflowError`
|
|
4
|
+
|
|
5
|
+
<a id="api-TimeOverflowError"></a>
|
|
6
|
+
## `TimeOverflowError`
|
|
7
|
+
|
|
8
|
+
时间坐标、偏移后坐标或非负跨度超出int64时拒绝运算。
|
|
9
|
+
|
|
10
|
+
异常不携带可被误用的回绕结果;失败由调用者记录为任务校验错误。
|
|
11
|
+
本类型没有可变状态,不打开资源或把失败当正常零时长。
|
|
12
|
+
|
|
13
|
+
```python
|
|
14
|
+
class TimeOverflowError(OverflowError)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
继承关系:OverflowError。下表列本类声明的字段;基类字段及其约束见对应类型链接。
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# build_preset
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import build_preset`
|
|
4
|
+
|
|
5
|
+
<a id="api-build_preset"></a>
|
|
6
|
+
## `build_preset`
|
|
7
|
+
|
|
8
|
+
校验v1预设并展开公共声明,不执行I/O或数值分析。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
build_preset(spec: PresetSpec, signals: tuple[SignalDefinition, ...]) -> PlanFragment
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`spec`|PresetSpec|是|无|位置或关键字。提供PresetSpec预设声明,可用PresetSpec.from_dict({...})从必填name、preset_type、parameters,以及可选version、role_bindings的Python字典建立;完整可运行调用见预设API示例。|
|
|
19
|
+
|`signals`|tuple[SignalDefinition, ...]|是|无|位置或关键字。提供本计划的SignalDefinition元组,例如tuple(item.definition for item in plan.signals),其中plan由load_analysis_plan取得;角色引用这些定义的name,不直接填CSV列名。|
|
|
20
|
+
|
|
21
|
+
### 返回说明
|
|
22
|
+
|
|
23
|
+
PlanFragment,生成请求的功率/Wh/Ah、报警、阈值迟滞/逐段时长或响应配对。
|
|
24
|
+
|
|
25
|
+
### 异常说明
|
|
26
|
+
|
|
27
|
+
PlanValidationError为参数/角色契约、模式编码范围及生成ID与信号冲突。
|
|
28
|
+
|
|
29
|
+
- PlanValidationError:模式编码超出已声明dtype/valid_range。
|
|
30
|
+
|
|
31
|
+
### 流程说明
|
|
32
|
+
|
|
33
|
+
检查角色→生成简单别名DSL→构造类型化节点→拒绝当前可见ID冲突。
|
|
34
|
+
用户其他节点/多个预设的冲突由AnalysisPlan合入时继续检查。
|
|
35
|
+
|
|
36
|
+
返回类型:PlanFragment。
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# checked_add_ns
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import checked_add_ns`
|
|
4
|
+
|
|
5
|
+
<a id="api-checked_add_ns"></a>
|
|
6
|
+
## `checked_add_ns`
|
|
7
|
+
|
|
8
|
+
为一个纳秒坐标添加固定偏移,并检查结果是否仍在int64范围内。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
checked_add_ns(time_ns: int, offset_ns: int) -> int
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`time_ns`|int|是|无|位置或关键字。已满足int64范围的原时间坐标,单位为纳秒。|
|
|
19
|
+
|`offset_ns`|int|是|无|位置或关键字。已满足int64范围的固定偏移,单位为纳秒。|
|
|
20
|
+
|
|
21
|
+
### 返回说明
|
|
22
|
+
|
|
23
|
+
int: 精确的新坐标;成功相加不表示不同来源已经同步。
|
|
24
|
+
|
|
25
|
+
### 异常说明
|
|
26
|
+
|
|
27
|
+
TypeError: 任一输入不是非布尔整数。
|
|
28
|
+
TimeOverflowError: 任一输入或相加结果超出int64范围。
|
|
29
|
+
|
|
30
|
+
返回类型:int。
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# convert_time
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import convert_time`
|
|
4
|
+
|
|
5
|
+
<a id="api-convert_time"></a>
|
|
6
|
+
## `convert_time`
|
|
7
|
+
|
|
8
|
+
按明确单位换算纳秒,并在最终结果处取最近偶数舍入。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
convert_time(value: int | float | str | Decimal, unit: str) -> TimeConversion
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`value`|int | float | str | Decimal|是|无|位置或关键字。有限整数、十进制文本、Decimal或已有float,允许负时间坐标。|
|
|
19
|
+
|`unit`|str|是|无|位置或关键字。大小写敏感的s、ms、us或ns;没有默认单位。|
|
|
20
|
+
|
|
21
|
+
### 返回说明
|
|
22
|
+
|
|
23
|
+
TimeConversion: 整数纳秒、输入表示与单位,以及是否发生纳秒舍入和
|
|
24
|
+
是否受已有浮点精度限制的诊断。
|
|
25
|
+
|
|
26
|
+
### 异常说明
|
|
27
|
+
|
|
28
|
+
TypeError或ValueError: 输入类型、文本语法、有效数字长度或单位不合法。
|
|
29
|
+
TimeOverflowError: 舍入后的结果超出int64范围。
|
|
30
|
+
|
|
31
|
+
### 处理流程说明
|
|
32
|
+
|
|
33
|
+
分离符号、系数和指数,在整数域缩放或求商余数,再舍入到整纳秒。
|
|
34
|
+
极大正指数提前拒绝;极大负指数直接判定舍为0,避免无界分配。
|
|
35
|
+
|
|
36
|
+
### 副作用说明
|
|
37
|
+
|
|
38
|
+
无,不修改输入、Decimal上下文或时间基准。
|
|
39
|
+
|
|
40
|
+
返回类型:TimeConversion。
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# explain_analysis_plan
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import explain_analysis_plan`
|
|
4
|
+
|
|
5
|
+
<a id="api-explain_analysis_plan"></a>
|
|
6
|
+
## `explain_analysis_plan`
|
|
7
|
+
|
|
8
|
+
列出计划依赖、各节点计算方式、历史需求和预算声明。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
explain_analysis_plan(plan: AnalysisPlan) -> ExplainReport
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`plan`|AnalysisPlan|是|无|位置或关键字。提供已校验的AnalysisPlan,通过load_analysis_plan("analysis.yaml")取得,或用AnalysisPlan.from_dict(config)从Python字典建立;这里不接收YAML文件名字符串。|
|
|
19
|
+
|
|
20
|
+
### 返回说明
|
|
21
|
+
|
|
22
|
+
ExplainReport。包括同一校验限制、依赖节点、history_ns和budget只读映射。
|
|
23
|
+
已有数值内核与尚未接入节点分别标记,不能将整份计划当作全数组执行。
|
|
24
|
+
|
|
25
|
+
### 异常说明
|
|
26
|
+
|
|
27
|
+
TypeError: 输入不是AnalysisPlan。
|
|
28
|
+
|
|
29
|
+
### 处理流程说明
|
|
30
|
+
|
|
31
|
+
展开派生、规则、窗口和指标依赖;事件或片段范围的条件也参与依赖收集。
|
|
32
|
+
原信号有效期与所需窗口pre取较大时长,只报告需求,不修改输入读取范围。
|
|
33
|
+
|
|
34
|
+
### 副作用说明
|
|
35
|
+
|
|
36
|
+
不运行分析、不读取数据,也不测量内存峰值。
|
|
37
|
+
|
|
38
|
+
返回类型:ExplainReport。
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
{
|
|
2
|
+
"device_label": "home",
|
|
3
|
+
"objects": [
|
|
4
|
+
{
|
|
5
|
+
"name": "AnalysisPlan",
|
|
6
|
+
"group": "计划加载与检查",
|
|
7
|
+
"signature": "(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",
|
|
8
|
+
"file": "api/AnalysisPlan.md"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "load_analysis_plan",
|
|
12
|
+
"group": "计划加载与检查",
|
|
13
|
+
"signature": "(path: pathlib.Path | str) -> chronaxis.planning.plan.AnalysisPlan",
|
|
14
|
+
"file": "api/load_analysis_plan.md"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "validate_analysis_plan",
|
|
18
|
+
"group": "计划加载与检查",
|
|
19
|
+
"signature": "(plan: chronaxis.planning.plan.AnalysisPlan) -> chronaxis.planning.reports.ValidationReport",
|
|
20
|
+
"file": "api/validate_analysis_plan.md"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "explain_analysis_plan",
|
|
24
|
+
"group": "计划加载与检查",
|
|
25
|
+
"signature": "(plan: chronaxis.planning.plan.AnalysisPlan) -> chronaxis.planning.reports.ExplainReport",
|
|
26
|
+
"file": "api/explain_analysis_plan.md"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "PlanValidationError",
|
|
30
|
+
"group": "计划加载与检查",
|
|
31
|
+
"signature": "(path: str, message: str, code: str = 'invalid_config', *, hint=None, source=None, location=None, object_name=None, value=None)",
|
|
32
|
+
"file": "api/PlanValidationError.md"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "AnalysisRunner",
|
|
36
|
+
"group": "执行与结果",
|
|
37
|
+
"signature": "(backend=None)",
|
|
38
|
+
"file": "api/AnalysisRunner.md"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "AnalysisResult",
|
|
42
|
+
"group": "执行与结果",
|
|
43
|
+
"signature": "(spool: chronaxis.results.spool.ResultSpool, metadata: chronaxis.results.manifest.RunMetadata, table_format: str = 'csv', *, artifact_exports=None, owned_work=None)",
|
|
44
|
+
"file": "api/AnalysisResult.md"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "OutputManifest",
|
|
48
|
+
"group": "执行与结果",
|
|
49
|
+
"signature": "(run_id: str, output_dir: pathlib.Path, manifest_path: pathlib.Path, output_files: tuple[pathlib.Path, ...], row_counts: tuple[tuple[str, int], ...], status: str = 'completed') -> None",
|
|
50
|
+
"file": "api/OutputManifest.md"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "RunMetadata",
|
|
54
|
+
"group": "执行与结果",
|
|
55
|
+
"signature": "(run_id: str, input_identity: str | None, plan_hash: str, backend: str, config_version: int, source_time_interpretation: str, session_boundaries: tuple[tuple[str, int, int], ...], started_at: str, mapping_hashes: tuple[str, ...] = (), dbc_hashes: tuple[str, ...] = (), parsing_policy: str = 'decoded-results', worker_config: str = 'single-thread', dependency_versions: tuple[tuple[str, str], ...] = (), limitations: tuple[str, ...] = (), software_version: str = '0.1.0.dev0', device_label: str = 'pending', signal_bindings: tuple[chronaxis.core.binding.SignalDefinition, ...] = (), preset_bindings: tuple[chronaxis.results.binding_metadata.PresetBindingMetadata, ...] = (), can_sources: tuple[chronaxis.results.can_metadata.CANSourceMetadata, ...] = (), session_ids: tuple[str, ...] = (), text_can_sources: tuple[chronaxis.results.text_can_metadata.TextCANSourceMetadata, ...] = (), threshold_durations: tuple[chronaxis.results.threshold_metadata.SummaryThresholdDuration, ...] = (), detailed_diagnostics: bool = False, retain_work: bool = False, input_diagnostics: tuple[chronaxis.results.input_diagnostics.InputDiagnostic, ...] = (), trace_requested: bool = False, integrity_diagnostics: bool = False, frame_format_notices: tuple[tuple[str, chronaxis.results.can_metadata.CANFrameFormatNotice], ...] = (), analysis_outcome: chronaxis.results.analysis_outcome.AnalysisOutcome | None = None) -> None",
|
|
56
|
+
"file": "api/RunMetadata.md"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "AnalysisError",
|
|
60
|
+
"group": "执行与结果",
|
|
61
|
+
"signature": null,
|
|
62
|
+
"file": "api/AnalysisError.md"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "ResultClosedError",
|
|
66
|
+
"group": "执行与结果",
|
|
67
|
+
"signature": null,
|
|
68
|
+
"file": "api/ResultClosedError.md"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "BatchPlan",
|
|
72
|
+
"group": "批量任务",
|
|
73
|
+
"signature": "(jobs: tuple[chronaxis.batch.models.BatchJob, ...], process_count: int = 1, fail_fast: bool = False, backend: str | None = None) -> None",
|
|
74
|
+
"file": "api/BatchPlan.md"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "BatchJob",
|
|
78
|
+
"group": "批量任务",
|
|
79
|
+
"signature": "(job_id: str, plan: chronaxis.planning.plan.AnalysisPlan | pathlib.Path) -> None",
|
|
80
|
+
"file": "api/BatchJob.md"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "BatchJobResult",
|
|
84
|
+
"group": "批量任务",
|
|
85
|
+
"signature": "(job_id: str, status: str, plan_path: str | None = None, plan_identity: str | None = None, dataset_id: str | None = None, entity_id: str | None = None, session_id: str | None = None, input_identity: str | None = None, run_id: str | None = None, output_dir: pathlib.Path | None = None, error_type: str | None = None, error_message: str | None = None, error_chain: tuple[str, ...] = (), elapsed_seconds: float = 0.0, memory_budget_bytes: int | None = None, worker_pid: int | None = None, recovery: chronaxis.batch.models.CleanupHandle | None = None) -> None",
|
|
86
|
+
"file": "api/BatchJobResult.md"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "BatchReport",
|
|
90
|
+
"group": "批量任务",
|
|
91
|
+
"signature": "(output_dir: pathlib.Path, jobs: tuple[chronaxis.batch.models.BatchJobResult, ...], process_count: int, fail_fast: bool, cancel_requested: bool, device_label: str, worker_process_count: int = 0, infrastructure_error: str | None = None) -> None",
|
|
92
|
+
"file": "api/BatchReport.md"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "BatchRunner",
|
|
96
|
+
"group": "批量任务",
|
|
97
|
+
"signature": "(process_count=1, *, fail_fast=False, backend=None)",
|
|
98
|
+
"file": "api/BatchRunner.md"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"name": "load_batch_plan",
|
|
102
|
+
"group": "批量任务",
|
|
103
|
+
"signature": "(path: str | pathlib.Path) -> chronaxis.batch.models.BatchPlan",
|
|
104
|
+
"file": "api/load_batch_plan.md"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "run_batch",
|
|
108
|
+
"group": "批量任务",
|
|
109
|
+
"signature": "(plan: chronaxis.batch.models.BatchPlan, output_dir, *, process_count: int | None = None, cancel_event=None, device_label='pending')",
|
|
110
|
+
"file": "api/run_batch.md"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"name": "PresetSpec",
|
|
114
|
+
"group": "业务预设",
|
|
115
|
+
"signature": "(id: str, preset_type: str, version: str, role_bindings: collections.abc.Mapping, parameters: collections.abc.Mapping) -> None",
|
|
116
|
+
"file": "api/PresetSpec.md"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "PlanFragment",
|
|
120
|
+
"group": "业务预设",
|
|
121
|
+
"signature": "(derived: tuple[chronaxis.core.expression.DerivedDefinition, ...] = (), rules: tuple[chronaxis.planning.preset_models.PresetRule, ...] = (), windows: tuple[chronaxis.core.windows.WindowSpec, ...] = (), calculations: tuple[chronaxis.planning.preset_models.PresetCalculation, ...] = (), sequences: tuple[chronaxis.planning.sequences.SequencePlan, ...] = ()) -> None",
|
|
122
|
+
"file": "api/PlanFragment.md"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "build_preset",
|
|
126
|
+
"group": "业务预设",
|
|
127
|
+
"signature": "(spec: chronaxis.planning.preset_models.PresetSpec, signals: tuple[chronaxis.core.binding.SignalDefinition, ...]) -> chronaxis.planning.preset_models.PlanFragment",
|
|
128
|
+
"file": "api/build_preset.md"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "resolve_preset_roles",
|
|
132
|
+
"group": "业务预设",
|
|
133
|
+
"signature": "(spec: chronaxis.planning.preset_models.PresetSpec, signals: tuple[chronaxis.core.binding.SignalDefinition, ...]) -> tuple[chronaxis.planning.preset_models.RoleBinding, ...]",
|
|
134
|
+
"file": "api/resolve_preset_roles.md"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "TimeConversion",
|
|
138
|
+
"group": "时间转换",
|
|
139
|
+
"signature": "(time_ns: int, input_representation: str, input_unit: str, input_text: str, quantized: bool, precision_limited: bool = False, rounding: str = 'round_half_even', source_timezone: str | None = None) -> None",
|
|
140
|
+
"file": "api/TimeConversion.md"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"name": "TimeOverflowError",
|
|
144
|
+
"group": "时间转换",
|
|
145
|
+
"signature": null,
|
|
146
|
+
"file": "api/TimeOverflowError.md"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "checked_add_ns",
|
|
150
|
+
"group": "时间转换",
|
|
151
|
+
"signature": "(time_ns: int, offset_ns: int) -> int",
|
|
152
|
+
"file": "api/checked_add_ns.md"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "convert_time",
|
|
156
|
+
"group": "时间转换",
|
|
157
|
+
"signature": "(value: int | float | str | decimal.Decimal, unit: str) -> chronaxis.timebase.conversion.TimeConversion",
|
|
158
|
+
"file": "api/convert_time.md"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "parse_datetime_ns",
|
|
162
|
+
"group": "时间转换",
|
|
163
|
+
"signature": "(text: str, source_timezone: datetime.tzinfo | None = None) -> chronaxis.timebase.conversion.TimeConversion",
|
|
164
|
+
"file": "api/parse_datetime_ns.md"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"name": "parse_duration",
|
|
168
|
+
"group": "时间转换",
|
|
169
|
+
"signature": "(text: str) -> chronaxis.timebase.conversion.TimeConversion",
|
|
170
|
+
"file": "api/parse_duration.md"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "shift_times_reference",
|
|
174
|
+
"group": "时间转换",
|
|
175
|
+
"signature": "(times: Sequence[int], offset_ns: int) -> tuple[int, ...]",
|
|
176
|
+
"file": "api/shift_times_reference.md"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "time_deltas_reference",
|
|
180
|
+
"group": "时间转换",
|
|
181
|
+
"signature": "(times: Sequence[int]) -> tuple[int, ...]",
|
|
182
|
+
"file": "api/time_deltas_reference.md"
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# load_analysis_plan
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import load_analysis_plan`
|
|
4
|
+
|
|
5
|
+
<a id="api-load_analysis_plan"></a>
|
|
6
|
+
## `load_analysis_plan`
|
|
7
|
+
|
|
8
|
+
加载JSON/YAML及显式公共定义,应用受限覆盖并编译分析计划。目录输入会展开文件名;信号缺省类型、单位或枚举映射时按需读取DBC,不扫描业务报文。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
load_analysis_plan(path: Path | str) -> AnalysisPlan
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`path`|Path | str|是|无|位置或关键字。配置文件路径;不接受目录扫描或任意路径对象。 配置按UTF-8读取,允许文件开头带BOM。|
|
|
19
|
+
|
|
20
|
+
### 返回说明
|
|
21
|
+
|
|
22
|
+
AnalysisPlan:已检查并编译的计划。加载主配置与显式公共定义,按声明展开文件集合,必要时读取DBC元数据;不读取业务报文或CSV记录。
|
|
23
|
+
|
|
24
|
+
### 异常说明
|
|
25
|
+
|
|
26
|
+
PlanValidationError: 路径类型错误、文件读取或编码错误、JSON/YAML语法错误、
|
|
27
|
+
重复键、非有限常量或配置声明错误。加载错误带配置文件定位,
|
|
28
|
+
通过原异常链保留更详细的原因。
|
|
29
|
+
|
|
30
|
+
### 副作用说明
|
|
31
|
+
|
|
32
|
+
打开指定配置及公共定义文件,按需求读取DBC或枚举目录;句柄在正常或异常返回前关闭,不创建结果文件。
|
|
33
|
+
|
|
34
|
+
返回类型:AnalysisPlan。
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# load_batch_plan
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import load_batch_plan`
|
|
4
|
+
|
|
5
|
+
<a id="api-load_batch_plan"></a>
|
|
6
|
+
## `load_batch_plan`
|
|
7
|
+
|
|
8
|
+
读取批量YAML或JSON文件,建立独立任务及其调度设置。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
load_batch_plan(path: str | Path) -> BatchPlan
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`path`|str | Path|是|无|位置或关键字。批量JSON/YAML路径;子计划、模板和inputs的路径以批量文件为基准。jobs在任务启动时加载,template在本调用中展开并编译各独立计划。|
|
|
19
|
+
|
|
20
|
+
### 返回说明
|
|
21
|
+
|
|
22
|
+
BatchPlan: 已检查批量结构的不可变计划;template已展开,jobs仍保存路径,均未读取业务输入。
|
|
23
|
+
|
|
24
|
+
### 异常说明
|
|
25
|
+
|
|
26
|
+
PlanValidationError表示路径、语法、批量字段或模板展开失败,按异常位置修正。jobs子计划错误在任务启动时记入报告;template编译错误在本调用返回前报告。
|
|
27
|
+
|
|
28
|
+
### 副作用说明
|
|
29
|
+
|
|
30
|
+
读取批量文件,template模式还读取模板与必要DBC、枚举输入集合;不创建输出目录。
|
|
31
|
+
|
|
32
|
+
返回类型:BatchPlan。
|
|
33
|
+
|
|
34
|
+
# 先按批量指南准备batch.yaml和它引用的子计划。
|
|
35
|
+
plan = load_batch_plan("batch.yaml")
|
|
36
|
+
```
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# parse_datetime_ns
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import parse_datetime_ns`
|
|
4
|
+
|
|
5
|
+
<a id="api-parse_datetime_ns"></a>
|
|
6
|
+
## `parse_datetime_ns`
|
|
7
|
+
|
|
8
|
+
将ISO完整日期转换为UTC整数纳秒,保留亚微秒分数。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
parse_datetime_ns(text: str, source_timezone: tzinfo | None=None) -> TimeConversion
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`text`|str|是|无|位置或关键字。YYYY-MM-DDTHH:MM:SS[.fraction][Z/±HH:MM],也允许空格分隔。|
|
|
19
|
+
|`source_timezone`|tzinfo | None|否|None|位置或关键字。为没有时区偏移的日期指定时区对象;如from datetime import timezone后传timezone.utc,或timezone(timedelta(hours=8))。必须是tzinfo实例,不能传YAML用的字符串。日期已有偏移时以日期为准;None且日期无偏移会报错。|
|
|
20
|
+
|
|
21
|
+
### 返回说明
|
|
22
|
+
|
|
23
|
+
TimeConversion: UTC epoch纳秒、量化与实际采用时区,非机器默认。
|
|
24
|
+
|
|
25
|
+
### 异常说明
|
|
26
|
+
|
|
27
|
+
TypeError/ValueError: 文本/时区非法、naive缺时区、本地时刻模糊或不存在。
|
|
28
|
+
TimeOverflowError: int64时间超界。
|
|
29
|
+
OverflowError: 转到UTC时超出datetime历法边界。
|
|
30
|
+
|
|
31
|
+
### 副作用说明
|
|
32
|
+
|
|
33
|
+
无;不调用系统本地时区,不加载IANA名称或访问文件。
|
|
34
|
+
|
|
35
|
+
返回类型:TimeConversion。
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# parse_duration
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import parse_duration`
|
|
4
|
+
|
|
5
|
+
<a id="api-parse_duration"></a>
|
|
6
|
+
## `parse_duration`
|
|
7
|
+
|
|
8
|
+
解析带单位的非负持续参数,允许显式零长度。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
parse_duration(text: str) -> TimeConversion
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`text`|str|是|无|位置或关键字。完整数值后缀,如500ms、3s、0ns。|
|
|
19
|
+
|
|
20
|
+
### 返回说明
|
|
21
|
+
|
|
22
|
+
TimeConversion: 纳秒持续时间,原带单位文本保留。
|
|
23
|
+
|
|
24
|
+
### 异常说明
|
|
25
|
+
|
|
26
|
+
TypeError: 非文本。
|
|
27
|
+
ValueError: 缺单位、非法语法或原数值为负,即使负小值会舍为0。
|
|
28
|
+
TimeOverflowError: 换算/舍入超int64。
|
|
29
|
+
|
|
30
|
+
返回类型:TimeConversion。
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# resolve_preset_roles
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import resolve_preset_roles`
|
|
4
|
+
|
|
5
|
+
<a id="api-resolve_preset_roles"></a>
|
|
6
|
+
## `resolve_preset_roles`
|
|
7
|
+
|
|
8
|
+
显式优先解析本次实际角色,否则按版本化语义契约寻找唯一合格候选。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
resolve_preset_roles(spec: PresetSpec, signals: tuple[SignalDefinition, ...]) -> tuple[RoleBinding, ...]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`spec`|PresetSpec|是|无|位置或关键字。提供PresetSpec预设声明,可用PresetSpec.from_dict({...})从必填name、preset_type、parameters,以及可选version、role_bindings的Python字典建立;完整可运行调用见预设API示例。|
|
|
19
|
+
|`signals`|tuple[SignalDefinition, ...]|是|无|位置或关键字。提供本计划的SignalDefinition元组,例如tuple(item.definition for item in plan.signals),其中plan由load_analysis_plan取得;角色引用这些定义的name,不直接填CSV列名。|
|
|
20
|
+
|
|
21
|
+
### 返回说明
|
|
22
|
+
|
|
23
|
+
RoleBinding tuple,保留原定义与explicit/semantic_unique路径。
|
|
24
|
+
|
|
25
|
+
### 异常说明
|
|
26
|
+
|
|
27
|
+
PlanValidationError为类型、重复别名、未知角色、缺项、候选歧义或契约冲突。
|
|
28
|
+
|
|
29
|
+
- PlanValidationError:需要PresetSpec与SignalDefinition tuple。
|
|
30
|
+
- PlanValidationError:signal别名重复。
|
|
31
|
+
- PlanValidationError:threshold_excursion必须显式指定signal角色。
|
|
32
|
+
|
|
33
|
+
### 边界说明
|
|
34
|
+
|
|
35
|
+
显式别名无需semantic_id,仍检查类型/单位/方向/位置/质量;不选第一个候选。
|
|
36
|
+
|
|
37
|
+
返回类型:tuple[RoleBinding, ...]。
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# run_batch
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import run_batch`
|
|
4
|
+
|
|
5
|
+
<a id="api-run_batch"></a>
|
|
6
|
+
## `run_batch`
|
|
7
|
+
|
|
8
|
+
执行一批独立分析并写出批量报告。使用spawn工作进程,各任务单独加载、分析、发布和清理;在Python脚本的main保护内调用。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
run_batch(plan: BatchPlan, output_dir, *, process_count: int | None=None, cancel_event=None, device_label='pending')
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`plan`|BatchPlan|是|无|位置或关键字。指定要执行的批量任务及调度设置。传入load_batch_plan("batch.yaml")取得的BatchPlan,不能直接传文件名或普通分析计划。|
|
|
19
|
+
|`output_dir`|str | Path|是|无|位置或关键字。新批量结果目录,每个任务按id创建子目录;目标已经存在时拒绝覆盖。|
|
|
20
|
+
|`process_count`|int | None|否|None|仅关键字。覆盖本次分析工作进程数。填正整数,例如4;None沿用BatchPlan.process_count,不修改原计划。|
|
|
21
|
+
|`cancel_event`|threading.Event | None|否|None|仅关键字。可选取消标记;None表示没有。其他线程调用set()后停止派发新任务,正在执行的任务继续收尾。|
|
|
22
|
+
|`device_label`|str|否|'pending'|仅关键字。产出记录的设备标签,例如已核实的"home"或"work";未确定时用"pending"。这是来源说明,不参与数值计算,也不根据文件路径猜测。|
|
|
23
|
+
|
|
24
|
+
### 返回说明
|
|
25
|
+
|
|
26
|
+
BatchReport;failed/cancelled保留在报告,不伪装全部成功。
|
|
27
|
+
|
|
28
|
+
### 异常说明
|
|
29
|
+
|
|
30
|
+
TypeError:plan不是BatchPlan或取消对象类型不合法。ValueError:并发/后端/任务声明不合法。目录创建、调度或报告发布失败按具体异常类型抛出;若已产生报告,异常batch_report保存实际进度,调用者仍须close处理cleanup_pending。单任务失败通常保存在报告jobs中,不作为整个函数抛错。见按阶段处理错误。
|
|
31
|
+
|
|
32
|
+
# batch.yaml须已按批量指南准备;batch-output必须不存在。
|
|
33
|
+
report = run_batch(load_batch_plan("batch.yaml"), "batch-output")
|
|
34
|
+
try:
|
|
35
|
+
print(report.to_dict())
|
|
36
|
+
finally:
|
|
37
|
+
report.close()
|
|
38
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# shift_times_reference
|
|
2
|
+
|
|
3
|
+
推荐导入:`from chronaxis import shift_times_reference`
|
|
4
|
+
|
|
5
|
+
<a id="api-shift_times_reference"></a>
|
|
6
|
+
## `shift_times_reference`
|
|
7
|
+
|
|
8
|
+
逐项独立计算固定偏移,作为数组内核的整数真值参考。
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
shift_times_reference(times: Sequence[int], offset_ns: int) -> tuple[int, ...]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
|名称|数据类型|必填|省略时的值|用途、取值和效果|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|`times`|Sequence[int]|是|无|位置或关键字。已声明纳秒坐标,不要求排序。|
|
|
19
|
+
|`offset_ns`|int|是|无|位置或关键字。合法int64固定偏移。|
|
|
20
|
+
|
|
21
|
+
### 返回说明
|
|
22
|
+
|
|
23
|
+
tuple[int,...]: 新整数序列,空输入返回空tuple。
|
|
24
|
+
|
|
25
|
+
### 异常说明
|
|
26
|
+
|
|
27
|
+
TypeError/TimeOverflowError: 参数类型或任一坐标/结果超界。
|
|
28
|
+
|
|
29
|
+
### 副作用说明
|
|
30
|
+
|
|
31
|
+
无;不导入或调用NumPy实现,不修改输入。
|
|
32
|
+
|
|
33
|
+
返回类型:tuple[int, ...]。
|