oscura 0.0.1__py3-none-any.whl → 0.1.1__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.1.dist-info/METADATA +300 -0
  460. oscura-0.1.1.dist-info/RECORD +463 -0
  461. oscura-0.1.1.dist-info/entry_points.txt +2 -0
  462. {oscura-0.0.1.dist-info → oscura-0.1.1.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.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,463 @@
1
+ oscura/__init__.py,sha256=qCT92hn87DhRAWxyNCJn7j1fvKylM0Lr7-Z_cvbsEis,18445
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/analyzers/__init__.py,sha256=UNSltiHbqKbkuBOSeOqy9R2VkFcBIAFwPErJ0H1pswM,896
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=thZEJmYoGgvfy_tQ4YealiooEErJlinbdOsvr9CO4hs,33756
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=5rUrQiQEFZw_qmpDBl4djOhu6RHR5I5zWWoXKXX-ui0,6817
37
+ oscura/analyzers/patterns/clustering.py,sha256=fyB4eaYltOPxy7SIq65lEwwGGwtgP9YDhbvzfD0OF50,32809
38
+ oscura/analyzers/patterns/discovery.py,sha256=SxUjvTAqU85-4l9RlcQreCiYFMC3lWXOZCerxbbo2lk,17147
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=5uBAuYFDlnvSbfSr128dZ_K1JKgiUuADM7X4P6oLhu0,20263
42
+ oscura/analyzers/patterns/sequences.py,sha256=RH0OGvCVerhfII3pESqQse39spHS9FrkzqppN9F-4ME,23762
43
+ oscura/analyzers/power/__init__.py,sha256=MD2seC2_PLHzpR1ZUKnM43ZPsZy0Fa9_mIdMrGlQvoo,2755
44
+ oscura/analyzers/power/ac_power.py,sha256=KzinUq6zFmGpmU4iOPRMkJjzfGiMDXPOuT5oF2YhqKY,10436
45
+ oscura/analyzers/power/basic.py,sha256=8hvn33qqbqShWnV1yeIz0mw--fcvc-J0HSndS9UyklM,11393
46
+ oscura/analyzers/power/conduction.py,sha256=O6cslJGKBXtoKnXfp5rFkDFX865SHa9gv1WLmkrRDaw,8635
47
+ oscura/analyzers/power/efficiency.py,sha256=_jJXrLOzzzMrMhEwGQi6zP5vUscM9vEvezoHtwwjD04,8695
48
+ oscura/analyzers/power/ripple.py,sha256=242S1PP0Ea6Sm7gb64jtVqBmauKCSoY6j52NZz5DUhA,10204
49
+ oscura/analyzers/power/soa.py,sha256=lz6ExB-j-nCWAFSuPVd-TeSA4KD3QEasvZTzhBCaKnE,11019
50
+ oscura/analyzers/power/switching.py,sha256=6GKfrM0LBfsSFoCCK8kAGQ48tbxnPsUWQ393iypBb0A,15884
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=L2iv2mIixN-IYn_Jp7Q_4z0TNTbLtH_luzBcKeVlOXQ,1232
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=0yHFtAgI2ZNb1Ye_INXuusk0JflMEkiTuJVNYB8uHyk,2439
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=b3P_cYYJh9I8dPqo3xOzEubIpO55B8etRyf6_d2qLeU,8569
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=6weEsM8AqgET7hVXwTW7QPpIGgblRVHR5RMOKJXbNnA,15597
113
+ oscura/automotive/can/state_machine.py,sha256=NDwCFYw42J3M1QuigA7XNY5E9L0sfUygcvfALb6kt70,10205
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=EqJKJikAK2Neaff2H9AGb8ZnseE8m4lFAFRMXEIwjsY,5616
117
+ oscura/automotive/dbc/parser.py,sha256=mOUOJEF82cb7pqMvjedowB8AggCnxoR252vpSy5kC2Q,4591
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=iPZoWMjIYUIr3wBhobAfuOnzh9ujzCN0pxY92M4AKZc,4292
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=AYALq0VUxKwiiOfpMIWqENK9nQcfuuSLLk1z8KB-gew,1210
135
+ oscura/batch/advanced.py,sha256=E07o2-kjNIZAYRtJUmrhYEl7aXmh9vnxAEUwgB9neys,22019
136
+ oscura/batch/aggregate.py,sha256=NBc1RmSGbSRUdpuZG_3wy-vSkGlegGRSj_6WqPqhTkM,10555
137
+ oscura/batch/analyze.py,sha256=RfRJQ9w9rlutDlT9nTdqSCswi9FxAsznYbCN51Cx2-Y,4891
138
+ oscura/batch/logging.py,sha256=ay8BxwBfH75k5qgs68gI1LdAjPJQg31ZtBxwmWs2XIo,15502
139
+ oscura/batch/metrics.py,sha256=KrY9R0fKttVSW7wL3ra3A4XHVfAeUaLeoM0BtU3GEWI,17312
140
+ oscura/builders/__init__.py,sha256=EhiubV1xFlhfERyoKtgPSD_mIj8BUW1_s0kUv7BrNl8,1187
141
+ oscura/builders/signal_builder.py,sha256=SgmSkOfSFQ6vge2861rbiZ7ZCKf6g-RpezI88tfLROE,35293
142
+ oscura/cli/__init__.py,sha256=OsdCTexpFCKn-o7FPnwTEAZE52E2s-NbXwpADUOfhDM,275
143
+ oscura/cli/batch.py,sha256=6WkdQF5G03cwCGxfErqr-nq2llOXJqLrfk3u2agUlXY,10773
144
+ oscura/cli/characterize.py,sha256=yMAm4Ji_Dq4Hml3PeDftoUFq60z1BpU_6O7HJ9dUDtc,8898
145
+ oscura/cli/compare.py,sha256=C8TkmfSHIE-LBr8V--2Dyr4JdQGjveDNhVrDdOz5Vxc,25631
146
+ oscura/cli/decode.py,sha256=jArvneKRPto06Qk52RYaxlfMwgaBL8o9A9VlRO6XWFE,17143
147
+ oscura/cli/main.py,sha256=VhIC3fnD9Q7uVbQCWPu0g04r4zXcz7WA6MTWxBE7CU0,7440
148
+ oscura/cli/shell.py,sha256=XxFtQv1-WufurssZzj9oz8A1XNsxq_6D-MCJBY0UUAw,9787
149
+ oscura/comparison/__init__.py,sha256=SwAj596DBcZjajPGEL8_xjPxNNvUslIIwVQxvna6EMw,1528
150
+ oscura/comparison/compare.py,sha256=ZQvDTmLJF6zalNhu2qhZAOlLC65s2hlJsFTs9FOknn4,12573
151
+ oscura/comparison/golden.py,sha256=kiY4kTxl-ARNLgqPGh08xKp2rqkk_lRc4hqFEPtuk_A,15615
152
+ oscura/comparison/limits.py,sha256=IW1UXUnLsEU5l_jzs1YqGAm7RJvr877jeRKS8YlcHRc,12798
153
+ oscura/comparison/mask.py,sha256=J31X1Dw6WCsaIamNpPSiGhDT2y8gYQni_s_OdiHvEfM,13685
154
+ oscura/comparison/trace_diff.py,sha256=jevX9jHRrFdj2luFpojb_rebu-wZYu9Kev1ZRye8I9c,757
155
+ oscura/comparison/visualization.py,sha256=0vrzLkfiGOH7djnfGoC_KzoSep8rCP7n5JcoeB5gaf8,14526
156
+ oscura/compliance/__init__.py,sha256=xZ4QcxsltXMlmmKkCvZjl_vvnzPZjLKzEZ7Ln3X_5FA,1796
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=wh52bj2ateBTYQ0PskoBbQLVl8BDH_hzqmJb7QH3aGo,15030
160
+ oscura/compliance/testing.py,sha256=7REArrRRGZZe3OKDjU0gAbXn-dIIMBPHMqxQBzR0LOU,9557
161
+ oscura/component/__init__.py,sha256=HamTif4NYKVAGlh0KGGH_z_KFOCWT2P3mutNFxQhmbA,922
162
+ oscura/component/impedance.py,sha256=D50Ro5isekTg9iSbux6PGacdDp6bILDpm-HydBqQmxE,11018
163
+ oscura/component/reactive.py,sha256=lDXiunxY-ozjn-IT8PRBLhddFxaJpR3A8eWprbFf-qA,19254
164
+ oscura/component/transmission_line.py,sha256=bNVLMZf1_XkN80KtKAodz-KVmjW73ShMHmn9iwXrxZQ,9272
165
+ oscura/config/__init__.py,sha256=f0NCMV9Q3efb-SVRfM5SG___7hO_EZEqmnbRJ0seiDI,4336
166
+ oscura/config/defaults.py,sha256=QAfWNyzFxdR4vXezs2kTstDDt4B13YZmVgv6NVJY0ww,6508
167
+ oscura/config/loader.py,sha256=tuJHcggmMakHiVg-xHlROof19_T-p5iPm3afGsmVfb8,9293
168
+ oscura/config/memory.py,sha256=XamYb1lyB1SbfW1pbVr0P9Cxv5hy6Gl_9N8xXhc7Pdw,8246
169
+ oscura/config/migration.py,sha256=i5w9RzVExh8CK5e-iA4Qglga5YfkWmvkCJCPqNQ_hOo,14126
170
+ oscura/config/pipeline.py,sha256=sfnFHPzKg0y_vaLNxCz_Onv2DxqqNHbFibuIX5DGwVo,36221
171
+ oscura/config/preferences.py,sha256=a-VGz1PUhtlJ8LSNK8ES2rb-SwSNIBqpd1NJBBKTePI,16430
172
+ oscura/config/protocol.py,sha256=4DU9GC6LK7ERlATRWWBkSTc8yJo_1a0RoX-eSSoQyvA,30018
173
+ oscura/config/schema.py,sha256=dSoN891-tSiy2LqzhOeJbNcEpinmfTxNjo6Ne_4Bjzk,23674
174
+ oscura/config/settings.py,sha256=GzmpJq9b24LfRLI9pDAePQE_36m1EZuXVD2vv914zrs,12583
175
+ oscura/config/thresholds.py,sha256=AvVVXl-7ndeyt1Pz3k-cyMmuXlIxBcxNhDkN3ajpMNk,19969
176
+ oscura/core/__init__.py,sha256=GXyh1QKGeZs5k_wS_z22otA3wBwiqgR2xWuUZEOC5SM,6657
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=t7wMEuJ0DGI-iZHuePaku9H6lVhmASoRzQ2MeOscW_w,16994
180
+ oscura/core/cancellation.py,sha256=rtR48cVo-zO_Gqb7HPrUkk_YFcztuwKkV0upTq7zx2M,12779
181
+ oscura/core/confidence.py,sha256=2m9I7kELgrt5OBd_gKDy-vopMzK6ygpNTX6azlZU7AA,7033
182
+ oscura/core/config.py,sha256=S6jmz7Zo8TN2NUWhlgJRkTDWAnfpfBTK_XaRlUXKBd4,15053
183
+ oscura/core/correlation.py,sha256=HU7QUNKmXrrWKEL4csS7ZNgoS8-NwlXDJbe8TISBMrQ,6488
184
+ oscura/core/cross_domain.py,sha256=ZGJGieFpLEMTHEeQ8GFZnNZL0WgKLW_fn7joEptovpE,16118
185
+ oscura/core/debug.py,sha256=1fz5Mwx6dcMXwsGNQMhPCVduAf2ZTSGSvvwjpqIS3Cc,8160
186
+ oscura/core/edge_cases.py,sha256=-z95foSBKZb3V2DhGQSw1A2VaVOGRBdhMfxDooWbLhg,16367
187
+ oscura/core/exceptions.py,sha256=rxQ0NBQENft43utonDY9KWG2bCYu5bimSVXrMSTRqRU,15869
188
+ oscura/core/gpu_backend.py,sha256=U7DoPKHltlGNTFk6cOhpuVUC5VuglahbBRu1jZ83nDE,17700
189
+ oscura/core/lazy.py,sha256=0UAK2eMJ5cTcp_9KWRzuMP72elqZ6zVyEw9n1dZ0aYE,26260
190
+ oscura/core/log_query.py,sha256=qV7NrZH3W6Xq1BEsEIc6Z4ZW8k3vi6U16Br23tSynhk,17051
191
+ oscura/core/logging.py,sha256=NqStyC26rFr74qGL2CInlHIkK8tgFaj-K7eo4wGW95Q,30479
192
+ oscura/core/logging_advanced.py,sha256=MF3sJWMu2lYKV6ad-IdAvKiOK8TCB0Ti7tfjxHe8qd0,28776
193
+ oscura/core/memoize.py,sha256=EgrbwvHnxUfdHPkd7sW_Qacb3zBsk1azC3Y2KMQLP0w,5097
194
+ oscura/core/memory_check.py,sha256=irtfhoECisgMcm30fdvHOp7Yv9DL-IycBS0uVWLtVSI,7259
195
+ oscura/core/memory_guard.py,sha256=g96fSO6MVvSNqpY_Clclz6gH3RoX4i-4LsiA59zH7vs,8742
196
+ oscura/core/memory_limits.py,sha256=Yv2lS2PSa-vidgyK4WBU1aw8_wZVmZ0nrXL_D8hNnnw,10954
197
+ oscura/core/memory_monitor.py,sha256=I43FPPgtFW1jJEWsGVX5zCs84QHRSMTngajwfmlah5E,14228
198
+ oscura/core/memory_progress.py,sha256=Rr4gQrOokucPH--E60F_Kce-ohW48RQ6Si-hxYDUvXI,14236
199
+ oscura/core/memory_warnings.py,sha256=L9FiUBsu7OpBFFQkfQw6KY7t76cHNIlWWSAIOBMCZ4A,9899
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=dTyW-hXoS9-IrgBNTTXJFZ1_4_EyUZNTy-SyoVSBzq4,15360
203
+ oscura/core/provenance.py,sha256=MLyKo66UYOBI-ZJ-K_LlyDe3uEgEINRBHz8X05dsbiE,10624
204
+ oscura/core/results.py,sha256=ZdIOncVhm15E-P_5OaU-MZBw2ZWD0_4WBbMqV0IhJso,10637
205
+ oscura/core/types.py,sha256=DrWrspOmy2sqCS7xdk6a-fNwdsFGzrdzQGITQ6NqsI4,17298
206
+ oscura/core/uncertainty.py,sha256=TXQ9n1FRR9iJ_gdz4WJZYcnM8a37TJWU98eOqdnhHUU,13203
207
+ oscura/discovery/__init__.py,sha256=ytYa_s4PfKxRRopOdUGsmzUIDPevH25ze_VytBEX2Cw,1232
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=qcXQBQE8bK_5L3Cgzj0QJJib1LzIE3gKN8l8_tfrzAQ,15635
211
+ oscura/discovery/quality_validator.py,sha256=zmUuPpNx24PiaRnW3OPi190XgNDNxcIzre1xeglukuk,17077
212
+ oscura/discovery/signal_detector.py,sha256=LLCn19rI4fzoqhiiHfyH9NgLWkZ2Zm4DR0qn2thufVg,24504
213
+ oscura/dsl/__init__.py,sha256=n4owyTfutxUVN3d_45AiXbQu_GsIMspG8BdI_iy8F18,1401
214
+ oscura/dsl/commands.py,sha256=FABCfty_pAmsritOlxkyIQb8nLV9mFlQ-NZSZ8CCpJg,7266
215
+ oscura/dsl/interpreter.py,sha256=wvPqCF1jL7t4_BNs4wJm18zv1o66jOW5NFmbR9R5QlQ,15169
216
+ oscura/dsl/parser.py,sha256=yUsUPVxKSekNvGTBwFkTi-wdozLc2GnaCSX7y1rGsPw,20705
217
+ oscura/dsl/repl.py,sha256=aQx42OGpWlFAY6m78F2ZvBizTKJi-ivppzg66lSnPjo,4769
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=TVVAw5rmbmQSNed3VOD4Fy2mSknwaAzI-oCoLgPKhXI,770
228
+ oscura/export/wireshark/README.md,sha256=44ji8SuD7o-PCNKCGZ9Y3NIoKKnwUrwx2ZgSSuMI_2E,7395
229
+ oscura/export/wireshark/__init__.py,sha256=Int_19KSBJP8J78LfdibB0S6aDAfbQZJLMap6HZwWSc,1449
230
+ oscura/export/wireshark/generator.py,sha256=dSJN25VuAJq4WpmWIN_e8mo59inmO-nD6V6TcILt5Ro,10525
231
+ oscura/export/wireshark/lua_builder.py,sha256=8SqRivyzW0lzBY1O_oOhFt3vujL-CSgqBkhpU9kz_58,4533
232
+ oscura/export/wireshark/type_mapping.py,sha256=_IUmoTvhYLzn6C8q5M50cGd60VmE_G43-N6Gl244AdY,4396
233
+ oscura/export/wireshark/validator.py,sha256=_hAiJRUcUG6yVeNTPrya7_Lm4e3JxYRkaZ2Rz7RSQOA,2983
234
+ oscura/export/wireshark/templates/dissector.lua.j2,sha256=ZgZKwXkkGOPs4MbB7LkhJQfmnwC51fRw_Tvzrr6olF0,3180
235
+ oscura/exporters/__init__.py,sha256=tST5P06IANhkI8YxKT7t3A2q5pG8ZDtt_2RLwLY21mw,2378
236
+ oscura/exporters/csv.py,sha256=4LLnWWnbmhjSMCq4ayBe0EIK53mp2l0OcK_FBUnnv_4,9186
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=kdlPCOTJzriY88i6ufDe6HMYo3fKDilgQazL3nADFQY,19446
240
+ oscura/exporters/json_export.py,sha256=n0tkVSlsNaEmch-cuEF3F0247RWYDqpaA07fzmrMDOM,8443
241
+ oscura/exporters/markdown_export.py,sha256=JdPDm9UmUcT6ikrDZvurdWGy0hXSUbjGjlMyUct8TpM,11957
242
+ oscura/exporters/matlab_export.py,sha256=YKAvPtFWj9-ISpN6cZu1s2wI0wNu_zKIrasZxh5ADnA,11003
243
+ oscura/exporters/npz_export.py,sha256=RMSZQH5M8C-ELoIVkQakcZ-ETQaOnnWJiHGEqcrtYVo,6063
244
+ oscura/exporters/spice_export.py,sha256=E0vkJ0AVxzzAOR4BX9afnGOfbltJQsIEWSumh1EZF9o,6515
245
+ oscura/extensibility/__init__.py,sha256=B2wrC7j-swzJkNdQwHS0lXr6FVBy3XWrwZ4dvtdt2gs,2955
246
+ oscura/extensibility/docs.py,sha256=BW5c-s-UvYmqkVoe7SidLw3I_FhzMhCeY--rE2pMex8,21738
247
+ oscura/extensibility/extensions.py,sha256=22QwZOS1D8KPKAQPnCIb9jRLwXi8fwCwqwPGcpeLTJI,38888
248
+ oscura/extensibility/logging.py,sha256=oFOseC5ufabHThitTsFpt95psAfMaXcQjdeX6UA6QOA,7149
249
+ oscura/extensibility/measurements.py,sha256=orwPqJi2M8IaFQG2M21AFk49g1nxFi1qY5Pf3pSvvKk,14862
250
+ oscura/extensibility/plugins.py,sha256=041-vTMYLo5PCulXrwXdXpe9G8g0mJXQrji8X59S9Dg,12475
251
+ oscura/extensibility/registry.py,sha256=yeZmK-QitnzX8IfnmW4D68yl0GBriEWRboe9CnmA4sI,10962
252
+ oscura/extensibility/templates.py,sha256=r_BKc2M7FNSiWrrdDbLKNmzakA0eSQu55_UDRnWo-k8,26081
253
+ oscura/extensibility/validation.py,sha256=cZ_q5cpzIj-ePA1he6mSCD_F3ZWa48-mdxCGbJj--B0,20178
254
+ oscura/filtering/__init__.py,sha256=wLoi4tpOhcutg537AIAlCxlJlTn2caLh-RNt3AM2DXA,2012
255
+ oscura/filtering/base.py,sha256=4-kGKMOsCapt0j32h47oacjfm9rcDMgjFD4XJdLrboA,16820
256
+ oscura/filtering/convenience.py,sha256=k1JBrj8gygy1-E5nV29OcH1RvfC3evxGe-8xY7AjYbo,15007
257
+ oscura/filtering/design.py,sha256=ljDn8a4xfSIneClHgMyjjyUvkBSRIvNdPKcM8zWPMu0,23520
258
+ oscura/filtering/filters.py,sha256=e5TMkl4hqvdSIeeP8jNm65ZKfmKyH6gUf9LYJkD0sEs,647
259
+ oscura/filtering/introspection.py,sha256=gCygf293Tqev0Qq_cvPdl6fldU4bLJOadSdyT3gd7k4,16071
260
+ oscura/guidance/__init__.py,sha256=mVHguQ15l7KucOtREi3QFFGIvmo_-6mMCzSZ8-itZ80,437
261
+ oscura/guidance/recommender.py,sha256=1dNVAPIrplk-K7p08_GC_sIfD6cJOdrvWffQ9u9bPJA,13404
262
+ oscura/guidance/wizard.py,sha256=wIZ5R-Ppzl5WcSJsxXc5HDqEG4Kp5X_KNKQkkudTM9g,17782
263
+ oscura/inference/__init__.py,sha256=tMvTuJn8Hrlw3lQSVdTJJqeNAiyNwmwB3zwWr0q87AI,6216
264
+ oscura/inference/adaptive_tuning.py,sha256=pNSGVuvfLJNaib7pHBsW3G3XTI16HnYkFhBnVTIE-pk,16351
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=zlTTJzGlUmrsPdIyZXgwvX1qPcF4_M1NICaRbs7MDZA,8511
270
+ oscura/inference/message_format.py,sha256=mcDEYDJIrK-2O_Q9-nB7BfaOx4iPcSKFPpyYPe-abeY,43710
271
+ oscura/inference/protocol.py,sha256=WCI31JsIfXEJ6hABk_3yqT8tX-0id5wpcWZb5xzg2hg,12024
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=inPsdnq47vxotdJt5PWP8ca_ecFuWFXitUt46Gw5Pgk,54742
276
+ oscura/inference/spectral.py,sha256=r2YTTD9x2vuz44inzr2BCcLrRaQqIRksfz4C0YgwAQY,7100
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=iW_u-_vcpkmw1FTGEzn-jn47QRqwnPIS8JAkg_IMyRg,1186
287
+ oscura/integrations/llm.py,sha256=ioBQylDaRONApa47wUaoSemhhR-ogLaIsfXfJ7fURQ0,58679
288
+ oscura/jupyter/__init__.py,sha256=L5un2-sVNGP46rzJ7e3qrJOyXmhj2BkhLc7DGQzSLj0,726
289
+ oscura/jupyter/display.py,sha256=fA9qg7k3pImroV8dyOxzYzUjjjEh8xy-DtVKY2sfDxw,8633
290
+ oscura/jupyter/magic.py,sha256=O1m9N6I5nMUKhCnNANiOdr2pouQxI9oRIcLeRNtrdTc,9953
291
+ oscura/loaders/__init__.py,sha256=TcgNkrOzM-NnGda8SeDMKpq73Grd05Rr5yPjyla1AMo,16354
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=22sK20Bt9IZEakL0H6iF8v45DRiB4BrqFgj5fBWVw_w,18821
300
+ oscura/loaders/numpy_loader.py,sha256=OWONvFRHz-3FbDApDL4bbGEYacrRGKUY1aqYkXiIvRU,13787
301
+ oscura/loaders/pcap.py,sha256=4DgX8UkosLpjQP-Ya-MeRSwykqwgC02-o2AtgsAvHUU,13638
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=e23LKAxTL2D3YKrM7TERF9iOLh4s68es1qv6Xjfqpr4,786
311
+ oscura/math/arithmetic.py,sha256=rmUFRm6NWH5Cv2YHsZixnLy921CnV_1naOVJzgo5a24,27395
312
+ oscura/math/interpolation.py,sha256=2W92Bkb7X_bZEGye4wM-OsR8YWUgVIvDqkDwAmLY4_U,14395
313
+ oscura/onboarding/__init__.py,sha256=FX8nnbOmuTzqTmcMI-SYbtspKetsHomFskyH58BZv-E,750
314
+ oscura/onboarding/help.py,sha256=RCjairo3kk0ZVVJ-ymna8A9anNjh9PdB_zRe4C2XF-M,16502
315
+ oscura/onboarding/tutorials.py,sha256=pcgIE3J7gFVN6THwEOpaXyT_nEHl5oGJG1ug0qJ9mFE,11686
316
+ oscura/onboarding/wizard.py,sha256=TUMaStHTESOmyWyB0p7tiMLaeof4rOXnIkMJ19QQp_o,16293
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=jgyU9wrxc1CxKq3Z58xeBIQsgfkKHK8MTWS_7og58mc,7602
323
+ oscura/pipeline/parallel.py,sha256=cTEWq5Ele_EoWQr23OtV1YQVxsWBGM6hchmCwMYvZAk,16984
324
+ oscura/pipeline/pipeline.py,sha256=APEIDaapwVnoeBixkYo5VAtpFOsPh9GaOdMRr_j5ByU,13284
325
+ oscura/pipeline/reverse_engineering.py,sha256=hSPRkaEAnnR84X-ocXwmFRRDnL5iHtl9M_8OGd8kZVw,38590
326
+ oscura/plugins/__init__.py,sha256=srL51O-WQyPniUEGPFIMAAno83Y5oeNIr-AeR7_tzgg,2665
327
+ oscura/plugins/base.py,sha256=9ZuSspT5f3DtFsSb6Bvfbm1mKxv1PVVP9D_ls0nBuIg,8132
328
+ oscura/plugins/cli.py,sha256=XSmriOJD5kRzhiZK8DjDq-q-SpK-B3Y-znQeoA6fg14,14207
329
+ oscura/plugins/discovery.py,sha256=W-Vzr0BPTZAaePayGcEoO5pep_vNy8Grg17Fpwj8XOY,12299
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=9w8PufGgoJu7Rdm0vRpQZnUOcmjlwZgDxyKqsVK2osg,11469
334
+ oscura/plugins/versioning.py,sha256=fxHg08r2PRFLKEzdHsrhfzQZGGX13wdDD5xgBpnJf2I,10780
335
+ oscura/quality/__init__.py,sha256=ZOcRMx-_ZSidKL49Ln65m3YBAVwUSSLhlJhVvBJ2Lf0,1506
336
+ oscura/quality/ensemble.py,sha256=okfIQmsypHqQTmBfd_uRXLKshs7E1DbU-jFGSBMQTCc,28150
337
+ oscura/quality/explainer.py,sha256=2WIaetGgS1ivwJaJbanOMWWwNTqQhrrn2zemxCCwZII,10729
338
+ oscura/quality/scoring.py,sha256=gsIl-2164vGS1LcSP7x29D2hfKLPxee3mmuaFPwQ9Ko,19020
339
+ oscura/quality/warnings.py,sha256=qdnoe9qh0WJnupqgJzgkEzAZMOgDckGJXC9fKF36Rs8,13469
340
+ oscura/reporting/__init__.py,sha256=b3w_Q-nmCNjn99eyLgVUHEDkzwzdYupx8lmlrpxS-eQ,6068
341
+ oscura/reporting/advanced.py,sha256=dcu2fjCA_a4R7lGhdUQbcAb7ioTg7lkUwDiQK4uopjM,36413
342
+ oscura/reporting/analyze.py,sha256=7tjXGsi3nWyX9I4Tw9nSX6BHD5E7Mu3tpuZAQi2S2hQ,14612
343
+ oscura/reporting/argument_preparer.py,sha256=L0FB0EGmUyP-GjTgEncvkpVbWMrbncoHTiBIOR5avUo,24095
344
+ oscura/reporting/auto_report.py,sha256=0iuLVqZEJ_ipX_GJ4mkZJQOTVuhp8voKRVNbe498qw8,15254
345
+ oscura/reporting/batch.py,sha256=c9XS9VaEikzX87nk32RlEciAGJ6nIY80ZnHou605IBg,19759
346
+ oscura/reporting/chart_selection.py,sha256=aAAwIDXt2lTFrwFZ_xBEPpnjtS-eJmparT0uFtLW4o8,6860
347
+ oscura/reporting/comparison.py,sha256=MzCBFcDv2iHCy6meJYDwi9AWjU2VJhurFJnuLNkbwp8,10290
348
+ oscura/reporting/config.py,sha256=HsLrC8MNeHhfqFsCf788dPBxDpBQQtWn1eBGeR65urc,23350
349
+ oscura/reporting/core.py,sha256=mOnLShs3YXa_6RdmCnJThxMHe6CgRgE4YYcJLIh0iIg,15640
350
+ oscura/reporting/engine.py,sha256=ctMrRhUJxXj2lFlZyL3hS_NYWCZ-Y4XZqhIvBXkt-9w,32248
351
+ oscura/reporting/export.py,sha256=vU6xFp3k6lLjJPdPnRXSX0XjVejg3Cgq-_dPh54nuTw,10315
352
+ oscura/reporting/formatting.py,sha256=KLM7fBpkKyGG_3LyyxRRYxt43AXSoHQ3ErzNbWZBRfs,12496
353
+ oscura/reporting/html.py,sha256=1PbA3Dux7hnjHKIctA-Cjr9rwC7SQniOthCWtCZIBGI,14478
354
+ oscura/reporting/index.py,sha256=t5ZpmjCu7-fhVCm-YB_WTjKIoaqrMgWH3qIZ9KKdvI8,20195
355
+ oscura/reporting/multichannel.py,sha256=kLaNlZJhruLWAUcRyduOfbuakxQH4vB6pQ_Z57aYP6c,9174
356
+ oscura/reporting/output.py,sha256=MSGPlP7nBNNU6FmA04fXTqbSeKLXkHhMFS4OVoZfBJY,12278
357
+ oscura/reporting/pdf.py,sha256=ryn-ciyiwOGAJj6czV0Wx7rpGJxjr1p3WRrVUttuAYE,11073
358
+ oscura/reporting/plots.py,sha256=BGVyjXv5IfBmx8uTr2t4oPt2w20Co3WJDN-OyKxPR1s,24429
359
+ oscura/reporting/pptx_export.py,sha256=CojDp1TaM08U3fJqM1yZPvLZiM6zF5-iKah8-SZ7YGQ,10253
360
+ oscura/reporting/sections.py,sha256=HJp86rj2FsaK-F-fP9vhnTknnuMfmWLL800xVAEZZqQ,12952
361
+ oscura/reporting/standards.py,sha256=nC3wOZThj6IMCRpdE9HL8mwcvArRwzhkX92yHox2-qo,18086
362
+ oscura/reporting/summary_generator.py,sha256=GOPVUCNNZPFn8aVM9YCqFG-wkCTFhRZt--kIyRkOzX4,10622
363
+ oscura/reporting/tables.py,sha256=VlUAwqv9sPGyj-1A93nCpP-JhYs5TunaJX2oNzHgVcw,11622
364
+ oscura/reporting/template_system.py,sha256=jPF5jkkjl8el8V6IGJGNZmPlNRFZd0_DBbcokOUMiTU,21135
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=V74N-0erqnu8tevVFjPT-zMXi5M-7RSvTfujW9pwQPQ,16007
381
+ oscura/reporting/templates/index.md,sha256=3PrVNVnI6kAdiG5l2JROH9AwarGYTG0GmAdVQKGyYPY,3533
382
+ oscura/schemas/__init__.py,sha256=0zVM3hatGgl3onywiWNia8ov0TJ-tFqXz_cBzuZW7nU,4317
383
+ oscura/schemas/bus_configuration.json,sha256=gpcDsg04760KCaLeIDuWvP6RzRUcPZuQplJbe7xpc8E,9562
384
+ oscura/schemas/device_mapping.json,sha256=sYOcc2zSe0rmMQN_vtg3Y5XeeDMktAO1ar8vAWl-E1M,5499
385
+ oscura/schemas/packet_format.json,sha256=y2KavMGeOUlmjDq7AW_85bfTk3nHlGPuistpuVDdlAk,12893
386
+ oscura/schemas/protocol_definition.json,sha256=VPHkgY4fAI-hUiRBtiqZvDNUGjp6_7O4xdi1z36IhCI,11256
387
+ oscura/search/__init__.py,sha256=eoX7yKNILdlmlFCpt-QHVuT2dUGw6m2GMYrQv5w-mhc,413
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=LAeHbROHU-OBSep1NWffhhcOxVuK30hoKnYgzBsnmn4,926
392
+ oscura/session/annotations.py,sha256=btHVzA6CedrqVI-c_uFVi_lo7-NByxBLTDHoXWYtY08,8713
393
+ oscura/session/history.py,sha256=3YAMhON7wlzNdR03HpGSYWJEuxBsrYeYq19YALc8k8M,9578
394
+ oscura/session/session.py,sha256=-up6PbA1avBJ7Dmf-kXUJV925qHn7FiFj-p1m93i1lE,13298
395
+ oscura/streaming/__init__.py,sha256=uJKpXU6-uBW1lWqh8_8WNzUKSLhMYzxrJstsNMDLVcM,959
396
+ oscura/streaming/chunked.py,sha256=tWK7m_fHJVJKGq2y6I3RRfioUER2ObMUDPvJ78K73d0,19487
397
+ oscura/streaming/progressive.py,sha256=YRdAd4P9Zvckerm2kG5bFWZtcuUB1FlRklpS1078s9c,13089
398
+ oscura/streaming/realtime.py,sha256=zzHEKtBX-7YPeETjVcmaioPQdumZz9eIcAdTmeobB1w,18636
399
+ oscura/testing/__init__.py,sha256=X0wsLR5jzDDyzPsw4nmv8V84YTlMLFKdG1YGEc5SSDg,1506
400
+ oscura/testing/synthetic.py,sha256=6HiH-HeSuoEbw6hrDBiBhO6qRKVQ6SlCgPa8M7i6c4I,26353
401
+ oscura/triggering/__init__.py,sha256=TaBDVo-hcWO-rWgGDl0aTDiSQjXtIEBvr4U2oVnyHoU,1614
402
+ oscura/triggering/base.py,sha256=2MqwJvS8fCIEdPfNkMxDKKaexBzEO6VrGwo-cHdlFNA,6545
403
+ oscura/triggering/edge.py,sha256=tPevhitanWHyhDzcUwgOqloy-I08GuV7W5w-6Co6_MY,11039
404
+ oscura/triggering/pattern.py,sha256=vncucQ8iRnKCCky0KqLZqPxwPSVRwSkd-x4cKwW-nL8,11166
405
+ oscura/triggering/pulse.py,sha256=cHQzVPpjda2HY05SjmtrbByAyAQd4-b7-Dtg8hlxUvY,18713
406
+ oscura/triggering/window.py,sha256=LRY4KdJKbQE_o5AhSlzFCEWxVTC99a7pwVaYdZB0XKI,14515
407
+ oscura/ui/__init__.py,sha256=BT4w05Hd7Tg2dM_00cs3G4RJQnj0a56o9uf-41FV7cs,919
408
+ oscura/ui/formatters.py,sha256=tOfSx8RQvG0ummIjYyrdftahbS0097PMWGyx6AN7s0k,13627
409
+ oscura/ui/progressive_display.py,sha256=LKGRJrSAscdoUKrBhKZzpYJlnNBX-kOTUGmJCsufFSI,10314
410
+ oscura/utils/__init__.py,sha256=GaasTJFnZBru-vBPiZQaoGZq65x5ys9trDaIQWuclWc,2270
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=7p18LsoyHZR8DwiPdyeOEqLLWu3qrCBAEnrrbQRpx6g,26381
416
+ oscura/utils/memory_advanced.py,sha256=z3F5eaenOqthJ4dwMZed6fWxhIkNNCbJDCaP-iIbBPw,38976
417
+ oscura/utils/memory_extensions.py,sha256=XRLZ0EXrmtZg6kma4ZG6Z-f7F9RnEkgZF5PZdz-Wf_Q,14039
418
+ oscura/utils/progressive.py,sha256=VzseobyAcj0iwRQiwbWcOUwQenPr0lSKnDdHONhXBEo,10935
419
+ oscura/utils/windowing.py,sha256=DRMCHJAwoXGn7Gyso9hE4fpMIAfh3taqpQliNiMcn5I,9194
420
+ oscura/visualization/__init__.py,sha256=Wr9KfaBrLEysFcru-3VRcL8At6JClCyAndTjkI21So8,8556
421
+ oscura/visualization/accessibility.py,sha256=FmAqJ6oJMJ_vqsWgJTcOE3b0LtnREbZ-He7JZG6e6Is,16177
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=zFSL24_rqMHfw1Wc5tF-PJ8Np_ocFKNk3U1VRTzKnB8,10973
431
+ oscura/visualization/layout.py,sha256=PkOmVWJRkx4JswetzrBOQpp3tpoe7dlqnFXdlyq3POk,11587
432
+ oscura/visualization/optimization.py,sha256=Ggkrpr4s9sgVXfBw7QxIwxuUt8IVh5tp1njAPZiv21Y,32678
433
+ oscura/visualization/palettes.py,sha256=QXvqUD2R6OpEbYaYufyM4cWlrB7b0BW5lFPobLpkrbU,13165
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=dgBbu64ltuv_9aciG9b0mGwSMDurufc870PPIHOf75A,24594
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=4z6X6Zj9ua13dtZApA3aBmEFzKLSzhLYohiiiWrkCjI,10420
449
+ oscura/workflow/__init__.py,sha256=gGTsfRHONQTjNOHL9VIoL9wZNcYY8r7Fomts-NTYJi4,319
450
+ oscura/workflow/dag.py,sha256=StsFEOkxsJJy6WlWt7RK4bx2UappVRF2hfqJ4f1jJfc,12215
451
+ oscura/workflows/__init__.py,sha256=cVPIhjLgfwsulSQCuKdmNlEUx7KYIIO6buiKwMDAzsc,1572
452
+ oscura/workflows/compliance.py,sha256=apZAOh5nd4YgvwywjH9sjhBN1387EMgtI8KPElUi7Lg,9610
453
+ oscura/workflows/digital.py,sha256=-ylzm1gLj0stfZLAUSocFKRUpaiuOsAzW-PgwK6k2RM,9144
454
+ oscura/workflows/multi_trace.py,sha256=oapqdG4aCLTWBmJijGi2CgIyXrBxCKleeWN3CRexQqw,16217
455
+ oscura/workflows/power.py,sha256=fpTzoIfuZi69ldtu2KAHW-Qu6jzA5jBa_9LVy6xqpTI,6080
456
+ oscura/workflows/protocol.py,sha256=x3T-M81vFVrW3mouaYA8WjxyLLzZyLATVJbiqcMAVFQ,15275
457
+ oscura/workflows/reverse_engineering.py,sha256=K_yrqrQqQNcCoB0jRAG92e2zy8er3oiKJWSF6lU4nGk,19929
458
+ oscura/workflows/signal_integrity.py,sha256=p-DOC-AhzQOkG_jyyBK3EUaIBAGZhAhdmo-Ub_ifC3U,8391
459
+ oscura-0.1.1.dist-info/METADATA,sha256=LEfZvTa12D8pyG4njVEaZtCToBvv67GT63xVXUE3yXk,11590
460
+ oscura-0.1.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
461
+ oscura-0.1.1.dist-info/entry_points.txt,sha256=QLBxd-iTjBQ5HidaVSkLBwvUsqxSG1ZTJ6i-0juu960,48
462
+ oscura-0.1.1.dist-info/licenses/LICENSE,sha256=p1_oEK-oqWDXMFSv5mKbyYkgW-CPbCnFUvdICu490aY,1077
463
+ oscura-0.1.1.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