oscura 0.5.0__py3-none-any.whl → 0.6.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 (513) hide show
  1. oscura/__init__.py +169 -167
  2. oscura/analyzers/__init__.py +3 -0
  3. oscura/analyzers/classification.py +659 -0
  4. oscura/analyzers/digital/__init__.py +0 -48
  5. oscura/analyzers/digital/edges.py +325 -65
  6. oscura/analyzers/digital/extraction.py +0 -195
  7. oscura/analyzers/digital/quality.py +293 -166
  8. oscura/analyzers/digital/timing.py +260 -115
  9. oscura/analyzers/digital/timing_numba.py +334 -0
  10. oscura/analyzers/entropy.py +605 -0
  11. oscura/analyzers/eye/diagram.py +176 -109
  12. oscura/analyzers/eye/metrics.py +5 -5
  13. oscura/analyzers/jitter/__init__.py +6 -4
  14. oscura/analyzers/jitter/ber.py +52 -52
  15. oscura/analyzers/jitter/classification.py +156 -0
  16. oscura/analyzers/jitter/decomposition.py +163 -113
  17. oscura/analyzers/jitter/spectrum.py +80 -64
  18. oscura/analyzers/ml/__init__.py +39 -0
  19. oscura/analyzers/ml/features.py +600 -0
  20. oscura/analyzers/ml/signal_classifier.py +604 -0
  21. oscura/analyzers/packet/daq.py +246 -158
  22. oscura/analyzers/packet/parser.py +12 -1
  23. oscura/analyzers/packet/payload.py +50 -2110
  24. oscura/analyzers/packet/payload_analysis.py +361 -181
  25. oscura/analyzers/packet/payload_patterns.py +133 -70
  26. oscura/analyzers/packet/stream.py +84 -23
  27. oscura/analyzers/patterns/__init__.py +26 -5
  28. oscura/analyzers/patterns/anomaly_detection.py +908 -0
  29. oscura/analyzers/patterns/clustering.py +169 -108
  30. oscura/analyzers/patterns/clustering_optimized.py +227 -0
  31. oscura/analyzers/patterns/discovery.py +1 -1
  32. oscura/analyzers/patterns/matching.py +581 -197
  33. oscura/analyzers/patterns/pattern_mining.py +778 -0
  34. oscura/analyzers/patterns/periodic.py +121 -38
  35. oscura/analyzers/patterns/sequences.py +175 -78
  36. oscura/analyzers/power/conduction.py +1 -1
  37. oscura/analyzers/power/soa.py +6 -6
  38. oscura/analyzers/power/switching.py +250 -110
  39. oscura/analyzers/protocol/__init__.py +17 -1
  40. oscura/analyzers/protocols/__init__.py +1 -22
  41. oscura/analyzers/protocols/base.py +6 -6
  42. oscura/analyzers/protocols/ble/__init__.py +38 -0
  43. oscura/analyzers/protocols/ble/analyzer.py +809 -0
  44. oscura/analyzers/protocols/ble/uuids.py +288 -0
  45. oscura/analyzers/protocols/can.py +257 -127
  46. oscura/analyzers/protocols/can_fd.py +107 -80
  47. oscura/analyzers/protocols/flexray.py +139 -80
  48. oscura/analyzers/protocols/hdlc.py +93 -58
  49. oscura/analyzers/protocols/i2c.py +247 -106
  50. oscura/analyzers/protocols/i2s.py +138 -86
  51. oscura/analyzers/protocols/industrial/__init__.py +40 -0
  52. oscura/analyzers/protocols/industrial/bacnet/__init__.py +33 -0
  53. oscura/analyzers/protocols/industrial/bacnet/analyzer.py +708 -0
  54. oscura/analyzers/protocols/industrial/bacnet/encoding.py +412 -0
  55. oscura/analyzers/protocols/industrial/bacnet/services.py +622 -0
  56. oscura/analyzers/protocols/industrial/ethercat/__init__.py +30 -0
  57. oscura/analyzers/protocols/industrial/ethercat/analyzer.py +474 -0
  58. oscura/analyzers/protocols/industrial/ethercat/mailbox.py +339 -0
  59. oscura/analyzers/protocols/industrial/ethercat/topology.py +166 -0
  60. oscura/analyzers/protocols/industrial/modbus/__init__.py +31 -0
  61. oscura/analyzers/protocols/industrial/modbus/analyzer.py +525 -0
  62. oscura/analyzers/protocols/industrial/modbus/crc.py +79 -0
  63. oscura/analyzers/protocols/industrial/modbus/functions.py +436 -0
  64. oscura/analyzers/protocols/industrial/opcua/__init__.py +21 -0
  65. oscura/analyzers/protocols/industrial/opcua/analyzer.py +552 -0
  66. oscura/analyzers/protocols/industrial/opcua/datatypes.py +446 -0
  67. oscura/analyzers/protocols/industrial/opcua/services.py +264 -0
  68. oscura/analyzers/protocols/industrial/profinet/__init__.py +23 -0
  69. oscura/analyzers/protocols/industrial/profinet/analyzer.py +441 -0
  70. oscura/analyzers/protocols/industrial/profinet/dcp.py +263 -0
  71. oscura/analyzers/protocols/industrial/profinet/ptcp.py +200 -0
  72. oscura/analyzers/protocols/jtag.py +180 -98
  73. oscura/analyzers/protocols/lin.py +219 -114
  74. oscura/analyzers/protocols/manchester.py +4 -4
  75. oscura/analyzers/protocols/onewire.py +253 -149
  76. oscura/analyzers/protocols/parallel_bus/__init__.py +20 -0
  77. oscura/analyzers/protocols/parallel_bus/centronics.py +92 -0
  78. oscura/analyzers/protocols/parallel_bus/gpib.py +137 -0
  79. oscura/analyzers/protocols/spi.py +192 -95
  80. oscura/analyzers/protocols/swd.py +321 -167
  81. oscura/analyzers/protocols/uart.py +267 -125
  82. oscura/analyzers/protocols/usb.py +235 -131
  83. oscura/analyzers/side_channel/power.py +17 -12
  84. oscura/analyzers/signal/__init__.py +15 -0
  85. oscura/analyzers/signal/timing_analysis.py +1086 -0
  86. oscura/analyzers/signal_integrity/__init__.py +4 -1
  87. oscura/analyzers/signal_integrity/sparams.py +2 -19
  88. oscura/analyzers/spectral/chunked.py +129 -60
  89. oscura/analyzers/spectral/chunked_fft.py +300 -94
  90. oscura/analyzers/spectral/chunked_wavelet.py +100 -80
  91. oscura/analyzers/statistical/checksum.py +376 -217
  92. oscura/analyzers/statistical/classification.py +229 -107
  93. oscura/analyzers/statistical/entropy.py +78 -53
  94. oscura/analyzers/statistics/correlation.py +407 -211
  95. oscura/analyzers/statistics/outliers.py +2 -2
  96. oscura/analyzers/statistics/streaming.py +30 -5
  97. oscura/analyzers/validation.py +216 -101
  98. oscura/analyzers/waveform/measurements.py +9 -0
  99. oscura/analyzers/waveform/measurements_with_uncertainty.py +31 -15
  100. oscura/analyzers/waveform/spectral.py +500 -228
  101. oscura/api/__init__.py +31 -5
  102. oscura/api/dsl/__init__.py +582 -0
  103. oscura/{dsl → api/dsl}/commands.py +43 -76
  104. oscura/{dsl → api/dsl}/interpreter.py +26 -51
  105. oscura/{dsl → api/dsl}/parser.py +107 -77
  106. oscura/{dsl → api/dsl}/repl.py +2 -2
  107. oscura/api/dsl.py +1 -1
  108. oscura/{integrations → api/integrations}/__init__.py +1 -1
  109. oscura/{integrations → api/integrations}/llm.py +201 -102
  110. oscura/api/operators.py +3 -3
  111. oscura/api/optimization.py +144 -30
  112. oscura/api/rest_server.py +921 -0
  113. oscura/api/server/__init__.py +17 -0
  114. oscura/api/server/dashboard.py +850 -0
  115. oscura/api/server/static/README.md +34 -0
  116. oscura/api/server/templates/base.html +181 -0
  117. oscura/api/server/templates/export.html +120 -0
  118. oscura/api/server/templates/home.html +284 -0
  119. oscura/api/server/templates/protocols.html +58 -0
  120. oscura/api/server/templates/reports.html +43 -0
  121. oscura/api/server/templates/session_detail.html +89 -0
  122. oscura/api/server/templates/sessions.html +83 -0
  123. oscura/api/server/templates/waveforms.html +73 -0
  124. oscura/automotive/__init__.py +8 -1
  125. oscura/automotive/can/__init__.py +10 -0
  126. oscura/automotive/can/checksum.py +3 -1
  127. oscura/automotive/can/dbc_generator.py +590 -0
  128. oscura/automotive/can/message_wrapper.py +121 -74
  129. oscura/automotive/can/patterns.py +98 -21
  130. oscura/automotive/can/session.py +292 -56
  131. oscura/automotive/can/state_machine.py +6 -3
  132. oscura/automotive/can/stimulus_response.py +97 -75
  133. oscura/automotive/dbc/__init__.py +10 -2
  134. oscura/automotive/dbc/generator.py +84 -56
  135. oscura/automotive/dbc/parser.py +6 -6
  136. oscura/automotive/dtc/data.json +2763 -0
  137. oscura/automotive/dtc/database.py +2 -2
  138. oscura/automotive/flexray/__init__.py +31 -0
  139. oscura/automotive/flexray/analyzer.py +504 -0
  140. oscura/automotive/flexray/crc.py +185 -0
  141. oscura/automotive/flexray/fibex.py +449 -0
  142. oscura/automotive/j1939/__init__.py +45 -8
  143. oscura/automotive/j1939/analyzer.py +605 -0
  144. oscura/automotive/j1939/spns.py +326 -0
  145. oscura/automotive/j1939/transport.py +306 -0
  146. oscura/automotive/lin/__init__.py +47 -0
  147. oscura/automotive/lin/analyzer.py +612 -0
  148. oscura/automotive/loaders/blf.py +13 -2
  149. oscura/automotive/loaders/csv_can.py +143 -72
  150. oscura/automotive/loaders/dispatcher.py +50 -2
  151. oscura/automotive/loaders/mdf.py +86 -45
  152. oscura/automotive/loaders/pcap.py +111 -61
  153. oscura/automotive/uds/__init__.py +4 -0
  154. oscura/automotive/uds/analyzer.py +725 -0
  155. oscura/automotive/uds/decoder.py +140 -58
  156. oscura/automotive/uds/models.py +7 -1
  157. oscura/automotive/visualization.py +1 -1
  158. oscura/cli/analyze.py +348 -0
  159. oscura/cli/batch.py +142 -122
  160. oscura/cli/benchmark.py +275 -0
  161. oscura/cli/characterize.py +137 -82
  162. oscura/cli/compare.py +224 -131
  163. oscura/cli/completion.py +250 -0
  164. oscura/cli/config_cmd.py +361 -0
  165. oscura/cli/decode.py +164 -87
  166. oscura/cli/export.py +286 -0
  167. oscura/cli/main.py +115 -31
  168. oscura/{onboarding → cli/onboarding}/__init__.py +3 -3
  169. oscura/{onboarding → cli/onboarding}/help.py +80 -58
  170. oscura/{onboarding → cli/onboarding}/tutorials.py +97 -72
  171. oscura/{onboarding → cli/onboarding}/wizard.py +55 -36
  172. oscura/cli/progress.py +147 -0
  173. oscura/cli/shell.py +157 -135
  174. oscura/cli/validate_cmd.py +204 -0
  175. oscura/cli/visualize.py +158 -0
  176. oscura/convenience.py +125 -79
  177. oscura/core/__init__.py +4 -2
  178. oscura/core/backend_selector.py +3 -3
  179. oscura/core/cache.py +126 -15
  180. oscura/core/cancellation.py +1 -1
  181. oscura/{config → core/config}/__init__.py +20 -11
  182. oscura/{config → core/config}/defaults.py +1 -1
  183. oscura/{config → core/config}/loader.py +7 -5
  184. oscura/{config → core/config}/memory.py +5 -5
  185. oscura/{config → core/config}/migration.py +1 -1
  186. oscura/{config → core/config}/pipeline.py +99 -23
  187. oscura/{config → core/config}/preferences.py +1 -1
  188. oscura/{config → core/config}/protocol.py +3 -3
  189. oscura/{config → core/config}/schema.py +426 -272
  190. oscura/{config → core/config}/settings.py +1 -1
  191. oscura/{config → core/config}/thresholds.py +195 -153
  192. oscura/core/correlation.py +5 -6
  193. oscura/core/cross_domain.py +0 -2
  194. oscura/core/debug.py +9 -5
  195. oscura/{extensibility → core/extensibility}/docs.py +158 -70
  196. oscura/{extensibility → core/extensibility}/extensions.py +160 -76
  197. oscura/{extensibility → core/extensibility}/logging.py +1 -1
  198. oscura/{extensibility → core/extensibility}/measurements.py +1 -1
  199. oscura/{extensibility → core/extensibility}/plugins.py +1 -1
  200. oscura/{extensibility → core/extensibility}/templates.py +73 -3
  201. oscura/{extensibility → core/extensibility}/validation.py +1 -1
  202. oscura/core/gpu_backend.py +11 -7
  203. oscura/core/log_query.py +101 -11
  204. oscura/core/logging.py +126 -54
  205. oscura/core/logging_advanced.py +5 -5
  206. oscura/core/memory_limits.py +108 -70
  207. oscura/core/memory_monitor.py +2 -2
  208. oscura/core/memory_progress.py +7 -7
  209. oscura/core/memory_warnings.py +1 -1
  210. oscura/core/numba_backend.py +13 -13
  211. oscura/{plugins → core/plugins}/__init__.py +9 -9
  212. oscura/{plugins → core/plugins}/base.py +7 -7
  213. oscura/{plugins → core/plugins}/cli.py +3 -3
  214. oscura/{plugins → core/plugins}/discovery.py +186 -106
  215. oscura/{plugins → core/plugins}/lifecycle.py +1 -1
  216. oscura/{plugins → core/plugins}/manager.py +7 -7
  217. oscura/{plugins → core/plugins}/registry.py +3 -3
  218. oscura/{plugins → core/plugins}/versioning.py +1 -1
  219. oscura/core/progress.py +16 -1
  220. oscura/core/provenance.py +8 -2
  221. oscura/{schemas → core/schemas}/__init__.py +2 -2
  222. oscura/core/schemas/bus_configuration.json +322 -0
  223. oscura/core/schemas/device_mapping.json +182 -0
  224. oscura/core/schemas/packet_format.json +418 -0
  225. oscura/core/schemas/protocol_definition.json +363 -0
  226. oscura/core/types.py +4 -0
  227. oscura/core/uncertainty.py +3 -3
  228. oscura/correlation/__init__.py +52 -0
  229. oscura/correlation/multi_protocol.py +811 -0
  230. oscura/discovery/auto_decoder.py +117 -35
  231. oscura/discovery/comparison.py +191 -86
  232. oscura/discovery/quality_validator.py +155 -68
  233. oscura/discovery/signal_detector.py +196 -79
  234. oscura/export/__init__.py +18 -20
  235. oscura/export/kaitai_struct.py +513 -0
  236. oscura/export/scapy_layer.py +801 -0
  237. oscura/export/wireshark/README.md +15 -15
  238. oscura/export/wireshark/generator.py +1 -1
  239. oscura/export/wireshark/templates/dissector.lua.j2 +2 -2
  240. oscura/export/wireshark_dissector.py +746 -0
  241. oscura/guidance/wizard.py +207 -111
  242. oscura/hardware/__init__.py +19 -0
  243. oscura/{acquisition → hardware/acquisition}/__init__.py +4 -4
  244. oscura/{acquisition → hardware/acquisition}/file.py +2 -2
  245. oscura/{acquisition → hardware/acquisition}/hardware.py +7 -7
  246. oscura/{acquisition → hardware/acquisition}/saleae.py +15 -12
  247. oscura/{acquisition → hardware/acquisition}/socketcan.py +1 -1
  248. oscura/{acquisition → hardware/acquisition}/streaming.py +2 -2
  249. oscura/{acquisition → hardware/acquisition}/synthetic.py +3 -3
  250. oscura/{acquisition → hardware/acquisition}/visa.py +33 -11
  251. oscura/hardware/firmware/__init__.py +29 -0
  252. oscura/hardware/firmware/pattern_recognition.py +874 -0
  253. oscura/hardware/hal_detector.py +736 -0
  254. oscura/hardware/security/__init__.py +37 -0
  255. oscura/hardware/security/side_channel_detector.py +1126 -0
  256. oscura/inference/__init__.py +4 -0
  257. oscura/inference/active_learning/README.md +7 -7
  258. oscura/inference/active_learning/observation_table.py +4 -1
  259. oscura/inference/alignment.py +216 -123
  260. oscura/inference/bayesian.py +113 -33
  261. oscura/inference/crc_reverse.py +101 -55
  262. oscura/inference/logic.py +6 -2
  263. oscura/inference/message_format.py +342 -183
  264. oscura/inference/protocol.py +95 -44
  265. oscura/inference/protocol_dsl.py +180 -82
  266. oscura/inference/signal_intelligence.py +1439 -706
  267. oscura/inference/spectral.py +99 -57
  268. oscura/inference/state_machine.py +810 -158
  269. oscura/inference/stream.py +270 -110
  270. oscura/iot/__init__.py +34 -0
  271. oscura/iot/coap/__init__.py +32 -0
  272. oscura/iot/coap/analyzer.py +668 -0
  273. oscura/iot/coap/options.py +212 -0
  274. oscura/iot/lorawan/__init__.py +21 -0
  275. oscura/iot/lorawan/crypto.py +206 -0
  276. oscura/iot/lorawan/decoder.py +801 -0
  277. oscura/iot/lorawan/mac_commands.py +341 -0
  278. oscura/iot/mqtt/__init__.py +27 -0
  279. oscura/iot/mqtt/analyzer.py +999 -0
  280. oscura/iot/mqtt/properties.py +315 -0
  281. oscura/iot/zigbee/__init__.py +31 -0
  282. oscura/iot/zigbee/analyzer.py +615 -0
  283. oscura/iot/zigbee/security.py +153 -0
  284. oscura/iot/zigbee/zcl.py +349 -0
  285. oscura/jupyter/display.py +125 -45
  286. oscura/{exploratory → jupyter/exploratory}/__init__.py +8 -8
  287. oscura/{exploratory → jupyter/exploratory}/error_recovery.py +298 -141
  288. oscura/jupyter/exploratory/fuzzy.py +746 -0
  289. oscura/{exploratory → jupyter/exploratory}/fuzzy_advanced.py +258 -100
  290. oscura/{exploratory → jupyter/exploratory}/legacy.py +464 -242
  291. oscura/{exploratory → jupyter/exploratory}/parse.py +167 -145
  292. oscura/{exploratory → jupyter/exploratory}/recovery.py +119 -87
  293. oscura/jupyter/exploratory/sync.py +612 -0
  294. oscura/{exploratory → jupyter/exploratory}/unknown.py +299 -176
  295. oscura/jupyter/magic.py +4 -4
  296. oscura/{ui → jupyter/ui}/__init__.py +2 -2
  297. oscura/{ui → jupyter/ui}/formatters.py +3 -3
  298. oscura/{ui → jupyter/ui}/progressive_display.py +153 -82
  299. oscura/loaders/__init__.py +171 -63
  300. oscura/loaders/binary.py +88 -1
  301. oscura/loaders/chipwhisperer.py +153 -137
  302. oscura/loaders/configurable.py +208 -86
  303. oscura/loaders/csv_loader.py +458 -215
  304. oscura/loaders/hdf5_loader.py +278 -119
  305. oscura/loaders/lazy.py +87 -54
  306. oscura/loaders/mmap_loader.py +1 -1
  307. oscura/loaders/numpy_loader.py +253 -116
  308. oscura/loaders/pcap.py +226 -151
  309. oscura/loaders/rigol.py +110 -49
  310. oscura/loaders/sigrok.py +201 -78
  311. oscura/loaders/tdms.py +81 -58
  312. oscura/loaders/tektronix.py +291 -174
  313. oscura/loaders/touchstone.py +182 -87
  314. oscura/loaders/vcd.py +215 -117
  315. oscura/loaders/wav.py +155 -68
  316. oscura/reporting/__init__.py +9 -7
  317. oscura/reporting/analyze.py +352 -146
  318. oscura/reporting/argument_preparer.py +69 -14
  319. oscura/reporting/auto_report.py +97 -61
  320. oscura/reporting/batch.py +131 -58
  321. oscura/reporting/chart_selection.py +57 -45
  322. oscura/reporting/comparison.py +63 -17
  323. oscura/reporting/content/executive.py +76 -24
  324. oscura/reporting/core_formats/multi_format.py +11 -8
  325. oscura/reporting/engine.py +312 -158
  326. oscura/reporting/enhanced_reports.py +949 -0
  327. oscura/reporting/export.py +86 -43
  328. oscura/reporting/formatting/numbers.py +69 -42
  329. oscura/reporting/html.py +139 -58
  330. oscura/reporting/index.py +137 -65
  331. oscura/reporting/output.py +158 -67
  332. oscura/reporting/pdf.py +67 -102
  333. oscura/reporting/plots.py +191 -112
  334. oscura/reporting/sections.py +88 -47
  335. oscura/reporting/standards.py +104 -61
  336. oscura/reporting/summary_generator.py +75 -55
  337. oscura/reporting/tables.py +138 -54
  338. oscura/reporting/templates/enhanced/protocol_re.html +525 -0
  339. oscura/reporting/templates/index.md +13 -13
  340. oscura/sessions/__init__.py +14 -23
  341. oscura/sessions/base.py +3 -3
  342. oscura/sessions/blackbox.py +106 -10
  343. oscura/sessions/generic.py +2 -2
  344. oscura/sessions/legacy.py +783 -0
  345. oscura/side_channel/__init__.py +63 -0
  346. oscura/side_channel/dpa.py +1025 -0
  347. oscura/utils/__init__.py +15 -1
  348. oscura/utils/autodetect.py +1 -5
  349. oscura/utils/bitwise.py +118 -0
  350. oscura/{builders → utils/builders}/__init__.py +1 -1
  351. oscura/{comparison → utils/comparison}/__init__.py +6 -6
  352. oscura/{comparison → utils/comparison}/compare.py +202 -101
  353. oscura/{comparison → utils/comparison}/golden.py +83 -63
  354. oscura/{comparison → utils/comparison}/limits.py +313 -89
  355. oscura/{comparison → utils/comparison}/mask.py +151 -45
  356. oscura/{comparison → utils/comparison}/trace_diff.py +1 -1
  357. oscura/{comparison → utils/comparison}/visualization.py +147 -89
  358. oscura/{component → utils/component}/__init__.py +3 -3
  359. oscura/{component → utils/component}/impedance.py +122 -58
  360. oscura/{component → utils/component}/reactive.py +165 -168
  361. oscura/{component → utils/component}/transmission_line.py +3 -3
  362. oscura/{filtering → utils/filtering}/__init__.py +6 -6
  363. oscura/{filtering → utils/filtering}/base.py +1 -1
  364. oscura/{filtering → utils/filtering}/convenience.py +2 -2
  365. oscura/{filtering → utils/filtering}/design.py +169 -93
  366. oscura/{filtering → utils/filtering}/filters.py +2 -2
  367. oscura/{filtering → utils/filtering}/introspection.py +2 -2
  368. oscura/utils/geometry.py +31 -0
  369. oscura/utils/imports.py +184 -0
  370. oscura/utils/lazy.py +1 -1
  371. oscura/{math → utils/math}/__init__.py +2 -2
  372. oscura/{math → utils/math}/arithmetic.py +114 -48
  373. oscura/{math → utils/math}/interpolation.py +139 -106
  374. oscura/utils/memory.py +129 -66
  375. oscura/utils/memory_advanced.py +92 -9
  376. oscura/utils/memory_extensions.py +10 -8
  377. oscura/{optimization → utils/optimization}/__init__.py +1 -1
  378. oscura/{optimization → utils/optimization}/search.py +2 -2
  379. oscura/utils/performance/__init__.py +58 -0
  380. oscura/utils/performance/caching.py +889 -0
  381. oscura/utils/performance/lsh_clustering.py +333 -0
  382. oscura/utils/performance/memory_optimizer.py +699 -0
  383. oscura/utils/performance/optimizations.py +675 -0
  384. oscura/utils/performance/parallel.py +654 -0
  385. oscura/utils/performance/profiling.py +661 -0
  386. oscura/{pipeline → utils/pipeline}/base.py +1 -1
  387. oscura/{pipeline → utils/pipeline}/composition.py +11 -3
  388. oscura/{pipeline → utils/pipeline}/parallel.py +3 -2
  389. oscura/{pipeline → utils/pipeline}/pipeline.py +1 -1
  390. oscura/{pipeline → utils/pipeline}/reverse_engineering.py +412 -221
  391. oscura/{search → utils/search}/__init__.py +3 -3
  392. oscura/{search → utils/search}/anomaly.py +188 -58
  393. oscura/utils/search/context.py +294 -0
  394. oscura/{search → utils/search}/pattern.py +138 -10
  395. oscura/utils/serial.py +51 -0
  396. oscura/utils/storage/__init__.py +61 -0
  397. oscura/utils/storage/database.py +1166 -0
  398. oscura/{streaming → utils/streaming}/chunked.py +302 -143
  399. oscura/{streaming → utils/streaming}/progressive.py +1 -1
  400. oscura/{streaming → utils/streaming}/realtime.py +3 -2
  401. oscura/{triggering → utils/triggering}/__init__.py +6 -6
  402. oscura/{triggering → utils/triggering}/base.py +6 -6
  403. oscura/{triggering → utils/triggering}/edge.py +2 -2
  404. oscura/{triggering → utils/triggering}/pattern.py +2 -2
  405. oscura/{triggering → utils/triggering}/pulse.py +115 -74
  406. oscura/{triggering → utils/triggering}/window.py +2 -2
  407. oscura/utils/validation.py +32 -0
  408. oscura/validation/__init__.py +121 -0
  409. oscura/{compliance → validation/compliance}/__init__.py +5 -5
  410. oscura/{compliance → validation/compliance}/advanced.py +5 -5
  411. oscura/{compliance → validation/compliance}/masks.py +1 -1
  412. oscura/{compliance → validation/compliance}/reporting.py +127 -53
  413. oscura/{compliance → validation/compliance}/testing.py +114 -52
  414. oscura/validation/compliance_tests.py +915 -0
  415. oscura/validation/fuzzer.py +990 -0
  416. oscura/validation/grammar_tests.py +596 -0
  417. oscura/validation/grammar_validator.py +904 -0
  418. oscura/validation/hil_testing.py +977 -0
  419. oscura/{quality → validation/quality}/__init__.py +4 -4
  420. oscura/{quality → validation/quality}/ensemble.py +251 -171
  421. oscura/{quality → validation/quality}/explainer.py +3 -3
  422. oscura/{quality → validation/quality}/scoring.py +1 -1
  423. oscura/{quality → validation/quality}/warnings.py +4 -4
  424. oscura/validation/regression_suite.py +808 -0
  425. oscura/validation/replay.py +788 -0
  426. oscura/{testing → validation/testing}/__init__.py +2 -2
  427. oscura/{testing → validation/testing}/synthetic.py +5 -5
  428. oscura/visualization/__init__.py +9 -0
  429. oscura/visualization/accessibility.py +1 -1
  430. oscura/visualization/annotations.py +64 -67
  431. oscura/visualization/colors.py +7 -7
  432. oscura/visualization/digital.py +180 -81
  433. oscura/visualization/eye.py +236 -85
  434. oscura/visualization/interactive.py +320 -143
  435. oscura/visualization/jitter.py +587 -247
  436. oscura/visualization/layout.py +169 -134
  437. oscura/visualization/optimization.py +103 -52
  438. oscura/visualization/palettes.py +1 -1
  439. oscura/visualization/power.py +427 -211
  440. oscura/visualization/power_extended.py +626 -297
  441. oscura/visualization/presets.py +2 -0
  442. oscura/visualization/protocols.py +495 -181
  443. oscura/visualization/render.py +79 -63
  444. oscura/visualization/reverse_engineering.py +171 -124
  445. oscura/visualization/signal_integrity.py +460 -279
  446. oscura/visualization/specialized.py +190 -100
  447. oscura/visualization/spectral.py +670 -255
  448. oscura/visualization/thumbnails.py +166 -137
  449. oscura/visualization/waveform.py +150 -63
  450. oscura/workflows/__init__.py +3 -0
  451. oscura/{batch → workflows/batch}/__init__.py +5 -5
  452. oscura/{batch → workflows/batch}/advanced.py +150 -75
  453. oscura/workflows/batch/aggregate.py +531 -0
  454. oscura/workflows/batch/analyze.py +236 -0
  455. oscura/{batch → workflows/batch}/logging.py +2 -2
  456. oscura/{batch → workflows/batch}/metrics.py +1 -1
  457. oscura/workflows/complete_re.py +1144 -0
  458. oscura/workflows/compliance.py +44 -54
  459. oscura/workflows/digital.py +197 -51
  460. oscura/workflows/legacy/__init__.py +12 -0
  461. oscura/{workflow → workflows/legacy}/dag.py +4 -1
  462. oscura/workflows/multi_trace.py +9 -9
  463. oscura/workflows/power.py +42 -62
  464. oscura/workflows/protocol.py +82 -49
  465. oscura/workflows/reverse_engineering.py +351 -150
  466. oscura/workflows/signal_integrity.py +157 -82
  467. oscura-0.6.0.dist-info/METADATA +643 -0
  468. oscura-0.6.0.dist-info/RECORD +590 -0
  469. oscura/analyzers/digital/ic_database.py +0 -498
  470. oscura/analyzers/digital/timing_paths.py +0 -339
  471. oscura/analyzers/digital/vintage.py +0 -377
  472. oscura/analyzers/digital/vintage_result.py +0 -148
  473. oscura/analyzers/protocols/parallel_bus.py +0 -449
  474. oscura/batch/aggregate.py +0 -300
  475. oscura/batch/analyze.py +0 -139
  476. oscura/dsl/__init__.py +0 -73
  477. oscura/exceptions.py +0 -59
  478. oscura/exploratory/fuzzy.py +0 -513
  479. oscura/exploratory/sync.py +0 -384
  480. oscura/export/wavedrom.py +0 -430
  481. oscura/exporters/__init__.py +0 -94
  482. oscura/exporters/csv.py +0 -303
  483. oscura/exporters/exporters.py +0 -44
  484. oscura/exporters/hdf5.py +0 -217
  485. oscura/exporters/html_export.py +0 -701
  486. oscura/exporters/json_export.py +0 -338
  487. oscura/exporters/markdown_export.py +0 -367
  488. oscura/exporters/matlab_export.py +0 -354
  489. oscura/exporters/npz_export.py +0 -219
  490. oscura/exporters/spice_export.py +0 -210
  491. oscura/exporters/vintage_logic_csv.py +0 -247
  492. oscura/reporting/vintage_logic_report.py +0 -523
  493. oscura/search/context.py +0 -149
  494. oscura/session/__init__.py +0 -34
  495. oscura/session/annotations.py +0 -289
  496. oscura/session/history.py +0 -313
  497. oscura/session/session.py +0 -520
  498. oscura/visualization/digital_advanced.py +0 -718
  499. oscura/visualization/figure_manager.py +0 -156
  500. oscura/workflow/__init__.py +0 -13
  501. oscura-0.5.0.dist-info/METADATA +0 -407
  502. oscura-0.5.0.dist-info/RECORD +0 -486
  503. /oscura/core/{config.py → config/legacy.py} +0 -0
  504. /oscura/{extensibility → core/extensibility}/__init__.py +0 -0
  505. /oscura/{extensibility → core/extensibility}/registry.py +0 -0
  506. /oscura/{plugins → core/plugins}/isolation.py +0 -0
  507. /oscura/{builders → utils/builders}/signal_builder.py +0 -0
  508. /oscura/{optimization → utils/optimization}/parallel.py +0 -0
  509. /oscura/{pipeline → utils/pipeline}/__init__.py +0 -0
  510. /oscura/{streaming → utils/streaming}/__init__.py +0 -0
  511. {oscura-0.5.0.dist-info → oscura-0.6.0.dist-info}/WHEEL +0 -0
  512. {oscura-0.5.0.dist-info → oscura-0.6.0.dist-info}/entry_points.txt +0 -0
  513. {oscura-0.5.0.dist-info → oscura-0.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,486 +0,0 @@
1
- oscura/__init__.py,sha256=JQy7jHn9bhuDQajZSL5Eq4H31pUdqNMEakzDrEf1FIQ,18313
2
- oscura/__main__.py,sha256=l1rnaD-tpI1W3cp1VHGhSdq9NDqw6Gxjf_gnqXf-zzE,11786
3
- oscura/convenience.py,sha256=o8f1Im8WpakGXRz8D4bV-XSNkzpgnVjsyVxnaxZ-dg4,14612
4
- oscura/exceptions.py,sha256=Ywyi7IhEG9XmbceCxAcLGKAddAOdP9Ph1ZT2NioMQCU,1606
5
- oscura/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- oscura/acquisition/__init__.py,sha256=JAQt5FXsGiKPkqHuyWJoGVnGf1ElSRXqGxJdjcDLLho,4834
7
- oscura/acquisition/file.py,sha256=nrOWunIGxUaF-B946ZKwME4f-8jbWhp3z3BadvCuUw0,8426
8
- oscura/acquisition/hardware.py,sha256=-BrIi0aLoVBTVIh5gdTvYY5OrDPIv06wxrx28GJw7j8,6598
9
- oscura/acquisition/saleae.py,sha256=D61v7_k-zZzor-jiYHFwjd-u8VFo93spQ3_m7Jhk_Dc,11438
10
- oscura/acquisition/socketcan.py,sha256=ifs7Chv-pk4LLYTvfe4-9xS2-vbe4efqVd1azIYLexE,10575
11
- oscura/acquisition/streaming.py,sha256=P57M8S33DGIeoDUSBHm3bzoKfNIDZkYE4dODPNeJy78,1191
12
- oscura/acquisition/synthetic.py,sha256=VXhz5W0gzwE3_Ezo7hADwfFoTV5pOixpPCVNPMngNAo,7823
13
- oscura/acquisition/visa.py,sha256=phUwdlbphvNhSCaRgIXuPb8YDP0jR4eqY-OuJXCgRCo,12272
14
- oscura/analyzers/__init__.py,sha256=LE-KFYoVePYsiPIy2NDNB2OrzbtqYezdCu9xqqPxgrY,985
15
- oscura/analyzers/measurements.py,sha256=ng5Qt2jyAvfKw3JQbJY_JNUqAOJEZwPo3UWa0xSg5Xk,697
16
- oscura/analyzers/validation.py,sha256=vHSKmLThwcU0j5Dat9QPbWImw_dqUGaZk_Ul6XbJ958,20376
17
- oscura/analyzers/digital/__init__.py,sha256=uvsCUtA1V3PIinIf2l2CXPShx4qIYzNtD-oIGfFBU6E,5399
18
- oscura/analyzers/digital/bus.py,sha256=Wf3QUKNSxzXaWItR1rdf32kELayywrIg0TC-OhKEub0,22717
19
- oscura/analyzers/digital/clock.py,sha256=2WihQyf2fUlKTDAOKrhQSStiuUw711CvR6bMbkiliAc,26088
20
- oscura/analyzers/digital/correlation.py,sha256=_D-pmymVU1rTemSUfg_MklXCo03VkfAFcxSTLAV6jcY,23689
21
- oscura/analyzers/digital/edges.py,sha256=-Mlyh_SFkqs7L2n11bfYlv8bHD-jrfV6UByhXS1DLp0,20018
22
- oscura/analyzers/digital/extraction.py,sha256=OhePZrtAPHmUKbtEc3_lVXBKak2wT8OQD0ELJI69uIA,17980
23
- oscura/analyzers/digital/ic_database.py,sha256=UUyeK1ckJXzv3oKhNOMJQcm9kmCx6g6SBA-eVHvvGO4,12393
24
- oscura/analyzers/digital/quality.py,sha256=bMXpmAhs15tjyiWW0Ao5aZcK_8AvEKyo_E3rtxDrFlo,27413
25
- oscura/analyzers/digital/signal_quality.py,sha256=Ssb1MkUfqjiENJJFOslkTX8Ef6C65HFCM_Ra20Bvp4k,30130
26
- oscura/analyzers/digital/thresholds.py,sha256=CrGgO1rtzkUOnYb40UT3_uD_0qVA853lGL2WNL95qv4,22428
27
- oscura/analyzers/digital/timing.py,sha256=eOo1jk-FfUd3tkqDndPTz-JO5tnfW9w4dEI-klgW-QU,34862
28
- oscura/analyzers/digital/timing_paths.py,sha256=SQY7L7QPEm3IuiZGRULJtRJT1AbSLrc4OtKbahwb4eo,10433
29
- oscura/analyzers/digital/vintage.py,sha256=3Ayufv-q2B4flhSG2DOrJkrIuiHnHDv5hbUHTR3dQQU,13910
30
- oscura/analyzers/digital/vintage_result.py,sha256=Rn71FVyptdbP1gF-TvR3VX5ANIW2bi5YpM8huxyLKyU,4575
31
- oscura/analyzers/eye/__init__.py,sha256=SRW0Ir-1RWLwoaenk6FZhGOIWPkuhevYTPt_-8thPw0,974
32
- oscura/analyzers/eye/diagram.py,sha256=T3QwuZ3nvlHzSkmjp47ariRlt3FnfsK6yh3WsPszhmI,13307
33
- oscura/analyzers/eye/metrics.py,sha256=QDwtMxiBPSXbUCyFnTiAgWllbVCrcI4xEo6teZc3Cm8,17210
34
- oscura/analyzers/jitter/__init__.py,sha256=DNfsUPtjvncreFNmPWegbWdl6ct4E0sTV6JjrTEp7O0,2132
35
- oscura/analyzers/jitter/ber.py,sha256=XvLfZZexJH5C43kjOk6CQWT5KzlQ0k6sQMn9kHwM2nM,9125
36
- oscura/analyzers/jitter/decomposition.py,sha256=ntgQtAOK4CJg-W6xIr7kknyAHnsdGgqdL9lP1xRot9s,24282
37
- oscura/analyzers/jitter/measurements.py,sha256=xAxw_82M8v6Vq3oPMmGN44LzAUOmpi-YoLs58fCpA8Q,12417
38
- oscura/analyzers/jitter/spectrum.py,sha256=wkud4VBrb4EjneouC9t5bARIfm2w7AKWcpekmYchjTI,6284
39
- oscura/analyzers/packet/__init__.py,sha256=HNhAvW_T-P6OXlgCid01Jq8qfhgFtvABw-Tn7XLFoNU,3937
40
- oscura/analyzers/packet/daq.py,sha256=thZEJmYoGgvfy_tQ4YealiooEErJlinbdOsvr9CO4hs,33756
41
- oscura/analyzers/packet/metrics.py,sha256=MyCeg4YX0Z6illSs_o7LleFksjVD3OLb7eh5wAzhVjs,11456
42
- oscura/analyzers/packet/parser.py,sha256=cWYxk_e98ePnh2_2pCKX9Y9-1SHx8zmbPCzyQUkFxUw,8760
43
- oscura/analyzers/packet/payload.py,sha256=z_Dr6yiEFLeDzUeGCCijetjscqyvhdzZoPIfS4ICXKw,65662
44
- oscura/analyzers/packet/payload_analysis.py,sha256=TN4Awhm1hdLVCobs3fdWOs45fc4t2dtg4Kn8ffNoiQw,40090
45
- oscura/analyzers/packet/payload_extraction.py,sha256=yBJG-KbljlIyA2hZCv3N5L_eBrkXnS0wXp-EBpKpiX4,7752
46
- oscura/analyzers/packet/payload_patterns.py,sha256=iTbA_e3E2bBg92MqIYMnVBeZyN75k6zslXnoKirKq38,19621
47
- oscura/analyzers/packet/stream.py,sha256=TAiKWUbRX0lyeRqJhHjytF4VNvjGSzurItwPMqXv-_I,8795
48
- oscura/analyzers/patterns/__init__.py,sha256=bx4zA-qEr9CJ0BRF-Vcc0ZSgD8L-JkG6IF96bSntlvg,6793
49
- oscura/analyzers/patterns/clustering.py,sha256=-2MmW7d3EcC44PLaCsxGjDkz-Q-QWoCvaY_0c7G2reQ,32843
50
- oscura/analyzers/patterns/discovery.py,sha256=SxUjvTAqU85-4l9RlcQreCiYFMC3lWXOZCerxbbo2lk,17147
51
- oscura/analyzers/patterns/learning.py,sha256=aRhE3vLg6fX1a1aD2Lpseil_4EFcrL9vitDotNWOC9w,23826
52
- oscura/analyzers/patterns/matching.py,sha256=SvW0w6RPLbwH43Pn5hPbSExw5MEugVah1bJWkfbELmI,34945
53
- oscura/analyzers/patterns/periodic.py,sha256=5uBAuYFDlnvSbfSr128dZ_K1JKgiUuADM7X4P6oLhu0,20263
54
- oscura/analyzers/patterns/sequences.py,sha256=RH0OGvCVerhfII3pESqQse39spHS9FrkzqppN9F-4ME,23762
55
- oscura/analyzers/power/__init__.py,sha256=MD2seC2_PLHzpR1ZUKnM43ZPsZy0Fa9_mIdMrGlQvoo,2755
56
- oscura/analyzers/power/ac_power.py,sha256=8Oblosut_--CniQcoUGOwdACt2UmUznCu0cSsUCKQs4,10400
57
- oscura/analyzers/power/basic.py,sha256=K6NYIlPkz5_hbHehtUq9MEEKjULqzc7pkCHy2cp6nfQ,11357
58
- oscura/analyzers/power/conduction.py,sha256=O6cslJGKBXtoKnXfp5rFkDFX865SHa9gv1WLmkrRDaw,8635
59
- oscura/analyzers/power/efficiency.py,sha256=_jJXrLOzzzMrMhEwGQi6zP5vUscM9vEvezoHtwwjD04,8695
60
- oscura/analyzers/power/ripple.py,sha256=4JZVeZxEivzoThKKTynSTgWEU_453QcoRtASmaYgt5s,10168
61
- oscura/analyzers/power/soa.py,sha256=lz6ExB-j-nCWAFSuPVd-TeSA4KD3QEasvZTzhBCaKnE,11019
62
- oscura/analyzers/power/switching.py,sha256=6GKfrM0LBfsSFoCCK8kAGQ48tbxnPsUWQ393iypBb0A,15884
63
- oscura/analyzers/protocol/__init__.py,sha256=DKCoqmpPHgB-Bz65GXArcoqScd714GAbL2eFxcccZEY,3035
64
- oscura/analyzers/protocols/__init__.py,sha256=B6ovQ3U_QFXrnaqIiEpywOYOFhYuRgwG9aoVqL1zd4I,3861
65
- oscura/analyzers/protocols/base.py,sha256=muw9p0LbItduhB2qgt8F0aGodeyVrbM_-6rIIk6ZPfA,13651
66
- oscura/analyzers/protocols/can.py,sha256=pJGzMrjYJcaPrShdCxw7EMzwUlSNyvhBfuzOUha4JeQ,17810
67
- oscura/analyzers/protocols/can_fd.py,sha256=MYyB9y6LqUy1zZW0papzajU_RMJFnQeW2_6LTv9qjSM,12992
68
- oscura/analyzers/protocols/flexray.py,sha256=5mvvFns-T2REpeb9TmcYh1OC_Na0Yych4tBpHYaJOZQ,12421
69
- oscura/analyzers/protocols/hdlc.py,sha256=2iPmwyTisV9efRYK31sVi6T_-7uK5Jvj0KeOT2c1d8I,11360
70
- oscura/analyzers/protocols/i2c.py,sha256=D5w9sI6IAiqVtcTw21h48LJuxJRV02lNDky0agC2rgY,10672
71
- oscura/analyzers/protocols/i2s.py,sha256=r7cK-XDibwvfstIqdGSfEmTbyVsbj82bh5bYIQ6wYqM,9651
72
- oscura/analyzers/protocols/jtag.py,sha256=CEQWx6g22v2fc14c7d8r2dyeqyfslA9BjKOdl0Watpw,12618
73
- oscura/analyzers/protocols/lin.py,sha256=JEzF105t-3NeZGx0o-jrOj8JJ5NbU-ZgIWa9r_tKEOw,13692
74
- oscura/analyzers/protocols/manchester.py,sha256=C01r2u-DZQ-Zlb9P2wYHa-YpKz48HM7wSQAhSdrXNTI,10279
75
- oscura/analyzers/protocols/onewire.py,sha256=rZHg1zEuIIeHDqKhGS5LEC8lwiWGtdtW0i3Eo8RblFo,15852
76
- oscura/analyzers/protocols/parallel_bus.py,sha256=sv0e_GzmcwnP_3nPz10ycWrLbaciuD5QoKVaE7q6vpw,14498
77
- oscura/analyzers/protocols/spi.py,sha256=gl0LVpZVI22tr7h5D1OAdDtlY_krb7CdNCNP10DirRI,10740
78
- oscura/analyzers/protocols/swd.py,sha256=NAInX2bZyZFCM03CLjjxraYTV7cCGOzcl_OEXU21qZE,10155
79
- oscura/analyzers/protocols/uart.py,sha256=6bf9EFHjHjkSeTxBq8b6GRlp1xWlBh65HuUcmWxWAEA,12188
80
- oscura/analyzers/protocols/usb.py,sha256=jBjmqfqnwys6Zvd7Ku-zZRNlOVZB7xKPmocM2NynGg4,14541
81
- oscura/analyzers/side_channel/__init__.py,sha256=XGD7uvvL6Mf2FO6VU5fbBTtfARA-WGXa-rvHAbjNBxc,1361
82
- oscura/analyzers/side_channel/power.py,sha256=036A5ygwGVa5jqOFoOWm1bV-x63FrztyCS8cIEc68wo,17995
83
- oscura/analyzers/side_channel/timing.py,sha256=loNKa5dgWu9sFTsKCNt087vqYCjBIVVQn3lzQBb3pQc,12128
84
- oscura/analyzers/signal_integrity/__init__.py,sha256=RXt5K79WFsy3NvJuNjVxWCf0r6Z8kOIBvJSBBw4X2Y8,1410
85
- oscura/analyzers/signal_integrity/embedding.py,sha256=LV-8TwSfCfFe-TavXXKOw7eIeigxkvKeJktyQiqcZXg,8036
86
- oscura/analyzers/signal_integrity/equalization.py,sha256=cVomry8n-U5pS8F2LKuEdZBwmi1wfbQo2vyWettn2A0,9906
87
- oscura/analyzers/signal_integrity/sparams.py,sha256=TK4o-IOfnVVbfycBgJ0XhTgBYxHcBNdFbmC9TXhfMJs,8303
88
- oscura/analyzers/spectral/__init__.py,sha256=YeUKiUOtN3LkWjPmjiG55OWMldSaBJ4BE4OSem7sdm0,850
89
- oscura/analyzers/spectral/chunked.py,sha256=KS1Jtv_o9vripQVH3CeaTBx-Lq4AAU-eOXF9_En3rc4,8551
90
- oscura/analyzers/spectral/chunked_fft.py,sha256=VKslVgXv7xuSuVVx-Fk2eh255AG6D0D-hQFzAbz1Hk4,18593
91
- oscura/analyzers/spectral/chunked_wavelet.py,sha256=MBw0UfYWxL-aoVHsotgkDQGfWNZXvtzJwDHQknh1QPc,13243
92
- oscura/analyzers/spectral/fft.py,sha256=9YtGu5-2EO1loRhnyWkANTBIZpkM0VL3gk4enAtZ6Xs,2401
93
- oscura/analyzers/statistical/__init__.py,sha256=dsmCm6ALoEDpc81Bav3jMyuLi0GPLbEvqUj8J9aQAzY,6058
94
- oscura/analyzers/statistical/checksum.py,sha256=yicqU03V96vwUxRLncXfMdQuAeLFlSBo6P0dQCB2lYU,28437
95
- oscura/analyzers/statistical/chunked_corr.py,sha256=B9SXVXZKyNfUJ5uSCw8kX4oxYkrIO4cX096SMvo5DZg,6906
96
- oscura/analyzers/statistical/classification.py,sha256=TRDXbmPMw4fwwzkU4qPlXhswWHrEeYQiOwxu1Wudg0o,25054
97
- oscura/analyzers/statistical/entropy.py,sha256=9VChRTtcjf8tKlnKQfW7xYPtkZT8Pb4_qTFmfuHQbNk,35387
98
- oscura/analyzers/statistical/ngrams.py,sha256=lsmhIFMYncX7nymdFMi916Nd1BwlPsgVMMPCF3qadMk,18054
99
- oscura/analyzers/statistics/__init__.py,sha256=5dMDFjrxnhVJUqFxnYZL_EhVBDI5SZojJ54HbtHASHs,2743
100
- oscura/analyzers/statistics/advanced.py,sha256=XeIlZR8COj1yF7OtRZfZ5KWBLYXUSqgN2hNmtiLAD0g,26800
101
- oscura/analyzers/statistics/basic.py,sha256=Utdf7Cvg2o9TXUQEq1qeEp-W5lb28uECmzjHEKiCW2c,7115
102
- oscura/analyzers/statistics/correlation.py,sha256=GCQqKAoTVhhBcr1Sr4Ydrr7aa2A1zRf210U263ZflWc,20919
103
- oscura/analyzers/statistics/distribution.py,sha256=ps2lXgWGYsUBTpGaftC5Qdz7GlDqJmB6z4uXaTeaLao,8916
104
- oscura/analyzers/statistics/outliers.py,sha256=X8-GfQgSOy7l89E-K-wtmgHCfrWwdr1CqF18Oi4s0UI,14727
105
- oscura/analyzers/statistics/streaming.py,sha256=eCvh1TpHF-dMGXJ70eews8_xD6Bxol-ZK6V-dn7tjns,2662
106
- oscura/analyzers/statistics/trend.py,sha256=Tu0gUZqy4PJ7Ne7YzRuJGU80DUl71Onc3QXsbaiuLjU,15565
107
- oscura/analyzers/waveform/__init__.py,sha256=icFPs-NPaiaNzxjFfzOcMP613jzbqTz_5OgwnJbx7i4,560
108
- oscura/analyzers/waveform/measurements.py,sha256=3cbnkww2joC6-HS3np-4MvbzCuHSJ_DRv1gz3pLL7tE,25879
109
- oscura/analyzers/waveform/measurements_with_uncertainty.py,sha256=El_71HBD5tVTS5PKVqDosKhnE3X-1auuRf41wK4On2k,12490
110
- oscura/analyzers/waveform/spectral.py,sha256=r0vXTqiZspWu8vt1PhzNyj9TBxialJEmahtqFFYUa5g,49899
111
- oscura/analyzers/waveform/wavelets.py,sha256=rKoqiKmuLQ9iKMFshJam7wdn6fL6sFcJY_-J0fYl5F4,10116
112
- oscura/api/__init__.py,sha256=L2iv2mIixN-IYn_Jp7Q_4z0TNTbLtH_luzBcKeVlOXQ,1232
113
- oscura/api/dsl.py,sha256=dAjZIKV85zwb-sA9LE84gRwHV2qHyACD1_WEXRbobsY,14896
114
- oscura/api/fluent.py,sha256=Bvo1yVqqn3nmVWaoPv4C-YtYszBhHmdW8m5NdyhWEEo,15373
115
- oscura/api/operators.py,sha256=To4PZUrwInD43T7i2Sy8YD04eLoRsmrD6XYePuExUX8,13853
116
- oscura/api/optimization.py,sha256=5R6rPByVsyxla6oq4SjxjxEp9Uplog4owzsIuFcVoR0,11875
117
- oscura/api/profiling.py,sha256=vkYinleXrznWdd0OT5zIJN_PW289GQE_ODmR9DaCcQ0,10567
118
- oscura/automotive/__init__.py,sha256=jq1rxBi385z0rwgZy6sgPGFGRrrzhg5vYi45-pO3VNc,2538
119
- oscura/automotive/visualization.py,sha256=2ILQjzNwCwj6zZ4MEsBS-QLwYFKMO0_0xDsbv3gEXu0,10692
120
- oscura/automotive/can/__init__.py,sha256=0WCLgE6juqQF_mTO716tWzfziOcM6cjshdb957G0edw,1283
121
- oscura/automotive/can/analysis.py,sha256=0z6MycxuJGusqDQhYEpHnGRmDw3OMf5yDbS8zI6GJO0,11251
122
- oscura/automotive/can/checksum.py,sha256=b3P_cYYJh9I8dPqo3xOzEubIpO55B8etRyf6_d2qLeU,8569
123
- oscura/automotive/can/correlation.py,sha256=B7MXSz_uzce-dSkwON4ssmFzC53hYc6GupZW3QTkGt4,6754
124
- oscura/automotive/can/discovery.py,sha256=E4Z-zc8cOP_yUklhVp2tBLOIw2I9KU4mLoSb37VsgTk,11237
125
- oscura/automotive/can/message_wrapper.py,sha256=xCyHLMvvTiloifWXELoeuN6Qz_vrLL8iPjxZG1FvJYY,12640
126
- oscura/automotive/can/models.py,sha256=fGnCt8FBKURKAz295s2duUas--w2rVfJpMEZ4O9uPvA,12046
127
- oscura/automotive/can/patterns.py,sha256=XkiBnxaL20Zbpt9aK7dS8BGXQtbNe8PoyTyZNsj-BLY,13960
128
- oscura/automotive/can/session.py,sha256=bLbDuKw2uuGvIr25E0njYJGWw1urRVhWVMckVUL2EI4,24577
129
- oscura/automotive/can/state_machine.py,sha256=yeHwydg5RegCPg_zvzS7lLZX-JfBdfMySUcNgMszuIY,10407
130
- oscura/automotive/can/stimulus_response.py,sha256=y_oN297KypsFewjM6kvjGII0-7Ubpz2RZBPr8pjW-Gc,16543
131
- oscura/automotive/dbc/__init__.py,sha256=7s36h4LQrJKKkO3ICHeuVCoYVx8jGnHT_wKcJgOsQFQ,380
132
- oscura/automotive/dbc/generator.py,sha256=EqJKJikAK2Neaff2H9AGb8ZnseE8m4lFAFRMXEIwjsY,5616
133
- oscura/automotive/dbc/parser.py,sha256=mOUOJEF82cb7pqMvjedowB8AggCnxoR252vpSy5kC2Q,4591
134
- oscura/automotive/dtc/__init__.py,sha256=09CgvnClJTQIvzgDOQ22CbcjGAg_zOhPlbm1-k-gl30,895
135
- oscura/automotive/dtc/database.py,sha256=We6Kq_lQNHCy9eGKLg-5ArMZ5KOlWK8599_J-67h3DU,9550
136
- oscura/automotive/j1939/__init__.py,sha256=aiyfUq3GkJhgpxfkzsX7n_-E7B9Ls0XSnFxRI12GF28,340
137
- oscura/automotive/j1939/decoder.py,sha256=qSfok5RTuwc4vR5sjnEdTOi06TwaNfIhBtZq6Vpzhik,25115
138
- oscura/automotive/loaders/__init__.py,sha256=J9twsEcwaw-TuDvdxbJavi3YS0M6g9UmZdfxOxeliOA,909
139
- oscura/automotive/loaders/asc.py,sha256=toOnxQDLJf8Pv1Zu6KWIk0YUykiLOhKKUPIO7slm9Mw,3097
140
- oscura/automotive/loaders/blf.py,sha256=OMhCzXx7U0uBloCC8gSzIKgVsFEx5ns-fJCkQray2w4,2404
141
- oscura/automotive/loaders/csv_can.py,sha256=Sk1D1hVCSSXXAD08_UvvRE3QrsvLLAge_s9y9Z7xClY,4680
142
- oscura/automotive/loaders/dispatcher.py,sha256=7T4q5iKH7hES8SLcxMARptYwzFkwQkJ1te5T2lYFUfI,3480
143
- oscura/automotive/loaders/mdf.py,sha256=nARW26GrZeXMKGRW-fhYre_z_8VRHqyocEU_q0Po4Fo,11240
144
- oscura/automotive/loaders/pcap.py,sha256=iPZoWMjIYUIr3wBhobAfuOnzh9ujzCN0pxY92M4AKZc,4292
145
- oscura/automotive/obd/__init__.py,sha256=3Sg1B1NRWCimFpmA4IwD-OXSeEWjVita2urgikDTRJo,309
146
- oscura/automotive/obd/decoder.py,sha256=0MemCblgvD_XboqFCexiEVncs-NdAHaD1U_G8RuReHQ,20257
147
- oscura/automotive/uds/__init__.py,sha256=O8fyXt9vU1p__JbhoXagXdX7TdCzMzO6Rjga9l8VLww,1454
148
- oscura/automotive/uds/decoder.py,sha256=6gJSMghg2KGhV81C6JQ4OCqjpgkHvLL5MJpA3BOHI-0,8283
149
- oscura/automotive/uds/models.py,sha256=L6B-mGQiBCK4fakgzJikR8B7UOpNqSOHqqsjwGxhWNE,1776
150
- oscura/batch/__init__.py,sha256=AYALq0VUxKwiiOfpMIWqENK9nQcfuuSLLk1z8KB-gew,1210
151
- oscura/batch/advanced.py,sha256=E07o2-kjNIZAYRtJUmrhYEl7aXmh9vnxAEUwgB9neys,22019
152
- oscura/batch/aggregate.py,sha256=NBc1RmSGbSRUdpuZG_3wy-vSkGlegGRSj_6WqPqhTkM,10555
153
- oscura/batch/analyze.py,sha256=RfRJQ9w9rlutDlT9nTdqSCswi9FxAsznYbCN51Cx2-Y,4891
154
- oscura/batch/logging.py,sha256=ay8BxwBfH75k5qgs68gI1LdAjPJQg31ZtBxwmWs2XIo,15502
155
- oscura/batch/metrics.py,sha256=KrY9R0fKttVSW7wL3ra3A4XHVfAeUaLeoM0BtU3GEWI,17312
156
- oscura/builders/__init__.py,sha256=7ryrfaFlT4zAh5zKr76LLQDionMFsPv57E_1OlxrkE0,1326
157
- oscura/builders/signal_builder.py,sha256=nH7AK6YJZZ_KoDcqL3zsxCFwgBQNFieP1k_fChnD4EU,33099
158
- oscura/cli/__init__.py,sha256=OsdCTexpFCKn-o7FPnwTEAZE52E2s-NbXwpADUOfhDM,275
159
- oscura/cli/batch.py,sha256=6WkdQF5G03cwCGxfErqr-nq2llOXJqLrfk3u2agUlXY,10773
160
- oscura/cli/characterize.py,sha256=yMAm4Ji_Dq4Hml3PeDftoUFq60z1BpU_6O7HJ9dUDtc,8898
161
- oscura/cli/compare.py,sha256=C8TkmfSHIE-LBr8V--2Dyr4JdQGjveDNhVrDdOz5Vxc,25631
162
- oscura/cli/decode.py,sha256=jArvneKRPto06Qk52RYaxlfMwgaBL8o9A9VlRO6XWFE,17143
163
- oscura/cli/main.py,sha256=9jBI9rPFB_2vTgvESOyqa7f9IHxdUB0E5UoQ4NMtPUo,7404
164
- oscura/cli/shell.py,sha256=mYj_js826eqA2prCOkPqzl2V0ZXmHrHYkraPdYc5Elk,9751
165
- oscura/comparison/__init__.py,sha256=SwAj596DBcZjajPGEL8_xjPxNNvUslIIwVQxvna6EMw,1528
166
- oscura/comparison/compare.py,sha256=ZQvDTmLJF6zalNhu2qhZAOlLC65s2hlJsFTs9FOknn4,12573
167
- oscura/comparison/golden.py,sha256=kiY4kTxl-ARNLgqPGh08xKp2rqkk_lRc4hqFEPtuk_A,15615
168
- oscura/comparison/limits.py,sha256=IW1UXUnLsEU5l_jzs1YqGAm7RJvr877jeRKS8YlcHRc,12798
169
- oscura/comparison/mask.py,sha256=J31X1Dw6WCsaIamNpPSiGhDT2y8gYQni_s_OdiHvEfM,13685
170
- oscura/comparison/trace_diff.py,sha256=jevX9jHRrFdj2luFpojb_rebu-wZYu9Kev1ZRye8I9c,757
171
- oscura/comparison/visualization.py,sha256=0vrzLkfiGOH7djnfGoC_KzoSep8rCP7n5JcoeB5gaf8,14526
172
- oscura/compliance/__init__.py,sha256=xZ4QcxsltXMlmmKkCvZjl_vvnzPZjLKzEZ7Ln3X_5FA,1796
173
- oscura/compliance/advanced.py,sha256=RVqfFUN2EcBZ-wgmQSNTClafJdpEjQ1N2OmIkzEtowg,23422
174
- oscura/compliance/masks.py,sha256=p7wWg9alTU2N_Ug-eO4yVwU1nEyLYo_2alpmp4wQHec,12010
175
- oscura/compliance/reporting.py,sha256=wh52bj2ateBTYQ0PskoBbQLVl8BDH_hzqmJb7QH3aGo,15030
176
- oscura/compliance/testing.py,sha256=7REArrRRGZZe3OKDjU0gAbXn-dIIMBPHMqxQBzR0LOU,9557
177
- oscura/component/__init__.py,sha256=HamTif4NYKVAGlh0KGGH_z_KFOCWT2P3mutNFxQhmbA,922
178
- oscura/component/impedance.py,sha256=D50Ro5isekTg9iSbux6PGacdDp6bILDpm-HydBqQmxE,11018
179
- oscura/component/reactive.py,sha256=lDXiunxY-ozjn-IT8PRBLhddFxaJpR3A8eWprbFf-qA,19254
180
- oscura/component/transmission_line.py,sha256=bNVLMZf1_XkN80KtKAodz-KVmjW73ShMHmn9iwXrxZQ,9272
181
- oscura/config/__init__.py,sha256=f0NCMV9Q3efb-SVRfM5SG___7hO_EZEqmnbRJ0seiDI,4336
182
- oscura/config/defaults.py,sha256=QAfWNyzFxdR4vXezs2kTstDDt4B13YZmVgv6NVJY0ww,6508
183
- oscura/config/loader.py,sha256=PKVOFI-vDuMdUfqGn1d6J3mp5RmChH7x0xATapHUAYE,9257
184
- oscura/config/memory.py,sha256=XamYb1lyB1SbfW1pbVr0P9Cxv5hy6Gl_9N8xXhc7Pdw,8246
185
- oscura/config/migration.py,sha256=i5w9RzVExh8CK5e-iA4Qglga5YfkWmvkCJCPqNQ_hOo,14126
186
- oscura/config/pipeline.py,sha256=sfnFHPzKg0y_vaLNxCz_Onv2DxqqNHbFibuIX5DGwVo,36221
187
- oscura/config/preferences.py,sha256=a-VGz1PUhtlJ8LSNK8ES2rb-SwSNIBqpd1NJBBKTePI,16430
188
- oscura/config/protocol.py,sha256=4DU9GC6LK7ERlATRWWBkSTc8yJo_1a0RoX-eSSoQyvA,30018
189
- oscura/config/schema.py,sha256=dSoN891-tSiy2LqzhOeJbNcEpinmfTxNjo6Ne_4Bjzk,23674
190
- oscura/config/settings.py,sha256=GzmpJq9b24LfRLI9pDAePQE_36m1EZuXVD2vv914zrs,12583
191
- oscura/config/thresholds.py,sha256=AvVVXl-7ndeyt1Pz3k-cyMmuXlIxBcxNhDkN3ajpMNk,19969
192
- oscura/core/__init__.py,sha256=GXyh1QKGeZs5k_wS_z22otA3wBwiqgR2xWuUZEOC5SM,6657
193
- oscura/core/audit.py,sha256=CBUu5vg3UsH3IqLWlcpbR8LKdoXdW87pOOB4d-CQSHg,14172
194
- oscura/core/backend_selector.py,sha256=DMDCvZY4oD7ltX0GdAAHvC3HHDKxEOBKmcSlPbfZWRA,12391
195
- oscura/core/cache.py,sha256=t7wMEuJ0DGI-iZHuePaku9H6lVhmASoRzQ2MeOscW_w,16994
196
- oscura/core/cancellation.py,sha256=rtR48cVo-zO_Gqb7HPrUkk_YFcztuwKkV0upTq7zx2M,12779
197
- oscura/core/confidence.py,sha256=2m9I7kELgrt5OBd_gKDy-vopMzK6ygpNTX6azlZU7AA,7033
198
- oscura/core/config.py,sha256=S6jmz7Zo8TN2NUWhlgJRkTDWAnfpfBTK_XaRlUXKBd4,15053
199
- oscura/core/correlation.py,sha256=3kG-scCs7Lv3uYJhvGYbnSyCsf9gQOqX9hnRTsZjAII,6452
200
- oscura/core/cross_domain.py,sha256=ZGJGieFpLEMTHEeQ8GFZnNZL0WgKLW_fn7joEptovpE,16118
201
- oscura/core/debug.py,sha256=1fz5Mwx6dcMXwsGNQMhPCVduAf2ZTSGSvvwjpqIS3Cc,8160
202
- oscura/core/edge_cases.py,sha256=-z95foSBKZb3V2DhGQSw1A2VaVOGRBdhMfxDooWbLhg,16367
203
- oscura/core/exceptions.py,sha256=VOvd6iY4SQWz_fPx9EgwdbaIHpqydyFAou8SeZa7w48,17691
204
- oscura/core/gpu_backend.py,sha256=U7DoPKHltlGNTFk6cOhpuVUC5VuglahbBRu1jZ83nDE,17700
205
- oscura/core/lazy.py,sha256=XwXPznvfpgfJqRvONO2YcgLE9IxekhHLQboiLm3a2jw,26302
206
- oscura/core/log_query.py,sha256=qV7NrZH3W6Xq1BEsEIc6Z4ZW8k3vi6U16Br23tSynhk,17051
207
- oscura/core/logging.py,sha256=NqStyC26rFr74qGL2CInlHIkK8tgFaj-K7eo4wGW95Q,30479
208
- oscura/core/logging_advanced.py,sha256=MF3sJWMu2lYKV6ad-IdAvKiOK8TCB0Ti7tfjxHe8qd0,28776
209
- oscura/core/memoize.py,sha256=EgrbwvHnxUfdHPkd7sW_Qacb3zBsk1azC3Y2KMQLP0w,5097
210
- oscura/core/memory_check.py,sha256=irtfhoECisgMcm30fdvHOp7Yv9DL-IycBS0uVWLtVSI,7259
211
- oscura/core/memory_guard.py,sha256=g96fSO6MVvSNqpY_Clclz6gH3RoX4i-4LsiA59zH7vs,8742
212
- oscura/core/memory_limits.py,sha256=IQQDSmDwdVWBZkFgVR4oohY13WSq88b8OxNsOzKXaw4,10918
213
- oscura/core/memory_monitor.py,sha256=I43FPPgtFW1jJEWsGVX5zCs84QHRSMTngajwfmlah5E,14228
214
- oscura/core/memory_progress.py,sha256=Rr4gQrOokucPH--E60F_Kce-ohW48RQ6Si-hxYDUvXI,14236
215
- oscura/core/memory_warnings.py,sha256=L9FiUBsu7OpBFFQkfQw6KY7t76cHNIlWWSAIOBMCZ4A,9899
216
- oscura/core/numba_backend.py,sha256=65-hVFVVr_zZMPaoi4v7gzASLCyMFdDzWOjFR7JUto0,10569
217
- oscura/core/performance.py,sha256=ICufOlSaJWrG6I92EEM2PLzHRFBNzu2NfvAAH_6b9f8,10754
218
- oscura/core/progress.py,sha256=dTyW-hXoS9-IrgBNTTXJFZ1_4_EyUZNTy-SyoVSBzq4,15360
219
- oscura/core/provenance.py,sha256=MLyKo66UYOBI-ZJ-K_LlyDe3uEgEINRBHz8X05dsbiE,10624
220
- oscura/core/results.py,sha256=ZdIOncVhm15E-P_5OaU-MZBw2ZWD0_4WBbMqV0IhJso,10637
221
- oscura/core/types.py,sha256=DrWrspOmy2sqCS7xdk6a-fNwdsFGzrdzQGITQ6NqsI4,17298
222
- oscura/core/uncertainty.py,sha256=0Xcj9i64BOB0zRz85mJLl4m5fg3DIcA9pASxJNzoUZU,13317
223
- oscura/discovery/__init__.py,sha256=ytYa_s4PfKxRRopOdUGsmzUIDPevH25ze_VytBEX2Cw,1232
224
- oscura/discovery/anomaly_detector.py,sha256=jb4tXOJt1x93wP_38d_Bc4xBngr8xSjbzQN68w2Uel8,19602
225
- oscura/discovery/auto_decoder.py,sha256=_7NUgAVmDmlnssDnGEwkzqS7mcZe39hcXn1bnNT6GxM,12728
226
- oscura/discovery/comparison.py,sha256=qcXQBQE8bK_5L3Cgzj0QJJib1LzIE3gKN8l8_tfrzAQ,15635
227
- oscura/discovery/quality_validator.py,sha256=zmUuPpNx24PiaRnW3OPi190XgNDNxcIzre1xeglukuk,17077
228
- oscura/discovery/signal_detector.py,sha256=LLCn19rI4fzoqhiiHfyH9NgLWkZ2Zm4DR0qn2thufVg,24504
229
- oscura/dsl/__init__.py,sha256=n4owyTfutxUVN3d_45AiXbQu_GsIMspG8BdI_iy8F18,1401
230
- oscura/dsl/commands.py,sha256=FABCfty_pAmsritOlxkyIQb8nLV9mFlQ-NZSZ8CCpJg,7266
231
- oscura/dsl/interpreter.py,sha256=jgolyzMWtgxlEsQgYUQsLfUdEWk4PCqw-9WSXPZk5Ao,15205
232
- oscura/dsl/parser.py,sha256=BVhhz8j7Cecy2fxoVv9c7ToC4mhEXv6bD2PuDFt2OZM,20729
233
- oscura/dsl/repl.py,sha256=aQx42OGpWlFAY6m78F2ZvBizTKJi-ivppzg66lSnPjo,4769
234
- oscura/exploratory/__init__.py,sha256=DiPhevXAEH_dfvbma45qaZBHj-dSZMmVkmh6tP9905o,3025
235
- oscura/exploratory/error_recovery.py,sha256=IDz_meYoOsWlMqbGXOKneiTsHUzR4miZcklM4l3C-EU,20427
236
- oscura/exploratory/fuzzy.py,sha256=8VwY8L4ncD05f6QAStGbPzwvL8bJGdE4-IsF8Mhhvlc,16187
237
- oscura/exploratory/fuzzy_advanced.py,sha256=shGdHXsBMIbMWXdux0Q6qjwt_Pm1kKx4_jg1yPkceNk,22807
238
- oscura/exploratory/legacy.py,sha256=dZRjchrr_3MlA-miKNf0GkoleYptnE5zIicAg1MXwEU,26225
239
- oscura/exploratory/parse.py,sha256=1m3u6MAyGQOjkGESPT84YzyS-quI-73o0-bj041SzAk,12218
240
- oscura/exploratory/recovery.py,sha256=7nqk5nU6M0nViCvy3JnhgD64YgPDik1mgIyGGVCOj3g,9638
241
- oscura/exploratory/sync.py,sha256=6lcLt7GmZoRj9luZkNSjTRIuG7kTnxgONdBp0YSQKns,12610
242
- oscura/exploratory/unknown.py,sha256=_gByru0b0BvKfZWH0m8DgXNC0dGVW-O_vBo7Jwe6-qE,21614
243
- oscura/export/__init__.py,sha256=vk-N_lDoQG4DKhijOikusmgpP2B-2dIHupGhCt7k3S4,1014
244
- oscura/export/wavedrom.py,sha256=jg07h8pZ7sHBh3wfW16xE4dtAbt7CDZpS1xixc20KvE,12388
245
- oscura/export/wireshark/README.md,sha256=44ji8SuD7o-PCNKCGZ9Y3NIoKKnwUrwx2ZgSSuMI_2E,7395
246
- oscura/export/wireshark/__init__.py,sha256=Int_19KSBJP8J78LfdibB0S6aDAfbQZJLMap6HZwWSc,1449
247
- oscura/export/wireshark/generator.py,sha256=kCYtBxSyYdglriV3lcW2yfNBEYkfYV4K6oaegd3ulG0,10561
248
- oscura/export/wireshark/lua_builder.py,sha256=8SqRivyzW0lzBY1O_oOhFt3vujL-CSgqBkhpU9kz_58,4533
249
- oscura/export/wireshark/type_mapping.py,sha256=KZHUDl6EoZspLU4vInkfXbnINBiqzPvWsGHP5KjwRyE,4432
250
- oscura/export/wireshark/validator.py,sha256=_hAiJRUcUG6yVeNTPrya7_Lm4e3JxYRkaZ2Rz7RSQOA,2983
251
- oscura/export/wireshark/templates/dissector.lua.j2,sha256=ZgZKwXkkGOPs4MbB7LkhJQfmnwC51fRw_Tvzrr6olF0,3180
252
- oscura/exporters/__init__.py,sha256=tST5P06IANhkI8YxKT7t3A2q5pG8ZDtt_2RLwLY21mw,2378
253
- oscura/exporters/csv.py,sha256=4LLnWWnbmhjSMCq4ayBe0EIK53mp2l0OcK_FBUnnv_4,9186
254
- oscura/exporters/exporters.py,sha256=wJAr2R62dWk6YCiJcK3QyUa9fS3Au8UhZb4nsY7CQJI,899
255
- oscura/exporters/hdf5.py,sha256=6YsXtqlkkjeqlg2wh_QjUf7jQMu0J3eCvVgxjX3lW8Y,5956
256
- oscura/exporters/html_export.py,sha256=kdlPCOTJzriY88i6ufDe6HMYo3fKDilgQazL3nADFQY,19446
257
- oscura/exporters/json_export.py,sha256=HhtjWrkQL-ziTlFM_AHvzBx37LUmIRz6AChkPfZgtWQ,9897
258
- oscura/exporters/markdown_export.py,sha256=JdPDm9UmUcT6ikrDZvurdWGy0hXSUbjGjlMyUct8TpM,11957
259
- oscura/exporters/matlab_export.py,sha256=YKAvPtFWj9-ISpN6cZu1s2wI0wNu_zKIrasZxh5ADnA,11003
260
- oscura/exporters/npz_export.py,sha256=RMSZQH5M8C-ELoIVkQakcZ-ETQaOnnWJiHGEqcrtYVo,6063
261
- oscura/exporters/spice_export.py,sha256=E0vkJ0AVxzzAOR4BX9afnGOfbltJQsIEWSumh1EZF9o,6515
262
- oscura/exporters/vintage_logic_csv.py,sha256=CeiOkIcUe8MzPyIHQyIBrjMEDM0wAVJEBKx-Pbhr9ig,7405
263
- oscura/extensibility/__init__.py,sha256=B2wrC7j-swzJkNdQwHS0lXr6FVBy3XWrwZ4dvtdt2gs,2955
264
- oscura/extensibility/docs.py,sha256=BW5c-s-UvYmqkVoe7SidLw3I_FhzMhCeY--rE2pMex8,21738
265
- oscura/extensibility/extensions.py,sha256=22QwZOS1D8KPKAQPnCIb9jRLwXi8fwCwqwPGcpeLTJI,38888
266
- oscura/extensibility/logging.py,sha256=oFOseC5ufabHThitTsFpt95psAfMaXcQjdeX6UA6QOA,7149
267
- oscura/extensibility/measurements.py,sha256=orwPqJi2M8IaFQG2M21AFk49g1nxFi1qY5Pf3pSvvKk,14862
268
- oscura/extensibility/plugins.py,sha256=041-vTMYLo5PCulXrwXdXpe9G8g0mJXQrji8X59S9Dg,12475
269
- oscura/extensibility/registry.py,sha256=yeZmK-QitnzX8IfnmW4D68yl0GBriEWRboe9CnmA4sI,10962
270
- oscura/extensibility/templates.py,sha256=ZpLOOUTw5ZQlVb_anQ2jniNZdBL3Udz8BGzE_vrUO3g,25905
271
- oscura/extensibility/validation.py,sha256=cZ_q5cpzIj-ePA1he6mSCD_F3ZWa48-mdxCGbJj--B0,20178
272
- oscura/filtering/__init__.py,sha256=wLoi4tpOhcutg537AIAlCxlJlTn2caLh-RNt3AM2DXA,2012
273
- oscura/filtering/base.py,sha256=4-kGKMOsCapt0j32h47oacjfm9rcDMgjFD4XJdLrboA,16820
274
- oscura/filtering/convenience.py,sha256=k1JBrj8gygy1-E5nV29OcH1RvfC3evxGe-8xY7AjYbo,15007
275
- oscura/filtering/design.py,sha256=ljDn8a4xfSIneClHgMyjjyUvkBSRIvNdPKcM8zWPMu0,23520
276
- oscura/filtering/filters.py,sha256=e5TMkl4hqvdSIeeP8jNm65ZKfmKyH6gUf9LYJkD0sEs,647
277
- oscura/filtering/introspection.py,sha256=gCygf293Tqev0Qq_cvPdl6fldU4bLJOadSdyT3gd7k4,16071
278
- oscura/guidance/__init__.py,sha256=mVHguQ15l7KucOtREi3QFFGIvmo_-6mMCzSZ8-itZ80,437
279
- oscura/guidance/recommender.py,sha256=1dNVAPIrplk-K7p08_GC_sIfD6cJOdrvWffQ9u9bPJA,13404
280
- oscura/guidance/wizard.py,sha256=wIZ5R-Ppzl5WcSJsxXc5HDqEG4Kp5X_KNKQkkudTM9g,17782
281
- oscura/inference/__init__.py,sha256=tMvTuJn8Hrlw3lQSVdTJJqeNAiyNwmwB3zwWr0q87AI,6216
282
- oscura/inference/adaptive_tuning.py,sha256=pNSGVuvfLJNaib7pHBsW3G3XTI16HnYkFhBnVTIE-pk,16351
283
- oscura/inference/alignment.py,sha256=oU3VtRayjiLqL9ba0bMo1Y-69NS0uoxT6gFETtJ0suE,19556
284
- oscura/inference/bayesian.py,sha256=CRKm04tojJgi8kZ5ykwPe5kKZWSlEtYlB_kSzN41a9U,36645
285
- oscura/inference/binary.py,sha256=XpHkh3OxXJ0u4ojPoFnWKeme0MIvtOpAyhxTBgE2CEk,29757
286
- oscura/inference/crc_reverse.py,sha256=iTPUWqsiT-L78_ibsfyZm_Ckv_2rkmHYc5zjFCSVQHY,21850
287
- oscura/inference/logic.py,sha256=zlTTJzGlUmrsPdIyZXgwvX1qPcF4_M1NICaRbs7MDZA,8511
288
- oscura/inference/message_format.py,sha256=oudWwr3c9ISrk7L-C78Xt6zaj0mjMNO5mmDNARPvWvE,43746
289
- oscura/inference/protocol.py,sha256=WCI31JsIfXEJ6hABk_3yqT8tX-0id5wpcWZb5xzg2hg,12024
290
- oscura/inference/protocol_dsl.py,sha256=-oZ9Vfz150QCBdD4oNVnAhz5uE_n_APeoucIN6chU6U,34895
291
- oscura/inference/protocol_library.py,sha256=FPKo0P6mQjf_7DyRFgrulDhF4tbZqPgp61n3rMCBfPc,40380
292
- oscura/inference/sequences.py,sha256=Rm6DEH8rbdbXC4CnxEqR-mx9tacTKOqWVSnhpccezno,24954
293
- oscura/inference/signal_intelligence.py,sha256=inPsdnq47vxotdJt5PWP8ca_ecFuWFXitUt46Gw5Pgk,54742
294
- oscura/inference/spectral.py,sha256=r2YTTD9x2vuz44inzr2BCcLrRaQqIRksfz4C0YgwAQY,7100
295
- oscura/inference/state_machine.py,sha256=wNzjFivXOT_eE7hTCDAVBh8r8v2A4NQGUpYFH0C5vWk,19846
296
- oscura/inference/stream.py,sha256=pzmbBAx03N9SP9sjtAzfx6iZHiIGsTISSyGhXny4MSs,29448
297
- oscura/inference/active_learning/README.md,sha256=dJovCRA305SquowxlCw_InkG1cgKY73h7NON8xom-vw,4506
298
- oscura/inference/active_learning/__init__.py,sha256=CEay1z0T0VxZnvSM7CM7xJZDdnODq3yU5eIkYFMGN5M,1353
299
- oscura/inference/active_learning/lstar.py,sha256=fvR0XGnIO3lfZ7ho9ot_qL5OkAgaRIeEKcJZGJbswA4,8590
300
- oscura/inference/active_learning/observation_table.py,sha256=T0MP5ePONYx_K8L2768zmxOiAtYXVSmizDDKrrJlFVQ,7632
301
- oscura/inference/active_learning/oracle.py,sha256=2u7rPFW-HEwbwKnUuYxWG7aROyQTLFj3KutxBWvUIyA,2586
302
- oscura/inference/active_learning/teachers/__init__.py,sha256=evz-bfaJrYxso1JzX2ltSifqg35dlk7jH2ukv1UnWus,409
303
- oscura/inference/active_learning/teachers/simulator.py,sha256=lrPDwlyiFlG-wMIk9ATgfi5XLJTMRwehzTt6jU00iIE,6823
304
- oscura/integrations/__init__.py,sha256=iW_u-_vcpkmw1FTGEzn-jn47QRqwnPIS8JAkg_IMyRg,1186
305
- oscura/integrations/llm.py,sha256=sPt58GZYW6G4rkwX4956RP-FsFNDXCffyiPlBuah6Y4,58713
306
- oscura/jupyter/__init__.py,sha256=L5un2-sVNGP46rzJ7e3qrJOyXmhj2BkhLc7DGQzSLj0,726
307
- oscura/jupyter/display.py,sha256=HuLg5NEIKAGEZe_3EmABaRkTzLAfdAm6VTBw9LCl030,8597
308
- oscura/jupyter/magic.py,sha256=O1m9N6I5nMUKhCnNANiOdr2pouQxI9oRIcLeRNtrdTc,9953
309
- oscura/loaders/__init__.py,sha256=JKlIsEY0vKEtnXAccgQ6SJMkWYRm9ijM13SSPaqQQJg,16870
310
- oscura/loaders/binary.py,sha256=Y5j0jaDggSmhFRZvGHT2Fph2dvhTWsqoYWwkOHIBug4,1875
311
- oscura/loaders/chipwhisperer.py,sha256=vUsmt6Pamybivp6cqqxe70QUlNrVPdQDn-OS5wEdqxo,12049
312
- oscura/loaders/configurable.py,sha256=dJKv3nFSgmWe22ZNB1kTZZyIWgiMhWTf8ZU-SNahefk,41267
313
- oscura/loaders/csv.py,sha256=hjToCQkXQEMUCOSBTf3a1d4AAsntvxYbW_jiccQ9JaM,918
314
- oscura/loaders/csv_loader.py,sha256=Y4MOJQ-95tZsi9hDdu9ru1vTJQyGtGxkhV7RUqGBLWg,14252
315
- oscura/loaders/hdf5.py,sha256=L8SZTigQhssjEVhSZZMAUjlCKK5smbPqJsXrxiX0ybI,246
316
- oscura/loaders/hdf5_loader.py,sha256=3ncPHtrlsOBG_DNWECaEHt_cp0lD56-W8ciZbV1aotM,15412
317
- oscura/loaders/lazy.py,sha256=xNyorDNPnmHtRgGtZfJzUnPmWJtUwMrJ5F4dKbfc0Sc,11666
318
- oscura/loaders/mmap_loader.py,sha256=22sK20Bt9IZEakL0H6iF8v45DRiB4BrqFgj5fBWVw_w,18821
319
- oscura/loaders/numpy_loader.py,sha256=OWONvFRHz-3FbDApDL4bbGEYacrRGKUY1aqYkXiIvRU,13787
320
- oscura/loaders/pcap.py,sha256=NshrVOQ1X_cj4XTXninDiHaeEbv41hBiiZhFu_uDSYQ,13640
321
- oscura/loaders/preprocessing.py,sha256=vdVVo_Miahi8tT7agNsy4gnLfW5f4PFGDenQs4hChAM,10370
322
- oscura/loaders/rigol.py,sha256=nwf5aNpH0bWerDgneUpLNlDQfouQ9E_PChv6vG8GLTA,9238
323
- oscura/loaders/sigrok.py,sha256=puyj357BPiJpzNB-hcv6ofp6DZFEnOv_usdi-_zs6Co,10250
324
- oscura/loaders/tdms.py,sha256=QngrFLJTpctfqcCtv2x3PJmNwfIeWgyug97N_xSdaMA,10483
325
- oscura/loaders/tektronix.py,sha256=rLqTefIwGCCmkpUwflEJMuKSfGG1qX_pAFF7Kk0j6-I,24069
326
- oscura/loaders/touchstone.py,sha256=HdrpVsyHACSMD8DR86iCI5cj9vdXGXbpADNkjaQRUng,6179
327
- oscura/loaders/validation.py,sha256=JA_vVYQJB4gC9KFKa2lsGV5D-_agmIjP9kE_dXpv4Wk,17835
328
- oscura/loaders/vcd.py,sha256=YtRqU6AEkZjZhNnyNOfgBsxZ8rueB5pALrYIoiRYHQ8,13662
329
- oscura/loaders/wav.py,sha256=UYPc1A1ZRuw5zC7XmBdEqjZpsi2QvSW1noNmXZqpy2k,7251
330
- oscura/math/__init__.py,sha256=e23LKAxTL2D3YKrM7TERF9iOLh4s68es1qv6Xjfqpr4,786
331
- oscura/math/arithmetic.py,sha256=cVhxGqa26845WSrA7uwRzeqRzeD9yKvk6vyDoHYhZew,27359
332
- oscura/math/interpolation.py,sha256=2W92Bkb7X_bZEGye4wM-OsR8YWUgVIvDqkDwAmLY4_U,14395
333
- oscura/onboarding/__init__.py,sha256=FX8nnbOmuTzqTmcMI-SYbtspKetsHomFskyH58BZv-E,750
334
- oscura/onboarding/help.py,sha256=RCjairo3kk0ZVVJ-ymna8A9anNjh9PdB_zRe4C2XF-M,16502
335
- oscura/onboarding/tutorials.py,sha256=pcgIE3J7gFVN6THwEOpaXyT_nEHl5oGJG1ug0qJ9mFE,11686
336
- oscura/onboarding/wizard.py,sha256=TUMaStHTESOmyWyB0p7tiMLaeof4rOXnIkMJ19QQp_o,16293
337
- oscura/optimization/__init__.py,sha256=9k5OigjCNmU13NDX7uG2WDX7-PbbzpdGZ8mSc2lagyk,379
338
- oscura/optimization/parallel.py,sha256=30Qy-QDbDt0_cQisBMhbkIQ_adSLaPE8S2BxIo0o2N4,12432
339
- oscura/optimization/search.py,sha256=-rJQFlMVanCV3oXg35go8tZg5ywUhMYxbhiekEA5rxc,17241
340
- oscura/pipeline/__init__.py,sha256=W1ObXXo0wn4pGkl8hPfxaElOSLK5b8pjZ-aRxwfksow,964
341
- oscura/pipeline/base.py,sha256=2-6yXeucDoWf8HJAVXqocLxVcKcPBytyEfonKRarNX4,11353
342
- oscura/pipeline/composition.py,sha256=pRGBkPjO5pYBOjUbgKikFJ7lLGW7ItNQskyIBA6BibQ,7566
343
- oscura/pipeline/parallel.py,sha256=cTEWq5Ele_EoWQr23OtV1YQVxsWBGM6hchmCwMYvZAk,16984
344
- oscura/pipeline/pipeline.py,sha256=APEIDaapwVnoeBixkYo5VAtpFOsPh9GaOdMRr_j5ByU,13284
345
- oscura/pipeline/reverse_engineering.py,sha256=hSPRkaEAnnR84X-ocXwmFRRDnL5iHtl9M_8OGd8kZVw,38590
346
- oscura/plugins/__init__.py,sha256=srL51O-WQyPniUEGPFIMAAno83Y5oeNIr-AeR7_tzgg,2665
347
- oscura/plugins/base.py,sha256=9ZuSspT5f3DtFsSb6Bvfbm1mKxv1PVVP9D_ls0nBuIg,8132
348
- oscura/plugins/cli.py,sha256=z7tR3EC5v5ndNE1yBaLgw9SN6-_QEeAmGFHl8g7DJys,14171
349
- oscura/plugins/discovery.py,sha256=W-Vzr0BPTZAaePayGcEoO5pep_vNy8Grg17Fpwj8XOY,12299
350
- oscura/plugins/isolation.py,sha256=AP4MAQqEJKHYHRJhO-KRE10_ftnXQeaY70dmycip8r8,11982
351
- oscura/plugins/lifecycle.py,sha256=2r-S6oiej9FvoBTncwzh6OvIGE_Ugc5DVey_l6vAbno,29451
352
- oscura/plugins/manager.py,sha256=uArC0NNtb81BWLoqQYYXACas0Txfg7Xeuu12liasiLU,14344
353
- oscura/plugins/registry.py,sha256=9w8PufGgoJu7Rdm0vRpQZnUOcmjlwZgDxyKqsVK2osg,11469
354
- oscura/plugins/versioning.py,sha256=fxHg08r2PRFLKEzdHsrhfzQZGGX13wdDD5xgBpnJf2I,10780
355
- oscura/quality/__init__.py,sha256=ZOcRMx-_ZSidKL49Ln65m3YBAVwUSSLhlJhVvBJ2Lf0,1506
356
- oscura/quality/ensemble.py,sha256=okfIQmsypHqQTmBfd_uRXLKshs7E1DbU-jFGSBMQTCc,28150
357
- oscura/quality/explainer.py,sha256=2WIaetGgS1ivwJaJbanOMWWwNTqQhrrn2zemxCCwZII,10729
358
- oscura/quality/scoring.py,sha256=gsIl-2164vGS1LcSP7x29D2hfKLPxee3mmuaFPwQ9Ko,19020
359
- oscura/quality/warnings.py,sha256=qdnoe9qh0WJnupqgJzgkEzAZMOgDckGJXC9fKF36Rs8,13469
360
- oscura/reporting/__init__.py,sha256=l6X2PxnE_ZwTMNHZWAtOFSmaUkxZmcWCBTxbF7586bo,6274
361
- oscura/reporting/advanced.py,sha256=dcu2fjCA_a4R7lGhdUQbcAb7ioTg7lkUwDiQK4uopjM,36413
362
- oscura/reporting/analyze.py,sha256=7tjXGsi3nWyX9I4Tw9nSX6BHD5E7Mu3tpuZAQi2S2hQ,14612
363
- oscura/reporting/argument_preparer.py,sha256=L0FB0EGmUyP-GjTgEncvkpVbWMrbncoHTiBIOR5avUo,24095
364
- oscura/reporting/auto_report.py,sha256=0iuLVqZEJ_ipX_GJ4mkZJQOTVuhp8voKRVNbe498qw8,15254
365
- oscura/reporting/batch.py,sha256=c9XS9VaEikzX87nk32RlEciAGJ6nIY80ZnHou605IBg,19759
366
- oscura/reporting/chart_selection.py,sha256=aAAwIDXt2lTFrwFZ_xBEPpnjtS-eJmparT0uFtLW4o8,6860
367
- oscura/reporting/comparison.py,sha256=E6QTtbFo4R3For5SQgYAp5lpC8o-Z7-l-vn4_U-f8yA,10254
368
- oscura/reporting/config.py,sha256=cmLsHhaRJRcu97u7FKLsTPB4FYla9RkoDkmZg8wmnhQ,23352
369
- oscura/reporting/core.py,sha256=mOnLShs3YXa_6RdmCnJThxMHe6CgRgE4YYcJLIh0iIg,15640
370
- oscura/reporting/engine.py,sha256=ctMrRhUJxXj2lFlZyL3hS_NYWCZ-Y4XZqhIvBXkt-9w,32248
371
- oscura/reporting/export.py,sha256=vU6xFp3k6lLjJPdPnRXSX0XjVejg3Cgq-_dPh54nuTw,10315
372
- oscura/reporting/formatting.py,sha256=KLM7fBpkKyGG_3LyyxRRYxt43AXSoHQ3ErzNbWZBRfs,12496
373
- oscura/reporting/html.py,sha256=1PbA3Dux7hnjHKIctA-Cjr9rwC7SQniOthCWtCZIBGI,14478
374
- oscura/reporting/index.py,sha256=t5ZpmjCu7-fhVCm-YB_WTjKIoaqrMgWH3qIZ9KKdvI8,20195
375
- oscura/reporting/multichannel.py,sha256=kLaNlZJhruLWAUcRyduOfbuakxQH4vB6pQ_Z57aYP6c,9174
376
- oscura/reporting/output.py,sha256=BdolqzPSDs54DsBWNHInRcT_A59_g3SrdfCi3xUNaek,12227
377
- oscura/reporting/pdf.py,sha256=ryn-ciyiwOGAJj6czV0Wx7rpGJxjr1p3WRrVUttuAYE,11073
378
- oscura/reporting/plots.py,sha256=BGVyjXv5IfBmx8uTr2t4oPt2w20Co3WJDN-OyKxPR1s,24429
379
- oscura/reporting/pptx_export.py,sha256=CojDp1TaM08U3fJqM1yZPvLZiM6zF5-iKah8-SZ7YGQ,10253
380
- oscura/reporting/sections.py,sha256=Ho4b0IjmcocM8x9w9qNlHEGb5RFDShqe56ezvpCNvIg,12916
381
- oscura/reporting/standards.py,sha256=nC3wOZThj6IMCRpdE9HL8mwcvArRwzhkX92yHox2-qo,18086
382
- oscura/reporting/summary_generator.py,sha256=GOPVUCNNZPFn8aVM9YCqFG-wkCTFhRZt--kIyRkOzX4,10622
383
- oscura/reporting/tables.py,sha256=VlUAwqv9sPGyj-1A93nCpP-JhYs5TunaJX2oNzHgVcw,11622
384
- oscura/reporting/template_system.py,sha256=jPF5jkkjl8el8V6IGJGNZmPlNRFZd0_DBbcokOUMiTU,21135
385
- oscura/reporting/vintage_logic_report.py,sha256=-RyYYEKhP1f6yyhJ41fCkaZHw-nUcSd_CWd-jFgXxDw,15111
386
- oscura/reporting/content/__init__.py,sha256=MIU1IrYdFy7L7d6CY8RxkzL1_wL1qLYUfzUsKaASgJ4,874
387
- oscura/reporting/content/executive.py,sha256=AQlQMPRLy2rPwPs6Y7somVeg8USIhlPGouYZlMq5rOA,4255
388
- oscura/reporting/content/filtering.py,sha256=JrSPJPyGw_jsZUWlAi-ELt8b2ybh1Ui_wXWULv0R-ng,5184
389
- oscura/reporting/content/minimal.py,sha256=amh-1wTJwPct-55HHCyUYDVEAcO0RXsyUu7UgbGMxIY,7001
390
- oscura/reporting/content/verbosity.py,sha256=ZCv5-EXH7Re6ix8d1ON3BdekMhSADmzcPhmXcmZmscg,4311
391
- oscura/reporting/core_formats/__init__.py,sha256=5mqsnXEIxyiuz38n4DekySkk3ro-bKYkr91xyl2oPLI,453
392
- oscura/reporting/core_formats/multi_format.py,sha256=R6kWSd7YSpAuULnXImQ0voFI5LE1vBpNRGHi3frDIII,5970
393
- oscura/reporting/formatting/__init__.py,sha256=KA7RSoQkcsNtTjC3L-o3D38EMkkZBqYvgHcSABK3uik,3196
394
- oscura/reporting/formatting/emphasis.py,sha256=bsc7gFfwGbonXfJZt7vl5Nns06oXNJjKP90EE9JNu1o,1761
395
- oscura/reporting/formatting/numbers.py,sha256=rK7ojaRjc4zBVz9c2kGzeICBsOS15Ky8Cod3zaj83w4,12608
396
- oscura/reporting/formatting/standards.py,sha256=msxfZ0qG3v7DpluiTmJ65wlbbl2qVNZabfMxaunXusU,1171
397
- oscura/reporting/renderers/__init__.py,sha256=3xTkPdizeMHrQ3fD_f_zbL1EKImTJHMGnkG-MIk-R_o,185
398
- oscura/reporting/renderers/pdf.py,sha256=EYJyXQRPuSFIDl-6M55UvxOG4HKlKAQ-_SypvZpckx8,2433
399
- oscura/reporting/templates/__init__.py,sha256=Snm9Ygw2EIe4DnDAxHcu5NIYLCEVeoZjyw8MDmrcWLM,301
400
- oscura/reporting/templates/definition.py,sha256=KC--ESq6Ja9OA_hC3uVP3--Y_rhUEIUnm_1QJDIg7nQ,5204
401
- oscura/reporting/templates/index.html,sha256=V74N-0erqnu8tevVFjPT-zMXi5M-7RSvTfujW9pwQPQ,16007
402
- oscura/reporting/templates/index.md,sha256=3PrVNVnI6kAdiG5l2JROH9AwarGYTG0GmAdVQKGyYPY,3533
403
- oscura/schemas/__init__.py,sha256=0zVM3hatGgl3onywiWNia8ov0TJ-tFqXz_cBzuZW7nU,4317
404
- oscura/search/__init__.py,sha256=eoX7yKNILdlmlFCpt-QHVuT2dUGw6m2GMYrQv5w-mhc,413
405
- oscura/search/anomaly.py,sha256=JHcnB9Ba6Hk93vpYedj2Olv6_L_3xnOg8mn6UEyoE6A,9805
406
- oscura/search/context.py,sha256=vJ4lWXcC3R7N0vTyTorsZa3KkFLHkd6vQpmhmMeSEIQ,4857
407
- oscura/search/pattern.py,sha256=pqCtlFDKZwms1LrX64Halt25EQAI1VKr3X_6W4XQ_xI,5735
408
- oscura/session/__init__.py,sha256=LAeHbROHU-OBSep1NWffhhcOxVuK30hoKnYgzBsnmn4,926
409
- oscura/session/annotations.py,sha256=btHVzA6CedrqVI-c_uFVi_lo7-NByxBLTDHoXWYtY08,8713
410
- oscura/session/history.py,sha256=3YAMhON7wlzNdR03HpGSYWJEuxBsrYeYq19YALc8k8M,9578
411
- oscura/session/session.py,sha256=MWx2cE_ZtyWwl5v8QR_X2MGEBn-TAaFftwKNyZktwIU,16321
412
- oscura/sessions/__init__.py,sha256=BCmLuo95CfyutHrjEFdWSKRDzKKpDGVMcFi3989HiFA,2371
413
- oscura/sessions/base.py,sha256=S2ka5o01w1YVBHH59EV64tmW9fXErfNuG2zu9g13-t8,10820
414
- oscura/sessions/blackbox.py,sha256=CyYA6o7d9pMSR6rsbUOQYq6lBSfUUq-ivtr1QKUppdU,22176
415
- oscura/sessions/generic.py,sha256=hqwhGO_DT3rS0EOKhLtcebJPu81PPLfHSLH1qVmAWj0,6642
416
- oscura/streaming/__init__.py,sha256=uJKpXU6-uBW1lWqh8_8WNzUKSLhMYzxrJstsNMDLVcM,959
417
- oscura/streaming/chunked.py,sha256=tWK7m_fHJVJKGq2y6I3RRfioUER2ObMUDPvJ78K73d0,19487
418
- oscura/streaming/progressive.py,sha256=YRdAd4P9Zvckerm2kG5bFWZtcuUB1FlRklpS1078s9c,13089
419
- oscura/streaming/realtime.py,sha256=zzHEKtBX-7YPeETjVcmaioPQdumZz9eIcAdTmeobB1w,18636
420
- oscura/testing/__init__.py,sha256=X0wsLR5jzDDyzPsw4nmv8V84YTlMLFKdG1YGEc5SSDg,1506
421
- oscura/testing/synthetic.py,sha256=xWo43q0VWO3HmbOmtMKWSLKAHgsppz6ZKeuGnQq9d6E,26389
422
- oscura/triggering/__init__.py,sha256=TaBDVo-hcWO-rWgGDl0aTDiSQjXtIEBvr4U2oVnyHoU,1614
423
- oscura/triggering/base.py,sha256=2MqwJvS8fCIEdPfNkMxDKKaexBzEO6VrGwo-cHdlFNA,6545
424
- oscura/triggering/edge.py,sha256=tPevhitanWHyhDzcUwgOqloy-I08GuV7W5w-6Co6_MY,11039
425
- oscura/triggering/pattern.py,sha256=vncucQ8iRnKCCky0KqLZqPxwPSVRwSkd-x4cKwW-nL8,11166
426
- oscura/triggering/pulse.py,sha256=cHQzVPpjda2HY05SjmtrbByAyAQd4-b7-Dtg8hlxUvY,18713
427
- oscura/triggering/window.py,sha256=LRY4KdJKbQE_o5AhSlzFCEWxVTC99a7pwVaYdZB0XKI,14515
428
- oscura/ui/__init__.py,sha256=BT4w05Hd7Tg2dM_00cs3G4RJQnj0a56o9uf-41FV7cs,919
429
- oscura/ui/formatters.py,sha256=34Wjz1r4FsaGrzdcjltOAyDIvWAjji1wTJaSYn1QYBo,13650
430
- oscura/ui/progressive_display.py,sha256=LKGRJrSAscdoUKrBhKZzpYJlnNBX-kOTUGmJCsufFSI,10314
431
- oscura/utils/__init__.py,sha256=GaasTJFnZBru-vBPiZQaoGZq65x5ys9trDaIQWuclWc,2270
432
- oscura/utils/autodetect.py,sha256=wJI2qAs-Efz2eRmy61meSJHW9SyGZFZSUe0dYWBez_8,9473
433
- oscura/utils/buffer.py,sha256=H-lKT0MBe0fqMoX5UCYftFUaadhSF_Ydwrf7VL8KBy8,10327
434
- oscura/utils/lazy.py,sha256=tUy9oZGGjulS4raEbuKvUcdnToCO1y3hKxisCxY1Xm0,11825
435
- oscura/utils/lazy_imports.py,sha256=GA1yAu3CowOGmsTmNnh42d2afP6DtG6o-6u2iJe85G8,3990
436
- oscura/utils/memory.py,sha256=7p18LsoyHZR8DwiPdyeOEqLLWu3qrCBAEnrrbQRpx6g,26381
437
- oscura/utils/memory_advanced.py,sha256=I7DetggUD0nFZoX3LST7LM2z9r7ATHX0Aax1vuct_jw,38994
438
- oscura/utils/memory_extensions.py,sha256=Q7namgFuwOUhr8bIGpLuHusNvY60RWTtn2BvwGApAIA,14057
439
- oscura/utils/progressive.py,sha256=VzseobyAcj0iwRQiwbWcOUwQenPr0lSKnDdHONhXBEo,10935
440
- oscura/utils/windowing.py,sha256=DRMCHJAwoXGn7Gyso9hE4fpMIAfh3taqpQliNiMcn5I,9194
441
- oscura/visualization/__init__.py,sha256=Wr9KfaBrLEysFcru-3VRcL8At6JClCyAndTjkI21So8,8556
442
- oscura/visualization/accessibility.py,sha256=FmAqJ6oJMJ_vqsWgJTcOE3b0LtnREbZ-He7JZG6e6Is,16177
443
- oscura/visualization/annotations.py,sha256=01ieilFN6CmmzrMzyWF_G9IR5I7W6XKW-5hTTib_6JU,10624
444
- oscura/visualization/axis_scaling.py,sha256=19TSQgF5s0I2GSFdLNazwjtMdACBB7fDJwUyDtFCSuc,9300
445
- oscura/visualization/colors.py,sha256=nw8h4u8lSN8Oq9sqJuKOmrlC8tOcnuvF8xYtP2LvZso,12046
446
- oscura/visualization/digital.py,sha256=ChKrsQu6z9ZVoMmTdxWhkNu6B7od0SEtZ1fVq_y9ts0,10096
447
- oscura/visualization/digital_advanced.py,sha256=9wMpDNtpDqHy2uZaP32NM7MMQfly5v4nqK5oHXQJ33U,22836
448
- oscura/visualization/eye.py,sha256=rqv34ZtVE58bZUlUrO__5Cgps-PT-HeGbjPI6CrbEcg,12848
449
- oscura/visualization/figure_manager.py,sha256=dG0xsvGVBBomaZPprogGHR2TG3DdK75u72agn8gwu_Q,4495
450
- oscura/visualization/histogram.py,sha256=8MYLV9i3XufDChvo27BuruTRR2pOIUN592fqNsjC9jM,7068
451
- oscura/visualization/interactive.py,sha256=KRSsBngArbs5LNZgzVQlMSLJPLvmG5u-ScSj43wvKRQ,25462
452
- oscura/visualization/jitter.py,sha256=Zib_cShNShvH9qZT8crZHTsMk5hmGc2a7qgO2vvwEco,20526
453
- oscura/visualization/keyboard.py,sha256=zFSL24_rqMHfw1Wc5tF-PJ8Np_ocFKNk3U1VRTzKnB8,10973
454
- oscura/visualization/layout.py,sha256=PkOmVWJRkx4JswetzrBOQpp3tpoe7dlqnFXdlyq3POk,11587
455
- oscura/visualization/optimization.py,sha256=Ggkrpr4s9sgVXfBw7QxIwxuUt8IVh5tp1njAPZiv21Y,32678
456
- oscura/visualization/palettes.py,sha256=QXvqUD2R6OpEbYaYufyM4cWlrB7b0BW5lFPobLpkrbU,13165
457
- oscura/visualization/plot.py,sha256=vTxG3zlJiU86K7LHhyRhOoLO2uSbEttb8XNs5F1jwNM,1943
458
- oscura/visualization/power.py,sha256=5y2QYiqwRp8X-AwgLF4R5RvT1nSeDsPTT9PJJg-GyMs,10136
459
- oscura/visualization/power_extended.py,sha256=XbX-AjSD8HRi7EiHirYXUR2QRxUIwVGY3I1o3kCra5c,19047
460
- oscura/visualization/presets.py,sha256=25BuzZp3uMubWQ7zshS2ShdKO0PGqUWbYi2Zz7mU9Cs,13174
461
- oscura/visualization/protocols.py,sha256=OtikY6ktYga4-59mI13-S0aqy0r5F5mqojb5uKe5evo,29418
462
- oscura/visualization/render.py,sha256=QPsfMhEq7OfQZ1eS8CBS3yEiHyOB7xGg6LeHkhcCuuo,6737
463
- oscura/visualization/rendering.py,sha256=-hJ9nhvJ3sxXCX9NhV9ajWLdSaI2RjsNrtuwq6GIpS4,13121
464
- oscura/visualization/reverse_engineering.py,sha256=hr88pPYdcQiMdjAezR4VJaC4Kuz68Goi8Gb1bMap8IA,24735
465
- oscura/visualization/signal_integrity.py,sha256=BlO_NNsqDyx_H4DhRfSdnzcgcubGcTnX09HkFJ1JndA,26115
466
- oscura/visualization/specialized.py,sha256=yUA2k-6kglVclVTZmRvPnb0d9gYcjK636_TB-PwTOT8,16099
467
- oscura/visualization/spectral.py,sha256=dgBbu64ltuv_9aciG9b0mGwSMDurufc870PPIHOf75A,24594
468
- oscura/visualization/styles.py,sha256=58-aRnig_9R1ap6UNWkkLYWAyCM7QHRLrEQF-42vQ_g,10227
469
- oscura/visualization/thumbnails.py,sha256=7Mn_TjbyJ2WwEw37BAOTagqGy4O6XpDYt8xsOGOVnZA,9364
470
- oscura/visualization/time_axis.py,sha256=rWzDV2wofJo1VsZg4WP6FSNbdAWOuFg6PjhTM6yukrc,8871
471
- oscura/visualization/waveform.py,sha256=4z6X6Zj9ua13dtZApA3aBmEFzKLSzhLYohiiiWrkCjI,10420
472
- oscura/workflow/__init__.py,sha256=gGTsfRHONQTjNOHL9VIoL9wZNcYY8r7Fomts-NTYJi4,319
473
- oscura/workflow/dag.py,sha256=StsFEOkxsJJy6WlWt7RK4bx2UappVRF2hfqJ4f1jJfc,12215
474
- oscura/workflows/__init__.py,sha256=cVPIhjLgfwsulSQCuKdmNlEUx7KYIIO6buiKwMDAzsc,1572
475
- oscura/workflows/compliance.py,sha256=apZAOh5nd4YgvwywjH9sjhBN1387EMgtI8KPElUi7Lg,9610
476
- oscura/workflows/digital.py,sha256=-ylzm1gLj0stfZLAUSocFKRUpaiuOsAzW-PgwK6k2RM,9144
477
- oscura/workflows/multi_trace.py,sha256=EeyiYPQ9yihKTfLXGrCWpYqbejUHjs0BJwFuPOHnNh0,16253
478
- oscura/workflows/power.py,sha256=fpTzoIfuZi69ldtu2KAHW-Qu6jzA5jBa_9LVy6xqpTI,6080
479
- oscura/workflows/protocol.py,sha256=x3T-M81vFVrW3mouaYA8WjxyLLzZyLATVJbiqcMAVFQ,15275
480
- oscura/workflows/reverse_engineering.py,sha256=K_yrqrQqQNcCoB0jRAG92e2zy8er3oiKJWSF6lU4nGk,19929
481
- oscura/workflows/signal_integrity.py,sha256=p-DOC-AhzQOkG_jyyBK3EUaIBAGZhAhdmo-Ub_ifC3U,8391
482
- oscura-0.5.0.dist-info/METADATA,sha256=W_eBFGCar4hKFM9LNN_hFgSh8iN092gAbE2QmilSIgw,16212
483
- oscura-0.5.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
484
- oscura-0.5.0.dist-info/entry_points.txt,sha256=QLBxd-iTjBQ5HidaVSkLBwvUsqxSG1ZTJ6i-0juu960,48
485
- oscura-0.5.0.dist-info/licenses/LICENSE,sha256=p1_oEK-oqWDXMFSv5mKbyYkgW-CPbCnFUvdICu490aY,1077
486
- oscura-0.5.0.dist-info/RECORD,,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes