oscura 0.8.0__tar.gz → 0.11.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {oscura-0.8.0 → oscura-0.11.0}/.gitignore +14 -0
- {oscura-0.8.0 → oscura-0.11.0}/.vscode/launch.json +4 -30
- {oscura-0.8.0 → oscura-0.11.0}/.vscode/tasks.json +2 -14
- {oscura-0.8.0 → oscura-0.11.0}/CHANGELOG.md +290 -19
- {oscura-0.8.0 → oscura-0.11.0}/CITATION.cff +8 -6
- {oscura-0.8.0 → oscura-0.11.0}/CONTRIBUTING.md +2 -4
- oscura-0.11.0/PKG-INFO +460 -0
- oscura-0.11.0/README.md +333 -0
- oscura-0.11.0/codecov.yml +42 -0
- {oscura-0.8.0 → oscura-0.11.0}/cspell.json +3 -23
- {oscura-0.8.0 → oscura-0.11.0}/mkdocs.yml +22 -10
- oscura-0.11.0/pipelines/examples/batch_processing.yaml +78 -0
- oscura-0.11.0/pipelines/examples/complete_workflow.yaml +104 -0
- oscura-0.11.0/pipelines/examples/conditional_export.yaml +89 -0
- oscura-0.11.0/pipelines/examples/filter_chain.yaml +133 -0
- oscura-0.11.0/pipelines/examples/multi_protocol.yaml +69 -0
- oscura-0.11.0/pipelines/examples/power_analysis.yaml +108 -0
- oscura-0.11.0/pipelines/examples/spectral_analysis.yaml +101 -0
- oscura-0.11.0/pipelines/examples/uart_analysis.yaml +43 -0
- {oscura-0.8.0 → oscura-0.11.0}/pyproject.toml +50 -57
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/__init__.py +19 -19
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/__main__.py +4 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/__init__.py +2 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/digital/extraction.py +2 -3
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/digital/quality.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/digital/timing.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/ml/signal_classifier.py +6 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/patterns/__init__.py +66 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/power/basic.py +3 -3
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/power/soa.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/power/switching.py +3 -3
- oscura-0.11.0/src/oscura/analyzers/signal_classification.py +529 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/signal_integrity/sparams.py +3 -3
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistics/basic.py +10 -7
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/validation.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/waveform/measurements.py +200 -156
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/waveform/measurements_with_uncertainty.py +91 -35
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/waveform/spectral.py +182 -84
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/dsl/commands.py +15 -6
- oscura-0.11.0/src/oscura/api/server/templates/base.html +172 -0
- oscura-0.11.0/src/oscura/api/server/templates/export.html +94 -0
- oscura-0.11.0/src/oscura/api/server/templates/home.html +265 -0
- oscura-0.11.0/src/oscura/api/server/templates/protocols.html +54 -0
- oscura-0.11.0/src/oscura/api/server/templates/reports.html +35 -0
- oscura-0.11.0/src/oscura/api/server/templates/session_detail.html +79 -0
- oscura-0.11.0/src/oscura/api/server/templates/sessions.html +73 -0
- oscura-0.11.0/src/oscura/api/server/templates/waveforms.html +63 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/__init__.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/session.py +1 -1
- oscura-0.11.0/src/oscura/automotive/dbc/generator.py +799 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/dtc/data.json +17 -102
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/flexray/fibex.py +9 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/uds/decoder.py +99 -6
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/analyze.py +8 -2
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/batch.py +36 -5
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/characterize.py +18 -4
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/export.py +47 -5
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/main.py +2 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/onboarding/wizard.py +10 -6
- oscura-0.11.0/src/oscura/cli/pipeline.py +585 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/visualize.py +6 -4
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/convenience.py +400 -32
- oscura-0.11.0/src/oscura/core/measurement_result.py +286 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/progress.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/schemas/device_mapping.json +2 -8
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/schemas/packet_format.json +4 -24
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/schemas/protocol_definition.json +2 -12
- oscura-0.11.0/src/oscura/core/types.py +609 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/correlation/multi_protocol.py +1 -1
- oscura-0.11.0/src/oscura/export/legacy/__init__.py +11 -0
- oscura-0.11.0/src/oscura/export/legacy/wav.py +75 -0
- oscura-0.11.0/src/oscura/exporters/__init__.py +19 -0
- oscura-0.11.0/src/oscura/exporters/wireshark.py +809 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/acquisition/file.py +5 -19
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/acquisition/saleae.py +10 -10
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/acquisition/socketcan.py +4 -6
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/acquisition/synthetic.py +1 -5
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/acquisition/visa.py +6 -6
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/security/side_channel_detector.py +5 -508
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/message_format.py +686 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/display.py +2 -2
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/magic.py +3 -3
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/__init__.py +17 -12
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/binary.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/chipwhisperer.py +1 -2
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/configurable.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/csv_loader.py +2 -2
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/hdf5_loader.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/lazy.py +6 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/mmap_loader.py +0 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/numpy_loader.py +8 -7
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/preprocessing.py +3 -5
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/rigol.py +21 -7
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/sigrok.py +2 -5
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/tdms.py +3 -2
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/tektronix.py +38 -32
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/tss.py +20 -27
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/validation.py +17 -10
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/vcd.py +13 -8
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/wav.py +1 -6
- oscura-0.11.0/src/oscura/pipeline/__init__.py +76 -0
- oscura-0.11.0/src/oscura/pipeline/handlers/__init__.py +165 -0
- oscura-0.11.0/src/oscura/pipeline/handlers/analyzers.py +1045 -0
- oscura-0.11.0/src/oscura/pipeline/handlers/decoders.py +899 -0
- oscura-0.11.0/src/oscura/pipeline/handlers/exporters.py +1103 -0
- oscura-0.11.0/src/oscura/pipeline/handlers/filters.py +891 -0
- oscura-0.11.0/src/oscura/pipeline/handlers/loaders.py +640 -0
- oscura-0.11.0/src/oscura/pipeline/handlers/transforms.py +768 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/formatting/measurements.py +55 -14
- oscura-0.11.0/src/oscura/reporting/templates/enhanced/protocol_re.html +526 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/sessions/legacy.py +49 -1
- oscura-0.11.0/src/oscura/side_channel/__init__.py +44 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/builders/signal_builder.py +5 -5
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/comparison/compare.py +7 -9
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/comparison/golden.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/filtering/convenience.py +2 -2
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/math/arithmetic.py +38 -62
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/math/interpolation.py +20 -20
- oscura-0.11.0/src/oscura/utils/pipeline/__init__.py +30 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/progressive.py +1 -4
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/triggering/edge.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/triggering/pattern.py +2 -2
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/triggering/pulse.py +2 -2
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/triggering/window.py +3 -3
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/hil_testing.py +11 -11
- oscura-0.11.0/src/oscura/visualization/__init__.py +93 -0
- oscura-0.11.0/src/oscura/visualization/batch.py +160 -0
- oscura-0.11.0/src/oscura/visualization/plot.py +581 -0
- oscura-0.11.0/src/oscura/visualization/styles.py +247 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/batch/advanced.py +1 -1
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/batch/aggregate.py +12 -9
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/complete_re.py +251 -23
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/digital.py +27 -4
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/multi_trace.py +136 -17
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/waveform.py +11 -6
- {oscura-0.8.0 → oscura-0.11.0}/uv.lock +174 -64
- oscura-0.8.0/.archive/demonstrations_20260129.tar.gz +0 -0
- oscura-0.8.0/.archive/validation_artifacts/tss_analysis_comprehensive_test_report.md +0 -484
- oscura-0.8.0/PKG-INFO +0 -661
- oscura-0.8.0/README.md +0 -513
- oscura-0.8.0/VALIDATION_SUMMARY_analyze_waveform.txt +0 -292
- oscura-0.8.0/analyze_waveform.py +0 -266
- oscura-0.8.0/demonstrations/data/demo_signals.vcd +0 -76
- oscura-0.8.0/demonstrations/data/outputs/State Machine Learning Demo/learned_automaton.dot +0 -13
- oscura-0.8.0/demonstrations/data/outputs/Wireshark Dissector Demo/cmd_dissector.lua +0 -136
- oscura-0.8.0/demonstrations/data/outputs/Wireshark Dissector Demo/message_dissector.lua +0 -154
- oscura-0.8.0/demonstrations/data/outputs/Wireshark Dissector Demo/sensor_dissector.lua +0 -187
- oscura-0.8.0/demonstrations/data/outputs/automotive_diagnostics_workflow/diagnostic_report.txt +0 -35
- oscura-0.8.0/demonstrations/data/outputs/cli_usage/test_10000hz.csv +0 -1008
- oscura-0.8.0/demonstrations/data/outputs/cli_usage/test_10000hz.npz +0 -0
- oscura-0.8.0/demonstrations/data/outputs/cli_usage/test_1000hz.csv +0 -1008
- oscura-0.8.0/demonstrations/data/outputs/cli_usage/test_1000hz.npz +0 -0
- oscura-0.8.0/demonstrations/data/outputs/cli_usage/test_5000hz.csv +0 -1008
- oscura-0.8.0/demonstrations/data/outputs/cli_usage/test_5000hz.npz +0 -0
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/csv_to_json.json +0 -393
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/json_to_hdf5.h5 +0 -0
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/large_dataset.h5 +0 -0
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/measurements.json +0 -18
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/multi_channel.h5 +0 -0
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/npz_to_csv.csv +0 -10011
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/report.html +0 -212
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/report.md +0 -22
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/stimulus.pwl +0 -1001
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/waveform.csv +0 -10011
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/waveform.h5 +0 -0
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/waveform.mat +0 -0
- oscura-0.8.0/demonstrations/data/outputs/comprehensive_export/waveform.npz +0 -0
- oscura-0.8.0/demonstrations/data/outputs/configuration_files/config.json +0 -32
- oscura-0.8.0/demonstrations/data/outputs/configuration_files/config.yaml +0 -34
- oscura-0.8.0/demonstrations/data/outputs/configuration_files/pipeline.json +0 -47
- oscura-0.8.0/demonstrations/data/outputs/configuration_files/results.json +0 -9
- oscura-0.8.0/demonstrations/data/outputs/device_characterization_workflow/characterization_report.txt +0 -54
- oscura-0.8.0/demonstrations/data/outputs/emc_testing_workflow/emc_compliance_report.txt +0 -42
- oscura-0.8.0/demonstrations/data/outputs/export_formats/measurements.json +0 -14
- oscura-0.8.0/demonstrations/data/outputs/export_formats/multi_channel.h5 +0 -0
- oscura-0.8.0/demonstrations/data/outputs/export_formats/waveform.csv +0 -10011
- oscura-0.8.0/demonstrations/data/outputs/export_formats/waveform.h5 +0 -0
- oscura-0.8.0/demonstrations/data/outputs/export_formats/waveform.mat +0 -0
- oscura-0.8.0/demonstrations/data/outputs/export_formats/waveform.npz +0 -0
- oscura-0.8.0/demonstrations/data/outputs/failure_analysis_workflow/failure_analysis_report.txt +0 -71
- oscura-0.8.0/demonstrations/data/outputs/hardware_integration/hardware_config.json +0 -41
- oscura-0.8.0/demonstrations/data/outputs/network_formats/cable_10cm.s2p +0 -56
- oscura-0.8.0/demonstrations/data/outputs/network_formats/network_capture.pcap +0 -0
- oscura-0.8.0/demonstrations/data/outputs/production_testing_workflow/test_report_DUT-001.txt +0 -25
- oscura-0.8.0/demonstrations/data/outputs/production_testing_workflow/test_report_DUT-002.txt +0 -29
- oscura-0.8.0/demonstrations/data/outputs/progress_tracking/progress_state.txt +0 -8
- oscura-0.8.0/demonstrations/data/outputs/report_generation/analysis_report.html +0 -106
- oscura-0.8.0/demonstrations/data/outputs/report_generation/analysis_report.md +0 -31
- oscura-0.8.0/demonstrations/data/outputs/report_generation/analysis_report.pdf +0 -74
- oscura-0.8.0/demonstrations/data/outputs/result_aggregation/aggregation_report.txt +0 -30
- oscura-0.8.0/demonstrations/data/outputs/state_machine_learning/state_machine.dot +0 -17
- oscura-0.8.0/demonstrations/data/outputs/unknown_device_re_complete/unknown_device.lua +0 -54
- oscura-0.8.0/demonstrations/data/outputs/visualization_gallery/01_waveform.png +0 -0
- oscura-0.8.0/demonstrations/data/outputs/visualization_gallery/02_fft_spectrum.png +0 -0
- oscura-0.8.0/demonstrations/data/outputs/visualization_gallery/03_histogram.png +0 -0
- oscura-0.8.0/demonstrations/data/outputs/visualization_gallery/04_digital.png +0 -0
- oscura-0.8.0/demonstrations/data/outputs/visualization_gallery/05_multi_channel.png +0 -0
- oscura-0.8.0/demonstrations/data/outputs/visualization_gallery/06_spectrogram.png +0 -0
- oscura-0.8.0/demonstrations/data/outputs/wavedrom_timing/wavedrom_basic.json +0 -11
- oscura-0.8.0/demonstrations/data/outputs/wavedrom_timing/wavedrom_multi.json +0 -24
- oscura-0.8.0/demonstrations/data/outputs/wavedrom_timing/wavedrom_spi.json +0 -30
- oscura-0.8.0/demonstrations/data/outputs/wavedrom_timing/wavedrom_usage.txt +0 -19
- oscura-0.8.0/demonstrations/data/outputs/wireshark_dissectors/protocol_data.txt +0 -35
- oscura-0.8.0/demonstrations/data/outputs/wireshark_dissectors/uart_dissector.lua +0 -48
- oscura-0.8.0/demonstrations/data/outputs/wireshark_dissectors/wireshark_setup.txt +0 -30
- oscura-0.8.0/demonstrations/data/outputs/wireshark_export/cmd_dissector.lua +0 -154
- oscura-0.8.0/demonstrations/data/outputs/wireshark_export/cmd_proto.json +0 -59
- oscura-0.8.0/demonstrations/data/outputs/wireshark_export/cmd_proto.md +0 -30
- oscura-0.8.0/demonstrations/data/outputs/wireshark_export/msg_dissector.lua +0 -136
- oscura-0.8.0/demonstrations/data/outputs/wireshark_export/msg_proto.json +0 -52
- oscura-0.8.0/demonstrations/data/outputs/wireshark_export/msg_proto.md +0 -29
- oscura-0.8.0/demonstrations/data/outputs/wireshark_export/sensor_dissector.lua +0 -169
- oscura-0.8.0/demonstrations/data/outputs/wireshark_export/sensor_proto.json +0 -66
- oscura-0.8.0/demonstrations/data/outputs/wireshark_export/sensor_proto.md +0 -31
- oscura-0.8.0/inspect_test_waveforms.py +0 -82
- oscura-0.8.0/src/oscura/api/server/templates/base.html +0 -181
- oscura-0.8.0/src/oscura/api/server/templates/export.html +0 -120
- oscura-0.8.0/src/oscura/api/server/templates/home.html +0 -284
- oscura-0.8.0/src/oscura/api/server/templates/protocols.html +0 -58
- oscura-0.8.0/src/oscura/api/server/templates/reports.html +0 -43
- oscura-0.8.0/src/oscura/api/server/templates/session_detail.html +0 -89
- oscura-0.8.0/src/oscura/api/server/templates/sessions.html +0 -83
- oscura-0.8.0/src/oscura/api/server/templates/waveforms.html +0 -73
- oscura-0.8.0/src/oscura/automotive/dbc/generator.py +0 -184
- oscura-0.8.0/src/oscura/core/types.py +0 -616
- oscura-0.8.0/src/oscura/reporting/templates/enhanced/protocol_re.html +0 -525
- oscura-0.8.0/src/oscura/side_channel/__init__.py +0 -63
- oscura-0.8.0/src/oscura/side_channel/dpa.py +0 -1025
- oscura-0.8.0/src/oscura/utils/optimization/__init__.py +0 -19
- oscura-0.8.0/src/oscura/utils/optimization/parallel.py +0 -443
- oscura-0.8.0/src/oscura/utils/optimization/search.py +0 -532
- oscura-0.8.0/src/oscura/utils/pipeline/__init__.py +0 -43
- oscura-0.8.0/src/oscura/utils/pipeline/base.py +0 -338
- oscura-0.8.0/src/oscura/utils/pipeline/composition.py +0 -248
- oscura-0.8.0/src/oscura/utils/pipeline/parallel.py +0 -449
- oscura-0.8.0/src/oscura/utils/pipeline/pipeline.py +0 -375
- oscura-0.8.0/src/oscura/utils/search/__init__.py +0 -16
- oscura-0.8.0/src/oscura/utils/search/anomaly.py +0 -424
- oscura-0.8.0/src/oscura/utils/search/context.py +0 -294
- oscura-0.8.0/src/oscura/utils/search/pattern.py +0 -288
- oscura-0.8.0/src/oscura/utils/storage/__init__.py +0 -61
- oscura-0.8.0/src/oscura/utils/storage/database.py +0 -1166
- oscura-0.8.0/src/oscura/visualization/__init__.py +0 -331
- oscura-0.8.0/src/oscura/visualization/accessibility.py +0 -526
- oscura-0.8.0/src/oscura/visualization/annotations.py +0 -371
- oscura-0.8.0/src/oscura/visualization/axis_scaling.py +0 -305
- oscura-0.8.0/src/oscura/visualization/batch.py +0 -521
- oscura-0.8.0/src/oscura/visualization/colors.py +0 -451
- oscura-0.8.0/src/oscura/visualization/digital.py +0 -436
- oscura-0.8.0/src/oscura/visualization/eye.py +0 -571
- oscura-0.8.0/src/oscura/visualization/histogram.py +0 -281
- oscura-0.8.0/src/oscura/visualization/interactive.py +0 -1035
- oscura-0.8.0/src/oscura/visualization/jitter.py +0 -1042
- oscura-0.8.0/src/oscura/visualization/keyboard.py +0 -394
- oscura-0.8.0/src/oscura/visualization/layout.py +0 -400
- oscura-0.8.0/src/oscura/visualization/optimization.py +0 -1079
- oscura-0.8.0/src/oscura/visualization/palettes.py +0 -446
- oscura-0.8.0/src/oscura/visualization/plot.py +0 -92
- oscura-0.8.0/src/oscura/visualization/power.py +0 -508
- oscura-0.8.0/src/oscura/visualization/power_extended.py +0 -955
- oscura-0.8.0/src/oscura/visualization/presets.py +0 -469
- oscura-0.8.0/src/oscura/visualization/protocols.py +0 -1246
- oscura-0.8.0/src/oscura/visualization/render.py +0 -223
- oscura-0.8.0/src/oscura/visualization/rendering.py +0 -444
- oscura-0.8.0/src/oscura/visualization/reverse_engineering.py +0 -838
- oscura-0.8.0/src/oscura/visualization/signal_integrity.py +0 -989
- oscura-0.8.0/src/oscura/visualization/specialized.py +0 -643
- oscura-0.8.0/src/oscura/visualization/spectral.py +0 -1226
- oscura-0.8.0/src/oscura/visualization/styles.py +0 -381
- oscura-0.8.0/src/oscura/visualization/thumbnails.py +0 -340
- oscura-0.8.0/src/oscura/visualization/time_axis.py +0 -351
- oscura-0.8.0/src/oscura/visualization/waveform.py +0 -454
- oscura-0.8.0/validate_waveform_math.py +0 -589
- oscura-0.8.0/validation_report.md +0 -170
- oscura-0.8.0/vehicle_network.dbc +0 -73
- {oscura-0.8.0 → oscura-0.11.0}/.claude/summaries/.gitkeep +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.cspell/.gitkeep +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.cspell/custom-dictionary.txt +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.editorconfig +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.env.example +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.gitattributes +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.github/config/README.md +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.github/config/main-branch-ruleset-template.json +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.github/config/main-branch-ruleset.json +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.gitleaks.toml +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.gitmessage +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.importlinter +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.lycheeignore +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.markdownlint.yaml +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.markdownlintignore +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.pre-commit-config.yaml +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.prettierignore +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.python-version +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.shellcheckrc +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.vscode/extensions.json +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.vscode/markdown.css +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.vscode/settings.json +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/.yamllint.yaml +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/CLAUDE.md +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/CODE_OF_CONDUCT.md +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/LICENSE +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/Makefile +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/SECURITY.md +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/demos/generate_all_demo_data.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/lychee.toml +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/classification.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/digital/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/digital/bus.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/digital/clock.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/digital/correlation.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/digital/edges.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/digital/signal_quality.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/digital/thresholds.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/digital/timing_numba.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/entropy.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/eye/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/eye/diagram.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/eye/generation.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/eye/metrics.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/jitter/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/jitter/ber.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/jitter/classification.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/jitter/decomposition.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/jitter/measurements.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/jitter/spectrum.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/jitter/timing.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/measurements.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/ml/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/ml/features.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/packet/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/packet/daq.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/packet/metrics.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/packet/parser.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/packet/payload.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/packet/payload_analysis.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/packet/payload_extraction.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/packet/payload_patterns.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/packet/stream.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/patterns/anomaly_detection.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/patterns/clustering.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/patterns/clustering_optimized.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/patterns/discovery.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/patterns/learning.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/patterns/matching.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/patterns/pattern_mining.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/patterns/periodic.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/patterns/reverse_engineering.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/patterns/sequences.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/power/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/power/ac_power.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/power/conduction.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/power/efficiency.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/power/ripple.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocol/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/base.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/ble/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/ble/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/ble/uuids.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/can.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/can_fd.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/flexray.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/hdlc.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/i2c.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/i2s.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/bacnet/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/bacnet/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/bacnet/encoding.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/bacnet/services.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/ethercat/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/ethercat/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/ethercat/mailbox.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/ethercat/topology.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/modbus/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/modbus/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/modbus/crc.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/modbus/functions.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/opcua/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/opcua/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/opcua/datatypes.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/opcua/services.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/profinet/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/profinet/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/profinet/dcp.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/industrial/profinet/ptcp.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/jtag.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/lin.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/manchester.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/onewire.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/parallel_bus/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/parallel_bus/centronics.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/parallel_bus/gpib.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/spi.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/swd.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/uart.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/protocols/usb.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/side_channel/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/side_channel/power.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/side_channel/timing.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/signal/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/signal/timing_analysis.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/signal_integrity/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/signal_integrity/embedding.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/signal_integrity/equalization.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/spectral/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/spectral/chunked.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/spectral/chunked_fft.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/spectral/chunked_wavelet.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/spectral/fft.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistical/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistical/checksum.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistical/chunked_corr.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistical/classification.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistical/entropy.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistical/ngrams.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistics/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistics/advanced.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistics/correlation.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistics/distribution.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistics/outliers.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistics/streaming.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/statistics/trend.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/waveform/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/analyzers/waveform/wavelets.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/dsl/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/dsl/interpreter.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/dsl/parser.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/dsl/repl.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/dsl.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/fluent.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/integrations/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/integrations/llm.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/operators.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/optimization.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/profiling.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/rest_server.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/server/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/server/dashboard.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/api/server/static/README.md +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/analysis.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/checksum.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/correlation.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/dbc_generator.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/discovery.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/message_wrapper.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/models.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/patterns.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/state_machine.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/can/stimulus_response.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/dbc/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/dbc/parser.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/dtc/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/dtc/database.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/flexray/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/flexray/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/flexray/crc.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/j1939/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/j1939/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/j1939/decoder.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/j1939/spns.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/j1939/transport.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/lin/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/lin/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/loaders/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/loaders/asc.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/loaders/blf.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/loaders/csv_can.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/loaders/dispatcher.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/loaders/mdf.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/loaders/pcap.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/obd/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/obd/decoder.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/uds/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/uds/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/uds/models.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/automotive/visualization.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/benchmark.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/compare.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/completion.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/config_cmd.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/decode.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/onboarding/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/onboarding/help.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/onboarding/tutorials.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/progress.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/shell.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/cli/validate_cmd.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/audit.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/backend_selector.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/cache.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/cancellation.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/confidence.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/defaults.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/legacy.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/loader.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/memory.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/migration.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/pipeline.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/preferences.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/protocol.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/schema.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/settings.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/config/thresholds.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/correlation.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/cross_domain.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/debug.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/edge_cases.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/exceptions.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/extensibility/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/extensibility/docs.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/extensibility/extensions.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/extensibility/logging.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/extensibility/measurements.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/extensibility/plugins.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/extensibility/registry.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/extensibility/templates.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/extensibility/validation.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/gpu_backend.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/lazy.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/log_query.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/logging.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/logging_advanced.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/memoize.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/memory_check.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/memory_guard.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/memory_limits.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/memory_monitor.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/memory_progress.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/memory_warnings.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/numba_backend.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/performance.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/plugins/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/plugins/base.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/plugins/cli.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/plugins/discovery.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/plugins/isolation.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/plugins/lifecycle.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/plugins/manager.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/plugins/registry.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/plugins/versioning.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/provenance.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/results.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/schemas/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/schemas/bus_configuration.json +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/core/uncertainty.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/correlation/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/discovery/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/discovery/anomaly_detector.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/discovery/auto_decoder.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/discovery/comparison.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/discovery/quality_validator.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/discovery/signal_detector.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/export/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/export/kaitai_struct.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/export/scapy_layer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/export/wireshark/README.md +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/export/wireshark/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/export/wireshark/generator.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/export/wireshark/lua_builder.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/export/wireshark/templates/dissector.lua.j2 +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/export/wireshark/type_mapping.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/export/wireshark/validator.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/export/wireshark_dissector.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/guidance/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/guidance/recommender.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/guidance/wizard.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/acquisition/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/acquisition/hardware.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/acquisition/streaming.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/firmware/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/firmware/pattern_recognition.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/hal_detector.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/hardware/security/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/active_learning/README.md +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/active_learning/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/active_learning/lstar.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/active_learning/observation_table.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/active_learning/oracle.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/active_learning/teachers/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/active_learning/teachers/simulator.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/adaptive_tuning.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/alignment.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/bayesian.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/binary.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/crc_reverse.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/logic.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/protocol.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/protocol_dsl.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/protocol_library.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/sequences.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/signal_intelligence.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/spectral.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/state_machine.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/inference/stream.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/coap/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/coap/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/coap/options.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/lorawan/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/lorawan/crypto.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/lorawan/decoder.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/lorawan/mac_commands.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/mqtt/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/mqtt/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/mqtt/properties.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/zigbee/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/zigbee/analyzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/zigbee/security.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/iot/zigbee/zcl.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/exploratory/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/exploratory/error_recovery.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/exploratory/fuzzy.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/exploratory/fuzzy_advanced.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/exploratory/legacy.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/exploratory/parse.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/exploratory/recovery.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/exploratory/sync.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/exploratory/unknown.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/ui/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/ui/formatters.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/jupyter/ui/progressive_display.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/csv.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/hdf5.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/pcap.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/loaders/touchstone.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/py.typed +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/advanced.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/analyze.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/argument_preparer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/auto_report.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/automation.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/batch.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/chart_selection.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/citations.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/comparison.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/config.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/content/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/content/executive.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/content/filtering.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/content/minimal.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/content/verbosity.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/core.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/core_formats/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/core_formats/multi_format.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/engine.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/enhanced_reports.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/export.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/formatting/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/formatting/emphasis.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/formatting/numbers.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/formatting/standards.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/formatting.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/html.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/index.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/interpretation.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/multichannel.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/output.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/pdf.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/plots.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/pptx_export.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/renderers/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/renderers/pdf.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/sections.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/standards.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/summary.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/summary_generator.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/tables.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/template_system.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/templates/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/templates/definition.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/templates/index.html +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/templates/index.md +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/reporting/visualization.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/sessions/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/sessions/base.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/sessions/blackbox.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/sessions/generic.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/autodetect.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/bitwise.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/buffer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/builders/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/comparison/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/comparison/limits.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/comparison/mask.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/comparison/trace_diff.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/comparison/visualization.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/component/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/component/impedance.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/component/reactive.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/component/transmission_line.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/filtering/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/filtering/base.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/filtering/design.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/filtering/filters.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/filtering/introspection.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/geometry.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/imports.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/lazy.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/lazy_imports.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/math/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/memory.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/memory_advanced.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/memory_extensions.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/performance/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/performance/caching.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/performance/lsh_clustering.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/performance/memory_optimizer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/performance/optimizations.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/performance/parallel.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/performance/profiling.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/pipeline/reverse_engineering.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/serial.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/streaming/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/streaming/chunked.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/streaming/progressive.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/streaming/realtime.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/triggering/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/triggering/base.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/validation.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/utils/windowing.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/compliance/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/compliance/advanced.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/compliance/masks.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/compliance/reporting.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/compliance/testing.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/compliance_tests.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/fuzzer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/grammar_tests.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/grammar_validator.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/quality/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/quality/ensemble.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/quality/explainer.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/quality/scoring.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/quality/warnings.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/regression_suite.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/replay.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/testing/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/validation/testing/synthetic.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/batch/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/batch/analyze.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/batch/logging.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/batch/metrics.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/compliance.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/legacy/__init__.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/legacy/dag.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/power.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/protocol.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/reverse_engineering.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/src/oscura/workflows/signal_integrity.py +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/stubs/scapy/__init__.pyi +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/stubs/scapy/all.pyi +0 -0
- {oscura-0.8.0 → oscura-0.11.0}/test_data/README.md +0 -0
|
@@ -237,6 +237,7 @@ tests/performance/test_data/*.npz
|
|
|
237
237
|
!.yamllint.yaml
|
|
238
238
|
!.markdownlint.yaml
|
|
239
239
|
!mkdocs.yml
|
|
240
|
+
!codecov.yml
|
|
240
241
|
!cspell.json
|
|
241
242
|
!lychee.toml
|
|
242
243
|
|
|
@@ -314,3 +315,16 @@ examples/outputs/
|
|
|
314
315
|
diff-coverage.html
|
|
315
316
|
diff-coverage.md
|
|
316
317
|
waveform_analysis_output/
|
|
318
|
+
|
|
319
|
+
# =============================================================================
|
|
320
|
+
# Demo/Test Output Directories (prevent accidental commits)
|
|
321
|
+
# =============================================================================
|
|
322
|
+
**/signal_re_outputs/
|
|
323
|
+
**/udp_analysis/
|
|
324
|
+
demonstrations/
|
|
325
|
+
discovered_signals.dbc
|
|
326
|
+
|
|
327
|
+
# =============================================================================
|
|
328
|
+
# Documentation Build Artifacts
|
|
329
|
+
# =============================================================================
|
|
330
|
+
docs/site/
|
|
@@ -43,13 +43,7 @@
|
|
|
43
43
|
"type": "debugpy",
|
|
44
44
|
"request": "launch",
|
|
45
45
|
"module": "pytest",
|
|
46
|
-
"args": [
|
|
47
|
-
"${file}::${selectedText}",
|
|
48
|
-
"-v",
|
|
49
|
-
"--tb=short",
|
|
50
|
-
"--strict-markers",
|
|
51
|
-
"-s"
|
|
52
|
-
],
|
|
46
|
+
"args": ["${file}::${selectedText}", "-v", "--tb=short", "--strict-markers", "-s"],
|
|
53
47
|
"console": "integratedTerminal",
|
|
54
48
|
"justMyCode": false,
|
|
55
49
|
"env": {
|
|
@@ -61,14 +55,7 @@
|
|
|
61
55
|
"type": "debugpy",
|
|
62
56
|
"request": "launch",
|
|
63
57
|
"module": "pytest",
|
|
64
|
-
"args": [
|
|
65
|
-
"tests/unit",
|
|
66
|
-
"-v",
|
|
67
|
-
"--tb=short",
|
|
68
|
-
"--strict-markers",
|
|
69
|
-
"-m",
|
|
70
|
-
"unit"
|
|
71
|
-
],
|
|
58
|
+
"args": ["tests/unit", "-v", "--tb=short", "--strict-markers", "-m", "unit"],
|
|
72
59
|
"console": "integratedTerminal",
|
|
73
60
|
"justMyCode": false,
|
|
74
61
|
"env": {
|
|
@@ -92,13 +79,7 @@
|
|
|
92
79
|
"type": "debugpy",
|
|
93
80
|
"request": "launch",
|
|
94
81
|
"module": "pytest",
|
|
95
|
-
"args": [
|
|
96
|
-
"tests/unit",
|
|
97
|
-
"-v",
|
|
98
|
-
"--tb=short",
|
|
99
|
-
"-m",
|
|
100
|
-
"unit and not slow and not memory_intensive"
|
|
101
|
-
],
|
|
82
|
+
"args": ["tests/unit", "-v", "--tb=short", "-m", "unit and not slow and not memory_intensive"],
|
|
102
83
|
"console": "integratedTerminal",
|
|
103
84
|
"justMyCode": false,
|
|
104
85
|
"env": {
|
|
@@ -122,14 +103,7 @@
|
|
|
122
103
|
"type": "debugpy",
|
|
123
104
|
"request": "launch",
|
|
124
105
|
"module": "pytest",
|
|
125
|
-
"args": [
|
|
126
|
-
"${file}",
|
|
127
|
-
"-v",
|
|
128
|
-
"--tb=short",
|
|
129
|
-
"--cov=src/oscura",
|
|
130
|
-
"--cov-report=term-missing",
|
|
131
|
-
"--cov-report=html"
|
|
132
|
-
],
|
|
106
|
+
"args": ["${file}", "-v", "--tb=short", "--cov=src/oscura", "--cov-report=term-missing", "--cov-report=html"],
|
|
133
107
|
"console": "integratedTerminal",
|
|
134
108
|
"justMyCode": false,
|
|
135
109
|
"env": {
|
|
@@ -147,13 +147,7 @@
|
|
|
147
147
|
"label": "Test: Fast Tests Only",
|
|
148
148
|
"type": "shell",
|
|
149
149
|
"command": "uv",
|
|
150
|
-
"args": [
|
|
151
|
-
"run",
|
|
152
|
-
"pytest",
|
|
153
|
-
"-m",
|
|
154
|
-
"unit and not slow and not memory_intensive",
|
|
155
|
-
"-v"
|
|
156
|
-
],
|
|
150
|
+
"args": ["run", "pytest", "-m", "unit and not slow and not memory_intensive", "-v"],
|
|
157
151
|
"problemMatcher": [],
|
|
158
152
|
"group": "test",
|
|
159
153
|
"presentation": {
|
|
@@ -549,13 +543,7 @@
|
|
|
549
543
|
"label": "Coverage: Generate HTML Report",
|
|
550
544
|
"type": "shell",
|
|
551
545
|
"command": "uv",
|
|
552
|
-
"args": [
|
|
553
|
-
"run",
|
|
554
|
-
"pytest",
|
|
555
|
-
"--cov=src/oscura",
|
|
556
|
-
"--cov-report=html",
|
|
557
|
-
"--cov-report=term"
|
|
558
|
-
],
|
|
546
|
+
"args": ["run", "pytest", "--cov=src/oscura", "--cov-report=html", "--cov-report=term"],
|
|
559
547
|
"problemMatcher": [],
|
|
560
548
|
"group": "test",
|
|
561
549
|
"presentation": {
|