oscura 0.7.0__py3-none-any.whl → 0.8.0__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.
Files changed (40) hide show
  1. oscura/__init__.py +1 -1
  2. oscura/analyzers/eye/__init__.py +5 -1
  3. oscura/analyzers/eye/generation.py +501 -0
  4. oscura/analyzers/jitter/__init__.py +6 -6
  5. oscura/analyzers/jitter/timing.py +419 -0
  6. oscura/analyzers/patterns/__init__.py +28 -0
  7. oscura/analyzers/patterns/reverse_engineering.py +991 -0
  8. oscura/analyzers/power/__init__.py +35 -12
  9. oscura/analyzers/statistics/__init__.py +4 -0
  10. oscura/analyzers/statistics/basic.py +149 -0
  11. oscura/analyzers/statistics/correlation.py +47 -6
  12. oscura/analyzers/waveform/__init__.py +2 -0
  13. oscura/analyzers/waveform/measurements.py +145 -23
  14. oscura/analyzers/waveform/spectral.py +361 -8
  15. oscura/automotive/__init__.py +1 -1
  16. oscura/automotive/dtc/data.json +102 -17
  17. oscura/core/config/loader.py +0 -1
  18. oscura/core/schemas/device_mapping.json +8 -2
  19. oscura/core/schemas/packet_format.json +24 -4
  20. oscura/core/schemas/protocol_definition.json +12 -2
  21. oscura/core/types.py +108 -0
  22. oscura/reporting/__init__.py +88 -1
  23. oscura/reporting/automation.py +348 -0
  24. oscura/reporting/citations.py +374 -0
  25. oscura/reporting/core.py +54 -0
  26. oscura/reporting/formatting/__init__.py +11 -0
  27. oscura/reporting/formatting/measurements.py +279 -0
  28. oscura/reporting/html.py +57 -0
  29. oscura/reporting/interpretation.py +431 -0
  30. oscura/reporting/summary.py +329 -0
  31. oscura/reporting/visualization.py +542 -0
  32. oscura/visualization/__init__.py +2 -1
  33. oscura/visualization/batch.py +521 -0
  34. oscura/workflows/__init__.py +2 -0
  35. oscura/workflows/waveform.py +783 -0
  36. {oscura-0.7.0.dist-info → oscura-0.8.0.dist-info}/METADATA +1 -1
  37. {oscura-0.7.0.dist-info → oscura-0.8.0.dist-info}/RECORD +40 -29
  38. {oscura-0.7.0.dist-info → oscura-0.8.0.dist-info}/WHEEL +0 -0
  39. {oscura-0.7.0.dist-info → oscura-0.8.0.dist-info}/entry_points.txt +0 -0
  40. {oscura-0.7.0.dist-info → oscura-0.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: oscura
3
- Version: 0.7.0
3
+ Version: 0.8.0
4
4
  Summary: Unified hardware reverse engineering framework. Extract all information from any system through signals and data. Unknown protocol discovery, state machine extraction, CRC recovery, security analysis. 16+ protocols, IEEE-compliant measurements.
5
5
  Project-URL: Homepage, https://github.com/oscura-re/oscura
6
6
  Project-URL: Documentation, https://github.com/oscura-re/oscura/tree/main/docs
@@ -1,4 +1,4 @@
1
- oscura/__init__.py,sha256=cB_SbWzKA60qDD2BQHesVvh_GOgWI7XOGfOOwd42YyY,19022
1
+ oscura/__init__.py,sha256=pyZQJ3785pl4cQPnTdfs7vrxjVmRpXBA2LP_VG9mufo,19022
2
2
  oscura/__main__.py,sha256=l1rnaD-tpI1W3cp1VHGhSdq9NDqw6Gxjf_gnqXf-zzE,11786
3
3
  oscura/convenience.py,sha256=tAABQMwgKjftSNUJLlYnchAwVSO-no0rBfSZteXfZnI,16361
4
4
  oscura/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -18,15 +18,17 @@ oscura/analyzers/digital/signal_quality.py,sha256=Ssb1MkUfqjiENJJFOslkTX8Ef6C65H
18
18
  oscura/analyzers/digital/thresholds.py,sha256=CrGgO1rtzkUOnYb40UT3_uD_0qVA853lGL2WNL95qv4,22428
19
19
  oscura/analyzers/digital/timing.py,sha256=Hfv9xXjjyiYs7DIIe8c60vHZBX-ehnPAmjMerfoK93Y,38565
20
20
  oscura/analyzers/digital/timing_numba.py,sha256=F2sdubZK3I5ifk_6u1qKzmxsCRq4er8BXhemFnuhTSs,10657
21
- oscura/analyzers/eye/__init__.py,sha256=SRW0Ir-1RWLwoaenk6FZhGOIWPkuhevYTPt_-8thPw0,974
21
+ oscura/analyzers/eye/__init__.py,sha256=vqtyZ9whC6teeh81Mkn7myPkLYfLXpYexKOGrVp_7BM,1101
22
22
  oscura/analyzers/eye/diagram.py,sha256=CHEo4-5_vRydG99_nIveJMnz8txFtK7zIysNI307k_w,15289
23
+ oscura/analyzers/eye/generation.py,sha256=CHEo4-5_vRydG99_nIveJMnz8txFtK7zIysNI307k_w,15289
23
24
  oscura/analyzers/eye/metrics.py,sha256=UXNAdRnJCbgje79yOK--3gbSZ4gDb6uaUxQGNCJkRcA,17055
24
- oscura/analyzers/jitter/__init__.py,sha256=BKoRcC7rR-8FV4UipcT5ymfJxmL_u7866Rs9eJl-Nns,2249
25
+ oscura/analyzers/jitter/__init__.py,sha256=qTm4reC80D41gI_Mhb1TmMXM4Pl-KFw0OickgPyT-y4,2243
25
26
  oscura/analyzers/jitter/ber.py,sha256=dOFBW8vx6w-NCdV3hKawhHAJkDcUwjO0GkjqLGvHoM8,9113
26
27
  oscura/analyzers/jitter/classification.py,sha256=CjMHTxfJHjCwAW2KParuBJf6d3yIyDlrltblusZvRVI,6097
27
28
  oscura/analyzers/jitter/decomposition.py,sha256=Uc37cJLpKBNhU9uXuurPMxJOR4nSC3h79yjPM8k03SE,25626
28
29
  oscura/analyzers/jitter/measurements.py,sha256=xAxw_82M8v6Vq3oPMmGN44LzAUOmpi-YoLs58fCpA8Q,12417
29
30
  oscura/analyzers/jitter/spectrum.py,sha256=pzsH0ekM97rligOUOHlsp-8Hn1VZnQpd-a8EeZO3uYE,7164
31
+ oscura/analyzers/jitter/timing.py,sha256=_-YhTAwKHDnzwL-MFXiqNZrH5y2TxDyIsbayMkuC64o,12627
30
32
  oscura/analyzers/ml/__init__.py,sha256=77br1uGiIDnQJQngwfKPDep3OVGhoA_Pj3vIp_dnoUA,1356
31
33
  oscura/analyzers/ml/features.py,sha256=xroEW2wqVWsZb2j2dnEQXlyubyHCKxY73WgjNOFrsms,21767
32
34
  oscura/analyzers/ml/signal_classifier.py,sha256=pWpuIuB7PWOe71ozjJXIKOjpZckYf5cyp5mVPsacln4,22359
@@ -39,7 +41,7 @@ oscura/analyzers/packet/payload_analysis.py,sha256=ch4xmtrgOJjYx61z9Kf0qsuKMgnzM
39
41
  oscura/analyzers/packet/payload_extraction.py,sha256=yBJG-KbljlIyA2hZCv3N5L_eBrkXnS0wXp-EBpKpiX4,7752
40
42
  oscura/analyzers/packet/payload_patterns.py,sha256=GNvrWTbSWS5j-vsSipoRX4x35DsAptMZvtFDwgwY1ys,21791
41
43
  oscura/analyzers/packet/stream.py,sha256=2izSnyp77bd2Zp6QWPZdtMa1C7mAm48bqi-Y6Igk3ZQ,11215
42
- oscura/analyzers/patterns/__init__.py,sha256=SlYG7CbwB_036mWTJl3CqO2-sQGZKI_z1hm8lyNEV8w,7759
44
+ oscura/analyzers/patterns/__init__.py,sha256=-KC7qgwMZ4JSy04o-uV2tlNabMH36aIdEHr16vksXAQ,8546
43
45
  oscura/analyzers/patterns/anomaly_detection.py,sha256=yq7yMpAf1YY41nT-xykuIRlCpAqZVggjCmbeZpZhQeQ,34625
44
46
  oscura/analyzers/patterns/clustering.py,sha256=e5H7mMpz7hz29OmpKuXSaI6rRQ0UYMmn3vjyF8Y-gtM,35030
45
47
  oscura/analyzers/patterns/clustering_optimized.py,sha256=9aZ7cJZykCfMxnI6FoXEkirKUbpFLd1dkIdtwhsEqUM,7579
@@ -48,8 +50,9 @@ oscura/analyzers/patterns/learning.py,sha256=aRhE3vLg6fX1a1aD2Lpseil_4EFcrL9vitD
48
50
  oscura/analyzers/patterns/matching.py,sha256=pQVfdrzzt_rsyBkB3gW6qsEkH0GO0vHs0WRtnCGsDro,45653
49
51
  oscura/analyzers/patterns/pattern_mining.py,sha256=r9--2ebVBi6ixBicvQXxLbEKPTaH0-HDpl0uGCi2YWI,28686
50
52
  oscura/analyzers/patterns/periodic.py,sha256=MBYtTfJayshCNHWsRxqqJmTbedkR9ZaD4CfuQan24zQ,23025
53
+ oscura/analyzers/patterns/reverse_engineering.py,sha256=xzSr5P3wtAUnyz5Mc97dMrsk2r8HQOArSBxIGN3xVNo,33268
51
54
  oscura/analyzers/patterns/sequences.py,sha256=VwB0KubceaaOpfK3tPCP1CfuTkGsq2Xf3Zk95Jgpl3o,26188
52
- oscura/analyzers/power/__init__.py,sha256=MD2seC2_PLHzpR1ZUKnM43ZPsZy0Fa9_mIdMrGlQvoo,2755
55
+ oscura/analyzers/power/__init__.py,sha256=Q2U9bW8tmz5pFgmNM_KKxDJpzBB5saM6nwleCeFlBWo,3483
53
56
  oscura/analyzers/power/ac_power.py,sha256=8Oblosut_--CniQcoUGOwdACt2UmUznCu0cSsUCKQs4,10400
54
57
  oscura/analyzers/power/basic.py,sha256=K6NYIlPkz5_hbHehtUq9MEEKjULqzc7pkCHy2cp6nfQ,11357
55
58
  oscura/analyzers/power/conduction.py,sha256=z2rI-VlMgvW47s_fwdctG9y0F64UPnm61jto5JapgoE,8604
@@ -121,18 +124,18 @@ oscura/analyzers/statistical/chunked_corr.py,sha256=B9SXVXZKyNfUJ5uSCw8kX4oxYkrI
121
124
  oscura/analyzers/statistical/classification.py,sha256=7H8olxcMSCNPVlI2hnWgJPfR6V-I8eCM53woGvpb8Yo,27997
122
125
  oscura/analyzers/statistical/entropy.py,sha256=PumI1rLhR4QtvUVGooPYXEKbvV8u5sAuXvhTesimDWc,35981
123
126
  oscura/analyzers/statistical/ngrams.py,sha256=lsmhIFMYncX7nymdFMi916Nd1BwlPsgVMMPCF3qadMk,18054
124
- oscura/analyzers/statistics/__init__.py,sha256=5dMDFjrxnhVJUqFxnYZL_EhVBDI5SZojJ54HbtHASHs,2743
127
+ oscura/analyzers/statistics/__init__.py,sha256=cn40BFJeXEQt7Ljmx9_JDk-QltFYmVwYmQghKBcn24U,2809
125
128
  oscura/analyzers/statistics/advanced.py,sha256=XeIlZR8COj1yF7OtRZfZ5KWBLYXUSqgN2hNmtiLAD0g,26800
126
- oscura/analyzers/statistics/basic.py,sha256=Utdf7Cvg2o9TXUQEq1qeEp-W5lb28uECmzjHEKiCW2c,7115
127
- oscura/analyzers/statistics/correlation.py,sha256=AXk3879xnaRitCbC1HGmtil9ztP6j2l1xBLLDCa5hCI,27329
129
+ oscura/analyzers/statistics/basic.py,sha256=OfYLPAuZrX9AM79fhxjWvB8ZdLKTlE3tNNTkSsSEjr4,12056
130
+ oscura/analyzers/statistics/correlation.py,sha256=YwQcmtcEqVkOQh2lXd9sfIQX3fu8uzJBg_XPv3-tdOc,28990
128
131
  oscura/analyzers/statistics/distribution.py,sha256=ps2lXgWGYsUBTpGaftC5Qdz7GlDqJmB6z4uXaTeaLao,8916
129
132
  oscura/analyzers/statistics/outliers.py,sha256=rxXKt8BgxEUlgb0UJVbOO3V-WvUL9ODJ003dmYpufuc,14667
130
133
  oscura/analyzers/statistics/streaming.py,sha256=W0qxfqD8gBdbpqYPIORF_uJP88gGYnuAnFs3PBEpc-k,3604
131
134
  oscura/analyzers/statistics/trend.py,sha256=Tu0gUZqy4PJ7Ne7YzRuJGU80DUl71Onc3QXsbaiuLjU,15565
132
- oscura/analyzers/waveform/__init__.py,sha256=icFPs-NPaiaNzxjFfzOcMP613jzbqTz_5OgwnJbx7i4,560
133
- oscura/analyzers/waveform/measurements.py,sha256=5-Qxz7AOwpksFnskaq6qRp0UiyV68WC3iCMPvGbFDrw,26181
135
+ oscura/analyzers/waveform/__init__.py,sha256=SqLMhTFy4-Krx0b3hTZbhd1NKPeNe767Q6yaTz1wo1c,614
136
+ oscura/analyzers/waveform/measurements.py,sha256=h-ar252LHcFv7P89vDG_Dt9HT1SMeTxizRgr7Ebrc3M,31458
134
137
  oscura/analyzers/waveform/measurements_with_uncertainty.py,sha256=CeqGVWE66OVZdal38JXtGCz_Zrg91h9JmI-Mnmkh3GE,13308
135
- oscura/analyzers/waveform/spectral.py,sha256=6HYTHjtChWNeEw7tzZrDVJJsNUGtMDfBqMqvfsm59Ng,56479
138
+ oscura/analyzers/waveform/spectral.py,sha256=D6YUjZyqKgyU-4oT1vs2NelAsFmpbbU-fSbH9N62UdA,68419
136
139
  oscura/analyzers/waveform/wavelets.py,sha256=rKoqiKmuLQ9iKMFshJam7wdn6fL6sFcJY_-J0fYl5F4,10116
137
140
  oscura/api/__init__.py,sha256=7URqzrBUiIq54TSUUi291VhBiZ-ZL5cS4m5eM0WppGk,1808
138
141
  oscura/api/dsl.py,sha256=_azJ2AnbN5EDhgH6RiZmHEDJxu5lzMbZpDhhsmaX7Zs,14880
@@ -159,7 +162,7 @@ oscura/api/server/templates/reports.html,sha256=18xoAZPIg7eQANs9k-tmGzVs_-tmS5m6
159
162
  oscura/api/server/templates/session_detail.html,sha256=32HnJ0o8ptlZEHQVO1c96j6PoxS0856kPjW2MVn0D8o,3693
160
163
  oscura/api/server/templates/sessions.html,sha256=kVcpLOlXAx0PizP7Vc1NlhsYg5swTj77fKCZxoTTCYU,3146
161
164
  oscura/api/server/templates/waveforms.html,sha256=5XfpHkgRpmV0MeFb9pBkVDa63phT8zGWnrmA0UlUwZE,2269
162
- oscura/automotive/__init__.py,sha256=PCTYjEm5mVPrBiOmYyhPul9utHa955ASz-Oq7h_nYy8,2767
165
+ oscura/automotive/__init__.py,sha256=ZdYV6Ber8UAYSwUogrcDwhKB7Gnay9FyyrLlhIs-Cls,2767
163
166
  oscura/automotive/visualization.py,sha256=LD6Gia3kDqoB_jQkOeVmyRVLv1BPuTUVj6lJMVtbQWg,10664
164
167
  oscura/automotive/can/__init__.py,sha256=ZYxC8tMMi9Drm9adkH5yklypBTfIbf3D7BYA2SUp9fE,1491
165
168
  oscura/automotive/can/analysis.py,sha256=0z6MycxuJGusqDQhYEpHnGRmDw3OMf5yDbS8zI6GJO0,11251
@@ -177,7 +180,7 @@ oscura/automotive/dbc/__init__.py,sha256=HZlM2WAaaglpX4C9tJVkF7uZiaHW4iUPQAbhfJY
177
180
  oscura/automotive/dbc/generator.py,sha256=Dxg6fFHYNxtqExKxf0S63MeZsHriisA6R-Ii7WwsfPY,6724
178
181
  oscura/automotive/dbc/parser.py,sha256=C5SL1bfJFZp0CYsw-ff8ysJ_57Us9dBoHZ1t6LVLGbo,4421
179
182
  oscura/automotive/dtc/__init__.py,sha256=09CgvnClJTQIvzgDOQ22CbcjGAg_zOhPlbm1-k-gl30,895
180
- oscura/automotive/dtc/data.json,sha256=5pddTolfBJjwimwp5epiMjUqSngZ1dur9LQlcHfdjrA,79331
183
+ oscura/automotive/dtc/data.json,sha256=OrymnbjQkVMdJlIeQ6MUDIihkd9Kea-YvAizZwOZWcc,80011
181
184
  oscura/automotive/dtc/database.py,sha256=Ee1Jd4CbP5T4LON0Y2PdOkgdISHa8jf8c6znb0S_L00,9582
182
185
  oscura/automotive/flexray/__init__.py,sha256=2RuW8TR4M3tSDEfcj-pJQpGGSxGaw5GdyGSvjMnU8Lk,938
183
186
  oscura/automotive/flexray/analyzer.py,sha256=UG3e9tJSHGV7aR3WKwfVCrNDSVlT7ZgFm7vgCcw0qOo,16727
@@ -250,12 +253,12 @@ oscura/core/performance.py,sha256=ICufOlSaJWrG6I92EEM2PLzHRFBNzu2NfvAAH_6b9f8,10
250
253
  oscura/core/progress.py,sha256=NLXt64MiZHGzrA5Q0NgSh6Ujg9VSw8QcpVvmpAG2ZgE,15723
251
254
  oscura/core/provenance.py,sha256=CQ8lbWuBxfvTSrPNIxJifdt3lWxn82jd7ELJg-OPVXM,10824
252
255
  oscura/core/results.py,sha256=ZdIOncVhm15E-P_5OaU-MZBw2ZWD0_4WBbMqV0IhJso,10637
253
- oscura/core/types.py,sha256=-uEhGEnbf2huOPGoOkGJs6g8CBa2JAIiR02UoDD5zxU,17602
256
+ oscura/core/types.py,sha256=1cre35OZ7bUBQPwZJGLLKFjgcyerX9gN0-ILyGH3Wxo,19911
254
257
  oscura/core/uncertainty.py,sha256=s9y-sQy9U_cbCwugHGP3U-alxotYrI90CJtjDZ25UjA,13224
255
258
  oscura/core/config/__init__.py,sha256=uncP5qTPfL0UZfBXvbzOv_rGUGY8rIV7qCoNIxcdAkE,4673
256
259
  oscura/core/config/defaults.py,sha256=USi1iCT3CY3qozltmDkB7HrNNgCc7KG03L6Wd18cPxU,6513
257
260
  oscura/core/config/legacy.py,sha256=S6jmz7Zo8TN2NUWhlgJRkTDWAnfpfBTK_XaRlUXKBd4,15053
258
- oscura/core/config/loader.py,sha256=6lWd1qZq_-gpw0oi_Tojuvp55EgD2FWviihObcv78Ac,9397
261
+ oscura/core/config/loader.py,sha256=BNBjtWwampW0smqLPWeKxU7Y1RVFkxkfFyp9BjDLEcc,9322
259
262
  oscura/core/config/memory.py,sha256=IiJqJSXaVNXhKwPUqMhCZpgZRPPpl09MLMn7Ux1Fwp4,8183
260
263
  oscura/core/config/migration.py,sha256=bcNPm2RPH19syS9IxLNR4grS4NlvayBEORTolzhB0fE,14131
261
264
  oscura/core/config/pipeline.py,sha256=ndMU-FQwf5k_i0de5JGLMBYp1QpK0c-9cUuGRb5XXHw,38116
@@ -284,9 +287,9 @@ oscura/core/plugins/registry.py,sha256=XNtq0rBuppC1Z5V5RH74afW-LBnWSLc33lCE6BDZK
284
287
  oscura/core/plugins/versioning.py,sha256=d18sXMbgeWy_dVNaM7JWvCVIF6VgpnjIbjP8gdFfgSs,10785
285
288
  oscura/core/schemas/__init__.py,sha256=W33kQp0A8v9qZevqjm3T-1Fjrnou5cz0WCAbLRkwbgY,4327
286
289
  oscura/core/schemas/bus_configuration.json,sha256=gpcDsg04760KCaLeIDuWvP6RzRUcPZuQplJbe7xpc8E,9562
287
- oscura/core/schemas/device_mapping.json,sha256=I87-MWnXldVWIXRC1H-WgzNLszymRdnaxwE3B1z8qys,5415
288
- oscura/core/schemas/packet_format.json,sha256=NVa4RtwSye9QgD1pBi67nuCDRsVljudCpBBGjmZsMqk,12567
289
- oscura/core/schemas/protocol_definition.json,sha256=lThVXTWzh7GxN-XNb3h8Bh20l1NZUigivWBb04xvogs,11116
290
+ oscura/core/schemas/device_mapping.json,sha256=sYOcc2zSe0rmMQN_vtg3Y5XeeDMktAO1ar8vAWl-E1M,5499
291
+ oscura/core/schemas/packet_format.json,sha256=y2KavMGeOUlmjDq7AW_85bfTk3nHlGPuistpuVDdlAk,12893
292
+ oscura/core/schemas/protocol_definition.json,sha256=VPHkgY4fAI-hUiRBtiqZvDNUGjp6_7O4xdi1z36IhCI,11256
290
293
  oscura/correlation/__init__.py,sha256=4H5lCJqBBG3_10oIPsdIOyCij8FlKtMxLp3SAYvSsRg,1537
291
294
  oscura/correlation/multi_protocol.py,sha256=X3sTdAc6etsY_9GIbXISCeNMNWM8imkGzHn-UhK7rcw,28288
292
295
  oscura/discovery/__init__.py,sha256=ytYa_s4PfKxRRopOdUGsmzUIDPevH25ze_VytBEX2Cw,1232
@@ -398,22 +401,25 @@ oscura/loaders/tss.py,sha256=c0xL2h0x09u765qFAxOKpFE8ggOGpc9DwUyRi6r41Y0,13874
398
401
  oscura/loaders/validation.py,sha256=JA_vVYQJB4gC9KFKa2lsGV5D-_agmIjP9kE_dXpv4Wk,17835
399
402
  oscura/loaders/vcd.py,sha256=y1mFZXTEqJEFfvMf3MYgGk5e16qG7mNlyAQgVLZNwfU,17722
400
403
  oscura/loaders/wav.py,sha256=xv6eELWMYflP7OormysAe6-yAiYNzWMInzC6cuUZZmo,9391
401
- oscura/reporting/__init__.py,sha256=PtKt8iuNKPRp0V0hXr_SQS_J3iJdlXykrsfYe8e28xk,6333
404
+ oscura/reporting/__init__.py,sha256=btcyeGPt73ZK7X4mIcMdfEdTUoYvkQh9tToTS1WobFE,8546
402
405
  oscura/reporting/advanced.py,sha256=dcu2fjCA_a4R7lGhdUQbcAb7ioTg7lkUwDiQK4uopjM,36413
403
406
  oscura/reporting/analyze.py,sha256=fMNZEQGBMX6I47DrJC8V1HjsWhmLIkfZPQNMFSIfD2E,20604
404
407
  oscura/reporting/argument_preparer.py,sha256=ofXjstDnwlC30MKLHiRphUzC7NkGeELgu40yE0slMFY,25965
405
408
  oscura/reporting/auto_report.py,sha256=VxB74gApLuXfoQ21YDgVzCUZviZKVvau_p6Xjs9kYw8,16290
409
+ oscura/reporting/automation.py,sha256=vh53Uz4gs5_IQGv6nS92mVv-xzsQV9vXih2db2OaOt4,11225
406
410
  oscura/reporting/batch.py,sha256=m-9tX6U9nr85pK7jDkhvvPuZMvXVs6s2nGJ9tSuFFLk,21480
407
411
  oscura/reporting/chart_selection.py,sha256=AAtitNpLc6ahZBMLLPjCMLrI3r819-Nbv8Q2Da4WiK8,6868
412
+ oscura/reporting/citations.py,sha256=o0es0cELNLXoY7b0jh7IHaj40Ka26UMmFcR6gCphIPQ,11735
408
413
  oscura/reporting/comparison.py,sha256=3Hf0bIP536ZtNKi-WHmgJtJY8OWCamoyM41TdXHPC8I,11656
409
414
  oscura/reporting/config.py,sha256=cmLsHhaRJRcu97u7FKLsTPB4FYla9RkoDkmZg8wmnhQ,23352
410
- oscura/reporting/core.py,sha256=mOnLShs3YXa_6RdmCnJThxMHe6CgRgE4YYcJLIh0iIg,15640
415
+ oscura/reporting/core.py,sha256=xKQ5hVblO5J6S97zPJgLoTYIimhOu4xONpzrqGkgVaE,17759
411
416
  oscura/reporting/engine.py,sha256=9w-UhDNXYmTVsLpM-ldFTDy2rsztEeylnvB4KBSyJ1g,36219
412
417
  oscura/reporting/enhanced_reports.py,sha256=lqH8TTGbVjxXGA8JCL9AmfHGlqGs3Sa0LiB9M083lkg,32556
413
418
  oscura/reporting/export.py,sha256=KofJZHiNHwa1lSF_xFDARZetvA5mmSc41o5ofLohQ84,11114
414
419
  oscura/reporting/formatting.py,sha256=KLM7fBpkKyGG_3LyyxRRYxt43AXSoHQ3ErzNbWZBRfs,12496
415
- oscura/reporting/html.py,sha256=xKj3kCCU07NrX6GsgxASUaE-j2drjlzr4QY2cY4edZg,16916
420
+ oscura/reporting/html.py,sha256=EChyMoZKR5_vFij0QVrZpkgillQUAUSvWaYeILPBUpI,19025
416
421
  oscura/reporting/index.py,sha256=oeVw37d0gzymmT3yPZyL8szJx2ydys1-OLe9oGJO6vE,21633
422
+ oscura/reporting/interpretation.py,sha256=EjvraQRDIn2Ld4x-rhs8GGpLFRlViNqFYR04WRyhbTg,14671
417
423
  oscura/reporting/multichannel.py,sha256=kLaNlZJhruLWAUcRyduOfbuakxQH4vB6pQ_Z57aYP6c,9174
418
424
  oscura/reporting/output.py,sha256=g2pBM2eZUPIQkawlSDm6CqUxpPIMuSRu2nYBRro9rtE,13646
419
425
  oscura/reporting/pdf.py,sha256=nKM2MbqgpUgGlzShWSzu_n47-2Ys7uJo1b9DnXLaehg,10447
@@ -421,9 +427,11 @@ oscura/reporting/plots.py,sha256=E2XiJXLLNorHi3emoA76jHWrPz0zzUzIjuo93KMONO4,258
421
427
  oscura/reporting/pptx_export.py,sha256=CojDp1TaM08U3fJqM1yZPvLZiM6zF5-iKah8-SZ7YGQ,10253
422
428
  oscura/reporting/sections.py,sha256=s5tiWGMuKT9c81TR0FXb7F06LtdUlFtUXsZjGBmckOw,13907
423
429
  oscura/reporting/standards.py,sha256=Xsrpx1rE3HhvEJtyZcALZHND3OceqWUvNGxHaNjKjDs,19684
430
+ oscura/reporting/summary.py,sha256=iJbAEV4Y2n8GN8UvtRzY6xmJoZs_4gqaMZ5wyu_1Av8,10558
424
431
  oscura/reporting/summary_generator.py,sha256=VjRiXBbxmMIXIWx3pzL85ZR3hzui1jwAvmEVOnwETyo,11265
425
432
  oscura/reporting/tables.py,sha256=R20Ge_YLXuZT-JKob9dQCZlhwoM5eo1IN8CTfN7eivs,13697
426
433
  oscura/reporting/template_system.py,sha256=jPF5jkkjl8el8V6IGJGNZmPlNRFZd0_DBbcokOUMiTU,21135
434
+ oscura/reporting/visualization.py,sha256=vM1Efhq37LZ4T2xNt5CRzbjBAeilaQ06iowsdxn11yw,17047
427
435
  oscura/reporting/content/__init__.py,sha256=MIU1IrYdFy7L7d6CY8RxkzL1_wL1qLYUfzUsKaASgJ4,874
428
436
  oscura/reporting/content/executive.py,sha256=EZOy_OQ_WV8kknJS2s0KUdPv9LMkgMVm1__aXDor9Kk,5727
429
437
  oscura/reporting/content/filtering.py,sha256=JrSPJPyGw_jsZUWlAi-ELt8b2ybh1Ui_wXWULv0R-ng,5184
@@ -431,8 +439,9 @@ oscura/reporting/content/minimal.py,sha256=amh-1wTJwPct-55HHCyUYDVEAcO0RXsyUu7Ug
431
439
  oscura/reporting/content/verbosity.py,sha256=ZCv5-EXH7Re6ix8d1ON3BdekMhSADmzcPhmXcmZmscg,4311
432
440
  oscura/reporting/core_formats/__init__.py,sha256=5mqsnXEIxyiuz38n4DekySkk3ro-bKYkr91xyl2oPLI,453
433
441
  oscura/reporting/core_formats/multi_format.py,sha256=qqCANlp0gZJQ5gBbBmIzGKPDaXoO229ThFJi_My5d88,6214
434
- oscura/reporting/formatting/__init__.py,sha256=KA7RSoQkcsNtTjC3L-o3D38EMkkZBqYvgHcSABK3uik,3196
442
+ oscura/reporting/formatting/__init__.py,sha256=1ZZ2MZHuhEqChx4LYBmTv-U3qbRJE-CibXyXSzAuggM,3504
435
443
  oscura/reporting/formatting/emphasis.py,sha256=bsc7gFfwGbonXfJZt7vl5Nns06oXNJjKP90EE9JNu1o,1761
444
+ oscura/reporting/formatting/measurements.py,sha256=_G4aj5xGYWMGUBvcoKIB10Q_6PEK8eLerGbSw01kqBI,10153
436
445
  oscura/reporting/formatting/numbers.py,sha256=0PTxz_tZRhbBjf7-UHQfUpASkJm_S3zUe44SK8q3ZDA,12932
437
446
  oscura/reporting/formatting/standards.py,sha256=msxfZ0qG3v7DpluiTmJ65wlbbl2qVNZabfMxaunXusU,1171
438
447
  oscura/reporting/renderers/__init__.py,sha256=3xTkPdizeMHrQ3fD_f_zbL1EKImTJHMGnkG-MIk-R_o,185
@@ -538,10 +547,11 @@ oscura/validation/quality/scoring.py,sha256=1znG6o4f33os8ULfduFH2MpGTs8w8oW7hL_t
538
547
  oscura/validation/quality/warnings.py,sha256=-6fU_NsEFuaFsXzmDq9p43dNYb_ll_PV4QuzIbHoP08,13417
539
548
  oscura/validation/testing/__init__.py,sha256=WEG_xHKik5Ohn67nV86QNCfIVw6Tob3jbqGmPAXdbho,1528
540
549
  oscura/validation/testing/synthetic.py,sha256=rlWcLU70Ks4vYIZnEsB-KdL0LgX592-w0cGmJC5u7GE,26444
541
- oscura/visualization/__init__.py,sha256=AHrRdGauJKb7NmxPKXYVPvzgsDlk6T83HrmwFCstldg,9016
550
+ oscura/visualization/__init__.py,sha256=PKluRSrlj_VYm_P-i1IPhtuOPjIIgxnAgXcago3R_Qk,9036
542
551
  oscura/visualization/accessibility.py,sha256=IC_fLCr4C5ifg4tM1P3xZVO_NR5vKD1V5HcIHHSDAMU,16151
543
552
  oscura/visualization/annotations.py,sha256=ZpRiF7XaLrN_ZG3L2SDnz6tUcQKBzQNgRe-BKS0Uqno,10761
544
553
  oscura/visualization/axis_scaling.py,sha256=19TSQgF5s0I2GSFdLNazwjtMdACBB7fDJwUyDtFCSuc,9300
554
+ oscura/visualization/batch.py,sha256=nk0DxwuxuJaaVNOE2SyN0qtGgNyBmEYKroQLpIxPcOo,15490
545
555
  oscura/visualization/colors.py,sha256=fsQerkweDxj_S3WX5NDYQLfPGHx9yeX-IDsalvg8WZA,11948
546
556
  oscura/visualization/digital.py,sha256=GxQ6ZP4pgkgrwEWnSyl664Y5PKmUDkPpT3re_03_B8A,12877
547
557
  oscura/visualization/eye.py,sha256=9BuGZZwvdEjsbRF5TVHJDkFNxnDd-IWD2p9C9WbOJYA,16782
@@ -567,7 +577,7 @@ oscura/visualization/styles.py,sha256=58-aRnig_9R1ap6UNWkkLYWAyCM7QHRLrEQF-42vQ_
567
577
  oscura/visualization/thumbnails.py,sha256=WZBN9QkYj6PgETeFT3-yQS7j38dBIvfJ2CxcFnaVSLc,10725
568
578
  oscura/visualization/time_axis.py,sha256=rWzDV2wofJo1VsZg4WP6FSNbdAWOuFg6PjhTM6yukrc,8871
569
579
  oscura/visualization/waveform.py,sha256=jkZbBQb2I3f_6r27xifkoYzIQ5Mj1XosLMx6WFYty9s,12842
570
- oscura/workflows/__init__.py,sha256=22ezDRxuMrR860oFg1s4tyD2QDbJoHNemKCVen32Ldk,1696
580
+ oscura/workflows/__init__.py,sha256=4MClVAhD-_n_maeMR8PPhuNj7ozaGOpxiPOs4alK2cQ,1750
571
581
  oscura/workflows/complete_re.py,sha256=CeI2R8GF1idmRmZ34ecVGlxKw9TYH3WJZdjsaQe7hWw,36960
572
582
  oscura/workflows/compliance.py,sha256=Tr0WlJJ9oDFQrwveRdc3qdIQTnabwQ2FCvj6VS9RFQw,9149
573
583
  oscura/workflows/digital.py,sha256=P0Cd9RQ1isFKbQvxboS9nmf6srseocivE--S2d31u-c,12913
@@ -576,6 +586,7 @@ oscura/workflows/power.py,sha256=AoP_RiQcNIdvh-hu8DIEHT2FKULSnNZ-7257ZoAiNxA,537
576
586
  oscura/workflows/protocol.py,sha256=94eFMrX6ZQVRnIN0y-BDNxlwWNPuhsKvgonlKTfGgBA,15939
577
587
  oscura/workflows/reverse_engineering.py,sha256=5GXMc3BwbNt9WA8Tzi7FEW7LciPjOZNm0Mm1Ej6iygg,25137
578
588
  oscura/workflows/signal_integrity.py,sha256=TQ5CWnS2iyzS5TU32TfLzNilQT2fhY8EPy3E_RM4o-I,9699
589
+ oscura/workflows/waveform.py,sha256=neuAZlkKjpRr01dIAYdWjo2AqIwfDiZg9cptUxpgDZk,31162
579
590
  oscura/workflows/batch/__init__.py,sha256=ngm5GSV8cC-T0nfigyQVkRkqJM5dpaxMTH6s3NZN67c,1260
580
591
  oscura/workflows/batch/advanced.py,sha256=_CvDg_flQMdmWePnXGccboCy2K5sempO3RNubR8q-W0,23656
581
592
  oscura/workflows/batch/aggregate.py,sha256=4Ql2GGVsmy9yxgST_SeRF-aFd8kfKtrorrgK1dcrDNo,15741
@@ -584,8 +595,8 @@ oscura/workflows/batch/logging.py,sha256=6YkTrOA2OSiRjYHmtRn-lL2wyNpya0sggVkgxsz
584
595
  oscura/workflows/batch/metrics.py,sha256=InbxaZmFQrANpp_RCcx5F3va55UaiQjhFJ-_SEKAS20,17322
585
596
  oscura/workflows/legacy/__init__.py,sha256=PqHw8AIWfP4-1lJEjCDC4c_O8GXYOcWodK9ciOnGJaU,409
586
597
  oscura/workflows/legacy/dag.py,sha256=tEhiWmOSdcEYKmrwYUETC0P5yN-_Cy9fEysPwTDVZ3A,12337
587
- oscura-0.7.0.dist-info/METADATA,sha256=s6BHYA3LswuBulGUa6yeH-08oWJKWE-gwZkp9n19aIw,34518
588
- oscura-0.7.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
589
- oscura-0.7.0.dist-info/entry_points.txt,sha256=QLBxd-iTjBQ5HidaVSkLBwvUsqxSG1ZTJ6i-0juu960,48
590
- oscura-0.7.0.dist-info/licenses/LICENSE,sha256=p1_oEK-oqWDXMFSv5mKbyYkgW-CPbCnFUvdICu490aY,1077
591
- oscura-0.7.0.dist-info/RECORD,,
598
+ oscura-0.8.0.dist-info/METADATA,sha256=EmnMxn_jjx354rcHvzv3mM9W4galkREil_IZttzyjxs,34518
599
+ oscura-0.8.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
600
+ oscura-0.8.0.dist-info/entry_points.txt,sha256=QLBxd-iTjBQ5HidaVSkLBwvUsqxSG1ZTJ6i-0juu960,48
601
+ oscura-0.8.0.dist-info/licenses/LICENSE,sha256=p1_oEK-oqWDXMFSv5mKbyYkgW-CPbCnFUvdICu490aY,1077
602
+ oscura-0.8.0.dist-info/RECORD,,
File without changes