oscura 0.0.1__py3-none-any.whl → 0.1.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 (465) hide show
  1. oscura/__init__.py +813 -8
  2. oscura/__main__.py +392 -0
  3. oscura/analyzers/__init__.py +37 -0
  4. oscura/analyzers/digital/__init__.py +177 -0
  5. oscura/analyzers/digital/bus.py +691 -0
  6. oscura/analyzers/digital/clock.py +805 -0
  7. oscura/analyzers/digital/correlation.py +720 -0
  8. oscura/analyzers/digital/edges.py +632 -0
  9. oscura/analyzers/digital/extraction.py +413 -0
  10. oscura/analyzers/digital/quality.py +878 -0
  11. oscura/analyzers/digital/signal_quality.py +877 -0
  12. oscura/analyzers/digital/thresholds.py +708 -0
  13. oscura/analyzers/digital/timing.py +1104 -0
  14. oscura/analyzers/eye/__init__.py +46 -0
  15. oscura/analyzers/eye/diagram.py +434 -0
  16. oscura/analyzers/eye/metrics.py +555 -0
  17. oscura/analyzers/jitter/__init__.py +83 -0
  18. oscura/analyzers/jitter/ber.py +333 -0
  19. oscura/analyzers/jitter/decomposition.py +759 -0
  20. oscura/analyzers/jitter/measurements.py +413 -0
  21. oscura/analyzers/jitter/spectrum.py +220 -0
  22. oscura/analyzers/measurements.py +40 -0
  23. oscura/analyzers/packet/__init__.py +171 -0
  24. oscura/analyzers/packet/daq.py +1077 -0
  25. oscura/analyzers/packet/metrics.py +437 -0
  26. oscura/analyzers/packet/parser.py +327 -0
  27. oscura/analyzers/packet/payload.py +2156 -0
  28. oscura/analyzers/packet/payload_analysis.py +1312 -0
  29. oscura/analyzers/packet/payload_extraction.py +236 -0
  30. oscura/analyzers/packet/payload_patterns.py +670 -0
  31. oscura/analyzers/packet/stream.py +359 -0
  32. oscura/analyzers/patterns/__init__.py +266 -0
  33. oscura/analyzers/patterns/clustering.py +1036 -0
  34. oscura/analyzers/patterns/discovery.py +539 -0
  35. oscura/analyzers/patterns/learning.py +797 -0
  36. oscura/analyzers/patterns/matching.py +1091 -0
  37. oscura/analyzers/patterns/periodic.py +650 -0
  38. oscura/analyzers/patterns/sequences.py +767 -0
  39. oscura/analyzers/power/__init__.py +116 -0
  40. oscura/analyzers/power/ac_power.py +391 -0
  41. oscura/analyzers/power/basic.py +383 -0
  42. oscura/analyzers/power/conduction.py +314 -0
  43. oscura/analyzers/power/efficiency.py +297 -0
  44. oscura/analyzers/power/ripple.py +356 -0
  45. oscura/analyzers/power/soa.py +372 -0
  46. oscura/analyzers/power/switching.py +479 -0
  47. oscura/analyzers/protocol/__init__.py +150 -0
  48. oscura/analyzers/protocols/__init__.py +150 -0
  49. oscura/analyzers/protocols/base.py +500 -0
  50. oscura/analyzers/protocols/can.py +620 -0
  51. oscura/analyzers/protocols/can_fd.py +448 -0
  52. oscura/analyzers/protocols/flexray.py +405 -0
  53. oscura/analyzers/protocols/hdlc.py +399 -0
  54. oscura/analyzers/protocols/i2c.py +368 -0
  55. oscura/analyzers/protocols/i2s.py +296 -0
  56. oscura/analyzers/protocols/jtag.py +393 -0
  57. oscura/analyzers/protocols/lin.py +445 -0
  58. oscura/analyzers/protocols/manchester.py +333 -0
  59. oscura/analyzers/protocols/onewire.py +501 -0
  60. oscura/analyzers/protocols/spi.py +334 -0
  61. oscura/analyzers/protocols/swd.py +325 -0
  62. oscura/analyzers/protocols/uart.py +393 -0
  63. oscura/analyzers/protocols/usb.py +495 -0
  64. oscura/analyzers/signal_integrity/__init__.py +63 -0
  65. oscura/analyzers/signal_integrity/embedding.py +294 -0
  66. oscura/analyzers/signal_integrity/equalization.py +370 -0
  67. oscura/analyzers/signal_integrity/sparams.py +484 -0
  68. oscura/analyzers/spectral/__init__.py +53 -0
  69. oscura/analyzers/spectral/chunked.py +273 -0
  70. oscura/analyzers/spectral/chunked_fft.py +571 -0
  71. oscura/analyzers/spectral/chunked_wavelet.py +391 -0
  72. oscura/analyzers/spectral/fft.py +92 -0
  73. oscura/analyzers/statistical/__init__.py +250 -0
  74. oscura/analyzers/statistical/checksum.py +923 -0
  75. oscura/analyzers/statistical/chunked_corr.py +228 -0
  76. oscura/analyzers/statistical/classification.py +778 -0
  77. oscura/analyzers/statistical/entropy.py +1113 -0
  78. oscura/analyzers/statistical/ngrams.py +614 -0
  79. oscura/analyzers/statistics/__init__.py +119 -0
  80. oscura/analyzers/statistics/advanced.py +885 -0
  81. oscura/analyzers/statistics/basic.py +263 -0
  82. oscura/analyzers/statistics/correlation.py +630 -0
  83. oscura/analyzers/statistics/distribution.py +298 -0
  84. oscura/analyzers/statistics/outliers.py +463 -0
  85. oscura/analyzers/statistics/streaming.py +93 -0
  86. oscura/analyzers/statistics/trend.py +520 -0
  87. oscura/analyzers/validation.py +598 -0
  88. oscura/analyzers/waveform/__init__.py +36 -0
  89. oscura/analyzers/waveform/measurements.py +943 -0
  90. oscura/analyzers/waveform/measurements_with_uncertainty.py +371 -0
  91. oscura/analyzers/waveform/spectral.py +1689 -0
  92. oscura/analyzers/waveform/wavelets.py +298 -0
  93. oscura/api/__init__.py +62 -0
  94. oscura/api/dsl.py +538 -0
  95. oscura/api/fluent.py +571 -0
  96. oscura/api/operators.py +498 -0
  97. oscura/api/optimization.py +392 -0
  98. oscura/api/profiling.py +396 -0
  99. oscura/automotive/__init__.py +73 -0
  100. oscura/automotive/can/__init__.py +52 -0
  101. oscura/automotive/can/analysis.py +356 -0
  102. oscura/automotive/can/checksum.py +250 -0
  103. oscura/automotive/can/correlation.py +212 -0
  104. oscura/automotive/can/discovery.py +355 -0
  105. oscura/automotive/can/message_wrapper.py +375 -0
  106. oscura/automotive/can/models.py +385 -0
  107. oscura/automotive/can/patterns.py +381 -0
  108. oscura/automotive/can/session.py +452 -0
  109. oscura/automotive/can/state_machine.py +300 -0
  110. oscura/automotive/can/stimulus_response.py +461 -0
  111. oscura/automotive/dbc/__init__.py +15 -0
  112. oscura/automotive/dbc/generator.py +156 -0
  113. oscura/automotive/dbc/parser.py +146 -0
  114. oscura/automotive/dtc/__init__.py +30 -0
  115. oscura/automotive/dtc/database.py +3036 -0
  116. oscura/automotive/j1939/__init__.py +14 -0
  117. oscura/automotive/j1939/decoder.py +745 -0
  118. oscura/automotive/loaders/__init__.py +35 -0
  119. oscura/automotive/loaders/asc.py +98 -0
  120. oscura/automotive/loaders/blf.py +77 -0
  121. oscura/automotive/loaders/csv_can.py +136 -0
  122. oscura/automotive/loaders/dispatcher.py +136 -0
  123. oscura/automotive/loaders/mdf.py +331 -0
  124. oscura/automotive/loaders/pcap.py +132 -0
  125. oscura/automotive/obd/__init__.py +14 -0
  126. oscura/automotive/obd/decoder.py +707 -0
  127. oscura/automotive/uds/__init__.py +48 -0
  128. oscura/automotive/uds/decoder.py +265 -0
  129. oscura/automotive/uds/models.py +64 -0
  130. oscura/automotive/visualization.py +369 -0
  131. oscura/batch/__init__.py +55 -0
  132. oscura/batch/advanced.py +627 -0
  133. oscura/batch/aggregate.py +300 -0
  134. oscura/batch/analyze.py +139 -0
  135. oscura/batch/logging.py +487 -0
  136. oscura/batch/metrics.py +556 -0
  137. oscura/builders/__init__.py +41 -0
  138. oscura/builders/signal_builder.py +1131 -0
  139. oscura/cli/__init__.py +14 -0
  140. oscura/cli/batch.py +339 -0
  141. oscura/cli/characterize.py +273 -0
  142. oscura/cli/compare.py +775 -0
  143. oscura/cli/decode.py +551 -0
  144. oscura/cli/main.py +247 -0
  145. oscura/cli/shell.py +350 -0
  146. oscura/comparison/__init__.py +66 -0
  147. oscura/comparison/compare.py +397 -0
  148. oscura/comparison/golden.py +487 -0
  149. oscura/comparison/limits.py +391 -0
  150. oscura/comparison/mask.py +434 -0
  151. oscura/comparison/trace_diff.py +30 -0
  152. oscura/comparison/visualization.py +481 -0
  153. oscura/compliance/__init__.py +70 -0
  154. oscura/compliance/advanced.py +756 -0
  155. oscura/compliance/masks.py +363 -0
  156. oscura/compliance/reporting.py +483 -0
  157. oscura/compliance/testing.py +298 -0
  158. oscura/component/__init__.py +38 -0
  159. oscura/component/impedance.py +365 -0
  160. oscura/component/reactive.py +598 -0
  161. oscura/component/transmission_line.py +312 -0
  162. oscura/config/__init__.py +191 -0
  163. oscura/config/defaults.py +254 -0
  164. oscura/config/loader.py +348 -0
  165. oscura/config/memory.py +271 -0
  166. oscura/config/migration.py +458 -0
  167. oscura/config/pipeline.py +1077 -0
  168. oscura/config/preferences.py +530 -0
  169. oscura/config/protocol.py +875 -0
  170. oscura/config/schema.py +713 -0
  171. oscura/config/settings.py +420 -0
  172. oscura/config/thresholds.py +599 -0
  173. oscura/convenience.py +457 -0
  174. oscura/core/__init__.py +299 -0
  175. oscura/core/audit.py +457 -0
  176. oscura/core/backend_selector.py +405 -0
  177. oscura/core/cache.py +590 -0
  178. oscura/core/cancellation.py +439 -0
  179. oscura/core/confidence.py +225 -0
  180. oscura/core/config.py +506 -0
  181. oscura/core/correlation.py +216 -0
  182. oscura/core/cross_domain.py +422 -0
  183. oscura/core/debug.py +301 -0
  184. oscura/core/edge_cases.py +541 -0
  185. oscura/core/exceptions.py +535 -0
  186. oscura/core/gpu_backend.py +523 -0
  187. oscura/core/lazy.py +832 -0
  188. oscura/core/log_query.py +540 -0
  189. oscura/core/logging.py +931 -0
  190. oscura/core/logging_advanced.py +952 -0
  191. oscura/core/memoize.py +171 -0
  192. oscura/core/memory_check.py +274 -0
  193. oscura/core/memory_guard.py +290 -0
  194. oscura/core/memory_limits.py +336 -0
  195. oscura/core/memory_monitor.py +453 -0
  196. oscura/core/memory_progress.py +465 -0
  197. oscura/core/memory_warnings.py +315 -0
  198. oscura/core/numba_backend.py +362 -0
  199. oscura/core/performance.py +352 -0
  200. oscura/core/progress.py +524 -0
  201. oscura/core/provenance.py +358 -0
  202. oscura/core/results.py +331 -0
  203. oscura/core/types.py +504 -0
  204. oscura/core/uncertainty.py +383 -0
  205. oscura/discovery/__init__.py +52 -0
  206. oscura/discovery/anomaly_detector.py +672 -0
  207. oscura/discovery/auto_decoder.py +415 -0
  208. oscura/discovery/comparison.py +497 -0
  209. oscura/discovery/quality_validator.py +528 -0
  210. oscura/discovery/signal_detector.py +769 -0
  211. oscura/dsl/__init__.py +73 -0
  212. oscura/dsl/commands.py +246 -0
  213. oscura/dsl/interpreter.py +455 -0
  214. oscura/dsl/parser.py +689 -0
  215. oscura/dsl/repl.py +172 -0
  216. oscura/exceptions.py +59 -0
  217. oscura/exploratory/__init__.py +111 -0
  218. oscura/exploratory/error_recovery.py +642 -0
  219. oscura/exploratory/fuzzy.py +513 -0
  220. oscura/exploratory/fuzzy_advanced.py +786 -0
  221. oscura/exploratory/legacy.py +831 -0
  222. oscura/exploratory/parse.py +358 -0
  223. oscura/exploratory/recovery.py +275 -0
  224. oscura/exploratory/sync.py +382 -0
  225. oscura/exploratory/unknown.py +707 -0
  226. oscura/export/__init__.py +25 -0
  227. oscura/export/wireshark/README.md +265 -0
  228. oscura/export/wireshark/__init__.py +47 -0
  229. oscura/export/wireshark/generator.py +312 -0
  230. oscura/export/wireshark/lua_builder.py +159 -0
  231. oscura/export/wireshark/templates/dissector.lua.j2 +92 -0
  232. oscura/export/wireshark/type_mapping.py +165 -0
  233. oscura/export/wireshark/validator.py +105 -0
  234. oscura/exporters/__init__.py +94 -0
  235. oscura/exporters/csv.py +303 -0
  236. oscura/exporters/exporters.py +44 -0
  237. oscura/exporters/hdf5.py +219 -0
  238. oscura/exporters/html_export.py +701 -0
  239. oscura/exporters/json_export.py +291 -0
  240. oscura/exporters/markdown_export.py +367 -0
  241. oscura/exporters/matlab_export.py +354 -0
  242. oscura/exporters/npz_export.py +219 -0
  243. oscura/exporters/spice_export.py +210 -0
  244. oscura/extensibility/__init__.py +131 -0
  245. oscura/extensibility/docs.py +752 -0
  246. oscura/extensibility/extensions.py +1125 -0
  247. oscura/extensibility/logging.py +259 -0
  248. oscura/extensibility/measurements.py +485 -0
  249. oscura/extensibility/plugins.py +414 -0
  250. oscura/extensibility/registry.py +346 -0
  251. oscura/extensibility/templates.py +913 -0
  252. oscura/extensibility/validation.py +651 -0
  253. oscura/filtering/__init__.py +89 -0
  254. oscura/filtering/base.py +563 -0
  255. oscura/filtering/convenience.py +564 -0
  256. oscura/filtering/design.py +725 -0
  257. oscura/filtering/filters.py +32 -0
  258. oscura/filtering/introspection.py +605 -0
  259. oscura/guidance/__init__.py +24 -0
  260. oscura/guidance/recommender.py +429 -0
  261. oscura/guidance/wizard.py +518 -0
  262. oscura/inference/__init__.py +251 -0
  263. oscura/inference/active_learning/README.md +153 -0
  264. oscura/inference/active_learning/__init__.py +38 -0
  265. oscura/inference/active_learning/lstar.py +257 -0
  266. oscura/inference/active_learning/observation_table.py +230 -0
  267. oscura/inference/active_learning/oracle.py +78 -0
  268. oscura/inference/active_learning/teachers/__init__.py +15 -0
  269. oscura/inference/active_learning/teachers/simulator.py +192 -0
  270. oscura/inference/adaptive_tuning.py +453 -0
  271. oscura/inference/alignment.py +653 -0
  272. oscura/inference/bayesian.py +943 -0
  273. oscura/inference/binary.py +1016 -0
  274. oscura/inference/crc_reverse.py +711 -0
  275. oscura/inference/logic.py +288 -0
  276. oscura/inference/message_format.py +1305 -0
  277. oscura/inference/protocol.py +417 -0
  278. oscura/inference/protocol_dsl.py +1084 -0
  279. oscura/inference/protocol_library.py +1230 -0
  280. oscura/inference/sequences.py +809 -0
  281. oscura/inference/signal_intelligence.py +1509 -0
  282. oscura/inference/spectral.py +215 -0
  283. oscura/inference/state_machine.py +634 -0
  284. oscura/inference/stream.py +918 -0
  285. oscura/integrations/__init__.py +59 -0
  286. oscura/integrations/llm.py +1827 -0
  287. oscura/jupyter/__init__.py +32 -0
  288. oscura/jupyter/display.py +268 -0
  289. oscura/jupyter/magic.py +334 -0
  290. oscura/loaders/__init__.py +526 -0
  291. oscura/loaders/binary.py +69 -0
  292. oscura/loaders/configurable.py +1255 -0
  293. oscura/loaders/csv.py +26 -0
  294. oscura/loaders/csv_loader.py +473 -0
  295. oscura/loaders/hdf5.py +9 -0
  296. oscura/loaders/hdf5_loader.py +510 -0
  297. oscura/loaders/lazy.py +370 -0
  298. oscura/loaders/mmap_loader.py +583 -0
  299. oscura/loaders/numpy_loader.py +436 -0
  300. oscura/loaders/pcap.py +432 -0
  301. oscura/loaders/preprocessing.py +368 -0
  302. oscura/loaders/rigol.py +287 -0
  303. oscura/loaders/sigrok.py +321 -0
  304. oscura/loaders/tdms.py +367 -0
  305. oscura/loaders/tektronix.py +711 -0
  306. oscura/loaders/validation.py +584 -0
  307. oscura/loaders/vcd.py +464 -0
  308. oscura/loaders/wav.py +233 -0
  309. oscura/math/__init__.py +45 -0
  310. oscura/math/arithmetic.py +824 -0
  311. oscura/math/interpolation.py +413 -0
  312. oscura/onboarding/__init__.py +39 -0
  313. oscura/onboarding/help.py +498 -0
  314. oscura/onboarding/tutorials.py +405 -0
  315. oscura/onboarding/wizard.py +466 -0
  316. oscura/optimization/__init__.py +19 -0
  317. oscura/optimization/parallel.py +440 -0
  318. oscura/optimization/search.py +532 -0
  319. oscura/pipeline/__init__.py +43 -0
  320. oscura/pipeline/base.py +338 -0
  321. oscura/pipeline/composition.py +242 -0
  322. oscura/pipeline/parallel.py +448 -0
  323. oscura/pipeline/pipeline.py +375 -0
  324. oscura/pipeline/reverse_engineering.py +1119 -0
  325. oscura/plugins/__init__.py +122 -0
  326. oscura/plugins/base.py +272 -0
  327. oscura/plugins/cli.py +497 -0
  328. oscura/plugins/discovery.py +411 -0
  329. oscura/plugins/isolation.py +418 -0
  330. oscura/plugins/lifecycle.py +959 -0
  331. oscura/plugins/manager.py +493 -0
  332. oscura/plugins/registry.py +421 -0
  333. oscura/plugins/versioning.py +372 -0
  334. oscura/py.typed +0 -0
  335. oscura/quality/__init__.py +65 -0
  336. oscura/quality/ensemble.py +740 -0
  337. oscura/quality/explainer.py +338 -0
  338. oscura/quality/scoring.py +616 -0
  339. oscura/quality/warnings.py +456 -0
  340. oscura/reporting/__init__.py +248 -0
  341. oscura/reporting/advanced.py +1234 -0
  342. oscura/reporting/analyze.py +448 -0
  343. oscura/reporting/argument_preparer.py +596 -0
  344. oscura/reporting/auto_report.py +507 -0
  345. oscura/reporting/batch.py +615 -0
  346. oscura/reporting/chart_selection.py +223 -0
  347. oscura/reporting/comparison.py +330 -0
  348. oscura/reporting/config.py +615 -0
  349. oscura/reporting/content/__init__.py +39 -0
  350. oscura/reporting/content/executive.py +127 -0
  351. oscura/reporting/content/filtering.py +191 -0
  352. oscura/reporting/content/minimal.py +257 -0
  353. oscura/reporting/content/verbosity.py +162 -0
  354. oscura/reporting/core.py +508 -0
  355. oscura/reporting/core_formats/__init__.py +17 -0
  356. oscura/reporting/core_formats/multi_format.py +210 -0
  357. oscura/reporting/engine.py +836 -0
  358. oscura/reporting/export.py +366 -0
  359. oscura/reporting/formatting/__init__.py +129 -0
  360. oscura/reporting/formatting/emphasis.py +81 -0
  361. oscura/reporting/formatting/numbers.py +403 -0
  362. oscura/reporting/formatting/standards.py +55 -0
  363. oscura/reporting/formatting.py +466 -0
  364. oscura/reporting/html.py +578 -0
  365. oscura/reporting/index.py +590 -0
  366. oscura/reporting/multichannel.py +296 -0
  367. oscura/reporting/output.py +379 -0
  368. oscura/reporting/pdf.py +373 -0
  369. oscura/reporting/plots.py +731 -0
  370. oscura/reporting/pptx_export.py +360 -0
  371. oscura/reporting/renderers/__init__.py +11 -0
  372. oscura/reporting/renderers/pdf.py +94 -0
  373. oscura/reporting/sections.py +471 -0
  374. oscura/reporting/standards.py +680 -0
  375. oscura/reporting/summary_generator.py +368 -0
  376. oscura/reporting/tables.py +397 -0
  377. oscura/reporting/template_system.py +724 -0
  378. oscura/reporting/templates/__init__.py +15 -0
  379. oscura/reporting/templates/definition.py +205 -0
  380. oscura/reporting/templates/index.html +649 -0
  381. oscura/reporting/templates/index.md +173 -0
  382. oscura/schemas/__init__.py +158 -0
  383. oscura/schemas/bus_configuration.json +322 -0
  384. oscura/schemas/device_mapping.json +182 -0
  385. oscura/schemas/packet_format.json +418 -0
  386. oscura/schemas/protocol_definition.json +363 -0
  387. oscura/search/__init__.py +16 -0
  388. oscura/search/anomaly.py +292 -0
  389. oscura/search/context.py +149 -0
  390. oscura/search/pattern.py +160 -0
  391. oscura/session/__init__.py +34 -0
  392. oscura/session/annotations.py +289 -0
  393. oscura/session/history.py +313 -0
  394. oscura/session/session.py +445 -0
  395. oscura/streaming/__init__.py +43 -0
  396. oscura/streaming/chunked.py +611 -0
  397. oscura/streaming/progressive.py +393 -0
  398. oscura/streaming/realtime.py +622 -0
  399. oscura/testing/__init__.py +54 -0
  400. oscura/testing/synthetic.py +808 -0
  401. oscura/triggering/__init__.py +68 -0
  402. oscura/triggering/base.py +229 -0
  403. oscura/triggering/edge.py +353 -0
  404. oscura/triggering/pattern.py +344 -0
  405. oscura/triggering/pulse.py +581 -0
  406. oscura/triggering/window.py +453 -0
  407. oscura/ui/__init__.py +48 -0
  408. oscura/ui/formatters.py +526 -0
  409. oscura/ui/progressive_display.py +340 -0
  410. oscura/utils/__init__.py +99 -0
  411. oscura/utils/autodetect.py +338 -0
  412. oscura/utils/buffer.py +389 -0
  413. oscura/utils/lazy.py +407 -0
  414. oscura/utils/lazy_imports.py +147 -0
  415. oscura/utils/memory.py +836 -0
  416. oscura/utils/memory_advanced.py +1326 -0
  417. oscura/utils/memory_extensions.py +465 -0
  418. oscura/utils/progressive.py +352 -0
  419. oscura/utils/windowing.py +362 -0
  420. oscura/visualization/__init__.py +321 -0
  421. oscura/visualization/accessibility.py +526 -0
  422. oscura/visualization/annotations.py +374 -0
  423. oscura/visualization/axis_scaling.py +305 -0
  424. oscura/visualization/colors.py +453 -0
  425. oscura/visualization/digital.py +337 -0
  426. oscura/visualization/eye.py +420 -0
  427. oscura/visualization/histogram.py +281 -0
  428. oscura/visualization/interactive.py +858 -0
  429. oscura/visualization/jitter.py +702 -0
  430. oscura/visualization/keyboard.py +394 -0
  431. oscura/visualization/layout.py +365 -0
  432. oscura/visualization/optimization.py +1028 -0
  433. oscura/visualization/palettes.py +446 -0
  434. oscura/visualization/plot.py +92 -0
  435. oscura/visualization/power.py +290 -0
  436. oscura/visualization/power_extended.py +626 -0
  437. oscura/visualization/presets.py +467 -0
  438. oscura/visualization/protocols.py +932 -0
  439. oscura/visualization/render.py +207 -0
  440. oscura/visualization/rendering.py +444 -0
  441. oscura/visualization/reverse_engineering.py +791 -0
  442. oscura/visualization/signal_integrity.py +808 -0
  443. oscura/visualization/specialized.py +553 -0
  444. oscura/visualization/spectral.py +811 -0
  445. oscura/visualization/styles.py +381 -0
  446. oscura/visualization/thumbnails.py +311 -0
  447. oscura/visualization/time_axis.py +351 -0
  448. oscura/visualization/waveform.py +367 -0
  449. oscura/workflow/__init__.py +13 -0
  450. oscura/workflow/dag.py +377 -0
  451. oscura/workflows/__init__.py +58 -0
  452. oscura/workflows/compliance.py +280 -0
  453. oscura/workflows/digital.py +272 -0
  454. oscura/workflows/multi_trace.py +502 -0
  455. oscura/workflows/power.py +178 -0
  456. oscura/workflows/protocol.py +492 -0
  457. oscura/workflows/reverse_engineering.py +639 -0
  458. oscura/workflows/signal_integrity.py +227 -0
  459. oscura-0.1.0.dist-info/METADATA +300 -0
  460. oscura-0.1.0.dist-info/RECORD +463 -0
  461. oscura-0.1.0.dist-info/entry_points.txt +2 -0
  462. {oscura-0.0.1.dist-info → oscura-0.1.0.dist-info}/licenses/LICENSE +1 -1
  463. oscura-0.0.1.dist-info/METADATA +0 -63
  464. oscura-0.0.1.dist-info/RECORD +0 -5
  465. {oscura-0.0.1.dist-info → oscura-0.1.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,463 @@
1
+ oscura/__init__.py,sha256=bGvQnnYjYtZGi2YQzCw8ObZojG0Y6DqOhdd3ZWdfSNM,18444
2
+ oscura/__main__.py,sha256=AeQsbiH7N65Z77uWC2CDdFH5vOHJrke9G_Ej5pMLSz0,11798
3
+ oscura/convenience.py,sha256=MQCKPolLeRtPNhubc4rPKwsBrIffy5eYDpbUD1oWx-Y,14602
4
+ oscura/exceptions.py,sha256=X8YqPIwyTWil9NUTsDMPy-eXiAvn8HJFrgxBHDEldq0,1612
5
+ oscura/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ oscura/analyzers/__init__.py,sha256=MpaENDDRJ7PKkd_3VCNfoEdfvx24uBAr77UTI3Sl_zk,898
7
+ oscura/analyzers/measurements.py,sha256=ng5Qt2jyAvfKw3JQbJY_JNUqAOJEZwPo3UWa0xSg5Xk,697
8
+ oscura/analyzers/validation.py,sha256=vHSKmLThwcU0j5Dat9QPbWImw_dqUGaZk_Ul6XbJ958,20376
9
+ oscura/analyzers/digital/__init__.py,sha256=CrZxLveYI-nZ7INCZg-4zp8UP_uQRpMmX2vljzudJ6s,4228
10
+ oscura/analyzers/digital/bus.py,sha256=Wf3QUKNSxzXaWItR1rdf32kELayywrIg0TC-OhKEub0,22717
11
+ oscura/analyzers/digital/clock.py,sha256=Ls9-YgH0qRLhkZWG9qVadcGw9koT21UPvFk-Ia5OuZ8,25802
12
+ oscura/analyzers/digital/correlation.py,sha256=_D-pmymVU1rTemSUfg_MklXCo03VkfAFcxSTLAV6jcY,23689
13
+ oscura/analyzers/digital/edges.py,sha256=uQf00dxcN8h8dni3l-ksZ8XsMswk5Gzhtdqp7GpFkk8,20000
14
+ oscura/analyzers/digital/extraction.py,sha256=wBOPZi3H1llCHsq36txz_jkEO--Sj6pbsxPZXXGk5_c,12144
15
+ oscura/analyzers/digital/quality.py,sha256=bMXpmAhs15tjyiWW0Ao5aZcK_8AvEKyo_E3rtxDrFlo,27413
16
+ oscura/analyzers/digital/signal_quality.py,sha256=Ssb1MkUfqjiENJJFOslkTX8Ef6C65HFCM_Ra20Bvp4k,30130
17
+ oscura/analyzers/digital/thresholds.py,sha256=CrGgO1rtzkUOnYb40UT3_uD_0qVA853lGL2WNL95qv4,22428
18
+ oscura/analyzers/digital/timing.py,sha256=ilk6iacaIup2epB_VOnNjg0jGBFT5wBX-CpaZLFVScM,33138
19
+ oscura/analyzers/eye/__init__.py,sha256=SRW0Ir-1RWLwoaenk6FZhGOIWPkuhevYTPt_-8thPw0,974
20
+ oscura/analyzers/eye/diagram.py,sha256=T3QwuZ3nvlHzSkmjp47ariRlt3FnfsK6yh3WsPszhmI,13307
21
+ oscura/analyzers/eye/metrics.py,sha256=QDwtMxiBPSXbUCyFnTiAgWllbVCrcI4xEo6teZc3Cm8,17210
22
+ oscura/analyzers/jitter/__init__.py,sha256=DNfsUPtjvncreFNmPWegbWdl6ct4E0sTV6JjrTEp7O0,2132
23
+ oscura/analyzers/jitter/ber.py,sha256=XvLfZZexJH5C43kjOk6CQWT5KzlQ0k6sQMn9kHwM2nM,9125
24
+ oscura/analyzers/jitter/decomposition.py,sha256=ntgQtAOK4CJg-W6xIr7kknyAHnsdGgqdL9lP1xRot9s,24282
25
+ oscura/analyzers/jitter/measurements.py,sha256=xAxw_82M8v6Vq3oPMmGN44LzAUOmpi-YoLs58fCpA8Q,12417
26
+ oscura/analyzers/jitter/spectrum.py,sha256=wkud4VBrb4EjneouC9t5bARIfm2w7AKWcpekmYchjTI,6284
27
+ oscura/analyzers/packet/__init__.py,sha256=HNhAvW_T-P6OXlgCid01Jq8qfhgFtvABw-Tn7XLFoNU,3937
28
+ oscura/analyzers/packet/daq.py,sha256=YivcI4bOvtRkGnsRKl4F60tZBWRlyAtkxyfPaH_ZgOQ,33755
29
+ oscura/analyzers/packet/metrics.py,sha256=MyCeg4YX0Z6illSs_o7LleFksjVD3OLb7eh5wAzhVjs,11456
30
+ oscura/analyzers/packet/parser.py,sha256=cWYxk_e98ePnh2_2pCKX9Y9-1SHx8zmbPCzyQUkFxUw,8760
31
+ oscura/analyzers/packet/payload.py,sha256=z_Dr6yiEFLeDzUeGCCijetjscqyvhdzZoPIfS4ICXKw,65662
32
+ oscura/analyzers/packet/payload_analysis.py,sha256=TN4Awhm1hdLVCobs3fdWOs45fc4t2dtg4Kn8ffNoiQw,40090
33
+ oscura/analyzers/packet/payload_extraction.py,sha256=zlnT-lBB3XQXAs0_fM8g_eCaPyMXRNkCU6SVbqnoC6A,7784
34
+ oscura/analyzers/packet/payload_patterns.py,sha256=iTbA_e3E2bBg92MqIYMnVBeZyN75k6zslXnoKirKq38,19621
35
+ oscura/analyzers/packet/stream.py,sha256=e3olRx6SdI4ORQ873hyYyMv6VeUXn1_eWLbBPMNYPv4,8804
36
+ oscura/analyzers/patterns/__init__.py,sha256=xqxAjXrMewKzPgkdAkL_qOsl_-O9hksdn2OXZFZKnq4,6821
37
+ oscura/analyzers/patterns/clustering.py,sha256=BDrv5P3Zry7lpDIQZxiJAY-4uWOVtWQZCFxGpkstjXs,32811
38
+ oscura/analyzers/patterns/discovery.py,sha256=AhrhzgRs4vNYtPJfBl9oeiqutNpMbrXgfNHr6rTZo6M,17149
39
+ oscura/analyzers/patterns/learning.py,sha256=aRhE3vLg6fX1a1aD2Lpseil_4EFcrL9vitDotNWOC9w,23826
40
+ oscura/analyzers/patterns/matching.py,sha256=SvW0w6RPLbwH43Pn5hPbSExw5MEugVah1bJWkfbELmI,34945
41
+ oscura/analyzers/patterns/periodic.py,sha256=G5_zZetyGnTnwKbf8klFoU8pNFPJn4KNv1HlY4fAu74,20265
42
+ oscura/analyzers/patterns/sequences.py,sha256=FigqzLkaSxesF1yBN_nUJfYhezKWj_d6KKI7v7fZQjQ,23764
43
+ oscura/analyzers/power/__init__.py,sha256=tHhtbuCBsbEVeKJcjqF_s9mGRt_HNXHrAVNZXgg6sjI,2757
44
+ oscura/analyzers/power/ac_power.py,sha256=Wkv3Q1i8ABEJrE05GXzm0S-kF5SQWNclnp8WIxKRAVg,10438
45
+ oscura/analyzers/power/basic.py,sha256=B1W5ESAKeKqEWzsc5UnXFVFM7NSot8C8SgUk4EY52yI,11395
46
+ oscura/analyzers/power/conduction.py,sha256=r9C1yc9HcBNzHMcpbxOyp5Kjl6ftnFWD1fNMNmb5z6k,8637
47
+ oscura/analyzers/power/efficiency.py,sha256=C2venfwIT7ukNF2MisgnLirfGiI3DuLPm8g1xjANWCI,8697
48
+ oscura/analyzers/power/ripple.py,sha256=qzPGL5aFka6PHjqgD_YlkteqUgDsEVxXkyl-FZndEAw,10206
49
+ oscura/analyzers/power/soa.py,sha256=t-5VSXs9IKn8Dbf-6adM2yozRHziDF3nDtweAM9N8dM,11021
50
+ oscura/analyzers/power/switching.py,sha256=CKuZL_iA6g6QM-BAqHuozbVMiyi6dR11Z-YMqG6Lc3U,15886
51
+ oscura/analyzers/protocol/__init__.py,sha256=DKCoqmpPHgB-Bz65GXArcoqScd714GAbL2eFxcccZEY,3035
52
+ oscura/analyzers/protocols/__init__.py,sha256=nSW_dtZOL_m-qBvrQ8cgFiVKqsr8zehKvm3sf-9O8Rs,3376
53
+ oscura/analyzers/protocols/base.py,sha256=muw9p0LbItduhB2qgt8F0aGodeyVrbM_-6rIIk6ZPfA,13651
54
+ oscura/analyzers/protocols/can.py,sha256=pJGzMrjYJcaPrShdCxw7EMzwUlSNyvhBfuzOUha4JeQ,17810
55
+ oscura/analyzers/protocols/can_fd.py,sha256=MYyB9y6LqUy1zZW0papzajU_RMJFnQeW2_6LTv9qjSM,12992
56
+ oscura/analyzers/protocols/flexray.py,sha256=5mvvFns-T2REpeb9TmcYh1OC_Na0Yych4tBpHYaJOZQ,12421
57
+ oscura/analyzers/protocols/hdlc.py,sha256=2iPmwyTisV9efRYK31sVi6T_-7uK5Jvj0KeOT2c1d8I,11360
58
+ oscura/analyzers/protocols/i2c.py,sha256=D5w9sI6IAiqVtcTw21h48LJuxJRV02lNDky0agC2rgY,10672
59
+ oscura/analyzers/protocols/i2s.py,sha256=r7cK-XDibwvfstIqdGSfEmTbyVsbj82bh5bYIQ6wYqM,9651
60
+ oscura/analyzers/protocols/jtag.py,sha256=CEQWx6g22v2fc14c7d8r2dyeqyfslA9BjKOdl0Watpw,12618
61
+ oscura/analyzers/protocols/lin.py,sha256=JEzF105t-3NeZGx0o-jrOj8JJ5NbU-ZgIWa9r_tKEOw,13692
62
+ oscura/analyzers/protocols/manchester.py,sha256=C01r2u-DZQ-Zlb9P2wYHa-YpKz48HM7wSQAhSdrXNTI,10279
63
+ oscura/analyzers/protocols/onewire.py,sha256=rZHg1zEuIIeHDqKhGS5LEC8lwiWGtdtW0i3Eo8RblFo,15852
64
+ oscura/analyzers/protocols/spi.py,sha256=gl0LVpZVI22tr7h5D1OAdDtlY_krb7CdNCNP10DirRI,10740
65
+ oscura/analyzers/protocols/swd.py,sha256=NAInX2bZyZFCM03CLjjxraYTV7cCGOzcl_OEXU21qZE,10155
66
+ oscura/analyzers/protocols/uart.py,sha256=6bf9EFHjHjkSeTxBq8b6GRlp1xWlBh65HuUcmWxWAEA,12188
67
+ oscura/analyzers/protocols/usb.py,sha256=jBjmqfqnwys6Zvd7Ku-zZRNlOVZB7xKPmocM2NynGg4,14541
68
+ oscura/analyzers/signal_integrity/__init__.py,sha256=RXt5K79WFsy3NvJuNjVxWCf0r6Z8kOIBvJSBBw4X2Y8,1410
69
+ oscura/analyzers/signal_integrity/embedding.py,sha256=O8uTN98Jr24xamXpKtbuIBzFA0zxNq2PmuR0oc3IjtU,8072
70
+ oscura/analyzers/signal_integrity/equalization.py,sha256=cVomry8n-U5pS8F2LKuEdZBwmi1wfbQo2vyWettn2A0,9906
71
+ oscura/analyzers/signal_integrity/sparams.py,sha256=LGmk9MBOx6g-562jfhaJhRwu6b-vNfFMAL6Kjim-cuo,13018
72
+ oscura/analyzers/spectral/__init__.py,sha256=YeUKiUOtN3LkWjPmjiG55OWMldSaBJ4BE4OSem7sdm0,850
73
+ oscura/analyzers/spectral/chunked.py,sha256=KS1Jtv_o9vripQVH3CeaTBx-Lq4AAU-eOXF9_En3rc4,8551
74
+ oscura/analyzers/spectral/chunked_fft.py,sha256=VKslVgXv7xuSuVVx-Fk2eh255AG6D0D-hQFzAbz1Hk4,18593
75
+ oscura/analyzers/spectral/chunked_wavelet.py,sha256=MBw0UfYWxL-aoVHsotgkDQGfWNZXvtzJwDHQknh1QPc,13243
76
+ oscura/analyzers/spectral/fft.py,sha256=eQfCPhZWItKg5g3VYAN8dkwkOfJ4JNX52XGyn_zI9ls,2437
77
+ oscura/analyzers/statistical/__init__.py,sha256=cRwvpMkPck84TunhVYJlNpgTvP1PO2HUCZLTJNbT3xY,6030
78
+ oscura/analyzers/statistical/checksum.py,sha256=Mmc7YQJ19-pjlF7vpO-WZbcaYT2z3KFqA4lJ9qnd3iQ,28401
79
+ oscura/analyzers/statistical/chunked_corr.py,sha256=B9SXVXZKyNfUJ5uSCw8kX4oxYkrIO4cX096SMvo5DZg,6906
80
+ oscura/analyzers/statistical/classification.py,sha256=J5WRxYlA2IxpcO7h3fNDUJEe48GYXUjlwwbZZcGXRo4,25018
81
+ oscura/analyzers/statistical/entropy.py,sha256=WglddjJ5wGvyZh3yLHMdjIH7iWyW4I6qjbpAqrvZ_wY,35371
82
+ oscura/analyzers/statistical/ngrams.py,sha256=xWhxnkJXIe2JHvV0jrgVL4cbjlWOJ5SH8Ki_Ty0oJMs,18022
83
+ oscura/analyzers/statistics/__init__.py,sha256=5dMDFjrxnhVJUqFxnYZL_EhVBDI5SZojJ54HbtHASHs,2743
84
+ oscura/analyzers/statistics/advanced.py,sha256=XeIlZR8COj1yF7OtRZfZ5KWBLYXUSqgN2hNmtiLAD0g,26800
85
+ oscura/analyzers/statistics/basic.py,sha256=Utdf7Cvg2o9TXUQEq1qeEp-W5lb28uECmzjHEKiCW2c,7115
86
+ oscura/analyzers/statistics/correlation.py,sha256=GCQqKAoTVhhBcr1Sr4Ydrr7aa2A1zRf210U263ZflWc,20919
87
+ oscura/analyzers/statistics/distribution.py,sha256=ps2lXgWGYsUBTpGaftC5Qdz7GlDqJmB6z4uXaTeaLao,8916
88
+ oscura/analyzers/statistics/outliers.py,sha256=X8-GfQgSOy7l89E-K-wtmgHCfrWwdr1CqF18Oi4s0UI,14727
89
+ oscura/analyzers/statistics/streaming.py,sha256=eCvh1TpHF-dMGXJ70eews8_xD6Bxol-ZK6V-dn7tjns,2662
90
+ oscura/analyzers/statistics/trend.py,sha256=Tu0gUZqy4PJ7Ne7YzRuJGU80DUl71Onc3QXsbaiuLjU,15565
91
+ oscura/analyzers/waveform/__init__.py,sha256=icFPs-NPaiaNzxjFfzOcMP613jzbqTz_5OgwnJbx7i4,560
92
+ oscura/analyzers/waveform/measurements.py,sha256=3cbnkww2joC6-HS3np-4MvbzCuHSJ_DRv1gz3pLL7tE,25879
93
+ oscura/analyzers/waveform/measurements_with_uncertainty.py,sha256=El_71HBD5tVTS5PKVqDosKhnE3X-1auuRf41wK4On2k,12490
94
+ oscura/analyzers/waveform/spectral.py,sha256=r0vXTqiZspWu8vt1PhzNyj9TBxialJEmahtqFFYUa5g,49899
95
+ oscura/analyzers/waveform/wavelets.py,sha256=rKoqiKmuLQ9iKMFshJam7wdn6fL6sFcJY_-J0fYl5F4,10116
96
+ oscura/api/__init__.py,sha256=QuDow8Stg0A8KE9fCeCE3sUYrA4Hl-uoaBmCej25FWo,1234
97
+ oscura/api/dsl.py,sha256=dAjZIKV85zwb-sA9LE84gRwHV2qHyACD1_WEXRbobsY,14896
98
+ oscura/api/fluent.py,sha256=v5gWUuxOiXsdBxtaQzQRPczrjz84au99B3eeMd7UoCY,15355
99
+ oscura/api/operators.py,sha256=To4PZUrwInD43T7i2Sy8YD04eLoRsmrD6XYePuExUX8,13853
100
+ oscura/api/optimization.py,sha256=5R6rPByVsyxla6oq4SjxjxEp9Uplog4owzsIuFcVoR0,11875
101
+ oscura/api/profiling.py,sha256=vkYinleXrznWdd0OT5zIJN_PW289GQE_ODmR9DaCcQ0,10567
102
+ oscura/automotive/__init__.py,sha256=3L5x8fAxpnAVG9WKSwNxe5v9EhfTBRxCklqKqnr508c,2441
103
+ oscura/automotive/visualization.py,sha256=2ILQjzNwCwj6zZ4MEsBS-QLwYFKMO0_0xDsbv3gEXu0,10692
104
+ oscura/automotive/can/__init__.py,sha256=jJyx8tjy046iNwxGcpdeMsPYOUK6CcntO7kli2AV5xc,1319
105
+ oscura/automotive/can/analysis.py,sha256=0z6MycxuJGusqDQhYEpHnGRmDw3OMf5yDbS8zI6GJO0,11251
106
+ oscura/automotive/can/checksum.py,sha256=eYtmvCjNSI_4H02S9l3uIUBEokgiucOcm2M-bEepX-g,8573
107
+ oscura/automotive/can/correlation.py,sha256=B7MXSz_uzce-dSkwON4ssmFzC53hYc6GupZW3QTkGt4,6754
108
+ oscura/automotive/can/discovery.py,sha256=E4Z-zc8cOP_yUklhVp2tBLOIw2I9KU4mLoSb37VsgTk,11237
109
+ oscura/automotive/can/message_wrapper.py,sha256=xCyHLMvvTiloifWXELoeuN6Qz_vrLL8iPjxZG1FvJYY,12640
110
+ oscura/automotive/can/models.py,sha256=fGnCt8FBKURKAz295s2duUas--w2rVfJpMEZ4O9uPvA,12046
111
+ oscura/automotive/can/patterns.py,sha256=PPAnWrOFgh3EWlzgtT0H8TJcw1kA41uYZWviwOIQvts,13837
112
+ oscura/automotive/can/session.py,sha256=wGLX-otoVgXZaZw0IITNGJoWysCfxAd0VJnTSFWz9BY,15599
113
+ oscura/automotive/can/state_machine.py,sha256=gy8JDiz2-7tX92vFCGr_rmjRxpjKPmVqe1QmY1kr-HQ,10207
114
+ oscura/automotive/can/stimulus_response.py,sha256=y_oN297KypsFewjM6kvjGII0-7Ubpz2RZBPr8pjW-Gc,16543
115
+ oscura/automotive/dbc/__init__.py,sha256=SOO-aD7An7w3l-WyNf4NVpgKUhejaqkieRnsBVm2DYY,416
116
+ oscura/automotive/dbc/generator.py,sha256=eSJb5IWaSCbLYBNpR7jcBRlt8zsCYFT52JFguic5noo,5618
117
+ oscura/automotive/dbc/parser.py,sha256=m3pmlHzgCpQW-JQup4T2tLJl-jdwVs6nvvMTmHBDLcc,4593
118
+ oscura/automotive/dtc/__init__.py,sha256=Nbj27onOAzquI6siYAU63tvoz3YYLiGgVcWJU7gGMyw,931
119
+ oscura/automotive/dtc/database.py,sha256=ZQVxHkRTI6WO9-CfrM0-lDT5UnBqkad86UhD1X3Z3yc,93674
120
+ oscura/automotive/j1939/__init__.py,sha256=eusE0vca0AtIF8NLygti05abp_P0kKwJllQOzNPjyCo,376
121
+ oscura/automotive/j1939/decoder.py,sha256=qSfok5RTuwc4vR5sjnEdTOi06TwaNfIhBtZq6Vpzhik,25115
122
+ oscura/automotive/loaders/__init__.py,sha256=mYp2rHT6wUXFUlqw6cLECHkm2LASlAT2PpI4EbZa2mc,945
123
+ oscura/automotive/loaders/asc.py,sha256=zLIBcMUHCN62ADvDOvBhjamq2GkMZJJvEyVKtcYgeSQ,3133
124
+ oscura/automotive/loaders/blf.py,sha256=tJ690GMaIfcT1p8nUh2xzyBB-_BKupJBh99d1j1EuLQ,2440
125
+ oscura/automotive/loaders/csv_can.py,sha256=L9XdvTLerD-BygFxCZfuTX7Bm56-1rr4M-o_aKHb8gg,4716
126
+ oscura/automotive/loaders/dispatcher.py,sha256=7T4q5iKH7hES8SLcxMARptYwzFkwQkJ1te5T2lYFUfI,3480
127
+ oscura/automotive/loaders/mdf.py,sha256=nARW26GrZeXMKGRW-fhYre_z_8VRHqyocEU_q0Po4Fo,11240
128
+ oscura/automotive/loaders/pcap.py,sha256=Y6LWIR6peP8y8TL2XuTbpWM4UesSF_vcrFHIDZm2j78,4294
129
+ oscura/automotive/obd/__init__.py,sha256=pHcMv9O0gOtxPv_gmInUHy_og7_NKmtbzAvRToqrpdM,345
130
+ oscura/automotive/obd/decoder.py,sha256=0MemCblgvD_XboqFCexiEVncs-NdAHaD1U_G8RuReHQ,20257
131
+ oscura/automotive/uds/__init__.py,sha256=lUPnFBCMovXq38j9_i5GQ0zOqDNWh6Jl7Zo9DTtRqBE,1490
132
+ oscura/automotive/uds/decoder.py,sha256=6gJSMghg2KGhV81C6JQ4OCqjpgkHvLL5MJpA3BOHI-0,8283
133
+ oscura/automotive/uds/models.py,sha256=qaLnfoz8kKdMladh6MbSDo1NPp1g6mEAK4meR6bGKN4,1812
134
+ oscura/batch/__init__.py,sha256=IxnkqLqLjAHBqEhsR-582a-HNl6qpMbZEZhHNuRkA6I,1212
135
+ oscura/batch/advanced.py,sha256=E07o2-kjNIZAYRtJUmrhYEl7aXmh9vnxAEUwgB9neys,22019
136
+ oscura/batch/aggregate.py,sha256=f5TeN97Qpgpy_QC2pKmaYFo0XgFGuGGolRKIa33F1tY,10552
137
+ oscura/batch/analyze.py,sha256=TKeEBwqRmY-UiYARuwh6GOXaA0RA0vh3I2t_wo9G-lU,4888
138
+ oscura/batch/logging.py,sha256=ay8BxwBfH75k5qgs68gI1LdAjPJQg31ZtBxwmWs2XIo,15502
139
+ oscura/batch/metrics.py,sha256=KrY9R0fKttVSW7wL3ra3A4XHVfAeUaLeoM0BtU3GEWI,17312
140
+ oscura/builders/__init__.py,sha256=NQHiyPOO1iMeuhxmFpJc6I9IQsKrGMXUxQLpr_EYyeg,1189
141
+ oscura/builders/signal_builder.py,sha256=GpdxRYwNW_pFtGZUnRDt6tqLujeX21IBP0oYevAxiOg,35301
142
+ oscura/cli/__init__.py,sha256=HA0mbZEtAD0z820u4CRpHC28Vkahbf5s3DaZXS330-U,277
143
+ oscura/cli/batch.py,sha256=TSwp9DM78W5gxwD30n0VNQ32cFhGjme8CLD1M4724vw,10775
144
+ oscura/cli/characterize.py,sha256=iKkp9ZMYdKjSjgnHUnXFZoL-Vt7Oz-NmR1S9sNbU2s4,8902
145
+ oscura/cli/compare.py,sha256=GX6kb6RmzNYOdfbdefpfquPMQ6XPqPu_CWfSk0NGDlM,25639
146
+ oscura/cli/decode.py,sha256=4CAWsgfMv1V0SDIvM1EWB6Gi_2jF31-JPksTDT4C3VQ,17145
147
+ oscura/cli/main.py,sha256=fLz_HOyWSFYfxd5WiOObg4cJfe5TQ1jiwYhbJ9iUwKs,7456
148
+ oscura/cli/shell.py,sha256=FWG39cZq9g61sW7tZSj0SwjDKncTNn7g_lUGBZnzDfE,9818
149
+ oscura/comparison/__init__.py,sha256=0N13Wsp8X1ZvD2uDnrsROGHZ33r2rURUfN8ekKzOS9M,1530
150
+ oscura/comparison/compare.py,sha256=DSUKTHVH5GT5lPMKvzWk5YQnxk0IZShvz7Ty9g2iIks,12575
151
+ oscura/comparison/golden.py,sha256=VkF6-wODWym_hOP7O193eFJiHyOImLVGPy7x1aJHmCE,15617
152
+ oscura/comparison/limits.py,sha256=Udt0mJ-ccoCDahgO0DewVTGFRgVGZ4Cxko2aHgJo_T4,12800
153
+ oscura/comparison/mask.py,sha256=oipwiIWavfAKikSzbOUc4q4ma3vdjAZ3RgjStCsxSAM,13687
154
+ oscura/comparison/trace_diff.py,sha256=jywnpBAZQlglkNKlGk-Ytz7jDhVnGsQRSKfLSCbY2SU,759
155
+ oscura/comparison/visualization.py,sha256=0vrzLkfiGOH7djnfGoC_KzoSep8rCP7n5JcoeB5gaf8,14526
156
+ oscura/compliance/__init__.py,sha256=DXlqIWA0SgH7xs3k595ssHcKIHRqfOxnJ1sAJFzlXuo,1794
157
+ oscura/compliance/advanced.py,sha256=RVqfFUN2EcBZ-wgmQSNTClafJdpEjQ1N2OmIkzEtowg,23422
158
+ oscura/compliance/masks.py,sha256=p7wWg9alTU2N_Ug-eO4yVwU1nEyLYo_2alpmp4wQHec,12010
159
+ oscura/compliance/reporting.py,sha256=pRpL22pK-8NqrulgUlIV7ZxU9f99UfgPMcNDrdY810A,15034
160
+ oscura/compliance/testing.py,sha256=7REArrRRGZZe3OKDjU0gAbXn-dIIMBPHMqxQBzR0LOU,9557
161
+ oscura/component/__init__.py,sha256=DfBYpbIncUUtAO08e7wmHmx7tk970tnXSX-sJw6Ki6E,924
162
+ oscura/component/impedance.py,sha256=Ik9VpF2pfgH1sShoQnJumYXBtGAXEKjdCujnJsQZS40,11020
163
+ oscura/component/reactive.py,sha256=r5BSJO8lRZRTphL_rQRwh7Y8tH2q1ITpBco2VbFGKts,19256
164
+ oscura/component/transmission_line.py,sha256=RH4icdUST0l0WadiJj5EYZUpPud1Ai17QI-EukASpWw,9274
165
+ oscura/config/__init__.py,sha256=cJ_g9PdlRHk-xsYnk7dzqxSIx2zqvY98QC8sjvE6dSQ,4338
166
+ oscura/config/defaults.py,sha256=QAfWNyzFxdR4vXezs2kTstDDt4B13YZmVgv6NVJY0ww,6508
167
+ oscura/config/loader.py,sha256=9J07t51Gcz0JCcn1GuU8C0joBncNXcGFGJHFw1ELnIc,9295
168
+ oscura/config/memory.py,sha256=isoMSbg1jpJTnuh9wbaTp7BFVtEONlkWcJ2QyhlbHdM,8252
169
+ oscura/config/migration.py,sha256=P958WKF7kDcnxwiawK85dI10qHgM3MT_2mVpI7oE0e0,14128
170
+ oscura/config/pipeline.py,sha256=sfnFHPzKg0y_vaLNxCz_Onv2DxqqNHbFibuIX5DGwVo,36221
171
+ oscura/config/preferences.py,sha256=ePbQMJa8Q4BdqXTmDd8ZPKBFilDCb2HLWkEhnAVx6iE,16432
172
+ oscura/config/protocol.py,sha256=4DU9GC6LK7ERlATRWWBkSTc8yJo_1a0RoX-eSSoQyvA,30018
173
+ oscura/config/schema.py,sha256=XAGvX5D_SZtRnP2zy1I7AnVBJBJ1l7KnCFjZVjmp9Ak,23680
174
+ oscura/config/settings.py,sha256=a4lvDXSOMxoE1W_-NhRVRqgG-RlcQebCsXdeKj-4wR0,12585
175
+ oscura/config/thresholds.py,sha256=AvVVXl-7ndeyt1Pz3k-cyMmuXlIxBcxNhDkN3ajpMNk,19969
176
+ oscura/core/__init__.py,sha256=G5QtmIyMW7evISd6MQfQHG7GASABddn39Zrvj0cOARI,6667
177
+ oscura/core/audit.py,sha256=CBUu5vg3UsH3IqLWlcpbR8LKdoXdW87pOOB4d-CQSHg,14172
178
+ oscura/core/backend_selector.py,sha256=-v9vRymWgNH1A1A-DaL38mRGAcTg_Hf19mRkiRBws3A,12389
179
+ oscura/core/cache.py,sha256=M0iChUXNtzamA9CnAMGAB4OvFmYWixYlqFd66PZDR4U,17014
180
+ oscura/core/cancellation.py,sha256=2e0FtI9wh77sJDalFw4SG9kvr7GlBIZMwjCz5cO6KAQ,12781
181
+ oscura/core/confidence.py,sha256=ZGj29iNJOV0s-QgrIakLz_KF61nXeJ6kmlp8Q0CPfBY,7035
182
+ oscura/core/config.py,sha256=X0JOudkhEycFFAySKxmosM2SJ8IK9duiWh5YYUEpXVA,15055
183
+ oscura/core/correlation.py,sha256=4mwI_yFB37-GHkb4zPWnhuTZN4E7zFcJmFwKoDnf4WM,6490
184
+ oscura/core/cross_domain.py,sha256=ZGJGieFpLEMTHEeQ8GFZnNZL0WgKLW_fn7joEptovpE,16118
185
+ oscura/core/debug.py,sha256=hxsqGtmbxw8rCBALGR-hZzMc-r8sz4rFzBHrN56mDSE,8168
186
+ oscura/core/edge_cases.py,sha256=85EWp2AkhS3T4BDAdMtD5-_3F2JJxarOgtEfGb0R5b0,16369
187
+ oscura/core/exceptions.py,sha256=l4kAWQPAYK7QU6fkk-4Cyt1gU9XWi9265JszCkZtc0c,15897
188
+ oscura/core/gpu_backend.py,sha256=pLmExUZqebK430OcdH42Myp20YCiNHUDNeMQneXLgOA,17710
189
+ oscura/core/lazy.py,sha256=M9Z_E-c99TGCwA8aq4pVVVD1FA1BVQYEsazyvMABKtI,26266
190
+ oscura/core/log_query.py,sha256=qV7NrZH3W6Xq1BEsEIc6Z4ZW8k3vi6U16Br23tSynhk,17051
191
+ oscura/core/logging.py,sha256=TlHWFhir9aUJ4PGhxABi9wap5PMUqlHswjkfa0d5kdM,30491
192
+ oscura/core/logging_advanced.py,sha256=3RemJcrcCjpxyZXkgMZrayV3v_ytOIRyYECkv6im4mA,28778
193
+ oscura/core/memoize.py,sha256=LR79UMP3GQPyhhBqYVMRGjXhMPXMhf5blTYiHxm0O5o,5103
194
+ oscura/core/memory_check.py,sha256=j5bhH9W8A-YW1H18jNHjGwbxbGK75zyHGQDA1_cbxoo,7261
195
+ oscura/core/memory_guard.py,sha256=uZxpzVOPAo-2Rvr6UqU3hmlBcApZMtJrlsddPGNVALQ,8744
196
+ oscura/core/memory_limits.py,sha256=5gFmgQc_5LkyvolfYmGD32ZFRmlfIB_21akUGOgiq2g,10956
197
+ oscura/core/memory_monitor.py,sha256=Q_NhGJdxvaifk0USUgfAuhu0vIDD8NeulBRSWpUbTnY,14230
198
+ oscura/core/memory_progress.py,sha256=n8xSH7ue6FoWKtDrIGIQf8cIasvcsfsl6FTreyb15VM,14238
199
+ oscura/core/memory_warnings.py,sha256=iDNP1EwMnRofkfulb8kTzkhEOh2SQ3pogRqaPmrnwqE,9901
200
+ oscura/core/numba_backend.py,sha256=HZy4E7dKUuRjZgpAVgK0sCO-1RQx_myqC94iLQn4HX4,10595
201
+ oscura/core/performance.py,sha256=ICufOlSaJWrG6I92EEM2PLzHRFBNzu2NfvAAH_6b9f8,10754
202
+ oscura/core/progress.py,sha256=JtIpoO28787SRTEGiR4sdTq2Kj9YRVYg0VlBTr3S7Rw,15362
203
+ oscura/core/provenance.py,sha256=eFPt_NaYubI0vI1yOVZvWKyWXw7lieQzESsz5RSEUgk,10634
204
+ oscura/core/results.py,sha256=8yz8cC2HzWiQHyGKYnzeUjX191epJuYq1hJ4v3TGuEI,10634
205
+ oscura/core/types.py,sha256=o5DxSk6l9hfzR61g9BwSS2lPkkewKxpsPBSP3Z3RuX8,17300
206
+ oscura/core/uncertainty.py,sha256=gnA6zoR9obDZL0S9dticLhjS_ErKzuk55QArLTXP7kM,13205
207
+ oscura/discovery/__init__.py,sha256=LBvx3oGcOCyQGAgIZVNHNc0oen2U-xuje6tLXSsozAE,1231
208
+ oscura/discovery/anomaly_detector.py,sha256=jb4tXOJt1x93wP_38d_Bc4xBngr8xSjbzQN68w2Uel8,19602
209
+ oscura/discovery/auto_decoder.py,sha256=_7NUgAVmDmlnssDnGEwkzqS7mcZe39hcXn1bnNT6GxM,12728
210
+ oscura/discovery/comparison.py,sha256=qDiwEmOHcf0NExmR2ls_CUdNdgitt3KoNP0hj03TwYc,15637
211
+ oscura/discovery/quality_validator.py,sha256=zmUuPpNx24PiaRnW3OPi190XgNDNxcIzre1xeglukuk,17077
212
+ oscura/discovery/signal_detector.py,sha256=LLCn19rI4fzoqhiiHfyH9NgLWkZ2Zm4DR0qn2thufVg,24504
213
+ oscura/dsl/__init__.py,sha256=MXkJBMoIxqCS0Jne70gqt349SwO6PFI-ICh2gBL0MdI,1403
214
+ oscura/dsl/commands.py,sha256=OoswL0LdfgM3TTXfmqFAajzM2OQyiAM5NiuDf_jVZLs,7310
215
+ oscura/dsl/interpreter.py,sha256=5d3fSOFLSQgEgYpdARhxAvYffZsV62ObtGhrZLZ14IQ,15177
216
+ oscura/dsl/parser.py,sha256=YBENywrPAHOfU9BkHIhPgDzWs5JZk4YTReimJ9y7zpo,20713
217
+ oscura/dsl/repl.py,sha256=TZTQJPZxi2k6P_kwXUnXNHkgsQcofHcryQ_nVcuU4N8,4777
218
+ oscura/exploratory/__init__.py,sha256=DiPhevXAEH_dfvbma45qaZBHj-dSZMmVkmh6tP9905o,3025
219
+ oscura/exploratory/error_recovery.py,sha256=jvpjs4t6LDPW8Mk4lnDpSaB3P5eplpLdmwuGKwoXpX4,20430
220
+ oscura/exploratory/fuzzy.py,sha256=8VwY8L4ncD05f6QAStGbPzwvL8bJGdE4-IsF8Mhhvlc,16187
221
+ oscura/exploratory/fuzzy_advanced.py,sha256=shGdHXsBMIbMWXdux0Q6qjwt_Pm1kKx4_jg1yPkceNk,22807
222
+ oscura/exploratory/legacy.py,sha256=dZRjchrr_3MlA-miKNf0GkoleYptnE5zIicAg1MXwEU,26225
223
+ oscura/exploratory/parse.py,sha256=SXReFej3WKF7h9hFhS16jPx3h_5zpbHeIDyVKd5n3cU,12182
224
+ oscura/exploratory/recovery.py,sha256=Nfrdq9aN0_-y7np5N4NJHnQHwSsYvUpI3kC0yFQluEg,9602
225
+ oscura/exploratory/sync.py,sha256=vc_fQjpfYGo0GuXE9Agfp_PWLG1GEMTlyXIw5qvyXfs,12574
226
+ oscura/exploratory/unknown.py,sha256=_gByru0b0BvKfZWH0m8DgXNC0dGVW-O_vBo7Jwe6-qE,21614
227
+ oscura/export/__init__.py,sha256=nhjC6sEiMzI3P7TjowJe8xbq4Ic8ZTuJSB02rCWcFDc,774
228
+ oscura/export/wireshark/README.md,sha256=44ji8SuD7o-PCNKCGZ9Y3NIoKKnwUrwx2ZgSSuMI_2E,7395
229
+ oscura/export/wireshark/__init__.py,sha256=lfRY3ofPcX6_x_wL5sbrO-JDzQdNGzh7t96lmfRbncM,1451
230
+ oscura/export/wireshark/generator.py,sha256=kcf_g36MXaOzx9jN_mH1ad0ZitgofN63TCd8289ALj0,10529
231
+ oscura/export/wireshark/lua_builder.py,sha256=8SqRivyzW0lzBY1O_oOhFt3vujL-CSgqBkhpU9kz_58,4533
232
+ oscura/export/wireshark/type_mapping.py,sha256=vD7LSuNHXlvSOs764EuXSodnl1DrumFzUy9bPQ2Hev8,4412
233
+ oscura/export/wireshark/validator.py,sha256=_hAiJRUcUG6yVeNTPrya7_Lm4e3JxYRkaZ2Rz7RSQOA,2983
234
+ oscura/export/wireshark/templates/dissector.lua.j2,sha256=_SStXmFFJaXp3kgOEmU8D-Qu7gnBuvA1efnCR5Cz0eM,3182
235
+ oscura/exporters/__init__.py,sha256=AELp9lGIyfxFN6f4T4k6S_VOpGNvs8_tkcdQtmUtd9Y,2384
236
+ oscura/exporters/csv.py,sha256=HX3A48BgL6ftTlxR5zGUtOWLe2uLkbaUODO4niJIxy4,9188
237
+ oscura/exporters/exporters.py,sha256=wJAr2R62dWk6YCiJcK3QyUa9fS3Au8UhZb4nsY7CQJI,899
238
+ oscura/exporters/hdf5.py,sha256=se76cEqiNtO9HqGJ7dSEy-rUMR8BBLmWSXOlSHSpt-A,5990
239
+ oscura/exporters/html_export.py,sha256=wdlzc3Mckz-ovUNQFuexq6Bon7kBo73mPQvhH4hIfuk,19456
240
+ oscura/exporters/json_export.py,sha256=YRozAqQOi6fCWfMCcAJIsQfvD0Oxmg4CGieBufhcgBc,8461
241
+ oscura/exporters/markdown_export.py,sha256=Ct-0UQaG8t-A9OlFwAnk0IORlbJP2e8p0uH1TW6s3vA,11963
242
+ oscura/exporters/matlab_export.py,sha256=YKAvPtFWj9-ISpN6cZu1s2wI0wNu_zKIrasZxh5ADnA,11003
243
+ oscura/exporters/npz_export.py,sha256=j_f6yvEGiNflf3YaiF9T71JiSs0PRWHQ_5Ycc-BkNZs,6065
244
+ oscura/exporters/spice_export.py,sha256=yYK0wnrfYzzBxU633GkGjMhQoQJnf-Yvvu70v1NWzD0,6517
245
+ oscura/extensibility/__init__.py,sha256=6rzhmMQI-iEuX6laFZoeRm1PlWHlGoNuIyL-S7baLWA,2957
246
+ oscura/extensibility/docs.py,sha256=qXQJPYCN0Nz1N9Ua7Kckrx1-V7WU7DKUzea6XANLDoc,21740
247
+ oscura/extensibility/extensions.py,sha256=-IF2395lKiRM16wahYuYxcgvTvsNhd7zB4AeoKotsQA,38890
248
+ oscura/extensibility/logging.py,sha256=oFOseC5ufabHThitTsFpt95psAfMaXcQjdeX6UA6QOA,7149
249
+ oscura/extensibility/measurements.py,sha256=HzbvxGoLWl7iaTHNZaTdT-RWumEDX5-lxi5NCma1PAI,14850
250
+ oscura/extensibility/plugins.py,sha256=hXswR_Vbdz2vLwznBSiWjSK6ctojSHgqaoJ9irEvD7s,12463
251
+ oscura/extensibility/registry.py,sha256=5wvJTgreCKRKZ3dxQi27PUj1jKrwZci2Rfe8xcUnUOs,10956
252
+ oscura/extensibility/templates.py,sha256=O1FK5tKxBeo5o9mhvQk2DbPymGSSwm8tu54KC4RQOww,26107
253
+ oscura/extensibility/validation.py,sha256=IVbD_zBtM-Y4XuLVXKPFDs05B6cWgWLN0-OCW_40M9c,20184
254
+ oscura/filtering/__init__.py,sha256=2K5UFmDJFQ1ynZVVAkUKpdWjdD_3lksUnxc4Xof18zY,2014
255
+ oscura/filtering/base.py,sha256=WTXl0akWlFBA8fksfULgo87Dz1RmqM2SOe34ybZGjH4,16822
256
+ oscura/filtering/convenience.py,sha256=opMefZkOMaPn7BaqMeaMSx93DImZ5OFKyX1yuh4TSWk,15009
257
+ oscura/filtering/design.py,sha256=0aMzd-pQ_NZxcW7mtd5YCjFaxa3yLlqV2C67_pLYuQs,23522
258
+ oscura/filtering/filters.py,sha256=e5TMkl4hqvdSIeeP8jNm65ZKfmKyH6gUf9LYJkD0sEs,647
259
+ oscura/filtering/introspection.py,sha256=s0gSMAZpRjqsVbbjXQ09dDG2x1fGX0Bwf7b8T6ZkDO4,16073
260
+ oscura/guidance/__init__.py,sha256=WmAf4aCBT5zpvkrqCvYyN10WDbZoN5l9HtT0NF9bl2E,439
261
+ oscura/guidance/recommender.py,sha256=nHiIX1Iao394s-fhLISdfouIp-q4a0OmeqVy81p3KTY,13406
262
+ oscura/guidance/wizard.py,sha256=fht9A1kbhBM1WEdOYElalNHFxSpQNegHAaYqKEESXJY,17784
263
+ oscura/inference/__init__.py,sha256=j_vPtbL1NiGmVFjsjoh6a-l41KQ7BuL1aCzAGxe9ArU,6218
264
+ oscura/inference/adaptive_tuning.py,sha256=nvksAigs0LWeyKr3r4_Vp9of2TKjrCUGlRHloepODbQ,16348
265
+ oscura/inference/alignment.py,sha256=MkQxh1OOqSGB0Fhj0PMWDTI7QQPMi_sv_MwKhNo2qG8,19520
266
+ oscura/inference/bayesian.py,sha256=CRKm04tojJgi8kZ5ykwPe5kKZWSlEtYlB_kSzN41a9U,36645
267
+ oscura/inference/binary.py,sha256=XpHkh3OxXJ0u4ojPoFnWKeme0MIvtOpAyhxTBgE2CEk,29757
268
+ oscura/inference/crc_reverse.py,sha256=iTPUWqsiT-L78_ibsfyZm_Ckv_2rkmHYc5zjFCSVQHY,21850
269
+ oscura/inference/logic.py,sha256=hOXxGsmNkEAhJA2WPIOTONz94Hs_RHjdeySHn-vBdHI,8506
270
+ oscura/inference/message_format.py,sha256=mcDEYDJIrK-2O_Q9-nB7BfaOx4iPcSKFPpyYPe-abeY,43710
271
+ oscura/inference/protocol.py,sha256=8wxXZ_jcbqpxsI_npNTFT45xxJ2Fq_P9uiodvY6EcfQ,12019
272
+ oscura/inference/protocol_dsl.py,sha256=ky61H56PybFyivVH39LObVsmDaf4ckXSfqsJ2RSy4xo,34869
273
+ oscura/inference/protocol_library.py,sha256=FPKo0P6mQjf_7DyRFgrulDhF4tbZqPgp61n3rMCBfPc,40380
274
+ oscura/inference/sequences.py,sha256=Tb2w01tpLcK8w2MmQJYKILk10aBQra4ES--UI1BFRjE,24966
275
+ oscura/inference/signal_intelligence.py,sha256=b99qUxh6bB638p3ZsT4h3aSzg9YEKe7TIQx9SrhlLGk,54726
276
+ oscura/inference/spectral.py,sha256=dplDmMKfwbxXfJvyh8kUme1B0Qoz_h72ggczCiZpzos,7094
277
+ oscura/inference/state_machine.py,sha256=5GAV2O8PjdmBZ9hrlSEHu1PSG_suKw3oeG1iAx1MLXc,19810
278
+ oscura/inference/stream.py,sha256=pzmbBAx03N9SP9sjtAzfx6iZHiIGsTISSyGhXny4MSs,29448
279
+ oscura/inference/active_learning/README.md,sha256=dJovCRA305SquowxlCw_InkG1cgKY73h7NON8xom-vw,4506
280
+ oscura/inference/active_learning/__init__.py,sha256=CEay1z0T0VxZnvSM7CM7xJZDdnODq3yU5eIkYFMGN5M,1353
281
+ oscura/inference/active_learning/lstar.py,sha256=PPgn0ZKZmXmsCRisujpds3bmozzVw2ya4iqZ8DM7YHY,8656
282
+ oscura/inference/active_learning/observation_table.py,sha256=dwYP6uvTrRZihVGnfHH4sK7ZBaJqw4TgYqNAAmXwrbc,7668
283
+ oscura/inference/active_learning/oracle.py,sha256=JFsFAO-3Gz9Gly-su3orBqtOzYa3m799GTAKUCiYvcA,2546
284
+ oscura/inference/active_learning/teachers/__init__.py,sha256=evz-bfaJrYxso1JzX2ltSifqg35dlk7jH2ukv1UnWus,409
285
+ oscura/inference/active_learning/teachers/simulator.py,sha256=7YHrzD0zcu-9OQPpBw57vf-AOZ4J3RfslYyXJtA18Fc,6874
286
+ oscura/integrations/__init__.py,sha256=0wRJO1FK5zddZAjF1ya6TIkrRNaznZmgJsouVffVDSw,1188
287
+ oscura/integrations/llm.py,sha256=_y5cehwHyMKxOFyfCzFAPgbWxH8GvOUYssM586pw18Y,58691
288
+ oscura/jupyter/__init__.py,sha256=T5ewvhiMvl6pBw1pq5mrOkDuFgEwxgixqUmOFdzahEw,732
289
+ oscura/jupyter/display.py,sha256=MHLIhwelKIOCvoX1uxDnm3i0hGfkp5LBPRbCRlyMgAU,8635
290
+ oscura/jupyter/magic.py,sha256=AYGVsNvpvgJMxWHYJDpXJanC2fGD7KgMLhdUNEJGJtI,9948
291
+ oscura/loaders/__init__.py,sha256=PkvvQtVaVjF0evDvX1OjpvJBUHh0TIDDa2IfpqKEB3A,16347
292
+ oscura/loaders/binary.py,sha256=Y5j0jaDggSmhFRZvGHT2Fph2dvhTWsqoYWwkOHIBug4,1875
293
+ oscura/loaders/configurable.py,sha256=dJKv3nFSgmWe22ZNB1kTZZyIWgiMhWTf8ZU-SNahefk,41267
294
+ oscura/loaders/csv.py,sha256=hjToCQkXQEMUCOSBTf3a1d4AAsntvxYbW_jiccQ9JaM,918
295
+ oscura/loaders/csv_loader.py,sha256=Y4MOJQ-95tZsi9hDdu9ru1vTJQyGtGxkhV7RUqGBLWg,14252
296
+ oscura/loaders/hdf5.py,sha256=L8SZTigQhssjEVhSZZMAUjlCKK5smbPqJsXrxiX0ybI,246
297
+ oscura/loaders/hdf5_loader.py,sha256=3ncPHtrlsOBG_DNWECaEHt_cp0lD56-W8ciZbV1aotM,15412
298
+ oscura/loaders/lazy.py,sha256=xNyorDNPnmHtRgGtZfJzUnPmWJtUwMrJ5F4dKbfc0Sc,11666
299
+ oscura/loaders/mmap_loader.py,sha256=SxEJRqJv81bd8H-rkS8Bg1wxI-iLg3QoMovGS8FLbXw,18823
300
+ oscura/loaders/numpy_loader.py,sha256=OWONvFRHz-3FbDApDL4bbGEYacrRGKUY1aqYkXiIvRU,13787
301
+ oscura/loaders/pcap.py,sha256=NshrVOQ1X_cj4XTXninDiHaeEbv41hBiiZhFu_uDSYQ,13640
302
+ oscura/loaders/preprocessing.py,sha256=vdVVo_Miahi8tT7agNsy4gnLfW5f4PFGDenQs4hChAM,10370
303
+ oscura/loaders/rigol.py,sha256=nwf5aNpH0bWerDgneUpLNlDQfouQ9E_PChv6vG8GLTA,9238
304
+ oscura/loaders/sigrok.py,sha256=puyj357BPiJpzNB-hcv6ofp6DZFEnOv_usdi-_zs6Co,10250
305
+ oscura/loaders/tdms.py,sha256=QngrFLJTpctfqcCtv2x3PJmNwfIeWgyug97N_xSdaMA,10483
306
+ oscura/loaders/tektronix.py,sha256=rLqTefIwGCCmkpUwflEJMuKSfGG1qX_pAFF7Kk0j6-I,24069
307
+ oscura/loaders/validation.py,sha256=JA_vVYQJB4gC9KFKa2lsGV5D-_agmIjP9kE_dXpv4Wk,17835
308
+ oscura/loaders/vcd.py,sha256=YtRqU6AEkZjZhNnyNOfgBsxZ8rueB5pALrYIoiRYHQ8,13662
309
+ oscura/loaders/wav.py,sha256=UYPc1A1ZRuw5zC7XmBdEqjZpsi2QvSW1noNmXZqpy2k,7251
310
+ oscura/math/__init__.py,sha256=nnmVMn5qfn-I_CLBwe_vjENk5f5iSSpORP8nxSOhaBI,788
311
+ oscura/math/arithmetic.py,sha256=OSqE-EGMbEVd5ndgHiX0NouI_G4ga-7iFmgECR1iZto,27397
312
+ oscura/math/interpolation.py,sha256=bIucaXPb3ZIxyhAfQSvC6R5VROHYLO6vReCLwlf6tgA,14397
313
+ oscura/onboarding/__init__.py,sha256=h91CIZqU3AfSpVOnzev2KUGzy0mHi3Rcm6kBIDTjvw8,752
314
+ oscura/onboarding/help.py,sha256=JcczCsZK-F4rhOX46Vo7tnNDrq8MzaPeEJJBzrzZtr4,16496
315
+ oscura/onboarding/tutorials.py,sha256=IM4rQzQgD6VVidGE-1WFaxkZLBHg-cS87q__O0YhJFk,11678
316
+ oscura/onboarding/wizard.py,sha256=cZgMDgHDNQXH0P765WJPeJeH08jmcUHjEx8HfaXhlk0,16277
317
+ oscura/optimization/__init__.py,sha256=9k5OigjCNmU13NDX7uG2WDX7-PbbzpdGZ8mSc2lagyk,379
318
+ oscura/optimization/parallel.py,sha256=Yydqtq1Xgwayt0fgxleWAV0EdbdTVJuEeC1wkw9DwCU,12391
319
+ oscura/optimization/search.py,sha256=-rJQFlMVanCV3oXg35go8tZg5ywUhMYxbhiekEA5rxc,17241
320
+ oscura/pipeline/__init__.py,sha256=W1ObXXo0wn4pGkl8hPfxaElOSLK5b8pjZ-aRxwfksow,964
321
+ oscura/pipeline/base.py,sha256=2-6yXeucDoWf8HJAVXqocLxVcKcPBytyEfonKRarNX4,11353
322
+ oscura/pipeline/composition.py,sha256=WI9r_Nw4PG1keWL5KYtsER4TpkgLzTPSkEKgf_KWjCo,7587
323
+ oscura/pipeline/parallel.py,sha256=cTEWq5Ele_EoWQr23OtV1YQVxsWBGM6hchmCwMYvZAk,16984
324
+ oscura/pipeline/pipeline.py,sha256=pYV4kgkuZUde9z3I_huMrb4aDn7rSqv3oagjCiWqDJQ,13274
325
+ oscura/pipeline/reverse_engineering.py,sha256=hSPRkaEAnnR84X-ocXwmFRRDnL5iHtl9M_8OGd8kZVw,38590
326
+ oscura/plugins/__init__.py,sha256=JPO45zvN9N0i-d4OycLM8WC5J8RB07CDeZ-ipu7j5dc,2669
327
+ oscura/plugins/base.py,sha256=r79twY7wiXyD2gGDWejsKakaVpchyXOKOvPRLO_OwSQ,8142
328
+ oscura/plugins/cli.py,sha256=XSmriOJD5kRzhiZK8DjDq-q-SpK-B3Y-znQeoA6fg14,14207
329
+ oscura/plugins/discovery.py,sha256=SW-39XJWWPH3FgAou66koy4mjkObYQYnHaeM0A21I6c,12311
330
+ oscura/plugins/isolation.py,sha256=AP4MAQqEJKHYHRJhO-KRE10_ftnXQeaY70dmycip8r8,11982
331
+ oscura/plugins/lifecycle.py,sha256=2r-S6oiej9FvoBTncwzh6OvIGE_Ugc5DVey_l6vAbno,29451
332
+ oscura/plugins/manager.py,sha256=uArC0NNtb81BWLoqQYYXACas0Txfg7Xeuu12liasiLU,14344
333
+ oscura/plugins/registry.py,sha256=Mscgqhj1g4Q0dm21PPEv4tm4f-crdPBfI-7m3TrPWo0,11483
334
+ oscura/plugins/versioning.py,sha256=nCxT9LR3FdnC39e2wJ0PT4g4RyuRdOLNtN8Bi_-0DqI,10784
335
+ oscura/quality/__init__.py,sha256=LSsvpi95xHTk28OdQDzOfhAUGOwV0jsBxOuUOD7tQbw,1508
336
+ oscura/quality/ensemble.py,sha256=okfIQmsypHqQTmBfd_uRXLKshs7E1DbU-jFGSBMQTCc,28150
337
+ oscura/quality/explainer.py,sha256=2WIaetGgS1ivwJaJbanOMWWwNTqQhrrn2zemxCCwZII,10729
338
+ oscura/quality/scoring.py,sha256=yqpjHHI96uzjw86t2FC9OaG5ZqtXZc-G4nmyPVhOyTk,19022
339
+ oscura/quality/warnings.py,sha256=UpO_ry5ArILdEkvjO_AlqDupSsY8UnMDBUtHgDaUvFo,13471
340
+ oscura/reporting/__init__.py,sha256=6UJzXEqUpJgxTs-JO5aS_oCdcPOXd9xTUuOeUNLWhU4,6070
341
+ oscura/reporting/advanced.py,sha256=J-sMJvK5tp8ZWuq-6ksQ43qRjUhVOkhlENk2dhe9wn0,36415
342
+ oscura/reporting/analyze.py,sha256=uEFjNTm-v5mG-JPJWGzuElQukS9n74uK1zGR1MyBtoQ,14614
343
+ oscura/reporting/argument_preparer.py,sha256=L0FB0EGmUyP-GjTgEncvkpVbWMrbncoHTiBIOR5avUo,24095
344
+ oscura/reporting/auto_report.py,sha256=GyyAOzXiX8pGwuyVD2l5WPqneT8SZACVPdpVwnihk5g,15258
345
+ oscura/reporting/batch.py,sha256=GTfc3YWR_1j1O06Hhzyyfc1cMCUs56pnVfa3Whte4WA,19759
346
+ oscura/reporting/chart_selection.py,sha256=tLQ2q0cBJ2haPFKTSncUkHmcGlB2opq0Q55-w764UPY,6862
347
+ oscura/reporting/comparison.py,sha256=Wy4MFpTq15gqXg2Ub42Xzhl8yzcae7VT_FoCxtlzSK4,10292
348
+ oscura/reporting/config.py,sha256=HsLrC8MNeHhfqFsCf788dPBxDpBQQtWn1eBGeR65urc,23350
349
+ oscura/reporting/core.py,sha256=_vOehZ7NF443uOHcgxkqdyhUwUum6U2NSGUV0CJFFm8,15648
350
+ oscura/reporting/engine.py,sha256=ctMrRhUJxXj2lFlZyL3hS_NYWCZ-Y4XZqhIvBXkt-9w,32248
351
+ oscura/reporting/export.py,sha256=E09mqXuJZDpHxvKC_yITbF-azrQw7u4yNQyozvpV9gk,10317
352
+ oscura/reporting/formatting.py,sha256=j6QMAQ5KJkraapuZmI1l5sh1m6LUuRj5_QwAWNpcwQg,12498
353
+ oscura/reporting/html.py,sha256=--sKl9lTZXviKtPzF1Or2RNf1xkFsyie6YgqinLpZWs,14484
354
+ oscura/reporting/index.py,sha256=t5ZpmjCu7-fhVCm-YB_WTjKIoaqrMgWH3qIZ9KKdvI8,20195
355
+ oscura/reporting/multichannel.py,sha256=R-rimNTlRixLfnjeWRBMXP_TWOvQvPVbdSr2FxkG__M,9176
356
+ oscura/reporting/output.py,sha256=o5IgRej7G5faJ5IUgA_W5nEcFgaZmV1wrtkVIsw18QE,12280
357
+ oscura/reporting/pdf.py,sha256=zT_qogXznr1SomvrKHqCjwpYdUeM_qTzBTQjtPGtNz4,11077
358
+ oscura/reporting/plots.py,sha256=BGVyjXv5IfBmx8uTr2t4oPt2w20Co3WJDN-OyKxPR1s,24429
359
+ oscura/reporting/pptx_export.py,sha256=U6OXURErZDiUhVdBJlLhbj7MQILiF5v5CWWMCMGEgcY,10255
360
+ oscura/reporting/sections.py,sha256=7Nq3yAkzSKoGEPtAVpCCKw_JTjxhEKifuy-BFWHDXq8,12954
361
+ oscura/reporting/standards.py,sha256=4nVRZdAOZJ_iBEj3-uhcO_YlDtgUMr5EF1-jHNsMtHs,18090
362
+ oscura/reporting/summary_generator.py,sha256=9yULZPyOLRyWlF5ldvyJp1xlGuqPZ_arqNkclBs2Ozc,10624
363
+ oscura/reporting/tables.py,sha256=avWb93iqnlXNOGavkBUi97XICkvCSq6lxRO6LAp6Ymg,11624
364
+ oscura/reporting/template_system.py,sha256=RpcONXzr8SIlSZ4Dd_qTy2ElkcNBOqQXx2IKXkYKBTs,21137
365
+ oscura/reporting/content/__init__.py,sha256=MIU1IrYdFy7L7d6CY8RxkzL1_wL1qLYUfzUsKaASgJ4,874
366
+ oscura/reporting/content/executive.py,sha256=AQlQMPRLy2rPwPs6Y7somVeg8USIhlPGouYZlMq5rOA,4255
367
+ oscura/reporting/content/filtering.py,sha256=JrSPJPyGw_jsZUWlAi-ELt8b2ybh1Ui_wXWULv0R-ng,5184
368
+ oscura/reporting/content/minimal.py,sha256=amh-1wTJwPct-55HHCyUYDVEAcO0RXsyUu7UgbGMxIY,7001
369
+ oscura/reporting/content/verbosity.py,sha256=ZCv5-EXH7Re6ix8d1ON3BdekMhSADmzcPhmXcmZmscg,4311
370
+ oscura/reporting/core_formats/__init__.py,sha256=5mqsnXEIxyiuz38n4DekySkk3ro-bKYkr91xyl2oPLI,453
371
+ oscura/reporting/core_formats/multi_format.py,sha256=R6kWSd7YSpAuULnXImQ0voFI5LE1vBpNRGHi3frDIII,5970
372
+ oscura/reporting/formatting/__init__.py,sha256=KA7RSoQkcsNtTjC3L-o3D38EMkkZBqYvgHcSABK3uik,3196
373
+ oscura/reporting/formatting/emphasis.py,sha256=rkN0ocFZCd6uz-vnmUhys25iouJQW-zAJMfy41Fu-xU,1725
374
+ oscura/reporting/formatting/numbers.py,sha256=t-dzhbB80F2F3nmYRzF8E6Nr48VNHkdQif5iR6fikRU,12644
375
+ oscura/reporting/formatting/standards.py,sha256=msxfZ0qG3v7DpluiTmJ65wlbbl2qVNZabfMxaunXusU,1171
376
+ oscura/reporting/renderers/__init__.py,sha256=3xTkPdizeMHrQ3fD_f_zbL1EKImTJHMGnkG-MIk-R_o,185
377
+ oscura/reporting/renderers/pdf.py,sha256=EYJyXQRPuSFIDl-6M55UvxOG4HKlKAQ-_SypvZpckx8,2433
378
+ oscura/reporting/templates/__init__.py,sha256=Snm9Ygw2EIe4DnDAxHcu5NIYLCEVeoZjyw8MDmrcWLM,301
379
+ oscura/reporting/templates/definition.py,sha256=KC--ESq6Ja9OA_hC3uVP3--Y_rhUEIUnm_1QJDIg7nQ,5204
380
+ oscura/reporting/templates/index.html,sha256=MWkaMXmUakaE1NMvFRMcgx6JJn1s5alpgFkFfVJkKKc,16011
381
+ oscura/reporting/templates/index.md,sha256=3PrVNVnI6kAdiG5l2JROH9AwarGYTG0GmAdVQKGyYPY,3533
382
+ oscura/schemas/__init__.py,sha256=kwkwF1CdzR6W5FcdoJTlwAhzz6XB8tQ7XJu1bw3he1k,4321
383
+ oscura/schemas/bus_configuration.json,sha256=BrsWOp4iDDc2ceYIjhGopbkpspusEYr-qWMGAmy979I,9564
384
+ oscura/schemas/device_mapping.json,sha256=3V-f6hHvoAPeCRbOfEv8I7A5J5sfxbNIgzn8aeioQdQ,5501
385
+ oscura/schemas/packet_format.json,sha256=nbLKYIiRQKcxfIvQXbKkBLG1AyzTVye3PQqLvh2U51Y,12895
386
+ oscura/schemas/protocol_definition.json,sha256=UoMipkiFffDFBm9lTicH7BuzKbHGCGeNfrL_nSdFnoA,11258
387
+ oscura/search/__init__.py,sha256=UFKzXL-b8Wboedkw2XzOrsDkHyvPX6V0L5m_yTTkWCA,415
388
+ oscura/search/anomaly.py,sha256=nF2L9a0eKfJj1bGZYfnjbR_qTj87Ba4wpL9xfBqaCek,9769
389
+ oscura/search/context.py,sha256=vJ4lWXcC3R7N0vTyTorsZa3KkFLHkd6vQpmhmMeSEIQ,4857
390
+ oscura/search/pattern.py,sha256=pqCtlFDKZwms1LrX64Halt25EQAI1VKr3X_6W4XQ_xI,5735
391
+ oscura/session/__init__.py,sha256=Y5dZXDbdRKhUMG1B6dNJnAr27RCtyS8aGiFHDgXjq1E,925
392
+ oscura/session/annotations.py,sha256=btHVzA6CedrqVI-c_uFVi_lo7-NByxBLTDHoXWYtY08,8713
393
+ oscura/session/history.py,sha256=I-Fkbzvm5Rxk2lvzI7AyX8JL9v-ZqqyufDlF9xlrAdQ,9577
394
+ oscura/session/session.py,sha256=7q2R1ui2_pWLsBEa7pGrGT5fh6SdlKKViI2HgmUVH8w,13298
395
+ oscura/streaming/__init__.py,sha256=uJKpXU6-uBW1lWqh8_8WNzUKSLhMYzxrJstsNMDLVcM,959
396
+ oscura/streaming/chunked.py,sha256=mpIGm3ejwnJNJmYI-aNXI3zYoNqi804lNFkLNzLEnWQ,19480
397
+ oscura/streaming/progressive.py,sha256=YRdAd4P9Zvckerm2kG5bFWZtcuUB1FlRklpS1078s9c,13089
398
+ oscura/streaming/realtime.py,sha256=zzHEKtBX-7YPeETjVcmaioPQdumZz9eIcAdTmeobB1w,18636
399
+ oscura/testing/__init__.py,sha256=5vjMUr7Yw2W8AJYZ-amgJuyYvP8wCFVVi_IYTjVhRKY,1508
400
+ oscura/testing/synthetic.py,sha256=6HiH-HeSuoEbw6hrDBiBhO6qRKVQ6SlCgPa8M7i6c4I,26353
401
+ oscura/triggering/__init__.py,sha256=u65DUxhJ1ZYiZt7WtfOOKT1dZtt2MLveNOf8ZkXNB8g,1616
402
+ oscura/triggering/base.py,sha256=X91Tc6jxNxnZYWls6Y9b3a5wBbw4YUbmW01qa9lT19A,6547
403
+ oscura/triggering/edge.py,sha256=MwKTjyb2Eb1l1nit84qCC7iCMDXe7GrwEZ64gY9B9bA,11041
404
+ oscura/triggering/pattern.py,sha256=SG-VQZmwQQhj0rdgKIDl9zJg7hDKqrHprqUWOuh_b0s,11168
405
+ oscura/triggering/pulse.py,sha256=qmShxrutyIdfGuIQaOkZxcZZ6uHYtQ0p9RqlrYv97-4,18715
406
+ oscura/triggering/window.py,sha256=utBPCbMUZsR-bbZBT0PCVOZhRVE9c1KRdu-ggK7mdNg,14517
407
+ oscura/ui/__init__.py,sha256=4MC9M2srbNWLQRs0erdeE0oL3AvZ9N7kUZRzvg-PMgU,921
408
+ oscura/ui/formatters.py,sha256=ku62_cRCgyKJg7zjqmGScw33M15CRIozt7W5NC2jmRc,13629
409
+ oscura/ui/progressive_display.py,sha256=ooDDqsAz8lXUP_w3M4ZFBHDFpuH20edRH4rM4Xucdhs,10316
410
+ oscura/utils/__init__.py,sha256=sHpK5906cMv_tWTQAU9gipeU9ex5hEnqF2L1mq4tTCQ,2272
411
+ oscura/utils/autodetect.py,sha256=cP-_be6XK9neO28J2le1iZ8YLvPmfpc8L-p6KAlA6h8,9324
412
+ oscura/utils/buffer.py,sha256=-ihr2nkVW8ulI4Yk0bNNR68XzGLfdXSkAJwJpL7UYwA,10309
413
+ oscura/utils/lazy.py,sha256=vQb6hRk2MAnIL0B5JePdhVC9SOO5ASQ_i36iEvAnAyM,11810
414
+ oscura/utils/lazy_imports.py,sha256=GA1yAu3CowOGmsTmNnh42d2afP6DtG6o-6u2iJe85G8,3990
415
+ oscura/utils/memory.py,sha256=HYDkgAv7_v8FYaCNLnExf4tlpcHriFwcvHLt5K5zBTU,26387
416
+ oscura/utils/memory_advanced.py,sha256=z3F5eaenOqthJ4dwMZed6fWxhIkNNCbJDCaP-iIbBPw,38976
417
+ oscura/utils/memory_extensions.py,sha256=1NFlcQbZZrjLQEJQ5fLUZGmfcK_ublPP3STnd0PSapw,14041
418
+ oscura/utils/progressive.py,sha256=VzseobyAcj0iwRQiwbWcOUwQenPr0lSKnDdHONhXBEo,10935
419
+ oscura/utils/windowing.py,sha256=DRMCHJAwoXGn7Gyso9hE4fpMIAfh3taqpQliNiMcn5I,9194
420
+ oscura/visualization/__init__.py,sha256=4Sbr0s-rBXgsduBw6KTY9R94SHiv2mep682kGJmOB7U,8558
421
+ oscura/visualization/accessibility.py,sha256=gCDU8VemtJbYiHvBi-3N0Vj3gqWi6YNDDxWVAM9KUis,16179
422
+ oscura/visualization/annotations.py,sha256=01ieilFN6CmmzrMzyWF_G9IR5I7W6XKW-5hTTib_6JU,10624
423
+ oscura/visualization/axis_scaling.py,sha256=19TSQgF5s0I2GSFdLNazwjtMdACBB7fDJwUyDtFCSuc,9300
424
+ oscura/visualization/colors.py,sha256=Y_-J7Sg-GL9UtnN68v0cRutsDl82sbZqWbLNEUwGl7E,12082
425
+ oscura/visualization/digital.py,sha256=ChKrsQu6z9ZVoMmTdxWhkNu6B7od0SEtZ1fVq_y9ts0,10096
426
+ oscura/visualization/eye.py,sha256=rqv34ZtVE58bZUlUrO__5Cgps-PT-HeGbjPI6CrbEcg,12848
427
+ oscura/visualization/histogram.py,sha256=8MYLV9i3XufDChvo27BuruTRR2pOIUN592fqNsjC9jM,7068
428
+ oscura/visualization/interactive.py,sha256=KRSsBngArbs5LNZgzVQlMSLJPLvmG5u-ScSj43wvKRQ,25462
429
+ oscura/visualization/jitter.py,sha256=Zib_cShNShvH9qZT8crZHTsMk5hmGc2a7qgO2vvwEco,20526
430
+ oscura/visualization/keyboard.py,sha256=oOar_OzxIj88_jKgAHybHuuxssPpQiJXoXnKQSCq74E,10975
431
+ oscura/visualization/layout.py,sha256=PkOmVWJRkx4JswetzrBOQpp3tpoe7dlqnFXdlyq3POk,11587
432
+ oscura/visualization/optimization.py,sha256=Ggkrpr4s9sgVXfBw7QxIwxuUt8IVh5tp1njAPZiv21Y,32678
433
+ oscura/visualization/palettes.py,sha256=TF2lOqq-NmJNg_cDJMBL9yNLFC9Lnm5AeqHp8yM9p2o,13167
434
+ oscura/visualization/plot.py,sha256=vTxG3zlJiU86K7LHhyRhOoLO2uSbEttb8XNs5F1jwNM,1943
435
+ oscura/visualization/power.py,sha256=xx7N07EbtbrU-k6eWAkAStcAvLe6I1YiWdv1yMuagEw,10100
436
+ oscura/visualization/power_extended.py,sha256=XbX-AjSD8HRi7EiHirYXUR2QRxUIwVGY3I1o3kCra5c,19047
437
+ oscura/visualization/presets.py,sha256=25BuzZp3uMubWQ7zshS2ShdKO0PGqUWbYi2Zz7mU9Cs,13174
438
+ oscura/visualization/protocols.py,sha256=OtikY6ktYga4-59mI13-S0aqy0r5F5mqojb5uKe5evo,29418
439
+ oscura/visualization/render.py,sha256=QPsfMhEq7OfQZ1eS8CBS3yEiHyOB7xGg6LeHkhcCuuo,6737
440
+ oscura/visualization/rendering.py,sha256=-hJ9nhvJ3sxXCX9NhV9ajWLdSaI2RjsNrtuwq6GIpS4,13121
441
+ oscura/visualization/reverse_engineering.py,sha256=hr88pPYdcQiMdjAezR4VJaC4Kuz68Goi8Gb1bMap8IA,24735
442
+ oscura/visualization/signal_integrity.py,sha256=BlO_NNsqDyx_H4DhRfSdnzcgcubGcTnX09HkFJ1JndA,26115
443
+ oscura/visualization/specialized.py,sha256=yUA2k-6kglVclVTZmRvPnb0d9gYcjK636_TB-PwTOT8,16099
444
+ oscura/visualization/spectral.py,sha256=Q1DjUg5D1qnLrpcjLFcOSnzcJ5M22tN1ZUMYzsUtArU,24585
445
+ oscura/visualization/styles.py,sha256=58-aRnig_9R1ap6UNWkkLYWAyCM7QHRLrEQF-42vQ_g,10227
446
+ oscura/visualization/thumbnails.py,sha256=7Mn_TjbyJ2WwEw37BAOTagqGy4O6XpDYt8xsOGOVnZA,9364
447
+ oscura/visualization/time_axis.py,sha256=rWzDV2wofJo1VsZg4WP6FSNbdAWOuFg6PjhTM6yukrc,8871
448
+ oscura/visualization/waveform.py,sha256=lcizD83Llb0qm-cph5Pz9hhQCxJM-rIWthyj3orH_7w,10416
449
+ oscura/workflow/__init__.py,sha256=gGTsfRHONQTjNOHL9VIoL9wZNcYY8r7Fomts-NTYJi4,319
450
+ oscura/workflow/dag.py,sha256=StsFEOkxsJJy6WlWt7RK4bx2UappVRF2hfqJ4f1jJfc,12215
451
+ oscura/workflows/__init__.py,sha256=zBz2bnNSXG6LaugVqPuJl1HIB63fSvTgLiaPgN7CfT8,1570
452
+ oscura/workflows/compliance.py,sha256=CfveR_7Hq_D9Ty1DcFhz2YgBtwppMOR0kRLvjvkbDoA,9605
453
+ oscura/workflows/digital.py,sha256=myko5mJur-_Vmz-252o7xh-qZVSRJ2Me9rRW0RmJA14,9139
454
+ oscura/workflows/multi_trace.py,sha256=qddob0cJ_3k2VgyFXHdbxI0pc4dCHaA-7YM0nFNOTr8,16267
455
+ oscura/workflows/power.py,sha256=5hE_SYoUycXdio9u7-LkjWEtveYbXt9DAxWnkGUk-ps,6073
456
+ oscura/workflows/protocol.py,sha256=0eWCYc3nzgogDTM4khlkFIjqyCh7YNQGOdATomG0i60,15270
457
+ oscura/workflows/reverse_engineering.py,sha256=Z_K5EzhcFPswqb3r4AbuZ3za_oTtsUk-WTXzEXGWO_I,19924
458
+ oscura/workflows/signal_integrity.py,sha256=ZFFOG2CKnlm85fec68kNEDfAwsYrNMqeMzrRyK9uj8Y,8385
459
+ oscura-0.1.0.dist-info/METADATA,sha256=mInHFD-4I4rCLSaKNlbeWDhamGvq2zr3wop5YpFm0To,11628
460
+ oscura-0.1.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
461
+ oscura-0.1.0.dist-info/entry_points.txt,sha256=QLBxd-iTjBQ5HidaVSkLBwvUsqxSG1ZTJ6i-0juu960,48
462
+ oscura-0.1.0.dist-info/licenses/LICENSE,sha256=p1_oEK-oqWDXMFSv5mKbyYkgW-CPbCnFUvdICu490aY,1077
463
+ oscura-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ oscura = oscura.cli.main:main
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 TraceKit Contributors
3
+ Copyright (c) 2025-2026 lair-click-bats
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,63 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: oscura
3
- Version: 0.0.1
4
- Summary: Unified hardware reverse engineering framework. Revealing what's hidden in every signal. (Placeholder - full release coming soon)
5
- Project-URL: Homepage, https://github.com/lair-click-bats/tracekit
6
- Project-URL: Documentation, https://github.com/lair-click-bats/tracekit
7
- Project-URL: Repository, https://github.com/lair-click-bats/tracekit
8
- Author: TraceKit Contributors
9
- License: MIT
10
- License-File: LICENSE
11
- Keywords: hardware-reverse-engineering,protocol-analysis,reverse-engineering,security-research,signal-analysis
12
- Classifier: Development Status :: 1 - Planning
13
- Classifier: Intended Audience :: Developers
14
- Classifier: Intended Audience :: Information Technology
15
- Classifier: Intended Audience :: Science/Research
16
- Classifier: License :: OSI Approved :: MIT License
17
- Classifier: Operating System :: OS Independent
18
- Classifier: Programming Language :: Python :: 3
19
- Classifier: Programming Language :: Python :: 3.12
20
- Classifier: Programming Language :: Python :: 3.13
21
- Classifier: Topic :: Scientific/Engineering
22
- Classifier: Topic :: Security
23
- Classifier: Topic :: System :: Hardware
24
- Requires-Python: >=3.12
25
- Description-Content-Type: text/markdown
26
-
27
- # Oscura
28
-
29
- **Unified hardware reverse engineering framework. Revealing what's hidden in every signal.**
30
-
31
- ## Status
32
-
33
- ⚠️ **This is a placeholder package.** Full release coming soon.
34
-
35
- Oscura is a hardware reverse engineering framework for security researchers, right-to-repair advocates, defense analysts, and commercial intelligence teams.
36
-
37
- ## Vision
38
-
39
- From oscilloscope captures to complete system understanding:
40
-
41
- - **Unknown protocol discovery** - Automatic protocol inference and state machine extraction
42
- - **System replication** - Reverse engineer proprietary devices for understanding and repair
43
- - **Security analysis** - Vulnerability discovery, CRC/checksum recovery, exploitation
44
- - **Signal analysis** - IEEE-compliant measurements, comprehensive protocol decoding (16+ protocols)
45
-
46
- ## Coming Soon
47
-
48
- Watch for updates at:
49
- - GitHub: https://github.com/lair-click-bats/tracekit
50
- - PyPI: https://pypi.org/project/oscura/
51
-
52
- ## Current Package
53
-
54
- This is the **TraceKit** framework in transition to **Oscura**. The rename will happen in the coming release.
55
-
56
- For the current stable version, install:
57
- ```bash
58
- pip install tracekit
59
- ```
60
-
61
- ## License
62
-
63
- MIT License - Copyright (c) 2026 TraceKit Contributors
@@ -1,5 +0,0 @@
1
- oscura/__init__.py,sha256=eaVqniJ5jsdNnD25eRsJgNouROvtWvIALpfgsMeCDCA,451
2
- oscura-0.0.1.dist-info/METADATA,sha256=_FksBy_m1S511yPffBIOXjv0j1ljdNg6al58ZAH2pek,2394
3
- oscura-0.0.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
4
- oscura-0.0.1.dist-info/licenses/LICENSE,sha256=gA0w4uu7t7qWYRnoeo5ZjtR1MGs4u43ouJpHgJf7fhQ,1078
5
- oscura-0.0.1.dist-info/RECORD,,
File without changes